(2019/10/21 現在) CentOS8 に denyhost を導入しようとすると、dnf や yum ではいくらインストールを試みても導入できないようです。
#dnf --enablerepo=epel-playground install denyhosts 一致した引数がありません: denyhosts エラー: 一致するものが見つかりません #dnf --enablerepo=epel install denyhosts 一致した引数がありません: denyhosts エラー: 一致するものが見つかりません
うーん、困った。という訳でソースからインストールを試みました。ベースはPythonなので比較的カンタンです。denyhosts は ipaddr が必要なので、まずはそちらを導入します。
# wget "https://github.com/google/ipaddr-py/archive/master.zip" # unzip master.zip # cd ipaddr-py-master/ # python3 ./setup.py install running install running build running build_py running install_lib running install_egg_info Removing /usr/local/lib/python3.6/site-packages/ipaddr-git-py3.6.egg-info Writing /usr/local/lib/python3.6/site-packages/ipaddr-git-py3.6.egg-info
次に、denyhosts のソースを取得してから同様にセットアップします。
# wget "https://excellmedia.dl.sourceforge.net/project/denyhost/denyhost-3.1/denyhosts-3.1.tar.gz" # tar zxvf denyhosts-3.1.tar.gz # cd denyhosts # python3 ./setup.py install (略)
これで一通りのファイルは導入されました。しかしこのままだと、systemctl でコントロールできないので、.service をソースからコピーして設定します。
# ln -s /usr/local/bin/denyhosts.py /usr/bin/denyhosts.py # cp ./denyhosts.service /usr/lib/systemd/system/ # chmod 644 /usr/lib/systemd/system/denyhosts.service # chown root /usr/lib/systemd/system/denyhosts.service # systemctl link /usr/lib/systemd/system/denyhosts.service # systemctl enable /usr/lib/systemd/system/denyhosts.service # systemctl is-enabled denyhosts.service enabled # systemctl stop denyhosts.service
これで登録できました。最初にシンボリックリンクを貼っているのは、.serviceファイルに書かれている .py 先が /usr/bin だからです。ここを書き換えてもいいのですが、自分はシンボリックリンクを貼りました。
次に denyhosts.conf を編集します。
# vi /etc/denyhosts.conf SECURE_LOG = /var/log/auth.log ↓ #SECURE_LOG = /var/log/auth.log #SECURE_LOG = /var/log/secure ↓ SECURE_LOG = /var/log/secure
CentOS8 は /var/log/secure を利用しているので、そちらを参照するようにします。他の設定は denyhosts.conf のままなので、他のサイトを見て回ってください(笑)
PURGE_DENY = 1w PURGE_THRESHOLD = 5 DENY_THRESHOLD_VALID = 5 DENY_THRESHOLD_ROOT = 2
自分はこの辺を変えておけばいいんじゃないかと思います。メール通知の設定もあるのですが、ほっとくと異常な程、中●とか韓●からsshdアタックが来るので見ないようにしています。正しくブロックしてくれればそれで良しとします。
# systemctl restart denyhosts # ps ax | grep "denyhosts" 33974 ? S 0:00 /bin/python3 /usr/bin/denyhosts.py --daemon --config=/etc/denyhosts.conf 33977 pts/0 R+ 0:00 grep --color=auto denyhosts
これにて起動完了です。