Denyhostsを使ってサーバーを防御してSSHに暴力的に攻撃されます
DenyHostsはPython言語で書かれたプログラムで、sshdのログインログファイル(/var/log/secure)を分析することができ、重複した攻撃を発見すると/etc/hosts.denyファイルにIPを記録し、自動スクリーンIPがSSHパスワードの暴力的な解読を阻止する機能を達成する.
本環境はcentos 6.8 final
インストール
コンフィギュレーション
サービスの開始
縛りを解く
1).特定のIPアドレスをロック解除する
2).すべてのIPアドレスをロック解除する
1つ目の方法:denyhostsサービスを停止denyhostsサービスを停止すると、すべてのIPアドレスがロック解除されます.denyhostsを再起動すると、これらの異常アドレスの発生時間が禁止時間内である場合、denyhostsはこれらのIPアドレスを再禁止します.2つ目の方法:ログのスクロール
/var/log/secureがクリーンアップされているかどうかを確認します.クリーンアップされていない場合は、手動でクリーンアップ/etc/hosts.denyファイルをクリーンアップしてdenyhostsを再起動します.
本環境は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