매우 간단한 Linux 데몬을 위한 가장 강력한 솔루션은 무엇입니까? 특정 포트만 수신하고 연결될 때마다 즉시 이메일 알림을 보내나요?
나는 건물을 짓고 있어요낮은 상호작용 허니팟내 프로덕션 네트워크에서요. 대부분의 오픈 소스 "허니팟" 솔루션은 필요한 것보다 훨씬 더 복잡하다는 것을 알았습니다.
나는 단지 "귀중한" 포트(예: , , , 22
등)를 수신하고 무엇인가 연결되면 나에게 이메일 경고를 보내는 간단한 데몬을 원합니다.139
3389
5900
유효한 해결책은 부팅 시 시작될 서비스를 데몬화할 수 있는 한 기존 오픈 소스 프로젝트를 사용하거나 간단한 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>
포트 22에 TCP 연결이 이루어질 때마다 기록하는 iptables 규칙을 만듭니다. 그리고 그것을 지속하십시오.
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를 통해 서버에 연결할 때마다 이메일 알림을 받게 됩니다.