%20%E3%83%88%E3%83%A9%E3%83%95%E3%82%A3%E3%83%83%E3%82%AF%E3%82%92%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
VPSは多くのSSH攻撃を受けます。これらの攻撃は多岐にわたりますソースポート:
sshd[76661]: Invalid user ts3server from 76.103.161.19 port 33062
sshd[76661]: Received disconnect from 76.103.161.19 port 33062:11: Bye Bye [preauth]
sshd[76661]: Disconnected from invalid user ts3server 76.103.161.19 port 33062 [preauth]
sshguard[61313]: Attack from "76.103.161.19" on service SSH with danger 10.
sshguard[61313]: Blocking "76.103.161.19/24" for 86400 secs (1 attacks in 0 secs, after 1 abuses over 0 secs.)
sshd[76821]: Invalid user tibaldi from 140.143.206.216 port 33936
sshd[76821]: Received disconnect from 140.143.206.216 port 33936:11: Bye Bye [preauth]
sshd[76821]: Disconnected from invalid user tibaldi 140.143.206.216 port 33936 [preauth]
sshguard[61313]: Attack from "140.143.206.216" on service SSH with danger 10.
sshguard[61313]: Blocking "140.143.206.216/24" for 86400 secs (1 attacks in 0 secs, after 1 abuses over 0 secs.)
ご覧のとおり、私は現在、積極的にリアクティブ アプローチ (sshguard) を使用して、これらの攻撃をブロックして制限しています (また、パスワード ssh ログインは許可されていません)。ただし、攻撃が多すぎるため、ログがあふれてしまいます。ログから明らかなのは、これらの攻撃はすべて、番号の大きいランダムなポートから発生しているということです。私がやりたいのは、ファイアウォール レベルですべてのトラフィックをブロックして、ログが汚染されないようにすることです。
クライアントを制御し、使用するソース ポートを選択/定義できます。
したがって、事前に定義されたポート(または範囲)以外の送信元ポートからの(SSH)トラフィックをブロックするにはどうすればよいですか??
私はファイアウォール管理ソフトウェアとしてfirewalldを使用しているので、firewalldベースのソリューションを提供していただければ非常に助かります。ただし、他のソリューションも歓迎します。
答え1
一方、行き先SSH接続のポート番号は通常22ですが、ソースポートには(ほぼ)ルールがありません。つまり、からの接続140.143.206.216 port 33936
自体は疑わしいものではありません。
私はこの問題を知っているので (ピーク時には 10G サーバーで 1 秒あたり 100 万回を超える攻撃がありました)、これを使用することをお勧めしますfail2ban
- これは本当に機能します。
編集
話し合いの結果、あなたがクライアントを管理していることがわかりました。この場合、次のようなことをすればよいのです。
iptables -A INPUT -m tcp -p tcp --dport 22 '!' --sport 1000 -j DROP
(リモートポート1000の場合)でうまくいく