SSHの辞書攻撃対策

今日外からSSHトンネルが使えるかどうかを試すため、22番ポートを開けてみたら、さっそく /var/log/auth.log にいろんなユーザ名でアクセスを試みた形跡がたくさん。基本的に鍵方式のみでパスワードでのログインは認めていないからどーってことないとは思うのだが、ログが無駄に増えるのはちと困る。

ということで、調べて見たところ、maxloginsというperlスクリプトを使うのがいいらしいということが分かった。これは、繰り替えしsshにアクセスしようとするIPをブラックリストとして /var/log/maxlogins に書き込むというスクリプトで、 /etc/hosts.allow/var/log/maxlogins に記載のIPを拒否させることによって、SSHへのアタックを防止する、というもののようだ。

てことで導入してみる。ドキュメント通りに、 /usr/local/bin にコピーしたmaxlogins.plに対して、

# chown root:wheel /usr/local/bin/maxlogins.pl
# chmod 750 /usr/local/bin/maxlogins.pl

を実行し、ついで /etc/syslog.conf

auth.info;authpriv.info        /var/log/auth.log

という行の下に

auth.info;authpriv.info        |exec /usr/local/bin/maxlogins.pl

を追加。最後に、 /etc/hosts.allowALL : ALL : allow という行の前に、

sshd : /var/log/maxlogins : deny

を追加する。なお、ログを見ていると、 Did not receive identification string from xxx.xxx.xxx.xxx というメッセージが辞書攻撃の前に出力されている。ぐぐってみたところ、「学生と職員の狭間に[archive]」という日記サイトを発見。そこのサイトによれば、このメッセージはポートスキャンの痕跡とのこと。そこで、このメッセージに書いてあるIPを問答無用で拒否すべく、同サイト[archive]にあるmaxloginsのパッチを適用した。

コメント(0)


Blog category: Ultima | Adventure games | BSD and Linux | FM TOWNS and Japanese home computers | Computers | Bottle | 広島新球場 | 日本プロ野球 | 広島市民球場跡地とサッカースタジアム | その他スポーツ | Other topics
2002 08 09 10 11 12
2003 01 02 03
2004 01 02 03 04 06 08 09 10 11 12
2005 01 02 03 04 05 06 07 08 09 10 11 12
2006 01 02 03 04 05 06 07 08 09 10 11 12
2007 01 02 03 04 05 06 07 08 09 10 11 12
2008 01 02 03 04 05 06 07 08 09 10 11 12
2009 01 02 04 05 06 07 09 10
2010 01 03 04 05 08 11
2011 01 02 03 04 07 11 12
2012 01 02 03 09 10 11
2013 01 02 03 05 06 07 08 09 10 11 12
2014 01 02 03 04 05 06 07 10 11 12
2015 01 02 03 04 05 07 08 11 12
2016 03 04 05 07 08 09 10 11
2017 06
2018 11 12
2019 01 04 10
2020 05 06 07
2021 01

Note

本サイトのハイパーリンクの一部は、オリジナルのサイトが閉鎖してしまったため"Internet archive Wayback Machine"へのリンクとなっています。そのようなリンクにはアイコン[archive]を付与しています。

本サイトはCookieを使用しています。本サイトにおけるCookieは以下の三種類のみであり、Cookieの内容に基づいてサイトの表示を変更する以外の用途には用いておりません。