![为了保证 Web 服务器的安全,需要监控哪些重要的日志文件?](https://linux22.com/image/597046/%E4%B8%BA%E4%BA%86%E4%BF%9D%E8%AF%81%20Web%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%9A%84%E5%AE%89%E5%85%A8%EF%BC%8C%E9%9C%80%E8%A6%81%E7%9B%91%E6%8E%A7%E5%93%AA%E4%BA%9B%E9%87%8D%E8%A6%81%E7%9A%84%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%EF%BC%9F.png)
我查看了许多日志,其中有些似乎与监控黑客的目的更相关。我发现的日志如下:
-auth.log
-mail.log: if i'm running a mail server, will this be important?
-btmp
-secure
-faillog
-apache2/access.log
-mysql.log & mysql.err
注意:我正在运行 LAMP 并使用 phpMyAdmin 访问 DB。
这份清单中是否有无用的东西? 我应该包括哪些东西?
另外,我无法打开这些没有“.log”扩展名的日志文件。我想我应该执行它们,但即使用户对它们没有执行权限,当我 chmod 700 时,执行它们时什么也没有发生。我该怎么做?
提前致谢
答案1
- 错误日志你的 httpd 服务器
- 你的php 错误日志(无论您将其配置在何处)
除此之外,这还不足以保护您的系统。使用 IPS(如 SELinux)和 HIDS(如 aide、samhain 或 tripwire)将大有帮助。
如果您的 PHP 应用程序存在 SQL 注入问题,您需要检查您的代码 - 因为这些措施也无济于事。
答案2
每个日志中的内容由 /etc/rsyslog.conf 决定(对于 debian squeeze - 如果您使用不同的 syslog 守护程序,则情况会有所不同)。
auth.log 通常会显示密码破解尝试,我监控 ssh 尝试。apache2/error.log 会给你 http 错误。
mail.log 很重要——我们使用 sendmail / dovecot 和 sasl,sasl 和 dovecot 显示在这里。
我建议你看一下 fail2ban 软件包。如果你为你的发行版安装了它,它应该已经根据你的情况调整了一些设置。它会查找登录失败和错误,可以配置为通过电子邮件向你发送黑客攻击尝试,以及自动阻止违规 IP 地址和端口。