カテゴリー
Linux

【DenyHosts】自動で攻撃者の IP アドレスを拒否リストに登録する設定を試しましたの♪★シンクロナイゼーション・モード★

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 で間違いないようですの。ただ、本家のプロジェクトかどうかは判断できませんでしたけれども、大体大丈夫と思いますわ。

以上です。

コメントを残す