Sshguard/ja

sshguard は侵入防止システムです. サーバーのログを精査して害意ある行動を検出し、危害を加えようとする接続元IPアドレスを拒絶するファイアーウォールを用います. sshguard は、C言語で書かれており、インタプリターは不要です.

動作の仕組み
sshguard は、一つないし複数のログファイルを継続追跡する簡単なデーモンです. 他のデーモンが記録したログイン試行失敗のログを精査して、その接続を拒絶するようにシステムファイアーウォールを更新することで、更なる試行を阻止します.

sshguard は、その名称にも拘わらず、 SSH のログのみを精査するわけではありません. 多くのメールシステムやいくらかの FTP システムにも対応しています. 対応しているサービスの全リストは、sshguard.net ウェブサイト で公開されています.

Emerge
をインストール:

また、システムファイアーウォールを展開するために、 もインストールします. なお本稿作成段階では、 sshguard は には対応していません.

iptables の利用と設定に関しての詳細は、 iptables の記事 も参照してください.

ファイアーウォールの準備
When sshguard blocks any malicious users (by blocking their IP addresses), it will use the sshguard chain.

Prepare the chain, and make sure it is also triggered when new incoming connections are detected:

ログファイルの監視
The basic idea behind sshguard is that the administrator passes on the log file(s) to watch as options to the application - there is no native sshguard configuration file.

On Gentoo, the options can be best configured in the file:

Make sure that the log files are accessible for the runtime user that sshguard uses.

サービス
Have sshguard be started by default by adding it to the default runlevel, and then start it:

File '/var/log/auth.log' vanished while adding!
When starting up, sshguard reports the following error:

Such an error (the file path itself can be different) occurs when the target file is not available on the system. Make sure that it is created, or update the sshguard configuration to not add it for monitoring.

On a syslog-ng system with OpenRC, the following addition to can suffice:

Reload the configuration for the changes to take effect:

参考

 * Iptables, for installing and configuring iptables on Gentoo

外部の情報
The sshguard documentation provides all the information needed to further tune the application.