公司网站域名怎么注册,网站查询信息,wordpress 上传错误,怎样做网址有自己的模板一、监控ICMP流量
1、ICMP流量特征 四大特征分别为#xff1a;消息类型#xff08;Type#xff09;、代码#xff08;Code#xff09;、校验和#xff08;Checksum#xff09;、数据字段#xff08;Data Field#xff09;。这里我们使用 type消息类型。 ICMP 消息的类…一、监控ICMP流量
1、ICMP流量特征 四大特征分别为消息类型Type、代码Code、校验和Checksum、数据字段Data Field。这里我们使用 type消息类型。 ICMP 消息的类型字段标识了消息的类型。常见的类型包括回显请求Echo Request类型 8回显应答Echo Reply类型 0目的不可达Destination Unreachable类型 3超时Time Exceeded类型 11等。 而 ping 命令就是利用 ICMP 回显请求和回显应答来检查网络连接的连通性。
2、获取ICMP流量
通过ping的方式来获取该流量 ping ip ping了四次 锁定特征 构造规则 在suricata中与Type* 8对应的是itype: 8因此无需再写prce或content alert icmp $EXTERNAL_NET any $HOME_NET any (msg:icmp流量检测; itype:8;threshold: type threshold,track by_src,count 10,seconds 20;sid:561011;) threshold:用于设定和定义基于特定条件的阈值规则。 type threshold设定规则为阈值类型还可以是type rate等限制速率防止DDOS攻击。 track by_src根据源 IP 地址来跟踪请求。 count 10,seconds 2020秒内发生10次. 意思是在20秒内连续ping10次就触发警告。 添加测试 添加 测试 成功 二、监控TCP流量
1、预警TCP连接过高全连接 所谓的全连接简单来说就是建立TCP连接的过程确保双方都准备好进行通信。攻击者通过构建大量的全连接使服务器崩溃。 规则构建 flow:established,to_server这是关键字 flow:to_client, established匹配从服务器到客户端的已建立连接的数据包。 flow:to_server, established, only_stream匹配从客户端到服务器的已建立连接的数据包并且这些数据包属于单一的数据流。 flow:to_server, not_established, no_frag匹配从客户端到服务器的数据包但这些数据包不属于已建立的连接并且不允许是分片的。 alert tcp $EXTERNAL_NET any $HOME_NET any (msg:tcp连接过高请及时检测(全); flow:established,to_server;threshold: type threshold,track by_src,count 20,seconds 10;sid:561013;) 写入规则与测试 写入 测试 在kali中使用如下命令安装wrk apt install wrk 全连接攻击 wrk -c 300 -t 4 -d 600 http://192.168.248.134/pikachu -c, 跟主机保持连接数量 -d, 测试持续时间 -t, 开启线程数 成功 三、监控SSH流量
1、抓取登录失败流量 分析 ssh登录时客户端和服务端会交换密钥然后产生新的密钥New Keysssh在爆破时会产生很多次New Keys这就是ssh爆破的一个特征。 其中每个New Keys的最后都是如下图这样 框住的是16进制。
2、构建规则 根据上述的特征先构建正则表达式匹配New Keys中的最后的内容 prce:|15 00 00 00 00 00 00 00 00 00 00| 构建整个规则 alert ssh any any $HOME_NET 22 (msg:SSH爆破; content: |15 00 00 00 00 00 00 00 00 00 00|; threshold: type threshold, track by_src, count 2, seconds 20; sid:5622002;) 四、MySql预警
1、登录失败预警
1保证系统的mysql可以远程连接
这里我使用的是xampp中的自带的mysql初始时是没有密码的
修改成如下如这样就可以远程连接了 测试远程连接 远程连接成功。
2抓取流量 查看wireshark抓取的流量信息
成功时
既然成功了也没必要提醒了。 失败时 查看失败流量 3编写规则
锁定关键点: Error message: Access denied for user root192.168.164.1 (using password: YES) 中的 Access denied for user 编写规则 首先要在/etc/suricata/suricata.yaml添加一个MySql端口3306的变量 vi etc/suricata/suricata.yaml 我这里没有设置直接填写为3306 Suricata默认并没有提供对MySQL的应用层协议的支持所以只能使用TCP协议。 规则 alert tcp any any any 3306 (msg:MySQL登录失败; content:Access denied for user; nocase; sid:5620001;) 4添加规则并测试 添加 测试 成功 2、Mysql爆破预警 1、编写规则
在登录失败的基础上加上阈值来构建MySql爆破的监控规则 alert tcp any any any 3306 (msg:MySQL爆破攻击; content:Access denied for user; nocase; threshold: type threshold, track by_src, count 5, seconds 10; sid:5620002;) 2、添加规则并测试 添加 测试 成功 3、MySql木马写入
1、锁定语句 select ?php eval($_POST[code]); ? into outfile /opt/shell.php; 2、构建规则 alert tcp any any any 3306 (msg:MySQL木马写入; content:into outfile; nocase; pcre: /eval|assert|system|_POST|_GET/i; sid:5620004;) 3、添加规则与测试 测试