Denyhostsを使ってサーバーを防御してSSHに暴力的に攻撃されます


DenyHostsはPython言語で書かれたプログラムで、sshdのログインログファイル(/var/log/secure)を分析することができ、重複した攻撃を発見すると/etc/hosts.denyファイルにIPを記録し、自動スクリーンIPがSSHパスワードの暴力的な解読を阻止する機能を達成する.
本環境はcentos 6.8 final
インストール
# yum -y install denyhosts
# chkconfig --level 35 denyhosts on

コンフィギュレーション
# vi /etc/denyhosts.conf

############ THESE SETTINGS ARE REQUIRED ############
SECURE_LOG = /var/log/secure
HOSTS_DENY = /etc/hosts.deny
PURGE_DENY = 1w #           ,  w   ,d   ,h    ,s   ,m    
BLOCK_SERVICE  = sshd
DENY_THRESHOLD_INVALID = 3 #           
DENY_THRESHOLD_VALID = 10 #             
DENY_THRESHOLD_ROOT = 5 #  root       
DENY_THRESHOLD_RESTRICTED = 1
SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES
HOSTNAME_LOOKUP=YES
LOCK_FILE = /var/lock/subsys/denyhosts

サービスの開始
# service denyhosts start

縛りを解く
1).特定のIPアドレスをロック解除する
# vi /etc/hosts.allow
       IP  
sshd: 212.237.2.160

2).すべてのIPアドレスをロック解除する
1つ目の方法:denyhostsサービスを停止denyhostsサービスを停止すると、すべてのIPアドレスがロック解除されます.denyhostsを再起動すると、これらの異常アドレスの発生時間が禁止時間内である場合、denyhostsはこれらのIPアドレスを再禁止します.2つ目の方法:ログのスクロール
# logrotate -f /etc/logrotate.conf

/var/log/secureがクリーンアップされているかどうかを確認します.クリーンアップされていない場合は、手動でクリーンアップ/etc/hosts.denyファイルをクリーンアップしてdenyhostsを再起動します.
#/etc/init.d/denyhosts restart