我在家里为我的个人网站运行自己的服务器,该服务器运行 Ubuntu Server、Apache、Bind9 和 Django。您建议定期跟踪哪些日志最好?(而不是在出现问题时才阅读)。我想检测入侵尝试(我以前遇到过 SSH 错误)以及我的网站上的异常流量或错误。
答案1
感兴趣的日志:
- /var/log/apache2/*——apache2 日志:)
- /var/log/auth.log-身份验证尝试
- /var/log/daemon.log-系统进程记录在这里
- /var/log/syslog-所有内容都记录在这里
我用日志监视用于监控 SMTP 流量和 SSH 登录以及身份验证尝试的软件包。大多数 Linux 发行版都提供该软件包,Ubuntu 默认提供该软件包。
aptitude install logwatch
过去我也曾使用过日志冲浪者+这是一个复杂的软件,但具有高度的可配置性。
如果这些工具(logwatch、logsurfer+)都不能满足您的需求,那么还有来自不同供应商的大量日志管理解决方案。从软件包到专用设备。如果您想进行更多研究,这里有一些入门指南。我与这些公司或产品均无关联。
答案2
我建议使用 OSSEC 来监控你的日志。它会自动检测重要的日志文件并默认实时监控所有文件。
如果您使用的是 Ubuntu,它将查看所有身份验证日志、apache 日志、apt-get 日志(查看何时安装新应用程序)等。
它是开源的,拥有一支活跃的开发团队,并且易于使用。我们从 logwatch 迁移到它,因为它可以实时查看日志,而不是像 log watch 那样每隔 X 小时查看一次。
答案3
我通常会查看上述文件,但主要是 syslog 文件 (/var/log/messages)。我通常会设置 syslog-ng 以提供更好的过滤功能,并将 syslog 设置为以 *.debug 形式记录,以便我可以看到所有内容。所有这些都由 shell 脚本读取,该脚本的根源是 logcheck.sh(抱歉,链接丢失了),并每天向我发送有趣的内容。这会增加难以过滤的噪音量,但我也会使用噪音水平作为健康检查 - 如果噪音水平突然增加或减少,则表明发生了一些变化。
答案4
我对 logwatch 有一个警告,那就是要寻找“什么”。我编写/使用一个名为 petit 的工具来执行单词发现和关联。它使用自然语言处理中的几个简单技术来删除停用词。这有助于负责日志分析的管理员/分析师更加自信地相信他/她确实通过 logwatch 捕获了他/她想要的所有事件。
这是一个基本的先有鸡还是先有蛋的问题,即在我之前见过之前我怎么知道我需要搜索什么。petit 的单词发现模式有助于解决这个问题。它还提供 cli 图形和散列。