如何在Ubuntu14.04上安装和配置OSSEC安全通知

来自菜鸟教程
跳转至:导航、​搜索

介绍

您如何跟踪服务器上的授权和未授权活动?

OSSEC 是一种可以安装在服务器上以跟踪其活动的工具。

OSSEC 是一个开源的、基于主机的入侵检测系统 (HIDS),它执行日志分析、完整性检查、Windows 注册表监控、rootkit 检测、基于时间的警报和主动响应。 它可用于以服务器/代理模式监控一台服务器或数千台服务器。

如果配置正确,OSSEC 可以让您实时查看服务器上发生的情况。

本教程将向您展示如何安装和配置 OSSEC 以监控一台运行 Ubuntu 14.04 LTS 的 DigitalOcean 服务器。 我们将配置 OSSEC,以便如果文件被修改、删除或添加到服务器,OSSEC 将通过电子邮件实时通知您。 这是 OSSEC 提供的其他完整性检查功能的补充。

OSSEC 不仅可以通知您文件修改,但一篇文章不足以向您展示如何利用其所有功能。

    • OSSEC 有什么好处?

在我们进入安装和配置部分之前,让我们看一下使用 OSSEC 获得的几个具体好处。

以下是来自 OSSEC 的电子邮件通知示例,显示文件 /var/ossec/etc/ossec.conf 已修改。

OSSEC HIDS Notification.
2014 Nov 29 09:45:15

Received From: kuruji->syscheck
Rule: 552 fired (level 7) -> "Integrity checksum changed again (3rd time)."
Portion of the log(s):

Integrity checksum changed for: '/var/ossec/etc/ossec.conf'
Size changed from '7521' to '7752'

如果您收到这样的警报,并且您不希望该文件发生更改,那么您知道您的服务器上发生了未经授权的事情。

这是来自 OSSEC 的另一个示例电子邮件警报,显示文件 /etc/ossec/testossec.txt 已删除。

OSSEC HIDS Notification.
2014 Nov 29 10:56:14

Received From: kuruji->syscheck
Rule: 553 fired (level 7) -> "File deleted. Unable to retrieve checksum."
Portion of the log(s):

File /etc/ossec/testossec.txt was deleted. Unable to retrieve checksum.

同样,如果您没有删除有问题的文件,您应该弄清楚您的服务器上发生了什么。

现在,如果上述内容足以让您想要安装 OSSEC,那么您首先需要做一些事情。

先决条件

当然,您需要有一台要监控的服务器。 本教程假设您已经拥有一个并且已经设置好使用。 它可以是您今天刚刚设置的服务器,也可以是您已经使用了几个月的服务器。 最重要的是您可以访问它并且可以通过 SSH 登录。 当您仍然不知道如何通过 ssh 进入您的服务器时,您不想进行设置 OSSEC 的工作。

  • Ubuntu 14.04 服务器
  • 您应该在服务器上创建一个 sudo 用户。 在此示例中,用户名为 sammy。 但是,作为 root 用户,本教程将更容易完成:
sudo su
  • 可选:如果您想从本地 SMTP 服务器发送邮件,您应该安装 Postfix 以进行简单的电子邮件发送
  • OSSEC的安装涉及到一些编译,所以需要安装gccmake。 您可以通过安装一个名为 build-essential 的软件包来安装两者
  • 您还需要安装一个名为 inotify-tools 的软件包,这是实时警报工作所必需的

要安装所有必需的软件包,首先更新服务器:

apt-get update

安装软件包:

apt-get install build-essential inotify-tools

现在我们已经整理了初步的内容,让我们进入有趣的部分。

第 1 步 — 下载并验证 OSSEC

在此步骤中,您将下载 OSSEC tarball 和一个包含其加密校验和的文件。

由于这是一篇安全文章,我们将做一些额外的工作来验证我们是否安装了有效的软件。 这个想法是您生成下载的 OSSEC tarball 的 MD5 和 SHA1 校验和,并将它们与校验和文件中的校验和进行比较。 如果它们匹配,那么您可以假设 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

要验证这两个文件是否都已就位,请键入:

ls -l ossec*

您应该看到这些文件:

ossec-hids-2.8.1-checksum.txt
ossec-hids-2.8.1.tar.gz

现在,让我们使用 cat 命令检查校验和文件,如下所示:

cat ossec-hids-2.8.1-checksum.txt

预期输出:

MD5(ossec-hids-2.8.1.tar.gz)= c2ffd25180f760e366ab16eeb82ae382
SHA1(ossec-hids-2.8.1.tar.gz)= 0ecf1df09558dc8bb4b6f65e1fb2ca7a7df9817c

在上面的输出中,重要的部分是 = 符号右侧的部分。 这些是 tarball 的 MD5 和 SHA1 校验和。

现在我们将确保我们为 tarball 生成的校验和与我们下载的校验和相匹配。

要生成 tarball 的 MD5sum,请键入:

md5sum ossec-hids-2.8.1.tar.gz

预期输出:

c2ffd25180f760e366ab16eeb82ae382  ossec-hids-2.8.1.tar.gz

将生成的 MD5 校验和与校验和文件中的校验和进行比较。 他们应该匹配。

通过键入以下内容对 SHA1 校验和执行相同操作:

sha1sum  ossec-hids-2.8.1.tar.gz

预期输出:

0ecf1df09558dc8bb4b6f65e1fb2ca7a7df9817c  ossec-hids-2.8.1.tar.gz

如果两者都匹配,你就可以走了。 第二步招手。

第 2 步 — 安装 OSSEC

在此步骤中,您将安装 OSSEC。

OSSEC 可以安装在 serveragentlocalhybrid 模式下。 此安装用于监视安装 OSSEC 的服务器。 这意味着 本地 安装。

在开始安装之前,您必须展开该文件。 您可以通过键入:

tar -zxf ossec-hids-2.8.1.tar.gz

之后,您应该有一个名为 ossec-hids-2.8.1 的目录。 要开始安装,您必须将 (cd) 更改为该目录,您可以键入:

cd ossec-hids-2.8.1

要查看您现在所在目录的内容,请通过键入以下命令使用 ls 命令:

ls -lgG

您应该看到这些文件和目录:

total 100
drwxrwxr-x  4  4096 Sep  8 21:03 active-response
-rw-rw-r--  1   542 Sep  8 21:03 BUGS
-rw-rw-r--  1   289 Sep  8 21:03 CONFIG
drwxrwxr-x  6  4096 Sep  8 21:03 contrib
-rw-rw-r--  1  3196 Sep  8 21:03 CONTRIBUTORS
drwxrwxr-x  4  4096 Sep  8 21:03 doc
drwxrwxr-x  4  4096 Sep  8 21:03 etc
-rw-rw-r--  1  1848 Sep  8 21:03 INSTALL
-rwxrwxr-x  1 32019 Sep  8 21:03 install.sh
-rw-rw-r--  1 24710 Sep  8 21:03 LICENSE
-rw-rw-r--  1  1664 Sep  8 21:03 README.md
drwxrwxr-x 30  4096 Sep  8 21:03 src

该列表中我们唯一感兴趣的文件是 install.sh。 这就是 OSSEC 安装脚本。 要启动安装,请键入:

./install.sh

系统将提示您回答一些安装问题。

您需要完成的第一项任务是选择语言。 如下输出所示,默认为英文。 在整个安装过程中,如果您需要进行选择,方括号中的任何条目都是默认设置。 如果默认值是您想要的,请按 ENTER 键接受默认值。 除了必须输入您的电子邮件地址之外,我们建议您接受所有默认值 - 除非您知道自己在做什么。

条目显示为 red

因此,如果您的语言是英语,请按 ENTER。 否则,键入您的语言的两个字母,然后按 ENTER。

  (en/br/cn/de/el/es/fr/hu/it/jp/nl/pl/ru/sr/tr) [en]:

选择语言后,您应该会看到:

OSSEC HIDS v2.8 Installation Script - http://www.ossec.net

 You are about to start the installation process of the OSSEC HIDS.
 You must have a C compiler pre-installed in your system.
 If you have any questions or comments, please send an e-mail
 to dcid@ossec.net (or daniel.cid@gmail.com).

  - System: Linux kuruji 3.13.0-36-generic
  - User: root
  - Host: kuruji

  -- Press ENTER to continue or Ctrl-C to abort. --

按 ENTER 后,您应该得到:

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

键入 local 并按 ENTER。 你应该得到:

  - Local installation chosen.

2- Setting up the installation environment.

  - Choose where to install the OSSEC HIDS [/var/ossec]:

接受默认值并按 ENTER。 之后,您将获得:

    - Installation will be made at  /var/ossec .

3- Configuring the OSSEC HIDS.

  3.1- Do you want e-mail notification? (y/n) [y]:

按 ENTER。

  - What's your e-mail address? sammy@example.com

输入您希望从 OSSEC 接收通知的电子邮件地址。

  - We found your SMTP server as: mail.example.com.
  - Do you want to use it? (y/n) [y]:

--- Using SMTP server:  mail.example.com.

除非您有要使用的特定 SMTP 服务器设置,否则请按 ENTER。

现在是时候让 OSSEC 知道它应该运行哪些检查了。 响应脚本的任何提示,按 ENTER 接受默认值。

ENTER 用于完整性检查守护程序。

  3.2- Do you want to run the integrity check daemon? (y/n) [y]:

- Running syscheck (integrity check daemon).

ENTER 用于 rootkit 检测。

  3.3- Do you want to run the rootkit detection engine? (y/n) [y]:

- Running rootcheck (rootkit detection).

ENTER 主动响应。

  3.4- Active response allows you to execute a specific command based on the events received.  

   Do you want to enable active response? (y/n) [y]:

   Active response enabled.

接受防火墙丢弃响应的默认值。 您的输出可能会显示一些 IPv6 选项——这很好。

  Do you want to enable the firewall-drop response? (y/n) [y]:

- firewall-drop enabled (local) for levels >= 6

   - Default white list for the active response:
      - 8.8.8.8
      - 8.8.4.4

   - Do you want to add more IPs to the white list? (y/n)? [n]:

您可以在此处添加您的 IP 地址,但这不是必需的。

OSSEC 现在将显示它将监视的文件的默认列表。 安装后可以添加其他文件,因此请按 ENTER。

3.6- Setting the configuration to analyze the following logs:
    -- /var/log/auth.log
    -- /var/log/syslog
    -- /var/log/dpkg.log

 - If you want to monitor any other file, just change
   the ossec.conf and add a new localfile entry.
   Any questions about the configuration can be answered
   by visiting us online at http://www.ossec.net .


   --- Press ENTER to continue ---

此时,安装程序已拥有安装 OSSEC 所需的所有信息。 退后一步,让安装程序做它的事情。 安装大约需要 5 分钟。 如果安装成功,您现在可以启动和配置 OSSEC。

注意: 安装可能失败的一个原因是没有安装编译器。 在这种情况下,您将收到如下错误:

5- Installing the system
 - Running the Makefile
./install.sh: 85: ./install.sh: make: not found

 Error 0x5.
 Building error. Unable to finish the installation.

如果您收到该错误,则需要安装 build-essential,如本教程的先决条件部分所述。

如果安装成功,您应该会看到这种类型的输出:

 - System is Debian (Ubuntu or derivative).
 - Init script modified to start OSSEC HIDS during boot.

 - Configuration finished properly.

 - To start OSSEC HIDS:
                /var/ossec/bin/ossec-control start

 - To stop OSSEC HIDS:
                /var/ossec/bin/ossec-control stop

 - The configuration can be viewed or modified at /var/ossec/etc/ossec.conf

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

OSSEC 现在已安装。 下一步是启动它。

第 3 步 — 启动 OSSEC

默认情况下 OSSEC 配置为在启动时启动,但第一次,您必须手动启动它。

如果要检查其当前状态,请键入:

/var/ossec/bin/ossec-control status

预期输出:

ossec-monitord not running...
ossec-logcollector not running...
ossec-syscheckd not running...
ossec-analysisd not running...
ossec-maild not running...
ossec-execd not running...

这告诉您 OSSEC 的所有进程都没有运行。

要启动 OSSEC,请键入:

/var/ossec/bin/ossec-control start

你应该看到它启动了:

Starting OSSEC HIDS v2.8 (by Trend Micro Inc.)...
Started ossec-maild...
Started ossec-execd...
Started ossec-analysisd...
Started ossec-logcollector...
Started ossec-syscheckd...
Started ossec-monitord...
Completed.

如果您再次检查状态,您应该会确认 OSSEC 现在正在运行。

/var/ossec/bin/ossec-control status

此输出显示 OSSEC 正在运行:

ossec-monitord is running...
ossec-logcollector is running...
ossec-syscheckd is running...
ossec-analysisd is running...
ossec-maild is running...
ossec-execd is running...

启动 OSSEC 后,您应该会收到一封如下所示的电子邮件:

OSSEC HIDS Notification.
2014 Nov 30 11:15:38

Received From: ossec2->ossec-monitord
Rule: 502 fired (level 3) -> "Ossec server started."
Portion of the log(s):

ossec: Ossec started.

这是 OSSEC 正在工作的另一个确认,只要它被配置为监控的事情发生,就会向您发送电子邮件警报。 即使重新启动,OSSEC 也会向您发送电子邮件。

如果您没有立即收到这封电子邮件,请不要担心。 您可能仍需要调整您的电子邮件设置(我们将在本教程后面介绍)以确保您的 OSSEC 服务器的电子邮件可以通过您的邮件提供商。 对于某些第三方电子邮件服务提供商(例如 Google 和 Fastmail)来说尤其如此。

第 4 步 — 配置 OSSEC 以获取文件修改的实时警报

接下来,我们来了解一下 OSSEC 的文件和目录,了解如何更改 OSSEC 的监控和警报设置。

在本教程中,我们将修改 OSSEC 以在文件被修改、删除或添加到您指定的目录时通知您。

了解 OSSEC 的目录结构

OSSEC 的默认目录是 chroot-ed(沙盒)环境,只有具有 root(管理员)权限的用户才能访问。 标准用户不能 cd 进入 /var/ossec 甚至列出其中的文件。 但是,作为 root(或管理员)用户,您可以。

因此,通过键入 cd 进入安装目录:

cd /var/ossec

要列出新工作目录中的文件,请键入:

ls -lgG

您应该看到这些文件和目录:

total 40
dr-xr-x---  3 4096 Nov 26 14:56 active-response
dr-xr-x---  2 4096 Nov 20 20:56 agentless
dr-xr-x---  2 4096 Nov 20 20:56 bin
dr-xr-x---  3 4096 Nov 29 00:49 etc
drwxr-x---  5 4096 Nov 20 20:56 logs
dr-xr-x--- 11 4096 Nov 20 20:56 queue
dr-xr-x---  4 4096 Nov 20 20:56 rules
drwxr-x---  5 4096 Nov 20 21:00 stats
dr-xr-x---  2 4096 Nov 20 20:56 tmp
dr-xr-x---  3 4096 Nov 29 18:34 var
  • OSSEC的主要配置文件在/var/ossec/etc目录下。
  • 预定义规则在 /var/ossec/rules 目录中
  • 用于管理 OSSEC 的命令在 /var/ossec/bin
  • 记下 /var/ossec/logs 目录。 如果 OSSEC 抛出错误,该目录中的 /var/ossec/logs/ossec.log 文件是第一个查看的位置

主配置文件,/var/ossec/etc/ossec.conf

要访问主配置文件,您必须更改为 /var/ossec/etc。 为此,请键入:

cd /var/ossec/etc

如果您在该目录中执行 ls,您将看到以下文件和目录:

ls -lgG

结果:

total 120
-r--r----- 1 97786 Sep  8 22:03 decoder.xml
-r--r----- 1  2842 Sep  8 22:03 internal_options.conf
-r--r----- 1  3519 Oct 30 13:46 localtime
-r--r----- 1  7752 Nov 29 09:45 ossec.conf
-rw-r----- 1    87 Nov 20 20:56 ossec-init.conf
drwxrwx--- 2  4096 Nov 20 21:00 shared

主配置文件为/var/ossec/etc/ossec.conf

在修改文件之前,请做好备份,以防万一。 要制作该副本,请使用 cp 命令,如下所示:

cp /var/ossec/etc/ossec.conf /var/ossec/etc/ossec.conf.00

这个想法是,如果您的更改不起作用或系统混乱,您可以恢复到副本并恢复正常。 这是您应该始终利用的最简单的灾难恢复实践。

现在,使用 nano 编辑器打开 ossec.conf

nano /var/ossec/etc/ossec.conf

配置文件是一个很长的 XML 文件,有几个部分。

电子邮件设置

注意: 电子邮件一般都很挑剔,特别是如果您要发送到更严格的邮件提供商,例如发送到 Gmail 地址。 检查您的垃圾邮件,并在必要时调整您的设置。

您将看到的第一个配置选项是您在安装期间指定的电子邮件凭据。 如果您需要指定不同的电子邮件地址和/或 SMTP 服务器,可以在这里进行。

<global>
    <email_notification>yes</email_notification>
    <email_to>sammy@example.com</email_to>
    <smtp_server>mail.example.com.</smtp_server>
    <email_from>ossecm@ossec_server</email_from>
</global>

默认情况下,OSSEC 每小时发送 12 封电子邮件,因此您不会被电子邮件警报淹没。 您可以通过将 <email_maxperhour>N</email_maxperhour> 设置添加到该部分来增加或减少该值,使其显示为:

<global>
    <email_notification>yes</email_notification>
    <email_to>sammy@example.com</email_to>
    <smtp_server>mail.example.com.</smtp_server>
    <email_from>ossecm@ossec_server</email_from>
    <email_maxperhour>N</email_maxperhour>
</global>

请将 N 替换为您希望每小时接收的电子邮件数量,介于 19999 之间。

如果 <email_from> 地址不包含有效的域部分(如上面代码块中的部分),某些第三方电子邮件服务提供商(例如 Google 和 Fastmail)将静默丢弃 OSSEC 发送的警报。 为避免这种情况,请确保该电子邮件地址包含有效的域部分。 例如:

<global>
    <email_notification>yes</email_notification>
    <email_to>sammy@example.com</email_to>
    <smtp_server>mail.example.com.</smtp_server>
    <email_from>sammy@ossec_server.com</email_from>
</global>

<email_to><email_from> 地址可以相同。 例如:

<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>

如果您不想使用外部电子邮件提供商的 SMTP 服务器,您可以指定自己的 SMTP 服务器(如果您已配置)。 (这不在本教程中,但您可以按照 这些说明 安装 Postfix。)如果您的 SMTP 服务器与 OSSEC 在同一 Droplet 上运行,请将 <smtp_server> 设置更改为 [X200X ]。 例如:

<global>
    <email_notification>yes</email_notification>
    <email_to>sammy@example.com</email_to>
    <smtp_server>localhost</smtp_server>
    <email_from>sammy@example.com</email_from>
</global>

OSSEC 默认不发送实时警报,但本教程要求实时通知,因此这是您要修改的一个方面。

如果您仍然没有收到来自 OSSEC 的预期电子邮件,请检查 /var/ossec/logs/ossec.log 的日志中的邮件错误。

邮件错误示例:

2014/12/18 17:48:35 os_sendmail(1767): WARN: End of DATA not accepted by server
2014/12/18 17:48:35 ossec-maild(1223): ERROR: Error Sending email to 74.125.131.26 (smtp server)

您可以使用这些错误消息来帮助您调试接收电子邮件通知的任何问题。

扫描频率

ossec.conf<syscheck> 部分中,开头如下:

<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>

出于测试目的,您可能还希望将系统检查的频率设置得低得多。 默认情况下,系统检查每 22 小时运行一次。 出于测试目的,您可能希望将其设置为每分钟一次,即 60 秒。 完成测试后将其恢复为正常值。

<syscheck>
    <!-- Frequency that syscheck is executed - default to every 22 hours -->
    <frequency>60</frequency>

    <alert_new_files>yes</alert_new_files>

目录和文件更改设置

之后,您应该会看到 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>

report_changes="yes" 完全按照所说的去做。 realtime="yes" 同上。

除了 OSSEC 已配置监控的默认目录列表之外,您还可以添加要监控的新目录。 在下一节中,我将告诉 OSSEC 监视 /home/sammy/var/www。 为此,我将在现有行的正下方添加一个新行,以便该部分现在显示为:

<!-- 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>

<directories report_changes="yes" realtime="yes" restrict=".php|.js|.py|.sh|.html" check_all="yes">/home/sammy,/var/www</directories>

您应该修改目录以匹配所需的设置。 如果您的用户未命名为 sammy,您将需要更改主目录的路径。

对于要监视的新目录,我们添加了 restrict 选项,它告诉 OSSEC 仅监视指定的文件格式。 您不必使用该选项,但当您有其他文件(例如图像文件)不希望 OSSEC 发出警报时,它会派上用场。

这就是 ossec.conf 的所有变化。 您可以保存并关闭该文件。

/var/ossec/rules/local_rules.xml 中的本地规则

下一个要修改的文件在 /var/ossec/rules 目录中,因此通过键入 cd 进入其中:

cd /var/ossec/rules

如果您在该目录中执行 ls,您会看到一堆 XML 文件,如下所示:

ls -lgG

缩写输出:

total 376
-r-xr-x--- 1  5882 Sep  8 22:03 apache_rules.xml
-r-xr-x--- 1  2567 Sep  8 22:03 arpwatch_rules.xml
-r-xr-x--- 1  3726 Sep  8 22:03 asterisk_rules.xml
-r-xr-x--- 1  4315 Sep  8 22:03 attack_rules.xml

...

-r-xr-x--- 1  1772 Nov 30 17:33 local_rules.xml

...

-r-xr-x--- 1 10359 Sep  8 22:03 ossec_rules.xml

...

我们现在只对其中两个文件感兴趣 - local_rules.xmlossec_rules.xml。 后者包含 OSSEC 的默认规则定义,而前者是您添加自定义规则的地方。 换句话说,除了local_rules.xml,你不要修改这个目录下的任何文件。

ossec_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>

如果规则将 level 设置为 0,OSSEC 不会发出警报。 我们要修改此规则以提高警报级别。 我们不会在默认文件中更改它,而是将规则复制到 local_rules.xml 并对其进行修改,以便它可以触发警报。

为此,请制作 /var/ossec/rules/local_rules.xml 文件的备份副本:

cp /var/ossec/rules/local_rules.xml /var/ossec/rules/local_rules.xml.00

使用 nano 编辑文件:

nano /var/ossec/rules/local_rules.xml

在文件末尾添加新规则。 确保它在 <group> ... </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

现在剩下的就是重新启动 OSSEC,任何时候修改 OSSEC 的文件都必须这样做。 要重新启动 OSSEC 类型:

/var/ossec/bin/ossec-control restart

如果一切正常,您应该会收到一封来自 OSSEC 的电子邮件,通知您它已(重新)启动。

第 5 步 — 触发文件更改警报

根据 OSSEC 已配置监控的目录中发生的情况,您应该会收到类似以下内容的电子邮件:

现在尝试在 /home/sammy 中创建一个示例文件

touch /home/sammy/index.html

等一下。 添加一些内容:

nano /home/sammy/index.html

等一下。 删除文件:

rm /home/sammy/index.html

您应该开始收到这样的通知:

OSSEC HIDS Notification.
2014 Nov 30 18:03:51

Received From: ossec2->syscheck
Rule: 550 fired (level 7) -> "Integrity checksum changed."
Portion of the log(s):

Integrity checksum changed for: '/home/sammy/index.html'
Size changed from '21' to '46'
What changed:
1c1,4
< This is an html file
---

    <!doctype html> <p>This is an html file</p>

Old md5sum was: '4473d6ada73de51b5b36748627fa119b'
New md5sum is : 'ef36c42cd7014de95680d656dec62de9'
Old sha1sum was: '96bd9d685a7d23b20abd7d8231bb215521bcdb6c'
New sha1sum is : '5ab0f31c32077a23c71c18018a374375edcd0b90'

或这个:

OSSEC HIDS Notification.
2014 Dec 01 10:13:31

Received From: ossec2->syscheck
Rule: 554 fired (level 7) -> "File added to the system."
Portion of the log(s):

New file '/var/www/header.html' added to the file system.

注意: OSSEC 不会在文件添加时发出实时警报,仅在文件修改和删除时发出警报。 文件添加警报在完整系统检查后发出,这由 ossec.conf 中的频率检查时间控制。

nano /var/ossec/etc/ossec.conf

frequency 的设置:

<syscheck>
    <!-- Frequency that syscheck is executed - default to every 22 hours -->
    <frequency>79200</frequency>

同样,如果您没有收到电子邮件,请检查您的垃圾邮件、检查您的 /var/ossec/logs/ossec.log、检查您的邮件日志等。

结论

我希望这让您了解了 OSSEC 所提供的内容。 更高级的设置和配置是可能的,因此请继续关注有关如何部署 OSSEC 以监控和保护您的服务器的未来文章。

有关 OSSEC 的更多信息,请访问项目网站 http://www.ossec.net/