快速安装可视化IDS系统Security Onion
背景:
网上有不少关于snort+barnyard2+base搭建IDS的文章,可是当你花费数天时间,还是无法完全安装完成时,及时当你安装完成发现不是你想要的平台式,时间成本如何计算?
为了节约时间,本节为大家介绍的软件叫安全洋葱Security Onion(本文中简称:SO),它和OSSIM一样,是基于Debian Linux的系统,内部集成了很多开源安全工具例如: OSSEC、NIDS、HIDS以及各种监控工具等等,可以让你在一支烟的功夫完成整个系统建设,下面我们就一起体会一下它如何进行安装和深层防御的吧。
为了了解这套系统,首先得教小白如何快速安装这套可用的IDS系统。先要准备实验用的ISO安装文件(下载地址:https://sourceforge.net/projects/security-onion/ )。接着进行如下操作:
1.将SO安装到硬盘 (该步不能省略)
环境:
虚拟机软件: Vmware workstation 12
分配内存:4G
分配网卡: 1块
分配磁盘空间: 30G
从SO的iso文件引导系统,选择live,然后等待启动到桌面环境,单击安装图标根据提示进行系统安装。安装完成重启系统。
然后在root权限下使用以下命令
apt-get update && sudo apt-get dist-upgrade (更新安装的软件)。
rule-update
刚装完系统,会进入系统会启动XFCE桌面。
图1
点击Setup,提示输入密码。
输入当前用户的登录口令,你会看到Security Onion Setup的欢迎界面,单击Yes,Continue!按钮。
接下来,配置网络接口。
在这个环节系统会自动优化你的网卡,包括禁用一些有可能干扰监听的一些功能。更多信息查看,如果此时,选择No,not right now,那么就会手动配置你的管理和监听接口。一般我们还是选择Yes,configure /etc/network/interfaces。
2.选择管理接口
通常,系统会默认的将第一块网卡设定为管理接口,如果只有一块网卡,那么管理接口和监听接口合二为一。
单击OK按钮后,通常需要给网卡指定静态IP地址。除非你在DHCP中配置了静态映射,才选择DHCP自动获取。
指定IP
点击OK,然后指定掩码。
点击OK,然后设定网关。
点击OK后设定DNS。
点击OK后,在弹出设定本地域名的对话框,我们输入本地域名test.com。
点击OK后系统给出管理接口的网络配置清单。
核对无误后点击Yes,make changest按钮,这时系统提示重新启动。点击Yes,reboot!
注意:手动修改网络配置,你可以打开/etc/network/interfaces文件编辑iface eth0 inet static的配置。
编辑完成后重启网络服务。
$sudo /etc/init.d/networking restart
如果你是初学者,最好按系统提示重启服务器。
3.组件安装
当重启系统完成之后,我们再进入系统XFCE桌面环境。按图1中选择setup,弹出图2和图3。
选择Yes,Continue按钮后弹出。
我们选择Yes,skip network configuration,建议初学者选择快速配置。
点击OK,继续。由于SO是使用电子邮件地址作为独立认证机制,下面输入你常用电子邮箱,将被Snorby用于生成报警日志。
点击OK按钮后,下面需要提供NSM(Network Security Monitoring)组件中Sguil模块的用户名,SO会在其他几款NSM工具中使用它。请务必记住。
实例中设定的用户名为cgweb。
注:命名规则只能是字母的组合。
输入OK后,下面要选择一个字符数字的口令以供让SO安装的NSM软件认证使用。稍后可以通过Sguil和Snorby更改口令。
点击OK后, 确认口令。
当再次确认口令,点击OK按钮后,也就是SO NSM应用程序创建完了凭证,配置脚本会问你,是否想安装企业日志搜索和归档ELSA。
你需要选择Yes,enable ELSA,ELSA为NSM日志数据提供了一个搜索引擎接口。
此时,SO会提示用户,准备做好变更,看你是否同意。
我们选择继续改变。SO要配置系统的时区,可以使用UTC,然后安装与其打包在一起的所有NSM应用程序。
接下来系统会自动设置,当设置完成后,你可以在/var/log/nsm/sosetup.log文件看到安装状态报告。
当设置到ELSA设置环节可能会对花点时间,大家需要耐心等待,最后设置完成,不必重启系统,可使用sostat检查服务运行状态。
点击OK,后弹出注意涉及IDS规则管理的内容。
有问题可以访问下图的站点
4.检查安装状态
当单机系统完成安装,应该采取了解安装状态,首先打开终端,运行下面命令,查看NSM代理是否在线。
如果你发现有组件没有启动成功,可以尝试sudo service nsm restart命令重启。
在排除故障时,你还需要验证传感器连接到服务器的autossh隧道是否正常。
注意:一个IP只能同时连接一台SO服务器。
5.Web浏览器访问
检查通过后,你可以在浏览器上输入刚分配的IP地址,https://192.168.91.228/,会打开如下SO的欢迎界面。
首次用浏览器登陆会遇到HTTPS证书不可信的提示,因为它没有签名。
当你点击信任就不会再提示了。
你可以通过这个界面来访问Snorby NSM应用程序,单击Snorby连接,弹出如下界面。
界面会显示你的SO IP地址以及端口444。Snorby会提示你输入刚才的电子邮件地址,及口令。单击Welcome,Singn In按钮登录系统。这时根据你传感器部署位置不同以及网络活跃程度不同,在控制面板上看到不同的流量信息。
报警测试:
你在虚拟机环境下,如果不会***测试,哪儿来的***数据包,系统怎么会报警,下面用tcpreplay来向网络回放一些***包的例子(这些内容是无害的)。
#sudo tcpreplay -ieth0 -M10 /opt/samples/markofu/*.pcap
报警如下图所示。
如对屏幕下方出现的两个特定警报感兴趣,那么可点击条目查看到详情。有比较,才知孰优孰劣,具体分析会在《开源安全运维平台OSSIM最佳实践》一书中讲解。
6.查看服务器状态
系统脚本/usr/sbin/nsm可以调研nsm_server、nsm_sensor底层脚本传递的选项,进而可以检查服务器的状态,输入以下命令
那么除了status以外还有其他进程控制命令,例如start,stop以及restart
$sudo /usr/sbin/nsm_sensor --status 查看ossec_agent(sguil)状态
清除传感器数据
$sudo /usr/sbin/nsm_sensor_clear --sensor-name=cgweb-virtual-machine-eth0
7.删除数据的脚本
如果你想一次删除所有数据,很简单调用高级脚本/usr/sbin/nsm_all_del即可,它首先会提示用户确认。
还有一个快速删除命令:/usr/sbin/nsm_all_del_quick,它相当危险,因为在删除时不会给出任何提示信息。
8.升级注意事项
首先你需要了解Upgrade与dist-upgrade之间区别是什么。
如果运行upgrade,会得到一组选项,选择dist-upgrade将会产生另一组徐选项。
$sudo apt-get upgrade
$sudo apt-get dist-upgrade
需要注意的是,国内用户升级会比较慢。更新系统需要在没有配置系统之前,如果你将系统配置完毕之后,在升级系统,之前的配置文件将被覆盖。所以一定要在你什么都没有配置之前做升级工作。
(下回讲解分布式IDS安装与调试)。
9.了解SO数据库
当你设置好嗅探口,将洋葱服务器接入网络后,NSM就开始收集网络信息。传感器就会存储各种数据类型,下面的两个目录的路径和用途大家需要了解。
/nsm :存储所有日志和完整数据内容。
SO在/nsm/sensor_data/
我们看一个例子:snort.log.1474866755
log后面的数字“1474866755”表示什么意思?他是UNIX时间戳的表示方法,代表了自1970年1月1日以来过去的秒数。
转换方法:
这个目录如此重要,那么SO会定期检查该目录的可用空间,当达到90%阈值时,会做以下几件事:
脚本会从这个目录移除旧的完整内容的pcap文件,
从/nsm/bro/logs移除旧的Bro日志文件。
从/nsm/sensor_data/
/dailylogs/argus/目录移除旧的argus会话。 从/nsm/sensor_data/
snort- 移除旧的Snort Unified2告警文件。
这个脚本位于/usr/sbin/nsm_sensor_clean,cronjob会每小时都调用/usr/sbin/nsm_sensor_clean脚本,当较早的数据删除,直到磁盘使用率低于90%。
/var/lib/mysql :存储洋葱的数据库。
重要配置文件说明
Secrity Onion 可修改通用配置文件路径
/etc/nsm/securityonion.conf
SO工具临时配置保存在/etc/nsm/templates/
用于包过滤配置文件 /etc/nsm/rules/bpf.conf
IDS 规则保存在/etc/nsm/rules
PulledPort配置文件保存在/etc/nsm/pulledpork/pulledpork.conf
疑问:
Q:安全洋葱能阻止***吗?
A:这一点,和OSSIM一样,不能阻止***。
参考:
https://github.com/Security-Onion-Solutions
http://sourceforge.net/projects/security-onion/