- blogs:
- cles::blog

遅ればせながらbrutessh対策


sshにブルートフォースアタックが来ていることはずいぶん前からわかっていたんですが、最近はいろいろと変種が登場しているようで、ログイン名の辞書が日本語になっていたりするものもあります。そんなアタックのログを微笑ましく見ていたんですが、そんな変種の中にはログイン試行回数がやたらと多いものがあるようで、デイリーのレポートメールの容量が数メガになってしまうようになりました。
これはさすがに笑えなくなってきたので対策をすることにしました。
† まず、下調べ
ちょっとググるとたくさん情報が出てきます。まとめサイトとしてはこの2つが情報がまとまっていて見やすいです。
これらのサイトを参考に検討した結果、ログをスキャンする形式のものだと、かなり頻繁にログをスキャンしないといけなさそうなので、iptablesを使って短時間に一定以上の接続をしようとするとブロックすることにしました。
具体的なスクリプトは「(ひ)メモ - ipt_recent」を参考に多少カスタマイズ*1して使っています。
† sshdの設定
いろいろ調べていてsshって複数のポートをlistenできることを初めて知りました。
[ssh:00251] Re: FYI: SSHサーバーへの攻撃が増加傾向,侵入後はフィッシング・サイトに悪用も
sshd は複数のポートを同時に listen できるので、sshd_config に
Port 22
Port XXX
のように Port を 2個書きます。
ipt_recentを使う方法だと、プロトコルのステートを認識していないのでsshdの認証結果と関係なく(つまり、sshにちゃんとログインできた場合であっても)一定時間に一定回数以上ログインをするとサーバから接続拒否をされるようになってしまいます。
そのため、この設定を使って標準ポートでない方はipt_recentの制限をかけないように設定してみました。これでたくさんコンソールを開かなくてはならないような作業でも大丈夫ですね。しばらくこの設定で様子見をしようと思います。
- *1: 諸般の事情によりアクセス禁止にしているネットワークがあるので。
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/1202
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
- crontab -r とやってしまった... (2)
- Jawbone Companion (beta) (1)
- GPS ロガーを自作 (1)
- MPC-HC で連続再生を行う(解... (1)
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(112922)
3 . 年次の人間ドックへ(112351)
4 . 2023 年分の確定申告完了!(1つめ)(111919)
5 . 三菱鉛筆がラミーを買収(111794)