私のコンピュータは現在、インターネットにポート445を開いています。このポートがどのくらいの頻度でスキャンされるかを見ています。誰かがこのポートに接続するたびにシェルスクリプトを実行してこれを行う予定です。 IPtablesを使用してこれをどのように実行できますか?私はDebian 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への接続のみを記録し、スケジュールスケジュールに従ってスクリプトを実行してログエントリを計算または抽出する方が良い場合があります。