如何在 Fedora 21 上设置本地 OSSEC 安装
介绍
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安装程序使用,并且inotify-tools
OSSEC需要它进行实时通知。
第2步 - 下载并验证OSSEC
OSSEC 以压缩包的形式提供。在此步骤中,您将下载它及其校验和文件,该文件用于验证 tarball 未被篡改。
您可以访问该项目的网站以获取最新版本。在撰写本文时,OSSEC 2.8.1
这是最新的稳定版本。
首先,下载 tarball。
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
下载两个文件后,验证压缩包的 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/主机。在这里,输入您的电子邮件地址和您在步骤 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
电子邮件设置位于文件顶部。以下是字段的说明。
- <email_to>是您在安装期间提供的电子邮件。警报将发送到该电子邮件地址。
- <email_from>是 OSSEC 警报的来源。将其更改为有效的电子邮件地址,以减少您的电子邮件被电子邮件提供商的 SMTP 服务器标记为垃圾邮件的可能性。
- <smtp_server>是您在安装期间指定的 SMTP 服务器。
请注意,<email_to>和<email_from>可以相同,如果您在与 OSSEC 服务器相同的主机上拥有自己的电子邮件服务器,则可以将<smtp_server>设置更改为localhost。
完成后该部分将呈现以下外观。
<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>部分:
<syscheck>
<!-- Frequency that syscheck is executed - default to every 22 hours -->
<frequency>79200</frequency>
在<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_rules.xml
,其中包含 OSSEC 的默认规则定义,以及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 代理。