トーク:DenyHosts で ssh ブルートフォースアタック対策
提供:maruko2 Note.
|
- CentOS 6 epel で配布されている denyhosts はバージョンが古いままで、アクセスの検出が不十分。( Fedora EPEL でのパッケージ開発状況 https://admin.fedoraproject.org/pkgdb/package/denyhosts/ )
- 最新版の denyhosts であれば検出部分が改良されているので、最新版をソースコードからインストールする。
- 起動スクリプトなどは rpm パッケージのファイルを移植(流用)する。
rpm パッケージをインストールし、起動スクリプトなどをコピー後、パッケージをアンインストールする。
流用するファイル(移植用にコピーしておく。)
/etc/cron.d/denyhosts /etc/denyhosts.conf /etc/logrotate.d/denyhosts /etc/rc.d/init.d/denyhosts /etc/sysconfig/denyhosts
denyhosts を停止し、アンインストールする。
/etc/init.d/denyhosts stop yum remove denyhosts
ソースコードのダウンロードとインストール
git clone https://github.com/denyhosts/denyhosts.git cd denyhosts/ python setup.py install
流用するファイル(コピーしておいたファイルを作成する。)
/etc/cron.d/denyhosts /etc/denyhosts.conf /etc/logrotate.d/denyhosts /etc/rc.d/init.d/denyhosts /etc/sysconfig/denyhosts
起動スクリプトを有効にする。
chmod a+x /etc/init.d/denyhosts chkconfig --add denyhosts chkconfig denyhosts on
denyhosts.conf の例
############ THESE SETTINGS ARE REQUIRED ############ SECURE_LOG = /var/log/secure HOSTS_DENY = /etc/hosts.deny PURGE_DENY = 4w BLOCK_SERVICE = sshd DENY_THRESHOLD_INVALID = 5 DENY_THRESHOLD_VALID = 10 DENY_THRESHOLD_ROOT = 1 DENY_THRESHOLD_RESTRICTED = 1 WORK_DIR = /var/lib/denyhosts SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS = YES HOSTNAME_LOOKUP = YES LOCK_FILE = /var/lock/subsys/denyhosts ############ THESE SETTINGS ARE OPTIONAL ############ ADMIN_EMAIL = root SMTP_HOST = localhost SMTP_PORT = 25 SMTP_FROM = DenyHosts <denyhosts@example.com> SMTP_SUBJECT = DenyHosts Report from $[HOSTNAME] AGE_RESET_VALID = 5d AGE_RESET_ROOT = 25d AGE_RESET_RESTRICTED = 25d AGE_RESET_INVALID = 10d ######### THESE SETTINGS ARE SPECIFIC TO DAEMON MODE ########## DAEMON_LOG = /var/log/denyhosts DAEMON_SLEEP = 30s DAEMON_PURGE = 1h ######### THESE SETTINGS ARE SPECIFIC TO ########## ######### DAEMON SYNCHRONIZATION ########## SYNC_SERVER = http://xmlrpc.denyhosts.net:9911 SYNC_INTERVAL = 1h SYNC_UPLOAD = yes SYNC_DOWNLOAD_THRESHOLD = 2