IDPS原理
1、IDS与IPS概述
网络安全的各类产品,都有软件和硬件的存在形式,可以使用纯硬件的解决方案,也可以使用纯软件的解决方案。
(1)IDS:Intrusion Dedection System (检测恶意攻击行为并进行预警)
第一类:基于交换机或服务器流量(NIDS,基于网络流量的IDS),关注通信流量,对加密流量存在检测难题
第二类:基于操作系统文件或日志(HIDS,基于主机的IDS),不关心网络通信,只关心行为与日志信息
(2)IPS:Intrusion Protection System(不仅检测攻击,并且可以防御)
第一类:基于网络流量的IPS(不能旁挂,必须串联,并且如果发现流量非法,则直接阻断流量)
第二类:基于Web服务器或各类应用服务器,比如Niginx或Apache,或PHP编程语言的WAF等
越靠前面的设备或系统,性能要求越高,通用性越强
越靠后的设备或系统,针对性越强,专注度越高,效率越高
2、开源产品
HIDS:OSSEC,https://www.ossec.net/,Wazuh:https://github.com/wazuh(Server+Agent),如果检测到攻击行为,则可以主动响应,比如通过DenyHost来阻止IP地址,通过防火墙运行Drop(运行批处理脚本来达到目的)。
NIDS:Snort,http://www.snort.org/,Suricata:https://suricata.io/,Zeek等(直接监听网络流量,通过规则来检测攻击行为),同时可以设置让所有流量经过NIDS,再调用iptables对流量进行Drop,进而让流量不到达目标服务器上。
难点:规则库的建立和编写(目前有很多规则库的积累,但是我们需要自己编写满足自己业务需要的规则库):黑名单
3、基于AI的IDPS
让AI学习大量的合法访问数据(白名单),如果发现一条流量或日志,与已经学习的特征库不匹配,则认为这是异常流量,则进行预警或防御
4、EDR
端点检测与响应(Endpoint Detection and Response,EDR),端点指:台式机、服务器、移动设备和嵌入式设备等。攻击者往往首先利用目标网络中的脆弱端点建立桥头堡,再通过进一步的漏洞利用来构筑长期驻留条件,最终迈向既定目标。EDR完全不同于以往的端点被动防护思路,而是通过云端威胁情报、机器学习、异常行为分析、攻击指示器等方式,主动发现来自外部或内部的安全威胁,并进行自动化的阻止、取证、补救和溯源,从而有效对端点进行防护
5、日志分析与流量分析
(1)两种方式:在线实时分析
(2)规则是核心:如何基于日志或流量的特征来识别和编写规则,是在线实时分析的重点所在
(3)安全和性能本质上无法兼得