介绍
OSSEC是一个开源的基于主机的入侵检测系统(HIDS),可以执行日志分析,完整性检查,Windows注册表监控,rootkit检测,基于时间的警报和主动响应。这是应用程序安装在您的服务器上,如果你想看看里面发生了什么。 OSSEC在Windows和所有类Unix操作系统上都支持;但是,本教程中使用的Droplets都运行Ubuntu 14.04。 可以安装OSSEC来仅监视其安装的服务器,这是OSSEC中的本地安装。在OSSEC前两个教程是当地OSSEC安装实例:
如何安装和在Ubuntu 14.04配置OSSEC安全通知以及
如何安装和FreeBSD的10.1配置OSSEC 。 OSSEC也可用于监测数千其他服务器,称为OSSEC
剂 。 OSSEC剂通过另一种类型的OSSEC安装的称为OSSEC
服务器监测。在OSSEC服务器被配置为监视一个或多个代理之后,可以在任何时候添加或去除附加代理。可以通过安装在代理上的代理软件或通过无代理模式监视OSSEC代理。本教程将使用代理模式,这需要在代理上安装OSSEC代理软件。 在本教程中,您将学习如何安装OSSEC服务器和OSSEC代理,然后配置服务器和代理,以便服务器监视代理,服务器向您的电子邮件发送警报。
先决条件
要完成本教程,您需要以下内容。
- 两个Ubuntu 14.04 Droplets。 请务必记下两者的IP地址,您可以在DigitalOcean仪表板上看到。 我们将把这些为
your_server_ip
和your_agent_ip
分别。
- 两个Droplet,您可以通过以下的前三个步骤获得Sudo非root用户本教程 。
- Iptables防火墙启用。在Linux中,最新的OSSEC稳定版本需要使用iptables来实现其主动响应功能。它不与ufw,Ubuntu上的默认防火墙应用程序工作。按照中的说明如何设置防火墙在Ubuntu 14.04使用iptables设置两台服务器上的iptables。
第1步 - 在服务器和代理上下载并验证OSSEC
我们将首先在Droplet(服务器和代理)上下载和验证OSSEC。除非另有说明,否则此步骤中的所有命令都应在两个Droplet上执行。 OSSEC作为压缩压缩包提供。在本节中,您将下载OSSEC及其校验和文件,用于验证tarball是否已被篡改。开始,以正常方式登录服务器,然后更新包数据库。
sudo apt-get update
安装任何可用的更新。
sudo apt-get upgrade
最后,安装所需的软件包。 在
服务器上,你应该安装以下内容:
sudo apt-get install inotify-tools build-essential
在
代理 ,您应该安装以下内容:
sudo apt-get install build-essential
之后,在Droplets上,下载OSSEC及其校验和文件。您可以检查项目的网站获取最新版本,但低于的是在写作的时候最新的。
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
在每一种情况下,忽略了
警戒线 。
确定线就是确认该文件是好的。
第2步 - 安装OSSEC服务器
在此步骤中,我们将安装OSSEC
服务器 ,所以这些命令应该只在一个Droplet被执行。在开始安装服务器之前,解压它。
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个字母。 下一个问题会问你想要什么样的安装。在此输入
服务器 。
1- What kind of installation do you want (server, agent, local, hybrid or help)? server
对于后续问题的休息,可以接受默认值,这意味着只需按
ENTER键 。有关电子邮件的问题,请务必输入有效的电子邮件地址。通知将发送给它。 如果安装成功,您应该得到这个输出:
- System is Debian (Ubuntu or derivative).
- Init script modified to start OSSEC HIDS during boot.
- Configuration finished properly.
...
More information can be found at http://www.ossec.net
--- Press ENTER to finish (maybe more information below). ---
然后按
回车 ,你应该看到这一点:
- In order to connect agent and server, you need to add each agent to the server.
Run the 'manage_agents' to add or remove them:
/var/ossec/bin/manage_agents
More information at:
http://www.ossec.net/en/manual.html#ma
第3步 - 配置OSSEC服务器
因为代理还没有安装,我们将处理将它添加到服务器的任务。现在,让我们配置服务器,以确保它可以发送警报。 在这里,我们将配置OSSEC服务器的电子邮件设置,并确保它可以发送警报到指定的电子邮件。要访问和修改OSSEC的文件和目录,您需要切换到root用户。
sudo su
现在,你的根,
cd
到哪里OSSEC的配置文件住的目录。
cd /var/ossec/etc
配置文件是
ossec.conf
。首先,制作备份副本。
cp ossec.conf ossec.conf.00
然后打开原件。在这里,我们使用了
nano
文本编辑器,但你可以使用任何你喜欢。
nano ossec.conf
电子邮件设置位于文件的顶部。在这里,你将改变字段的说明,接着是样品
ossec.conf
文件。
- <EMAIL_TO \>是在安装过程中给了电子邮件。警告将发送到该电子邮件地址。
- <EMAIL_FROM \>是OSSEC的警报似乎是来自哪里。将其更改为有效的电子邮件地址,以减少电子邮件提供商的SMTP服务器将您的电子邮件标记为垃圾邮件的几率。
- 如果你有自己的电子邮件服务器和它是相同的主机作为OSSEC服务器上安装一个,你可以改变<smtp_server \>设置为localhost。
注意
,<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>
修改电子邮件设置后,保存并关闭文件。然后启动OSSEC。
/var/ossec/bin/ossec-control start
检查您的收件箱中是否有表示OSSEC已启动的电子邮件。如果您看不到电子邮件,请检查您的垃圾邮件文件夹。
第4步 - 安装OSSEC代理
在本节中,您将学习如何在你的第二个Droplet安装OSSEC
代理 。这将类似于安装服务器。在开始安装代理之前,解压它。
tar xf ossec-hids-2.8.1.tar.gz
它将被解压到一个名为
ossec-hids-2.8.1
变更到该目录中。
cd ossec-hids-2.8.1/
然后开始安装。
sudo ./install.sh
大多数提示与以前相同,但有几个是不同的。当问:
1- What kind of installation do you want (server, agent, local, hybrid or help)? agent
答案应该是
代理 。当问:
3.1- What's the IP Address or hostname of the OSSEC HIDS server?:your_server_ip
键入您先前获取的OSSEC服务器的IP地址。这是其他Droplet(安装OSSEC服务器的那个)的IP地址。 对于其他问题,按
Enter键接受像你在安装OSSEC服务器的过程中做了默认值。安装后,你应该得到这个输出:
- System is Debian (Ubuntu or derivative).
- Init script modified to start OSSEC HIDS during boot.
- Configuration finished properly.
...
More information can be found at http://www.ossec.net
--- Press ENTER to finish (maybe more information below). ---
并按下后再次
进入 ,你应该看到:
- You first need to add this agent to the server so they
can communicate with each other. When you have done so,
you can run the 'manage_agents' tool to import the
authentication key from the server.
/var/ossec/bin/manage_agents
More information at:
http://www.ossec.net/en/manual.html#ma
现在代理和服务器已安装,但它们还无法通信。
第5步 - 将代理添加到服务器并解压缩其密钥
在OSSEC服务器上,启动添加代理的过程。
注意 :您应该仍然经营为根本,从第3步,所以你不需要使用
sudo
任何这些命令。
/var/ossec/bin/manage_agents
然后,您将看到如下所示的选项。
选择添加一个代理。
(A)dd an agent (A).
(E)xtract key for an agent (E).
(L)ist already added agents (L).
(R)emove an agent (R).
(Q)uit.
Choose your action: A,E,L,R or Q: a
然后将提示您指定代理的名称,其IP地址和ID。使名称唯一,因为它将帮助您过滤从服务器接收的警报。对于ID,您可以按
Enter键接受默认设置。 当你进入所有三个字段,输入
y确认。
- Adding a new agent (use '\q' to return to the main menu).
Please provide the following:
* A name for the new agent: agentUbuntu
* The IP Address of the new agent: your_agent_ip
* An ID for the new agent[001]:
Agent information:
ID:001
Name:agentUbuntu
IP Address:111.111.111.111
Confirm adding it?(y/n): y
Agent added.
之后,您将返回主菜单。现在你必须提取代理的键,这将被回显到屏幕。 (它将不同于下面的例子中的一个。)确保你复制它,因为你必须输入代理。
...
Choose your action: A,E,L,R or Q: e
Available agents:
ID: 001, Name: agentUbuntu, IP: 111.111.111.111
Provide the ID of the agent to extract the key (or '\q' to quit): 001
Agent key information for '001' is:
MDAxIGFnZW50VWJ1bnyEwNjI5MjI4ODBhMDkzMzA4MR1IXXwNC4yMzYuMjIyLjI1MSBiMTI2U3MTI4YWYzYzg4M2YyNTRlYzM5M2FmNGVhNDYTIwNDE3NDI1NWVkYmQw
** Press ENTER to return to the main menu.
后按
Enter,你会再次返回到主菜单。 键入
q退出。
...
Choose your action: A,E,L,R or Q: q
** You must restart OSSEC for your changes to take effect.
manage_agents: Exiting ..
第6步 - 将密钥从服务器导入代理
此部分必须在代理上完成,它涉及导入(复制)在服务器上提取的代理的密钥并将其粘贴在代理的终端上。要开始,请通过键入以下内容切换到根目录:
sudo su
然后键入:
/var/ossec/bin/manage_agents
您将看到以下选项:
(I)mport key from the server (I).
(Q)uit.
Choose your action: I or Q: i
输入正确的选项后,请按照指示复制并粘贴从服务器生成的密钥。
Agent information:
ID:001
Name:agentUbuntu
IP Address:104.236.222.251
Confirm adding it?(y/n): y
Added.
** Press ENTER to return to the main menu.
回到主菜单,键入
q退出:
Choose your action: I or Q: q
第7步 - 允许UDP端口1514通过防火墙的流量
代理和服务器之间的通信通过UDP端口1514进行,因此您必须向iptables的两端添加规则,以允许通过该端口的流量。 首先,临时删除代理和服务器上的删除规则。
sudo iptables -D INPUT -j DROP
要将规则添加到OSSEC
服务器 ,输入以下命令,使用您的OSSEC代理的IP。
iptables -A INPUT -p UDP --dport 1514 -s your_agent_ip -j ACCEPT
然后在
代理 ,输入以下命令,使用您的OSSEC服务器的IP。
iptables -A INPUT -p UDP --dport 1514 -s your_server_ip -j ACCEPT
接下来,允许所有出站流量通过代理和服务器上的防火墙。
iptables -A OUTPUT -j ACCEPT
最后,再次向两者添加删除规则。
sudo iptables -A INPUT -j DROP
因为重启后这些规则应该坚持
iptables-persistant
,你的先决条件时安装。
第8步 - 重新启动OSSEC代理和服务器
现在服务器和代理已配置为进行通信,请重新启动它们以实现更改:
/var/ossec/bin/ossec-control restart
除了能够重新启动,从代理本身的OSSEC剂,也可以从与OSSEC服务器重新启动它
/var/ossec/bin/agent_control -R 001
,其中
001是代理的ID。 在OSSEC服务器上,您可以键入以下列表列出活动代理:
/var/ossec/bin/list_agents -c
如果你得到一个类似下面的输出,那么你知道服务器和代理正在说话。
agentUbuntu-111.111.111.111 is active.
结论
此时,您应该从服务器接收包含来自服务器和代理的通知的警报。有关该代理警报的主题行看起来像
OSSEC Notification - (agentUbuntu) 111.111.111.111 - Alert level 3
。这些邮件的正文开始
OSSEC HIDS Notification
。 在确定服务器和代理可以通信后,您可以进一步自定义这两个安装。可在OSSEC服务器和代理上进行,以提醒关于文件添加和也以实时提醒修改是可以使在
本地 OSSEC安装相同。 您可以咨询相关部分
如何安装和在Ubuntu 14.04配置OSSEC安全通知就如何使这些修改措施。 如果要监视两个以上的Droplet,可以使用本文中提供的相同步骤将它们作为OSSEC代理添加到安装程序中。如果您遇到任何问题,同时设置此功能,寻找线索首先是在错误日志中,位于
/var/ossec/logs/ossec.log
。 本文仅介绍在服务器代理模式下设置OSSEC的基础知识。更多信息,请
http://ossec-docs.readthedocs.org 。