2015/01/09
今のバージョンだと、/usr/local/etc/denyhosts.conf のBLOCK_SERVICE パラメタを有効にしないと起動しません。
2012/04/28
Denyhostsの大急ぎ設定メモ。FreeBSDのports からのインストールなので、tarballからの細かい作業はすっ飛ばしてある。
SSHへの辞書攻撃がうるさい場合は、SSHを鍵認証のみにした上でDenyhostsでパスワード認証を試みるホストを叩き落す。
実際には/etc/hosts.allowへ自動的な接続拒否ホスト追加が行われる。
portinstall なり cd /usr/ports/security/denyhosts; make install なりで済ます。
インストール後の出力にあるとおり。
To run denyhosts from startup, add denyhosts_enable="YES" in your /etc/rc.conf. Configiration options can be found in /usr/local/etc/denyhosts.conf
/usr/local/etc/denyhosts.conf.sample をコピーして/usr/local/etc/denyhosts.confを作成。
そして denyhosts.conf のパラメタ BLOCK_SERVICE に sshd を指定する。
BLOCK_SERVICE = sshd
インストール後の出力にあるとおり。
接続拒否ホストは/etc/hosts.deniedsshへ記録される。/etc/hosts.allowにこのファイルの参照を行う記述を入れることになる。
In order to proper working of denyhosts 1. edit your /etc/hosts.allow file and add: sshd : /etc/hosts.deniedssh : deny sshd : ALL : allow 2. issue the following command if /etc/hosts.deniedssh does not exist yet touch /etc/hosts.deniedssh
/etc/hosts.allowへの追記位置は重要である。一番手っ取り早いのは
ALL : ALL : allow
をコメント化し、
##ALL : ALL : allow
この行よりも前の行に以下を追加すること。
sshd : /etc/hosts.deniedssh : deny ##sshd : ALL : allow
ただ、/etc/hosts.deniedsshが存在しないといけないので、
touch /etc/hosts.deniedssh
を忘れずに。
以下を実行すればいい。
/usr/local/etc/rc.d/denyhosts start