DenyHosts自動同期モードをオンにする最も簡単な方法
まずはバックアップですの。
cp -a /etc/denyhosts.conf /etc/denyhosts.conf.131212
設定ファイルの編集をいたしますわ。
vim /etc/denyhosts.conf
次のコメント 1 ヵ所を外すだけですわ。そして SYNC_SERVER に http://xmlrpc.denyhosts.net:9911 を指定いたしますの♪
SYNC_SERVER = http://xmlrpc.denyhosts.net:9911
これによってシンクロナイゼーション・モードが有効となり、次回起動時から働き始めるとのことですの。
再起動はこちらのコマンド♪
/etc/init.d/denyhosts restart
起動されたことが、次の出力でわかります。
[root@oki2a24 ~]# /etc/init.d/denyhosts restart sent DenyHosts SIGTERM starting DenyHosts: /usr/bin/env python /usr/bin/denyhosts.py --daemon --config=/etc/denyhosts.conf [root@oki2a24 ~]#
DentHosts シンクモードが有効になったかどうかを確認する方法
DentHosts ログで確認することができますの♪有効になったかどうかは「SYNC_SERVER: [http://xmlrpc.denyhosts.net:9911]」と、同期サーバに denyhosts サーバが指定されていることで判断できますわ。
ちなみに、逆にこの設定がログになければシンクモードは無効ですの。これは公式 FAQ の情報ですわ。
また、他の「SYNC_」で始まるパラメータを見ますと、初期値がなにであるかが、分かりますの。
さらに、最後の「sync_time」「sync_sleep_ratio」に同期間隔や割合が実際に示されていることから、動き出したことを感じます。
- sync_time : 同期間隔(秒)
- sync_sleep_ratio : sync_time / daemon_sleep の値。daemon_sleep は denyhosts がログを確認するまで待機している時間。インターバル。
[root@oki2a24 ~]# tail -100f /var/log/denyhosts …略… 2013-12-12 20:46:54,981 - denyfileutil: INFO purging entries older than: Thu Nov 14 20:46:54 2013 2013-12-12 20:46:54,982 - denyfileutil: INFO num entries purged: 0 2013-12-12 20:50:07,627 - denyhosts : INFO DenyHosts daemon is shutting down 2013-12-12 20:50:08,731 - denyhosts : INFO DenyHosts launched with the following args: 2013-12-12 20:50:08,731 - denyhosts : INFO /usr/bin/denyhosts.py --daemon --config=/etc/denyhosts.conf 2013-12-12 20:50:08,731 - prefs : INFO DenyHosts configuration settings: 2013-12-12 20:50:08,731 - prefs : INFO ADMIN_EMAIL: [root] 2013-12-12 20:50:08,731 - prefs : INFO AGE_RESET_INVALID: [864000] 2013-12-12 20:50:08,732 - prefs : INFO AGE_RESET_RESTRICTED: [2160000] 2013-12-12 20:50:08,732 - prefs : INFO AGE_RESET_ROOT: [2160000] 2013-12-12 20:50:08,732 - prefs : INFO AGE_RESET_VALID: [432000] 2013-12-12 20:50:08,732 - prefs : INFO ALLOWED_HOSTS_HOSTNAME_LOOKUP: [no] 2013-12-12 20:50:08,732 - prefs : INFO BLOCK_SERVICE: [sshd] 2013-12-12 20:50:08,732 - prefs : INFO DAEMON_LOG: [/var/log/denyhosts] 2013-12-12 20:50:08,733 - prefs : INFO DAEMON_LOG_MESSAGE_FORMAT: [%(asctime)s - %(name)-12s: %(levelname)-8s %(message)s] 2013-12-12 20:50:08,733 - prefs : INFO DAEMON_LOG_TIME_FORMAT: [None] 2013-12-12 20:50:08,733 - prefs : INFO DAEMON_PURGE: [3600] 2013-12-12 20:50:08,733 - prefs : INFO DAEMON_SLEEP: [30] 2013-12-12 20:50:08,733 - prefs : INFO DENY_THRESHOLD_INVALID: [5] 2013-12-12 20:50:08,733 - prefs : INFO DENY_THRESHOLD_RESTRICTED: [1] 2013-12-12 20:50:08,733 - prefs : INFO DENY_THRESHOLD_ROOT: [1] 2013-12-12 20:50:08,734 - prefs : INFO DENY_THRESHOLD_VALID: [10] 2013-12-12 20:50:08,734 - prefs : INFO FAILED_ENTRY_REGEX: [None] 2013-12-12 20:50:08,734 - prefs : INFO FAILED_ENTRY_REGEX2: [None] 2013-12-12 20:50:08,734 - prefs : INFO FAILED_ENTRY_REGEX3: [None] 2013-12-12 20:50:08,734 - prefs : INFO FAILED_ENTRY_REGEX4: [None] 2013-12-12 20:50:08,734 - prefs : INFO FAILED_ENTRY_REGEX5: [None] 2013-12-12 20:50:08,735 - prefs : INFO FAILED_ENTRY_REGEX6: [None] 2013-12-12 20:50:08,735 - prefs : INFO FAILED_ENTRY_REGEX7: [None] 2013-12-12 20:50:08,735 - prefs : INFO HOSTNAME_LOOKUP: [YES] 2013-12-12 20:50:08,735 - prefs : INFO HOSTS_DENY: [/etc/hosts.deny] 2013-12-12 20:50:08,735 - prefs : INFO LOCK_FILE: [/var/lock/subsys/denyhosts] 2013-12-12 20:50:08,735 - prefs : INFO PLUGIN_DENY: [None] 2013-12-12 20:50:08,735 - prefs : INFO PLUGIN_PURGE: [None] 2013-12-12 20:50:08,736 - prefs : INFO PURGE_DENY: [2419200] 2013-12-12 20:50:08,736 - prefs : INFO PURGE_THRESHOLD: [0] 2013-12-12 20:50:08,736 - prefs : INFO RESET_ON_SUCCESS: [yes] 2013-12-12 20:50:08,736 - prefs : INFO SECURE_LOG: [/var/log/secure] 2013-12-12 20:50:08,736 - prefs : INFO SMTP_DATE_FORMAT: [%a, %d %b %Y %H:%M:%S %z] 2013-12-12 20:50:08,736 - prefs : INFO SMTP_FROM: [DenyHosts <nobody@localhost>] 2013-12-12 20:50:08,737 - prefs : INFO SMTP_HOST: [localhost] 2013-12-12 20:50:08,737 - prefs : INFO SMTP_PASSWORD: [None] 2013-12-12 20:50:08,737 - prefs : INFO SMTP_PORT: [25] 2013-12-12 20:50:08,737 - prefs : INFO SMTP_SUBJECT: [DenyHosts Report from oki2a24.com] 2013-12-12 20:50:08,737 - prefs : INFO SMTP_USERNAME: [None] 2013-12-12 20:50:08,737 - prefs : INFO SSHD_FORMAT_REGEX: [None] 2013-12-12 20:50:08,737 - prefs : INFO SUCCESSFUL_ENTRY_REGEX: [None] 2013-12-12 20:50:08,738 - prefs : INFO SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS: [YES] 2013-12-12 20:50:08,738 - prefs : INFO SYNC_DOWNLOAD: [yes] 2013-12-12 20:50:08,738 - prefs : INFO SYNC_DOWNLOAD_RESILIENCY: [18000] 2013-12-12 20:50:08,738 - prefs : INFO SYNC_DOWNLOAD_THRESHOLD: [3] 2013-12-12 20:50:08,738 - prefs : INFO SYNC_INTERVAL: [3600] 2013-12-12 20:50:08,738 - prefs : INFO SYNC_SERVER: [http://xmlrpc.denyhosts.net:9911] 2013-12-12 20:50:08,739 - prefs : INFO SYNC_UPLOAD: [yes] 2013-12-12 20:50:08,739 - prefs : INFO SYSLOG_REPORT: [no] 2013-12-12 20:50:08,739 - prefs : INFO WORK_DIR: [/var/lib/denyhosts] 2013-12-12 20:50:08,772 - denyhosts : INFO restricted: set([]) 2013-12-12 20:50:08,784 - denyhosts : INFO launching DenyHosts daemon (version 2.6)... 2013-12-12 20:50:08,789 - denyhosts : INFO DenyHosts daemon is now running, pid: 56554 2013-12-12 20:50:08,790 - denyhosts : INFO send daemon process a TERM signal to terminate cleanly 2013-12-12 20:50:08,790 - denyhosts : INFO eg. kill -TERM 56554 2013-12-12 20:50:08,797 - denyhosts : INFO monitoring log: /var/log/secure 2013-12-12 20:50:08,798 - denyhosts : INFO sync_time: 3600 2013-12-12 20:50:08,798 - denyhosts : INFO daemon_purge: 3600 2013-12-12 20:50:08,798 - denyhosts : INFO daemon_sleep: 30 2013-12-12 20:50:08,798 - denyhosts : INFO purge_sleep_ratio: 120 2013-12-12 20:50:08,798 - denyhosts : INFO sync_time: : 3600 2013-12-12 20:50:08,799 - denyhosts : INFO sync_sleep_ratio: 120
シンクロナイゼーションしているかどうか、引き続きログで確認いたしますと・・・
起動してから1時間後、、、あらら><。なんだかエラーですの><。大丈夫かしら。
2013-12-12 20:50:08,799 - denyhosts : INFO sync_sleep_ratio: 120 2013-12-12 21:50:11,404 - denyfileutil: INFO purging entries older than: Thu Nov 14 21:50:11 2013 2013-12-12 21:50:11,405 - denyfileutil: INFO num entries purged: 0 2013-12-12 21:50:11,409 - sync : ERROR [Errno 2] No such file or directory: '/var/lib/denyhosts/sync-timestamp' 2013-12-12 21:50:12,296 - sync : INFO received 0 new hosts
問題のファイル「/var/lib/denyhosts/sync-timestamp」を調べてみますの。
[root@oki2a24 ~]# ll /var/lib/denyhosts/sync-timestamp -rw-rw-rw- 1 root root 10 Dec 12 21:50 /var/lib/denyhosts/sync-timestamp [root@oki2a24 ~]#
まあ、いらっしゃいますわね。。。中身も見てみようかしら。
[root@oki2a24 ~]# cat /var/lib/denyhosts/sync-timestamp 1386852612[root@oki2a24 ~]#
何やら書き込まれています。ということは、初回で今までファイルが存在しなかったため、エラーとなり、ファイルを作成した、ということでしょうか。
では次の sync_time まで待ってみまして、ログを確認いたします。おお!拒否 IP アドレスを 50 受信していますわね♪
2013-12-12 21:50:12,296 - sync : INFO received 0 new hosts 2013-12-12 22:50:12,740 - denyfileutil: INFO purging entries older than: Thu Nov 14 22:50:12 2013 2013-12-12 22:50:12,741 - denyfileutil: INFO num entries purged: 0 2013-12-12 22:50:14,101 - sync : INFO received 50 new hosts 2013-12-12 22:50:14,102 - denyhosts : INFO received new hosts: ['50.198.181.67', '93.174.138.231', '46.46.148.99', '178.210.40.150', '71.9.152.134', '212.83.144.128', '122.4.79.69', '1.93.29.16', '88.204.189.170', '202.137.17.179', '82.221.105.6', '114.142.147.67', '61.147.103.4', '192.210.54.184', '221.204.31.51', '121.14.145.50', '61.235.70.231', '124.232.161.21', '61.147.116.33', '89.240.28.240', '61.160.195.140', '64.16.210.78', '121.10.115.170', '222.135.144.90', '61.147.116.58', '5.135.75.85', '190.98.214.198', '115.236.54.227', '79.137.213.14', '62.157.215.219', '223.4.50.58', '109.120.143.97', '199.83.94.83', '61.147.116.21', '144.76.61.170', '61.147.113.182', '61.67.219.174', '183.129.249.98', '198.177.28.147', '113.108.211.131', '69.15.148.13', '178.83.173.93', '58.215.133.51', '217.7.67.195', '81.80.175.170', '219.129.237.90', '201.249.174.162', '173.192.54.197', '222.189.239.70', '81.12.214.106']
/etc/hosts.deny を覗いてみますと、これらの IP アドレスが登録されておりました。
バッチリですの♪
シンクロナイゼーション・モード有効時の、関連項目の初期設定内容を整理♪
SYNC_SERVER に URL を設定しなすと、次の設定がデフォルトで指定されます。
- SYNC_INTERVAL = 1h
同期間隔は1時間 - SYNC_UPLOAD = yes
自分が登録した拒否 IP を denyhosts サーバにアップする - SYNC_DOWNLOAD = yes
自分のマシンに 拒否 IP を denyhosts サーバからダウンロードする - SYNC_DOWNLOAD_THRESHOLD = 3
3回以上拒否された最近のホストをダウンロードする - SYNC_DOWNLOAD_RESILIENCY = 5h
最近の5時間に渡って他のサーバをアタックした IP アドレスをダウンロードする
SYNC_DOWNLOAD_THRESHOLD および SYNC_DOWNLOAD_RESILIENCY が難しいですわね♪
おわりに
denyhosts が張った網に誰も引っかかりません><。あ、いや、この時のわたくし以外。。。
そこで、ネットを調べてみましてもあまり情報のない、シンクロモード、同期モードを試してみましたの♪
DenyHosts Frequently Asked Questions http://denyhosts.sourceforge.net/faq.html#sync
パラメータの意味を調べる際、denyhosts のソースコードが大変役に立ちました。プログラムソースと FAQ を行ったり来たりしながら単語を検索しながら調べまして、たいへんはかどりましたの♪
ただ、このソース、Google 検索してパッと出てきたものですので最新かどうか、また、本当に denyhosts のソースかどうか実は確認していないのですけれども、てへ。
勢いで断定してしまいましたの、てへ。
なお、今、GitHub のプロジェクトを確認しましたら、denyhosts で間違いないようですの。ただ、本家のプロジェクトかどうかは判断できませんでしたけれども、大体大丈夫と思いますわ。
以上です。