介绍
OSSEC 是一个开源的、基于主机的入侵检测系统 (HIDS),它执行日志分析、完整性检查、Windows 注册表监控、rootkit 检测、基于时间的警报和主动响应。 如果您想密切关注其中发生的事情,它就是安装在您的服务器上的应用程序。
可以安装 OSSEC 以仅监控它所安装的服务器,这在 OSSEC 的说法中是本地安装,或者安装为服务器以监控一个或多个代理。 在本教程中,您将学习如何安装 OSSEC 以监控安装它的 Fedora 21 或 RHEL 服务器:本地 OSSEC 安装。
先决条件
要完成本教程,您需要:
- 您按照 本教程 设置的 Fedora 21 Droplet。
本教程应作为 sudo 非 root 用户进行操作。
第 1 步 — 安装所需的软件包
在本节中,您将安装一些必需的软件包。
特别是,使用以下命令安装 bind-utils
、gcc
、make
和 inotify-tools
。
sudo yum install -y bind-utils gcc make inotify-tools
bind-utils
提供域名系统 (DNS) 实用程序,gcc
和 make
将被 OSSEC 安装程序使用,而 OSSEC 需要 inotify-tools
时间通知。
第 2 步 — 下载和验证 OSSEC
OSSEC 作为压缩 tarball 交付。 在此步骤中,您将下载它及其校验和文件,该文件将验证 tarball 未被篡改。
您可以查看 项目的网站 以获取最新版本。 在撰写本文时,OSSEC 2.8.1
是最新的稳定版本。
首先,下载压缩包。
wget -U ossec http://www.ossec.net/files/ossec-hids-2.8.1.tar.gz
然后,下载校验和文件。
wget -U ossec http://www.ossec.net/files/ossec-hids-2.8.1-checksum.txt
下载这两个文件后,验证压缩 tarball 的 md5sum。
md5sum -c ossec-hids-2.8.1-checksum.txt
输出应该是:
ossec-hids-2.8.1.tar.gz: OK md5sum: WARNING: 1 line is improperly formatted
然后验证 SHA1 校验和。
sha1sum -c ossec-hids-2.8.1-checksum.txt
它的输出应该是:
ossec-hids-2.8.1.tar.gz: OK sha1sum: WARNING: 1 line is improperly formatted
在每种情况下,忽略 WARNING 行。 OK 行是确认文件是好的。
第 3 步 — 找到您的 SMTP 服务器
在 OSSEC 安装期间设置电子邮件通知时,OSSEC 将询问您的 SMTP 服务器。 在这一步中,我们将找出这些信息。
要为您的电子邮件服务提供商确定正确的 SMTP 服务器,您可以使用 dig
命令查询提供商的邮件交换器 (MX) 资源记录。 输入以下命令,将 example.com
替换为您的电子邮件提供商的域名:
dig -t mx example.com
输出由几个部分组成,但我们只对包含一行或多行的 ANSWER 部分感兴趣。 每行的末尾是要使用的 SMTP 服务器。
例如,如果您使用 fastmail.com
运行命令:
dig -t mx fastmail.com
提供程序的有效 SMTP 服务器将位于 ANSWER 部分中每个列表的末尾,应为:
;; ANSWER SECTION: fastmail.com. 3600 IN MX 10 in1-smtp.messagingengine.com. fastmail.com. 3600 IN MX 20 in2-smtp.messagingengine.com.
在此示例中,您可以使用 in1-smtp.messagingengine.com.
或 in2-smtp.messagingengine.com.
作为 SMTP 服务器。
从您的电子邮件提供商处复制其中一个 SMTP 服务器并保存以在下一步中输入。 请务必在末尾也包含 .(句点)。
第 4 步 — 安装 OSSEC
在这一步中,我们将安装 OSSEC。
在开始安装之前,使用以下命令解压它:
tar xf ossec-hids-2.8.1.tar.gz
它将被解压到一个名为 ossec-hids-2.8.1
的目录中。 切换到那个目录。
cd ossec-hids-2.8.1
然后开始安装。
sudo ./install.sh
在整个设置过程中,系统会提示您提供一些输入。 在大多数情况下,您需要做的就是按 ENTER 接受默认值。
首先会提示您选择安装语言。 默认情况下,它是英语 (en),所以如果这是您的首选语言,请按 ENTER。 否则,请输入支持语言列表中的 2 个字母。 然后再次按 ENTER 开始安装。
问题 1 将询问您想要什么样的安装。 在这里,输入 local。
1- What kind of installation do you want (server, agent, local, hybrid or help)? local
对于以下所有问题,请按 ENTER 接受默认值。 问题 3.1 将另外提示您输入您的电子邮件地址,然后询问您的 SMTP 服务器 ip/host。 在这里,输入您在步骤 3 中保存的电子邮件地址和 SMTP 服务器。
如果安装成功,最后,您应该会看到以下输出:
- Configuration finished properly. ... More information can be found at http://www.ossec.net --- Press ENTER to finish (maybe more information below). ---
按 ENTER 完成安装。
第 5 步 — 验证 OSSEC 的电子邮件设置
在这里,我们将验证上一步中指定的电子邮件凭据和 OSSEC 自动配置的电子邮件凭据是否正确。
电子邮件设置在 OSSEC 的主配置文件 ossec.conf
中,该文件位于 /var/ossec/etc
目录中。 要访问和修改任何 OSSEC 文件,您首先需要切换到 root 用户。
sudo su
现在你是 root,cd
进入 OSSEC 的配置文件所在的目录。
cd /var/ossec/etc
首先,制作该文件的备份副本。
cp ossec.conf ossec.conf.00
然后打开原始文件。 在这里,我们使用 nano
文本编辑器,但您可以使用任何您喜欢的文本编辑器。
nano ossec.conf
电子邮件设置位于文件顶部。 以下是字段的说明。
- '是您在安装过程中提供的电子邮件。 警报将发送到该电子邮件地址。
- '是 OSSEC 警报的来源。 将其更改为有效的电子邮件地址,以降低您的电子邮件被电子邮件提供商的 SMTP 服务器标记为垃圾邮件的几率。
- '是您在安装过程中指定的 SMTP 服务器。
注意'和'可以相同,如果您在与 OSSEC 服务器相同的主机上拥有自己的电子邮件服务器,则可以更改'设置为'本地主机 .
这是您完成后该部分的外观。
<global> <email_notification>yes</email_notification> <email_to>sammy@example.com</email_to> <smtp_server>mail.example.com.</smtp_server> <email_from>sammy@example.com</email_from> </global>
修改电子邮件设置后,保存并关闭文件。 然后启动 OSSEC。
/var/ossec/bin/ossec-control start
检查您的收件箱中是否有一封说明 OSSEC 已启动的电子邮件。 如果您收到来自 OSSEC 安装的电子邮件,那么您知道未来的警报也会到达您的收件箱。 如果没有,请检查您的垃圾邮件文件夹。
第 6 步 — 添加警报
默认情况下,OSSEC 会针对服务器上的文件修改和其他活动发出警报,但不会对新文件添加发出警报,也不会实时发出警报——仅在计划的系统扫描之后,即 79200 秒(或 22 小时) ) 默认情况下。 在本节中,我们将实时添加有关文件添加的警报。
首先,打开ossec.conf
。
nano ossec.conf
然后向下滚动到'以该文本开头的部分:
<syscheck> <!-- Frequency that syscheck is executed - default to every 22 hours --> <frequency>79200</frequency>
就在下面'标记,添加<alert_new_files>yes</alert_new_files>
.
<syscheck> <!-- Frequency that syscheck is executed - default to every 22 hours --> <frequency>79200</frequency> <alert_new_files>yes</alert_new_files>
当您仍然打开 ossec.conf
时,请查看 OSSEC 监控的系统目录列表,它就在您刚刚修改的最后一行的下方。 它应该是:
<!-- Directories to check (perform all possible verifications) --> <directories check_all="yes">/etc,/usr/bin,/usr/sbin</directories> <directories check_all="yes">/bin,/sbin</directories>
对于每个目录列表,添加 report_changes="yes"
和 realtime="yes"
选项。 修改完成后,该部分应为:
<!-- Directories to check (perform all possible verifications) --> <directories report_changes="yes" realtime="yes" check_all="yes">/etc,/usr/bin,/usr/sbin</directories> <directories report_changes="yes" realtime="yes" check_all="yes">/bin,/sbin</directories>
除了 OSSEC 已配置为监控的默认目录列表之外,您还可以添加任何您希望监控的目录。 例如,您可以为您的主目录 /home/sammy
添加监控。 为此,请在其他目录行下添加此新行,替换为您的用户名:
<directories report_changes="yes" realtime="yes" check_all="yes">/home/sammy</directories>
现在保存并关闭 ossec.conf
。
下一个要修改的文件位于 /var/ossec/rules
目录中,因此请移至该目录。
cd /var/ossec/rules
/var/ossec/rules
目录包含许多 XML 文件,包括包含 OSSEC 的默认规则定义的 ossec_rules.xml
和可以添加自定义规则的 local_rules.xml
。 local_rules.xml
是您应该在此目录中编辑的唯一文件。
在 ossec_rules.xml
中,将文件添加到受监视目录时触发的规则是规则 554。 默认情况下,OSSEC 在触发该规则时不会发出警报,因此这里的任务是更改该行为。 默认情况下,规则 554 如下所示:
<rule id="554" level="0"> <category>ossec</category> <decoded_as>syscheck_new_entry</decoded_as> <description>File added to the system.</description> <group>syscheck,</group> </rule>
如果规则设置为级别 0,OSSEC 不会发出警报,因此我们将该规则复制到 local_rules.xml
并对其进行修改以触发警报。 为此,打开 local_rules.xml
。
nano local_rules.xml
在文件末尾添加以下内容,在带有 </group>
标记的行之前。
<rule id="554" level="7" overwrite="yes"> <category>ossec</category> <decoded_as>syscheck_new_entry</decoded_as> <description>File added to the system.</description> <group>syscheck,</group> </rule>
保存并关闭文件。 现在,重新启动 OSSEC 以重新加载我们编辑的文件。
/var/ossec/bin/ossec-control restart
您现在应该会收到来自 OSSEC 的有关受监视目录和日志文件的警报。
结论
现在您已经设置了基本的本地 OSSEC 安装。 有很多进一步的自定义可用,您可以在 其官方文档 中进行探索。
有关如何以客户端-服务器或服务器-代理模式(而不是本地模式)安装 OSSEC 的想法,请参阅 如何在 Ubuntu 14.04 上使用 OSSEC 服务器监控 OSSEC 代理。