1.背景
当Sensor和Server之间无法通讯时会造成以下子系统无法显示数据:
Ø Dashboards 仪表盘
Ø Analysis→SIEM
Ø Vulnerabilities漏洞扫描无法正常工作
Ø Profiles→Ntop
Ø Detetion→OSSEC Server失效
Ø Deployment→Alienvault→Center无法联系
Ø Asset可启动扫描单扫描到的资源无法添加到数据库
在调试故障时,OSSIM管理员需要对Sensor和Server之间各项服务的通讯端口了如指掌。为了说明通讯端口下面我们简单看一个架构示意图,如图1所示,接着来说明各种端口及对于进程。
图1
2.端口说明
根据上图1,我们可以勘察OSSIM核心组件包括两部分,一部分是服务器(Server Host),另一部分是传感器(Sensor Host)。Server Host包括:Server、Web Framework、Database、Identty Management、Vulnerability Management。Sensor Host包括:Agent、Vulnerability Scanner、Log Collection。它们通讯端口如表1、表2归纳所示。
表1 OSSIM 开放服务器端口分配表
协 议 | 端 口 | 进程 | 作 用 |
TCP | 22 | sshd | Alienvault_api服务器与sensor之间远程通讯 |
TCP | 443 | apache2 | Https-Web UI |
TCP | 40001 | ossim-ser | Alienvault-server服务器进程与Agent之间通讯端口 |
TCP | 3306 | mysqld | Server和framework连接mysql数据库的通讯端口 |
TCP | 40002 | ossim-ser | Alienvault-idm-identity身份认证进程 |
TCP | 40003 | ossim-fra | Alienvault框架的WebUI进程,由/etc/ossim/server/config.xml控制 |
TCP | 40004 | av-forwar | OSSIM服务器之间的Log传送端口(仅在USM中) |
TCP | 40005/40006 | machete/mixterd | Alienvault Smart Event Collection Service (仅在USM 中) |
TCP | 40007 | Server和sensor间的状态监视端口 | |
TCP | 40008 | Alienvault-idm-identity身份认证管理进程 | |
TCP | 40011 | alienvault-api | Api通讯端口,绑定IP为127.0.0.1 |
UDP | 514 | rsyslogd | Rsyslog,日志收集服务 |
TCP | 11211 | memcached | 缓存服务器端口 |
TCP | 4369 | rabbitmq | 消息服务器 |
TCP | 6379 | redis | 消息队列存储、加速 |
TCP | 3128 | squid | 反向代理 |
表2 OSSIM传感器端口分配表
协 议 | 端 口 | 进程 | 作 用 |
TCP | 22 | sshd | SSH远程安全连接 |
UDP | 555 | fprobe | 一个NetFlow探针 |
TCP | 9390 | openvasmd | Openvas管理客户端(进程名为openvassmd, Manager daemon of the Open Vulnerability Assessment System) |
TCP | 9391 | openvassd | Openvas漏洞扫描进程, The Scanner of the Open Vulnerability Assessment System。 |
TCP | 4949 | Munin-nod | Munin,传感器的监视服务器 |
TCP | 40007 | Server和Sensor状态监控,如果Sensor宕掉,将无法联系Server | |
UDP | 514 | syslogd | 为syslog协议通讯使用,作为日志收集服务 |
UDP | 1514 | ossec-agentd | OssecServer和Agent之间的通讯端口,作为代理管理服务通讯端口使用。 |
UDP | 1194 | 远程传感器通过×××连接Server的通讯端口 | |
UDP | 12000及以上端口 | 用于Netflow收集,在OSSIM系统中文件/etc/nfsen/nfsen.conf负责定义,分布式环境中多个Sensor启用了Netflow,则端口号依次为12000、12001、12002等,除此之外还有的系统用9995、9996通讯 |
上表中所指的USM表示OSSIM企业版中自带功能。对于分布式OSSIM系统的通讯端口我们简化为下图2所示。
图2
3.故障查找举例
掌握上述端口的作用,对于今后维护OSSIM非常有帮助,接下来我们看个实例,例如OSSIM Sever停止运行,如何找原因?当ossim server 停止运行,它也就不再40001端口监听,这样探针发回来的数据也就无法收集到,我们在哪儿查找问题呢?首先看看端口情况
#netstat -lnt |grep 4000
tcp 0 0 0.0.0.0 40003 0.0.0.0:* LISTEN
正常能看到40001、40002、4003、40007出现状况后只有40003在监听,下面我们就需查看日志了,首先在OSSIM 2.x、OSSIM 3.x系统可以到/var/log/ossim/server.log日志文件中查看信息,OSSIM 4.x版本需到/var/log/alienvault/server.log中查看。
另外我们了解这些端口及核心进程之后在我们使用tcpdump等抓包工具时才能有的放矢。