如何监听已建立的连接并发出警报(低交互蜜罐)

如何监听已建立的连接并发出警报(低交互蜜罐)

对于一个超级简单的 Linux 守护进程来说,最强大的解决方案是什么?它只监听某些端口,并且每次建立连接时,它都会立即向我发送电子邮件警报?

我正在建造一个低交互蜜罐在我的生产网络中。我发现大多数开源“蜜罐”解决方案都比我需要的复杂得多。

我只想要一个简单的守护进程来监听一些“有价值的”端口(例如,,,,22等),并在有任何连接到它时向我发送电子邮件警报。13933895900

有效的解决方案可以是使用现有的开源项目,或者只是一个简单的 bash/perl/python 脚本——只要它可以守护进程为将在启动时启动的服务。

答案1

wazuh您可以使用HIDS(基于主机的入侵检测系统)和一些防火墙规则进行配置。

第一的,安装wazuh

并将其配置为通过更新发送电子邮件警报/var/ossec/etc/rules/local_rules.xml

<email_notification>yes</email_notification>

然后,编辑 wazuh 本地规则文件,将其添加到默认组中

  <rule id="100001" level="7">
    <if_sid>4100</if_sid>
    <description>Attempt to connect to honeypot</description>
  </rule>

上述规则与防火墙规则(4100在 中定义的规则 ID /var/ossec/ruleset/rules/0060-firewall_rules.xml)相匹配,并在防火墙规则吐出日志时发出警报。您可以进一步完善它,但对于您的产品内联网中的低交互蜜罐,该蜜罐不能公开访问或由您的员工使用,这应该没问题。

您可能还需要更新解码器来解析该条目。将其添加到/var/ossec/etc/decoders/local_decoder.xml

<decoder name="iptables-3">
   <parent>kernel</parent>
   <type>firewall</type>
   <prematch>^[\s*\d+.\d+] IN=</prematch>

   <regex>^[\s*\d+.\d+] \.+ SRC=(\S+) DST=(\S+)</regex>
   <order>id,srcip,dstip,protocol</order>
</decoder>

<decoder name="iptables-3">
   <parent>kernel</parent>
   <type>firewall</type>
   <regex offset="after_regex">^SPT=(\d+) DPT=(\d+) </regex>
   <order>srcport,dstport</order>
</decoder>

创建一个 iptables 规则,每次与端口 22 建立 TCP 连接时都进行记录。并持久化它。

iptables -A INPUT -p tcp --syn -m state --state NEW --dport 22 -j LOG
apt-get install iptables-persistent

每次有人尝试通过 ssh 连接到您的服务器时,这都会在内核日志中记录一个条目。您可以对其他常用端口重复此操作,例如 RDP、域控制器、数据库等的常用端口。

并重新启动wazuh

systemctl status wazuh-manager

现在,只要有人通过端口 22 连接到服务器,您就会收到电子邮件警报。

相关内容