概述
前言
上一篇我们着重介绍了OSSEC的部署安装,而本篇主要想挖掘的是OSSEC程序目录放置的各种实用的工具和文件,了解他们是干什么的有助于更深的了解OSSEC的工作机制。
1. 文件剖析
1.1 根目录
程序目录默认安装在 /var/ossec
,对核心子目录重点展示
1.2 子目录 /bin
此目录主要存放OSSEC的可执行程序文件
1.2.1 核心执行文件
核心执行文件主要负责整个OSSEC入侵检测响应系统的运作,如下图所示
-
ossec-logcollector
- 收集日志
-
ossec-analysisd
- 范式化日志并进行分析,匹配规则并触发告警信息
-
ossec-syscheckd
- 检测定义监控的文件完整性变化(校验和、权限、属组)
-
ossec-maild
- 触发邮件或短信告警
-
ossec-execd
- 触发执行响应处理脚本
-
ossec-remoted
- 服务端与客户端通信服务守护进程(UDP 1514)
1.2.2 客户端管理工具
OSSEC入侵检测响应框架服务器端需要集中管理Agent,所以需要熟悉客户端管理工具的使用,方便系统运维
-
manage_agent -
客户端密钥管理
- 导出已生成的agent通信密钥 -
/var/ossec/manage_agent -e <id>
- 移除已存在的agent -
/var/ossec/manage_agent -r <id>
- 导入agent通信密钥 -
/var/ossec/manage_agent -i <id>
- 批量生成agent密钥 -
/var/ossec/manage_agent -f <file>
- 导出已生成的agent通信密钥 -
-
agent_control -
客户端控制
- 获取agent状态 -
/var/ossec/agent_control -l
- 获取agent信息 -
/var/ossec/agent_control -i <id>
- 重启agent进程 -
/var/ossec/agent_control -R <id>
- 触发完整性和后门检测 -
/var/ossec/agent_control -r -u <id>
- 获取agent状态 -
-
list_agents -
客户端状态
- 显示所有客户端 -
/var/ossec/list_agents -a
- 显示已连接的客户端 -
/var/ossec/list_agents -c
- 显示未连接的客户端 -
/var/ossec/list_agents -n
- 显示所有客户端 -
-
clear_stats -
统计信息清零
- 每日平均统计清零 -
/var/ossec/clear_stats -d
- 每周平均统计清零 -
/var/ossec/clear_stats -w
- 每日平均统计清零 -
1.2.3 规则测试工具
OSSEC在分析日志之前,通常需要对日志使用正则表达式提取内容字段,为保证正则解析的有效性,需要进行日志正则匹配测试,熟悉规则测试工具的使用,事半功倍
-
ossec-logtest -
规则测试、漏报/误报规则调优
-
加载指定定配置文件
/var/ossec/bin/ossec-logtest -c /var/ossec/etc/ossec.conf
-
测试读取单行日志
echo "Dec 30 04:15:28 server sshd[80558]: Failed password for invalid user test from 119.28.50.163 port 33020 ssh2" | /var/ossec/bin/ossec-logtest
-
测试读取日志文件
cat /var/log/secure | /var/ossec/bin/ossec-logtest -a
-
- ossec-regex -
OSSEC内置正则表达式测试
1.2.4 报告生成工具
OSSEC系统本身没有完善的UI界面,需要借助第三方工具做效果展现,但内置支持安全报告输出,可以弥补没有UI界面的不足
-
ossec-reportd -
事件统计报告
-
告警数据生成安全报告
cat /var/ossec/logs/alerts/alerts.log | /var/ossec/bin/ossec-reportd
-
过滤条件输出安全报告
cat /var/ossec/logs/alerts/alerts.log | /var/ossec/bin/ossec-reportd -f group authentication_failure
过滤条件 ossec-reportd -f
-
支持属性
- group - 安全事件组
- rule - 安全事件名称
- level - 安全事件级别
- location - 安全事件归属主机
- user - 用户名称
- srcip - 源IP地址
- filename - 文件名称
-
1.2.5 主程序管理工具
OSSEC操作管理的基础内容,包含进程启动、停止、重启,以及进程状态和内置功能开关
-
ossec-control -
OSSEC进程管理、功能开关管理
-
ossec进程启动
/var/ossec/bin/ossec-control start
-
ossec进程停止
/var/ossec/bin/ossec-control stop
-
ossec进程重启
/var/ossec/bin/ossec-control restart
-
ossec进程状态
/var/ossec/bin/ossec-control status
-
ossec功能(ossec-dbd、ossec-csyslog,ossec-agentlessd)开关激活
/var/ossec/bin/ossec-control enable
-
ossec功能(ossec-dbd、ossec-csyslog,ossec-agentlessd)开关关闭
/var/ossec/bin/ossec-control disable
-
1.2.6 无代理联动工具
OSSEC不仅支持在各种操作系统上部署Agent,进行安全管理,也支持Agentless(无代理模式)的远程管理,譬如交换机、路由器这样的设备,这些设备一般无法安装Agent程序,但通常都支持SSH, ossec-agentlessd通过功能脚本实现无代理模式的集中管理
- ossec-agentlessd -
ossec无代理设备通信处理
[root@server agentless]# cd /var/ossec/agentless
[root@server agentless]# ll
总用量 60
-r-xr-x--- 1 root ossec 2412 12月 23 21:03 main.exp
-r-xr-x--- 1 root ossec 2086 12月 23 21:03 register_host.sh
-r-xr-x--- 1 root ossec 5240 12月 23 21:03 ssh_asa-fwsmconfig_diff
-r-xr-x--- 1 root ossec 1445 12月 23 21:03 ssh.exp
-r-xr-x--- 1 root ossec 5360 12月 23 21:03 ssh_foundry_diff
-r-xr-x--- 1 root ossec
867 12月 23 21:03 ssh_generic_diff
-r-xr-x--- 1 root ossec 1060 12月 23 21:03 ssh_integrity_check_bsd
-r-xr-x--- 1 root ossec 1067 12月 23 21:03 ssh_integrity_check_linux
-r-xr-x--- 1 root ossec
772 12月 23 21:03 sshlogin.exp
-r-xr-x--- 1 root ossec 1473 12月 23 21:03 ssh_nopass.exp
-r-xr-x--- 1 root ossec 5222 12月 23 21:03 ssh_pixconfig_diff
-r-xr-x--- 1 root ossec 1350 12月 23 21:03 su.exp
1.2.7 日志处理工具
OSSEC系统对产生的日志需要做有序管理,实现日志压缩、日志发送以及日志写入数据库的功能
- ossec-monitord -
监控客户端连接和压缩日志
- ossec-csyslogd -
负责发送syslog日志
- ossec-dbd -
负责把告警日志写入数据库
1.2.8 代理密钥批量生成工具
当前客户网络主机、服务器数量庞大,单纯的手动导出导入代理通讯密钥基本无法满足需求,ossec-authd就是解决批量生成代理密钥的工具
- ossec-authd -
自动加载通信密钥加入Agent主机
1.2.9 特殊功能工具
OSSEC最牛的地方,就是功能设计带有前瞻性,结合使用者聪明的发散思维,同一个功能实现的安全需求截然不同,比如CDB列表,CDB列表是个键值对列表文件(需要ossec-makelists编译后使用),基于CDB列表目前安全实现有基线异常发现和恶意域名通讯异常发现等,高级篇会有专门的篇幅介绍
-
ossec-makelists -
负责编译CDB键值对数据库
-
- 使用CDB数据库发现基线异常(Tracking Processes/Malwares Using OSSEC)
- https://blog.rootshell.be/2014/02/10/tracking-processesmalwares-using-ossec/
-
- 使用CBD数据库发现恶意域名(Watching for Potentially Malicious Domains with OSSEC)
- http://ddpbsd.blogspot.com/2011/10/3woo-watching-for-potentially-malicious.html
-
- util.sh -
监控网站和域名解析状态变更脚本
1.2 子目录 /etc
/etc 目录主要存放OSSEC系统的配置文件
[root@server etc]# cd /var/ossec/etc
[root@server etc]# ll
总用量 180
-r--r----- 1 root ossec
188 12月 28 11:21 client.keys
-rw-r----- 1 root ossec 138049 12月 23 21:03 decoder.xml
-rw-r----- 1 root ossec
3156 12月 23 21:03 internal_options.conf
-rw-r----- 1 root ossec
320 12月 21 21:12 local_internal_options.conf
-r--r----- 1 root ossec
388 12月 23 21:03 localtime
-rw-r----- 1 root ossec
8090 12月 25 16:09 ossec.conf
-rw-r----- 1 root root
104 12月 23 21:03 ossec-init.conf
drwxrwx--- 2 root ossec
4096 12月 23 21:03 shared
重点
- decoder.xml: 默认的解码器文件,作用是实现日志正则预匹配,减轻日志解析压力
- client.keys: 记录管辖范围内Agent的密钥信息文件
- internal_options.conf: 内部功能参数调整开关、门限值调整(下一篇介绍)
- ossec-init.conf: 记录安装初始化信息,包括版本、安装目录以及角色
- ossec.conf: 主配置文件,包括规则加载、完整性检测、后门检测等功能(下一篇介绍)
1.3 子目录 /logs
目录 /logs
主要存放ossec程序的运行日志、主动响应日志以及事件告警日志
[root@server etc]# cd /var/ossec/logs
[root@server logs]# ll
总用量 1280
-rw-rw---- 1 ossec ossec 625512 1月
15 15:59 active-responses.log
drwxr-x--- 4 ossec ossec
4096 1月
15 00:00 alerts
drwxr-x--- 4 ossec ossec
4096 1月
15 00:00 archives
drwxr-x--- 4 ossec ossec
4096 1月
15 00:00 firewall
-rw-rw---- 1 ossec ossec 661514 1月
15 16:51 ossec.log
重点
- ossec.log: 记录ossec所有相关程序的执行状态信息,包括读取配置文件、启停进程、加载规则等
- active-responses.log: 记录主动响应操作记录
- alerts: 存放各种格式记录事件的告警文件
1.4 子目录 /queue
目录 /queue
存放一些需要缓存处理的队列数据,比如完整性检测和后门检测的缓存数据等
[root@server etc]# cd /var/ossec/queue
[root@server queue]# ll
总用量 36
drwxr-x--- 2 ossecr ossec 4096 12月 29 10:42 agent-info
drwxr-x--- 2 ossec
ossec 4096 12月 21 21:12 agentless
drwxrwx--- 2 ossec
ossec 4096 12月 29 14:26 alerts
drwxr-x--- 5 ossec
ossec 4096 12月 21 23:32 diff
drwxr-x--- 2 ossec
ossec 4096 12月 21 21:17 fts
drwxr-x--- 2 ossec
ossec 4096 12月 29 14:26 ossec
drwxr-x--- 2 ossecr ossec 4096 12月 28 11:23 rids
drwxr-x--- 2 ossec
ossec 4096 12月 28 11:24 rootcheck
drwxr-x--- 2 ossec
ossec 4096 12月 29 07:42 syscheck
1.5 子目录 /active-response
目录 /active-response
存放主动响应的脚本文件
root@server bin]# pwd
/var/ossec/active-response/bin
[root@server bin]# ll
总用量 60
-r-xr-x--- 1 root ossec 1711 12月 23 21:03 disable-account.sh
-r-xr-x--- 1 root ossec 3952 12月 23 21:03 firewalld-drop.sh
-r-xr-x--- 1 root ossec 7277 12月 23 21:03 firewall-drop.sh
-r-xr-x--- 1 root ossec 3539 12月 23 21:03 host-deny.sh
-r-xr-x--- 1 root ossec
800 12月 23 21:03 ip-customblock.sh
-r-xr-x--- 1 root ossec 1617 12月 23 21:03 ipfw_mac.sh
-r-xr-x--- 1 root ossec 1385 12月 23 21:03 ipfw.sh
-r-xr-x--- 1 root ossec 1290 12月 23 21:03 npf.sh
-r-xr-x--- 1 root ossec 1157 12月 23 21:03 ossec-pagerduty.sh
-r-xr-x--- 1 root ossec 1739 12月 23 21:03 ossec-slack.sh
-r-xr-x--- 1 root ossec 1636 12月 23 21:03 ossec-tweeter.sh
-r-xr-x--- 1 root ossec 1949 12月 23 21:03 pf.sh
-r-xr-x--- 1 root ossec
542 12月 23 21:03 restart-ossec.sh
-r-xr-x--- 1 root ossec 1353 12月 23 21:03 route-null.sh
1.6 子目录 /rules
目录 /rules
存放OSSEC内置支持的设备、应用,系统安全检测规则文件
root@server rules]# ls
apache_rules.xml
hordeimp_rules.xml
named_rules.xml
proxmox-ve_rules.xml
sysmon_rules.xml
apparmor_rules.xml
ids_rules.xml
netscreenfw_rules.xml
psad_rules.xml
systemd_rules.xml
arpwatch_rules.xml
imapd_rules.xml
nginx_rules.xml
pure-ftpd_rules.xml
telnetd_rules.xml
asterisk_rules.xml
linux_usbdetect_rules.xml
nsd_rules.xml
racoon_rules.xml
trend-osce_rules.xml
attack_rules.xml
local_rules.xml
openbsd-dhcpd_rules.xml
roundcube_rules.xml
unbound_rules.xml
cimserver_rules.xml
mailscanner_rules.xml
openbsd_rules.xml
rules_config.xml
vmpop3d_rules.xml
cisco-ios_rules.xml
mcafee_av_rules.xml
opensmtpd_rules.xml
sendmail_rules.xml
vmware_rules.xml
clam_av_rules.xml
ms1016_usbdetect_rules.xml
ossec_rules.xml
smbd_rules.xml
vpn_concentrator_rules.xml
courier_rules.xml
msauth_rules.xml
owncloud_rules.xml
solaris_bsm_rules.xml
vpopmail_rules.xml
dnsmasq_rules.xml
ms_dhcp_rules.xml
pam_rules.xml
sonicwall_rules.xml
vsftpd_rules.xml
dovecot_rules.xml
ms-exchange_rules.xml
php_rules.xml
spamd_rules.xml
web_appsec_rules.xml
dropbear_rules.xml
ms_firewall_rules.xml
pix_rules.xml
squid_rules.xml
web_rules.xml
exim_rules.xml
ms_ftpd_rules.xml
policy_rules.xml
sshd_rules.xml
wordpress_rules.xml
firewalld_rules.xml
ms_ipsec_rules.xml
postfix_rules.xml
symantec-av_rules.xml
zeus_rules.xml
firewall_rules.xml
ms-se_rules.xml
postgresql_rules.xml
symantec-ws_rules.xml
ftpd_rules.xml
mysql_rules.xml
proftpd_rules.xml
syslog_rules.xml
总结
本章节系统介绍了OSSEC目录结构与实用工具,下一个章节会重点讲解主配置文件ossec.conf以及内部可选参数配置文件internal_options.conf的细节内容
最后
以上就是狂野凉面为你收集整理的 开源EDR(OSSEC)基础篇- 03 - 目录结构与实用工具 前言总结的全部内容,希望文章能够帮你解决 开源EDR(OSSEC)基础篇- 03 - 目录结构与实用工具 前言总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复