谈OSSIM服务器内存开销问题
2015-06-22 10:43
232 查看
谈OSSIM服务器内存开销问题
OSSIM经历十多年发展,目前已经成为最优秀的开源安全事件信息管理平台,它在我国的应用才刚刚起步。多年前,在国外考查时我意外发现了这款优秀的软件系统,并不断改进之后开始在国内开始推广应用OSSIM,在我撰写的《Unix/Linux网络日志与流量监控》一书中花费30%的笔墨,讲述了OSSIM部署及应用技巧。但初学者往往多这种系统的硬件要求之高并不理解,本文就谈谈到底OSSIM的哪些服务在消耗着内存。除操作系统本生以下子系统将消耗大量内存。(有关系统硬件选型问题大家可参考我的专著)
1).iptables链、表及规则都消耗有限的系统内存,而且规则加载越多消耗内存越大;
2).Snort模块,工作时既消耗CPU计算资源它的规则同时消耗大量内存,我们知道,利用Snort可以将SPAN过来的流量进行深度包检测,这是系统需要对数据包的内容进行识别,分析和分类,将采用基于字符串的多模式匹配算法和基于正则表达式的多模式匹配算法,这样以来大部分CPU的计算时间将被snort占用,与此同时snort还会连接数据库产生大量日志从而占用磁盘IO;
3)Squid,实现squid对本机的apache服务实现加速功能,我们可以在/etc/squid3/squid.conf配置文件的“Recommended
minimum configuration”推荐最小化配置一栏查找具体配置;
4)Memcache,当数据量大时,利用memcached可以缓存session数据、临时数据以减少对他们的数据库写操作,但它消耗内存也很大;
5) Redis、memcache,都是基于key/value存储,当插入的数据越多时消耗内存越大,当数据继续增加他们有可能会占用70% 的内存,消耗很大;
6)LAMP,除Linux系统本身的内存消耗外,还有Apache、Mysql、PHP及模块的内存消耗;
7)OSSEC,利用规则进行入侵检测分析时,消耗大量内存;
8)OpenVas在进行漏洞扫描时会加载漏洞库这样会消耗大量内存;
9)Ntop,在监控时,在读取流量到Ntop中,ntop将产生大量主机数量,这可能消耗大量服务器内存;如果利用"q”参数将ntop产生的可以包转储为文件在这一过程中,同样消耗内存;
10)Agent,在Sensor中包含上百个Agent插件这些都消耗着大量内存;
11)Alienvault框架运行同样消耗内存;
12)OSSIM中关联引擎的聚合模块,在处理复杂报警并对报警事件进行聚合处理时,会进行大量计算消耗内存以及CPU资源,特别是对于短时间多次连续攻击,扫描引擎的报警数目更多,基于网格的聚合方法,合并起来系统做关联分析任务量很大,所以会消耗大量系统资源。
最重要的三个指标:内存大小、CPU数量、磁盘I/O及网络I/O大小
16GB内存是基本配置就不足为奇,最好将服务器内存配置到32GB及以上。如果服务器内存小于8GB的环境中使用OSSIM,还不如现在就放弃 :-)
OSSIM经历十多年发展,目前已经成为最优秀的开源安全事件信息管理平台,它在我国的应用才刚刚起步。多年前,在国外考查时我意外发现了这款优秀的软件系统,并不断改进之后开始在国内开始推广应用OSSIM,在我撰写的《Unix/Linux网络日志与流量监控》一书中花费30%的笔墨,讲述了OSSIM部署及应用技巧。但初学者往往多这种系统的硬件要求之高并不理解,本文就谈谈到底OSSIM的哪些服务在消耗着内存。除操作系统本生以下子系统将消耗大量内存。(有关系统硬件选型问题大家可参考我的专著)
1).iptables链、表及规则都消耗有限的系统内存,而且规则加载越多消耗内存越大;
2).Snort模块,工作时既消耗CPU计算资源它的规则同时消耗大量内存,我们知道,利用Snort可以将SPAN过来的流量进行深度包检测,这是系统需要对数据包的内容进行识别,分析和分类,将采用基于字符串的多模式匹配算法和基于正则表达式的多模式匹配算法,这样以来大部分CPU的计算时间将被snort占用,与此同时snort还会连接数据库产生大量日志从而占用磁盘IO;
3)Squid,实现squid对本机的apache服务实现加速功能,我们可以在/etc/squid3/squid.conf配置文件的“Recommended
minimum configuration”推荐最小化配置一栏查找具体配置;
4)Memcache,当数据量大时,利用memcached可以缓存session数据、临时数据以减少对他们的数据库写操作,但它消耗内存也很大;
5) Redis、memcache,都是基于key/value存储,当插入的数据越多时消耗内存越大,当数据继续增加他们有可能会占用70% 的内存,消耗很大;
6)LAMP,除Linux系统本身的内存消耗外,还有Apache、Mysql、PHP及模块的内存消耗;
7)OSSEC,利用规则进行入侵检测分析时,消耗大量内存;
8)OpenVas在进行漏洞扫描时会加载漏洞库这样会消耗大量内存;
9)Ntop,在监控时,在读取流量到Ntop中,ntop将产生大量主机数量,这可能消耗大量服务器内存;如果利用"q”参数将ntop产生的可以包转储为文件在这一过程中,同样消耗内存;
10)Agent,在Sensor中包含上百个Agent插件这些都消耗着大量内存;
11)Alienvault框架运行同样消耗内存;
12)OSSIM中关联引擎的聚合模块,在处理复杂报警并对报警事件进行聚合处理时,会进行大量计算消耗内存以及CPU资源,特别是对于短时间多次连续攻击,扫描引擎的报警数目更多,基于网格的聚合方法,合并起来系统做关联分析任务量很大,所以会消耗大量系统资源。
最重要的三个指标:内存大小、CPU数量、磁盘I/O及网络I/O大小
16GB内存是基本配置就不足为奇,最好将服务器内存配置到32GB及以上。如果服务器内存小于8GB的环境中使用OSSIM,还不如现在就放弃 :-)
相关文章推荐
- android百度地图 SDK v3.5.0
- [数据结构]八数码(暴力,解答树,BFS+hash)
- cocos code ide android项目打包
- Threadf访问网络从网络中浏览图片
- Android系统框架学习总结
- strtoul函数的使用
- linux getrlimit sysconf
- 进程地址空间2
- jQuery初学者必看
- spark在eclipse上配置
- Python学习 之 匿名函数
- EMD 在无损检测中超声检测中的应用
- jquery 中ajax执行的优先级
- 体系结构复习4——线程级并行
- 一位IT牛人的诉说
- Eclipse用户使用IntelliJ IDEA的常见问答
- 认识recv()与send()
- Hive 数据倾斜总结
- 2015/5/31站立会议(补发)
- 用迭代法求 x=根号a。求平方根的迭代公式为:X(n+1)=(Xn+a/Xn) /2。