如何在 Ubuntu 14.04 上安装和配置 OSSEC 安全通知

2023-11-05

介绍

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

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

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

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

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

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

**OSSEC 有哪些好处?

在开始安装和配置部分之前,我们先来看看使用 OSSEC 带来的一些具体好处。

Below is an example of an email notification from OSSEC, showing that the file /var/ossec/etc/ossec.conf was modified.

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'

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

Here’s another example email alert from OSSEC, showing that the file /etc/ossec/testossec.txt was deleted.

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 user:
sudo su
  • 可选:如果您想从本地 SMTP 服务器发送邮件,您应该安装Postfix用于简单的电子邮件发送
  • OSSEC的安装涉及到一些编译,所以你需要gcc and make安装。您可以通过安装一个名为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

Now, let’s examine the checksum file with the cat command, like so:

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 可以安装在server, agent, local or hybrid模式。此安装用于监控安装了 OSSEC 的服务器。这意味着一个local安装。

在开始安装之前,您必须扩展该文件。您可以通过输入以下内容来做到这一点:

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

After that, you should have a directory named ossec-hids-2.8.1. To start installation, you have to change (cd) into that directory, which you do by typing:

cd ossec-hids-2.8.1

To see the contents of the directory that you’re now in, use the ls command by typing:

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

The only file of interest to us in that listing is install.sh. That’s the OSSEC installation script. To initiate installation, type:

./install.sh

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

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

Entries are shown in 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

Type local and press ENTER. You should get:

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

Note:安装可能失败的原因之一是未安装编译器。在这种情况下,您会收到如下错误:

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 into /var/ossec甚至列出其中的文件。但是,作为根(或管理员)用户,您可以。

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

Results:

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

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

现在,打开ossec.conf通过使用nano editor.

nano /var/ossec/etc/ossec.conf

配置文件是一个非常长的 XML 文件,包含多个部分。

电子邮件设置

Note:一般来说,电子邮件是很挑剔的,尤其是当您发送到更严格的邮件提供商(例如发送到 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>

By default, OSSEC sends 12 emails per hour, so you’ll not be flooded with email alerts. You can increase or decrease that value by adding the <email_maxperhour>N</email_maxperhour> setting to that section so that it reads:

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

Please replace N with the number of emails you want to receive per hour, between 1 and 9999.

某些第三方电子邮件服务提供商(例如 Google 和 Fastmail)将默默地丢弃 OSSEC 发送的警报,如果<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@ossec_server.com</email_from>
</global>

The <email_to> and <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>

If you don’t want to use an external email provider’s SMTP server, you can specify your own SMTP server, if you have one configured. (This is not covered in this tutorial, but you can install Postfix following these instructions.) If your SMTP server is running on the same Droplet as OSSEC, change the <smtp_server> setting to localhost. For example:

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

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

扫描频率

In the <syscheck>的部分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>

出于测试目的,您可能还希望将系统检查的频率设置得低得多。默认情况下,系统检查每 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 and /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.xml and ossec_rules.xml。后者包含 OSSEC 的默认规则定义,而前者是您添加自定义规则的位置。换句话说,除了local_rules.xml,您不要修改该目录中的任何文件。

默认规则定义在ossec_rules.xml查看很有用,因此我们可以修改它们并将其复制到我们的本地规则中。在ossec_rules.xml,当文件被打开时触发的规则added到受监控的目录是规则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>

如果规则有以下情况,OSSEC 不会发出警报level set to 0。我们想修改此规则以提高警报级别。我们不会在默认文件中更改它,而是将规则复制到local_rules.xml并修改它以便它可以触发警报。

为此,请制作一个备份副本/var/ossec/rules/local_rules.xml file:

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

编辑文件nano:

nano /var/ossec/rules/local_rules.xml

在文件末尾添加新规则。确保它在范围内<group> ... </group> tag.

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

Or this:

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.

Note: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/.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Ubuntu 14.04 上安装和配置 OSSEC 安全通知 的相关文章

  • 我可以在 PHP 会话变量中安全地存储用户名和密码吗?

    我想在 REST api 之上制作一个轻量级的 web 应用程序 用户只需进行一次身份验证 从那时起 所有针对 web api 的请求都希望通过以某种方式保持用户名和密码有效来完成 我已经做了一个工作原型我在哪里将用户名和密码存储在会话变量
  • 如何查看 Ubuntu 上的 Binutils 版本?

    我已经搜索过 但没有找到一个选项来告诉我我的 Ubuntu 上有哪个版本的 binutils 或者至少我不知道如何解释它 gcc v 没有透露任何有关 binutils 的信息 ld v 告诉我GNU ld GNU Binutils for
  • Pycharm 中的 Traitlets.traitlets.TraitError

    我是Python的初学者 我面临以下问题 每当我启动 pycharm 社区版 版本 5 0 3 时 Python 控制台无法启动并显示以下错误 usr bin python2 7 usr lib pycharm community help
  • 同源政策目的可疑

    正如我所读到的 同源策略是防止源自 邪恶 域 A 的脚本向 良好 域 B 发出请求 换句话说 跨站点请求伪造 玩了一下我了解到的Access Control Allow Origin标头和CORS据我了解 它允许从好域 B 指定服务器 域
  • checkmarx - 如何解决存储的绝对路径遍历问题?

    Checkmarx v 9 3 0 HF11 我将 env 值作为 dev uat 服务器中使用的 docker 文件中的数据目录路径传递 ENV DATA app data 在本地 使用以下环境变量 数据 C 项目 应用程序 数据 get
  • Ubuntu systemd 自定义服务因 python 脚本而失败

    希望获得有关 Ubuntu 中的 systemd 守护进程服务的一些帮助 我写了一个 python 脚本来禁用 Dell XPS 上的触摸屏 这更像是一个问题 而不是一个有用的功能 该脚本可以工作 但我不想一直启动它 这就是为什么我想到编写
  • Mysql加密/存储敏感数据,

    我的 PHP 网站有以下内容 启用 SSL 饼干 session set cookie params cookieParams lifetime cookieParams path cookieParams domain secure ht
  • Flex 和 crossdomain.xml

    我想知道将 crossdomain xml 添加到应用程序服务器的根目录是否存在任何安全问题 它可以添加到服务器的任何其他部分吗 您是否知道任何不需要服务器放置此文件的解决方法 谢谢 达米安 通过添加 crossdomain xml 主要的
  • 尝试访问 iframe 内容(不同子域);尝试设置 CORS

    我将文件托管在domain com 其中包含一个 iframe 其文档托管在s3 domain com 我正在尝试访问 iframe 的内容 但收到以下信息 不安全的 JavaScript 尝试通过 URL 访问框架http s3 doma
  • Java中如何确保String对象被销毁?

    我公司的一名员工需要通过我编写的程序修改 SQL Server 数据库中的数据 该程序首先使用 Windows 身份验证 我要求 DBA 授予该特定用户对所述数据库的写入权限 他们不愿意这样做 而是授予了写权限myWindows 用户帐户
  • 简单的openGL程序无法在ubuntu中链接

    我正在尝试进入 opengl 编程 但无法编译我的第一个非常非常简单的程序 链接过程每次都会失败 我发现这个答案 https stackoverflow com questions 859501 learning opengl in ubu
  • Linux中使用管道进行进程间通信

    我已经编写了在 linux 中写入数字以进行管道传输的代码 如下所示 但显示错误 任何人都可以帮助我解决这个问题 基本上该程序的问题陈述如下 一个程序将打开一个管道 向管道写入一个数字 其他程序将打开同一管道 读取数字并打印它们 关闭两个管
  • 如何确保密钥是在 TPM 内部创建的?

    我需要 在客户端计算机上运行 exe 这将在 TPM 中创建密钥对 然后我将使用 TPM 生成的密钥对的公钥部分创建 CSR 我关心的是如何确保密钥是在 TPM 内部创建的 而不是由欺骗的 TPM 创建的 这将使私钥能够被迁移和复制 我听说
  • 还记得我的 Cookie 最佳实践吗?

    我读到了许多关于这个论点的老问题 我认为最好的做法是设置一个 cookieusername user id和一个随机令牌 相同 cookie 的数据在 cookie 创建时存储在数据库中 当用户拥有 cookie 时 它 们会进行比较 co
  • Delphi 应用程序被 Google Chrome 视为“危险”

    我经常用Delphi 2009制作数学软件 并将其发布在我的网站上 然而 去年左右 Google Chrome 开始认为我的一小部分 但数量不断增加 EXE 是 有害的 并且 Google Chrome 拒绝下载它们 例如 今天我编写了一个
  • 运行此处编译的 C 程序会导致在另一台服务器上找不到 GLIBC 库错误 - 是我的错还是他们的错?

    此处编译的 C 程序在我们的 Ubuntu 服务器上运行良好 但是当其他人尝试在他们的特定 Linux 服务器上运行它时 他们会收到以下错误 myprog install lib tls libc so 6 version GLIBC 2
  • 如何使用 php 通过 https 下载文件

    我需要使用 PHP 下载 xml 文件 我可以在对文件进行curl 调用时通过设置以下选项来读取文件的内容 curl setopt http CURLOPT SSL VERIFYPEER false curl setopt http CUR
  • 上下文切换到安全模式(arm trustzone)的成本是多少

    我试图了解在arm中可信 安全 和非安全模式之间来回切换的成本 从非安全世界转移到安全世界时到底需要发生什么 我知道需要设置 ns 位 基于某些特殊指令 需要刷新和更新页表 刷新和更新处理器缓存 还有什么需要发生的吗 处理器缓存 它们是分段
  • 请检查 PPA 名称或格式是否正确

    在我的 Ubuntu 14 04 中 我尝试安装 Captiva 图标包 如上所列这个 omgubuntu 帖子 http www omgubuntu co uk 2014 09 4 gorgeous linux icon themes d
  • 如何在 JASPIC 中保存经过身份验证的用户?

    我开发了一个安全认证模块 SAM 并实现了validateRequest方法 我还有一个简单的 Web 应用程序配置为使用此 SAM In my validateRequest方法 我检查 clientSubject 并设置一个Caller

随机推荐

  • 如何在 Ubuntu 18.04 上安装 Chromium Web 浏览器

    Chromium是一款专为现代网络打造的快速 稳定且安全的浏览器 它是许多浏览器的基础 包括世界上使用最广泛的网络浏览器谷歌浏览器 Chromium 和 Google Chrome 之间的主要区别在于 Chromium 是开源的 与 Chr
  • 如何在 Raspberry Pi 上安装 Node.js 和 npm

    Node js 是一个基于 Chrome 的 JavaScript 引擎构建的开源跨平台 JavaScript 运行时环境 允许服务器端执行 JavaScript 代码 它主要用于构建服务器端应用程序 但作为全栈和前端解决方案也非常流行 n
  • 如何在 Debian 9 上安装 Tomcat 9

    Apache Tomcat 是一个开源应用程序服务器 支持 Java Servlet JavaServer Pages Java 表达式语言和 Java WebSocket 技术 它是当今世界上使用最广泛的应用程序和 Web 服务器之一 本
  • 如何在 Ubuntu 18.04 上安装 PrestaShop

    普斯塔商店是一个免费开源的电子商务平台 它基于 PHP 和 MySQL 可以通过免费和高级插件和主题进行扩展 PrestaShop 具有直观的管理界面 多个支付网关 多语言 分析和报告等功能 是许多在线商家的首选平台 在本教程中 我们将向您
  • 如何在 Ubuntu 18.04 上安装 Jenkins

    Jenkins是一个开源自动化服务器 提供了一种设置持续集成和持续交付 CI CD 管道的简单方法 持续集成 CI 是一种 DevOps 实践 团队成员定期将代码更改提交到版本控制存储库 然后运行自动化构建和测试 持续交付 CD 是自动构建
  • 如何在 CentOS 7 上安装 Yarn

    Yarn 是一个与 npm 兼容的 JavaScript 包管理器 可帮助您自动执行安装 更新 配置和删除 npm 包的过程 它的创建是为了解决 npm 的一系列问题 例如通过并行操作加快软件包安装过程并减少与网络连接相关的错误 在本教程中
  • Linux 中的 Pgrep 命令

    本文涵盖了 Linux 的基础知识pgrep命令 pgrep是一个命令行实用程序 允许您根据给定条件查找正在运行的程序的进程 ID 它可以是完整或部分进程名称 运行进程的用户或其他属性 The pgrep命令是的一部分procps or p
  • 安装和配置 Postfix 和 Dovecot

    这是我们的第二篇文章设置和配置邮件服务器系列 在这篇文章中 我们将向您展示如何安装和配置 Postfix 和 Dovecot 这是我们邮件系统的两个主要组件 Postfix 是一个开源邮件传输代理 MTA 是一种用于发送和接收电子邮件的服务
  • 如何在 Debian 10 上安装 Memcached

    Memcached 是一个免费开源的高性能内存键值数据存储 它通常用于通过缓存 API 和数据库调用结果中的各种对象来加速应用程序 本文介绍如何在 Debian 10 上安装和配置 Memcached 先决条件 您需要以以下身份登录具有 s
  • Linux 中的剪切命令

    Linux 和 Unix 系统中有许多实用程序可让您处理和过滤文本文件 cut是一个命令行实用程序 允许您从指定文件或管道数据中剪切部分行并将结果打印到标准输出 它可用于按分隔符 字节位置和字符来剪切行的各个部分 在本文中 我们将向您展示如
  • 如何在 Ubuntu 12.04 x64 上安装 iRedMail

    Status 已弃用 本文介绍不再受支持的 Ubuntu 版本 如果您当前运行的服务器运行 Ubuntu 12 04 我们强烈建议您升级或迁移到受支持的 Ubuntu 版本 升级到Ubuntu 14 04 从 Ubuntu 14 04 升级
  • Spring框架

    Spring 框架是最流行的 Java EE 框架之一 在本文中 我们将了解以下内容 Spring框架架构 Spring的核心组件 spring 框架下的各种项目 我查看了 Spring Framework Servlet JSP 和 JS
  • 如何在 Ubuntu 16.04 上使用 uWSGI 和 Nginx 为 Django 应用程序提供服务

    介绍 Django 是一个功能强大的 Web 框架 可以帮助您启动 Python 应用程序或网站 Django 包含一个简化的开发服务器 用于在本地测试代码 但对于任何与生产稍微相关的事情 都需要更安全 更强大的 Web 服务器 在本指南中
  • ThreadPoolExecutor - Java 线程池示例

    Java线程池管理工作线程池 它包含一个队列 使任务等待执行 我们可以用ThreadPoolExecutor在Java中创建线程池 Java线程池管理Runnable线程的集合 工作线程执行队列中的可运行线程 java util concu
  • 使用 Docker Compose 将 Node.js 应用程序容器化以进行开发

    介绍 如果您正在积极开发应用程序 请使用Docker可以简化您的工作流程以及将应用程序部署到生产的过程 在开发中使用容器可以带来以下好处 环境是一致的 这意味着您可以为项目选择所需的语言和依赖项 而不必担心系统冲突 环境是隔离的 可以更轻松
  • 在 JavaScript 中使用位运算符

    介绍 虽然 Javascript 中的按位运算符几乎没有受到任何关注 但它们实际上非常强大并且用途广泛 它们被认为可以更快地进行数值计算和转换 我们可以利用它们来替代某些复杂的编码场景 并使我们的代码更具可读性 在本教程结束时 您将基本了解
  • 命令设计模式

    命令模式是行为设计 模式之一 命令设计模式用于实现松耦合在请求 响应模型中 命令模式 In command pattern the request is send to the invoker and invoker pass it to
  • 如何在 CentOS 6 上设置 Apache 虚拟主机

    Status 已弃用 本文介绍不再受支持的 CentOS 版本 如果您当前运行的服务器运行 CentOS 6 我们强烈建议您升级或迁移到受支持的 CentOS 版本 Reason CentOS 6 于 2020 年 11 月 30 日达到生
  • 如何在 Ubuntu 18.04 上安装 Anaconda [快速入门]

    介绍 Anaconda 专为数据科学和机器学习工作流程而设计 是一款开源包管理器 环境管理器以及 Python 和 R 编程语言的分发版 本教程将指导您在 Ubuntu 18 04 服务器上安装 Anaconda 有关本教程的更详细版本以及
  • 如何在 Ubuntu 14.04 上安装和配置 OSSEC 安全通知

    介绍 您如何跟踪服务器上的授权和未经授权的活动 OSSEC 是一种可以安装在服务器上以跟踪其活动的工具 OSSEC 是一种开源 基于主机的入侵检测系统 HIDS 它执行日志分析 完整性检查 Windows 注册表监控 rootkit 检测