Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用snort/suricata,我希望为每次登录家庭网络失败生成SSH警报_Ssh_Alert_Rules_Snort_Suricata - Fatal编程技术网

使用snort/suricata,我希望为每次登录家庭网络失败生成SSH警报

使用snort/suricata,我希望为每次登录家庭网络失败生成SSH警报,ssh,alert,rules,snort,suricata,Ssh,Alert,Rules,Snort,Suricata,我正在使用Suricata建立入侵检测系统(IDS)。我想编写一个自定义规则,每当我的虚拟机尝试登录失败时,该规则将生成一个警报 例如: 警告tcp any->$HOME\u NET 22(消息:“SSH暴力尝试”;流:已建立,到\u服务器;内容:“SSH”;nocase;偏移量:0;深度:4;检测\u筛选器:跟踪由\u src,计数2,秒2;sid:2005;版本:1;) 我尝试了SSH规则的各种组合,但在Suricata alerts部分中无法看到任何警报,其中包含多个错误的SSH尝试。(错

我正在使用Suricata建立入侵检测系统(IDS)。我想编写一个自定义规则,每当我的虚拟机尝试登录失败时,该规则将生成一个警报

例如:

警告tcp any->$HOME\u NET 22(消息:“SSH暴力尝试”;流:已建立,到\u服务器;内容:“SSH”;nocase;偏移量:0;深度:4;检测\u筛选器:跟踪由\u src,计数2,秒2;sid:2005;版本:1;)

我尝试了SSH规则的各种组合,但在Suricata alerts部分中无法看到任何警报,其中包含多个错误的SSH尝试。(错误尝试=>使用无效密码生成警报)


请让我知道如何进行此操作。

因为您确实在尝试查看加密内容(身份验证和后续失败消息将在其中),所以Snort/suricata不是您描述的理想工具。相反,日志监视将是一种更好的方法

然而,还有其他选择。您可以研究IPTables级别的自动阻塞

如果您真的想使用Snort/Suricata,可以使用警报阈值。例如:

 alert tcp $EXTERNAL_NET any -> $HOME_NET 22 (msg:"Possible SSH brute forcing!"; flags: S+; threshold: type both, track by_src, count 5, seconds 30; sid:10000001; rev: 1;)
这会告诉Snort/Suricata在30秒内从单个源看到5个连接的阈值时,会生成关于入站连接(设置了SYN的入站数据包)的警报。阈值“两者”表示在超过此阈值之前,它不会发出警报,并且它将只生成一个警报来通知您,而不是开始用警报淹没您


请注意,我已将
标志标记为
S+
。不要只使用SYN。请记住,ECN已经成为一个真正的“东西”,您可能会发现Snort/Suricata仍然调用“Reserved”的两个位是通过ECN协商设置的。

我使用了您的规则,为了测试它,我尝试了一组ssh本地ip,但它不起作用,我的sshd禁用了密码身份验证,所以我只收到了通常的“权限被拒绝”(publickey)消息。我将“外部/内部”更改为“任何”。我得到了这个错误:
rule 1000001:SYN-only-to-port 22:22 w/o-direction-specified,禁用toclient-direction
知道为什么吗?