포트 445에 연결되면 쉘 스크립트 실행

포트 445에 연결되면 쉘 스크립트 실행

내 컴퓨터에는 현재 인터넷에 포트 445가 열려 있습니다. 이 포트가 얼마나 자주 스캔되는지 보고 있는데, 누군가 이 포트에 연결할 때마다 쉘 스크립트를 실행하여 이를 수행할 계획입니다. IPtables를 사용하여 이 작업을 어떻게 수행할 수 있나요? 저는 데비안 10을 사용하고 있습니다.

답변1

문제에 대한 해결책은 오래되었지만 iptables는 포함되지 않습니다. 그것은 알려져있다인트라넷슈퍼 서버. /etc/inetd.conf 구성을 통해 수신 대기할 포트와 프로토콜(/etc/services에 정의된 "서비스")과 연결 시 실행할 프로그램을 정의할 수 있습니다. 이것이 로깅 스크립트일 수 있습니다.

서비스는 다음과 같습니다

microsoft-ds    445/tcp                         # Microsoft Naked CIFS

답변2

IPtables에서는 프로그램이나 스크립트를 시작할 수 없지만 IPtables의 포트에 도착하는 트래픽을 기록할 수 있습니다.

udp 또는 tcp 포트 445에 무언가가 도착할 때마다 로그 접두어 및 연결에 대한 세부 정보(타임스탬프, 소스 포트, 소스 IP 등)와 함께 시스템 로그(Debian의 경우 /var/log/syslog)에 항목이 기록됩니다.

iptables -I INPUT -p tcp --dport 445 -j LOG --log-prefix "PORT 445 connnection!!"
iptables -I INPUT -p udp --dport 445 -j LOG --log-prefix "PORT 445 connnection!!"

포트 445에서 문제가 발생할 때 스크립트를 시작하려면 inetd를 사용해야 합니다. 또는 Debian 10에서는 포트 445에서 문제가 발생할 때 systemd 소켓을 사용하여 서비스를 통해 스크립트를 시작할 수도 있습니다.

필요에 따라 포트 445에 대한 연결만 기록하고 일정 일정에 따라 스크립트를 실행하여 로그 항목을 계산하거나 추출하는 것이 더 나을 수 있습니다.

관련 정보