如何在CentOS 7服务器上安装OSSEC HIDS

注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com

介绍

OSSEC是一个基于主机的开源入侵检测系统(HIDS),它可以执行日志分析,完整性检查,Windows注册表监视,rootkit检测,基于时间的警报和主动响应。它是任何服务器上必备的安全应用程序。

OSSEC可以安装为仅监视其安装的服务器(本地安装),也可以作为服务器安装以监视一个或多个代理。在本教程中,您将学习如何安装OSSEC以将CentOS 7监视为本地安装。

先决条件

CentOS 7服务器最好使用SSH密钥进行设置,并使用CentOS 7服务器的初始设置进行自定义。使用标准用户帐户登录到服务器。假设用户名是

ssh -l joe server-ip-address

步骤1:安装必需的软件包

OSSEC将从源代码进行编译,因此您需要一个编译器才能使其成为可能。它还需要一个额外的通知包。通过键入以下命令安装它们:

sudo yum install -y gcc inotify-tools

第2步-下载并验证OSSEC

OSSEC是作为压缩的tarball交付的,必须从项目的网站下载。还必须下载校验和文件,该文件将用于验证tarball是否已被篡改。在本出版物发行时,最新版本的OSSEC是2.8.2。检查项目的 下载页面 并下载最新版本。

要下载压缩包,请输入:

wget -U ossec http://www.ossec.net/files/ossec-hids-2.8.2.tar.gz

对于校验和文件,键入:

wget -U ossec http://www.ossec.net/files/ossec-hids-2.8.2-checksum.txt

在下载了两个文件之后,下一步是验证压缩包的MD5和SHA1校验和。对于MD5sum,键入:

md5sum -c ossec-hids-2.8.2-checksum.txt

预期输出为:

ossec-hids-2.8.2.tar.gz: OK
md5sum: WARNING: 1 line is improperly formatted

要验证SHA1哈希,请键入:

sha1sum -c ossec-hids-2.8.2-checksum.txt

其预期输出为:

ossec-hids-2.8.2.tar.gz: OK
sha1sum: WARNING: 1 line is improperly formatted

步骤3:确定您的SMTP服务器

在OSSEC的安装过程中,系统将提示您为电子邮件地址指定SMTP服务器。如果您不知道它是什么,最简单的查找方法是从本地计算机发出此命令(将伪造的电子邮件地址替换为真实的电子邮件地址):

dig -t mx [email protected]

此代码块中显示了输出中的相关部分。在此示例输出中,用于查询电子邮件地址的SMTP服务器位于该行的末尾- mail.vivaldi.net。 。请注意,末尾的点也包括在内。

;; ANSWER SECTION:
vivaldi.net.        300 IN  MX  10 mail.vivaldi.net.

步骤4:安装OSSEC

要安装OSSEC,首先需要打开tarball的包装,方法是输入:

tar xf ossec-hids-2.8.2.tar.gz

它将解压缩到包含程序名称和版本的目录中。更改或 cd 进去。 OSSEC 2.8.2,本文安装的版本,有一个小错误,需要在开始安装之前进行修复。到发布下一个稳定版本(应该是OSSEC 2.9)时,由于该修补程序已经在master分支中,因此这不是必需的。为OSSEC 2.8.2修复此问题仅意味着编辑一个文件,该文件位于 active-response 目录。该文件是 hosts-deny.sh,因此请使用以下命令打开它:

nano active-response/hosts-deny.sh

在文件末尾,查找以下代码块:

# Deleting from hosts.deny
elif [ "x$" = "xdelete" ]; then
   lock;
   TMP_FILE = `mktemp /var/ossec/ossec-hosts.XXXXXXXXXX`
   if [ "X$" = "X" ]; then
      # Cheap fake tmpfile, but should be harder then no random data
      TMP_FILE = "/var/ossec/ossec-hosts.`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -1 `"
   fi

在开头的行上 TMP_FILE,请删除 = 标志。删除空格后,文件的该部分应如下面的代码块所示。保存并关闭文件。

# Deleting from hosts.deny
elif [ "x$" = "xdelete" ]; then
   lock;
   TMP_FILE=`mktemp /var/ossec/ossec-hosts.XXXXXXXXXX`
   if [ "X$" = "X" ]; then
      # Cheap fake tmpfile, but should be harder then no random data
      TMP_FILE="/var/ossec/ossec-hosts.`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -1 `"
   fi

现在已经修复了,我们可以输入以下内容来开始安装过程:

sudo ./install.sh

在整个安装过程中,系统将提示您提供一些输入。在大多数情况下,您只需按 输入 接受默认值。首先,系统将提示您选择安装语言,默认情况下为英语(en)。所以按 输入 如果那是您的首选语言。否则,请输入支持的语言列表中的2个字母。之后,按 输入 再次。

第一个问题将询问您所需的安装类型。在这里输入 本地

1- What kind of installation do you want (server, agent, local, hybrid or help)? local

对于后续问题,请按 输入 接受默认值。问题3.1将提示您输入电子邮件地址,然后询问您的SMTP服务器。对于该问题,请输入有效的电子邮件地址和您在步骤3中确定的SMTP服务器。

3- Configuring the OSSEC HIDS.

   3.1- Do you want e-mail notification? (y/n) [y]: 
      - What's your e-mail address? [email protected]
      - What's your SMTP server ip/host?

如果安装成功,您应该看到以下输出:

- Configuration finished properly.

...

    More information can be found at http://www.ossec.net

    ---  Press ENTER to finish (maybe more information below). ---

输入 完成安装。

步骤5:启动OSSEC

OSSEC已安装,但尚未启动。要启动它,首先切换到root帐户。

sudo su

然后,通过发出以下命令来启动它。

/var/ossec/bin/ossec-control start

然后,检查您的收件箱。 OSSEC应发出警报,通知您它已启动。这样,您现在知道已经安装了OSSEC,并将根据需要发送警报。

步骤6:自定义OSSEC

OSSEC的默认配置可以正常工作,但是可以进行一些设置调整,以使其更好地保护服务器。要自定义的第一个文件是主配置文件- ossec.conf,您可以在 /var/ossec/etc 目录。打开文件:

nano /var/ossec/etc/ossec.conf

验证的第一项是电子邮件设置,您可以在 全球 文件部分:


   yes
   [email protected]
   mail.vivaldi.net.
   [email protected]vultr.guest

确保 email_from 地址是有效的电子邮件。否则,某些电子邮件提供商的SMTP服务器会将来自OSSEC的警报标记为垃圾邮件。如果未设置服务器的FQDN,则电子邮件的域部分将设置为服务器的主机名,因此此设置您确实要具有有效的电子邮件地址。

您要自定义的另一个设置(尤其是在测试系统时)是OSSEC进行审核的频率。该设置位于 系统检查 部分,默认情况下,它每22小时运行一次。要测试OSSEC的警报功能,您可能希望将其设置为较低的值,但之后将其重置为默认值。


   
   79200

默认情况下,将新文件添加到服务器时,OSSEC不会发出警报。要更改此设置,请在 < frequency > 标签。完成后,该部分现在应包含:


   
   79200

   yes

最好更改的最后一项设置是在OSSEC应该检查的目录列表中。您会在上一个设置之后立即找到它们。默认情况下,目录显示为:


   /etc,/usr/bin,/usr/sbin
   /bin,/sbin

修改这两行以使OSSEC实时报告更改。完成后,他们应阅读:

/etc,/usr/bin,/usr/sbin
/bin,/sbin

保存并关闭文件。

我们需要修改的下一个文件是 local_rules.xml 在里面 /var/ossec/rules 目录。所以 cd 进入该目录:

cd /var/ossec/rules

该目录包含OSSEC的规则文件,除 local_rules.xml 文件。在该文件中,我们添加了自定义规则。我们需要添加的规则是添加新文件时触发的规则。该规则编号 554,默认情况下不会触发警报。这是因为触发级别为零的规则时,OSSEC不会发出警报。

这是规则554默认情况下的样子。

 
    ossec
    syscheck_new_entry
    File added to the system.
    syscheck,
 

我们需要在该规则中添加该规则的修改版本 local_rules.xml 文件。该修改的版本在下面的代码块中给出。将其复制并添加到文件底部,紧接在结束标记之前。

 
    ossec
    syscheck_new_entry
    File added to the system.
    syscheck,
 

保存并关闭文件,然后重新启动OSSEC。

/var/ossec/bin/ossec-control restart

更多信息

OSSEC是一款功能非常强大的软件,本文仅涉及基础知识。您将在 官方文件

注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com