問題
Brute Forceとは「力ずくで、強引に」という意味
/var/log/auth.log に大量に以下メッセージが
May 8 04:33:25 hostname sshd[12808]: Failed password for root from 222.186.34.235 port 3901 ssh2 May 8 04:33:27 hostname sshd[12808]: Failed password for root from 222.186.34.235 port 3901 ssh2 May 8 04:33:30 hostname sshd[12808]: Failed password for root from 222.186.34.235 port 3901 ssh2
対策
DenyHosts をインストールする
debian8 ではパッケージインストールできなかったためソースから対応する
だいぶバージョンが古いが、、これで様子をみてみる
ダメそうだったら、インストール後に気がついたパッケージインストールできるfail2banを利用する
root@hostname:/usr/local/src# wget -d http://downloads.sourceforge.net/project/denyhosts/denyhosts/2.6/DenyHosts-2.6.tar.gz ... root@hostname:/usr/local/src# tar xzvf DenyHosts-2.6.tar.gz root@hostname:/usr/local/src# cd DenyHosts-2.6 root@hostname:/usr/local/src/DenyHosts-2.6# python setup.py install ... root@hostname:/usr/local/src/DenyHosts-2.6# cd /usr/share/denyhosts/ root@hostname:/usr/share/denyhosts# cp daemon-control-dist daemon-control root@hostname:/usr/share/denyhosts# chown root daemon-control root@hostname:/usr/share/denyhosts# chmod 700 daemon-control root@hostname:/usr/share/denyhosts# cd /etc/init.d root@hostname:/etc/init.d# ln -s /usr/share/denyhosts/daemon-control denyhosts root@hostname:/etc/init.d# vi denyhosts === DENYHOSTS_BIN を "/usr/bin/denyhosts.py" から "/usr/local/bin/denyhosts.py" に変更する === root@hostname:/etc/init.d# touch /var/log/secure root@hostname:/etc/init.d# update-rc.d denyhosts defaults insserv: warning: script 'K01denyhosts' missing LSB tags and overrides insserv: warning: script 'denyhosts' missing LSB tags and overrides root@hostname:/etc/init.d# /etc/init.d/denyhosts start starting DenyHosts: /usr/bin/env python /usr/local/bin/denyhosts.py --daemon --config=/usr/share/denyhosts/denyhosts.cfg
参考
Preventing SSH Dictionary Attacks With DenyHosts
https://www.howtoforge.com/preventing_ssh_dictionary_attacks_with_denyhosts