Sshguard/ja

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

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

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

Emerge
をインストール:

Additional software
Depending on the init system and the desired firewall backend to be used by sshguard, additional software may be required to be emerged in order for sshguard to block malicious actors.

More information on various supported backends can be found by reading the setup manpage:

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

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

nftables
When nftables are being used as the system firewall:

ファイアーウォールの準備
が悪意のあるユーザーをブロック (IP アドレスを遮断することによって) するとき、 チェーンを使用します.

チェーンを準備し、外からの新しい接続が検出されたときにそれが発動することも確認してください:

Then verify that the appropriate path to the iptables backend library is set in :

ログファイルの監視
sshguard の背後にある基本的な考え方は、管理者がアプリケーションのオプションとして監視対象のログファイルを渡す、ということです. sshguard 固有の構成ファイルは存在しません.

Gentoo では、このオプションは ファイル内に設定するのがベストでしょう:

{{FileBox|filename=/etc/sshguard.conf|title=sshguard が /var/log/messages と /var/log/auth.log を読むように設定する|lang=bash|1= BACKEND="/usr/libexec/sshg-fw-iptables"
 * 1) Full path to backend executable (required, no default)

sshguardランタイムユーザーが、使用するログファイルにアクセス可能であることを確認してください.

OpenRC
sshguardをデフォルトのランレベルに追加することでデフォルトで起動されます:

systemd
Use systemd's conventional way to enable it, and then start it:

Blacklisting hosts
With the blacklisting option after a number of abuses the IP address of the attacker or a IP subnet will be blocked permanently. The blacklist will be loaded at each startup and extended with new entries during operation. inserts a new address after it exceeded a threshold of abuses.

Blacklisted addresses are never scheduled to be released (allowed) again.

To enable blacklisting, create an appropriate directory and file:

While defining a blacklist it is important to exclude trusted IP networks and hosts in a whitelist.

To enable whitelisting, create an appropriate directory and file:

The whitelist has to include the loopback interface, and should have at least 1 IP trusted network f.e. 192.0.2.0/24.

Add the BLACKLIST_FILE and WHITELIST_FILE file to the configuration. Example configuration listed blocks all hosts after the first login attempt. To setup a less agressive blocking policy, adjust the THRESHOLD and BLACKLIST_FILE integer, and set it to f.e. 10 instead of 2:

Restart the daemon to have the changes take effect:

File '/var/log/auth.log' vanished while adding!
起動時に sshguard が次のエラーを報告します:

ターゲット・ファイルがシステム上で利用できない場合、このようなエラーが（ファイルパス自体が異なる場合があります）が発生します. それが作成されていることを確認し、または監視のためにそれを追加しないようにsshguard構成を更新します.

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

変更を有効にするために、設定を再読み込みしてください:

外部の情報
sshguard documentation はアプリケーションをさらに調整するのに必要なすべての情報を提供しています.