我在基于 Bitnami 现成图像的 Linux 机器上设置了一个 Magento 网站。
主要目标是当网站可能遭受攻击时通过电子邮件通知。
我的设置:
- Ubuntu 14.04.3 LTS
- Bitnami Magento Stack 1.9.1.0-0
- Snort 2.9.7.5
为了实现这一点,我决定安装 Snort IDS 并使用 Swatch 通过电子邮件发送发送到系统日志的警报。
我已经按照以下步骤安装了 snort本教程来自Snort的官方网站。
我刚刚完成该教程的第 9 部分,这意味着:
- 安装了所有必备软件。
- 在机器上安装了 Snort IDS。
- 设置测试规则,当发生 ICMP 请求(ping)时发出警报。
接下来,为了允许 Snort 将警报记录到 syslog,我取消了 snort.conf 文件中此行的注释:
output alert_syslog: LOG_AUTH LOG_ALERT
我已经通过运行以下命令测试了安装:
sudo /usr/local/bin/snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eth0
在 Snort 运行时,我从另一个系统发出了 ping 请求。我可以看到 Snort 日志文件中记录了警报,但是系统日志中未添加任何内容。
尝试和错误:
以 root 用户身份运行 snort。
设置 syslog 将日志反弹到另一台服务器(远程 syslog)。
我对 Linux 的经验并不多,因此如果能给我指明正确的方向我将非常感激。
答案1
我也在 linuxquestions.org 上发布了这个问题并得到了答案。
根据 unSpawn 的回复,我查看了 rsyslog conf 文件,发现 auth 日志被发送到 auto.log 文件。这导致我快速修复了这个问题,即添加一个额外的 .conf 文件/etc/rsyslog.d内容如下:
auth /var/log/syslog
另外根据建议,我对 snort 执行命令做了一些更改(省略了 -q -A 控制台):
sudo /usr/local/bin/snort -u snort -g snort -c /etc/snort/snort.conf -i eth0
重新启动 rsyslog 服务后,我发现 syslog 中缺少 Snort 警报。