Home

技術系のメモと日々の雑感

sshguard の使用感

ssh のログイン失敗が続いたときに、接続元をブロックするルールを iptables に自動で追加してくれる sshguard というツールがあるそうな。
後学のために家のマシンで試してみた。
CentOS 用のパッケージは見当たらなかったので、ソースをダウンロードしてインストールする。

# tar jxvf sshguard-1.4.tar.bz2
# cd sshguard-1.4
# ./configure --prefix=/usr/local --with-firewall=iptables --with-iptables=/sbin/iptables

--with-firewall は指定しないとエラーになった。

# make
# make install

実行ファイル sshguard は /usr/local/sbin の下に置かれる。
一緒にインストールされる man ページが詳しいのは助かるね。
続いて、iptables に必要な設定を追加する。
以下、sshguard の動作を見るのに必要な設定だけ。

# iptables -N sshguard
# iptables -A INPUT -p tcp --dport 22 -j sshguard

これで準備ができたので起動しよう。

# tail -n0 -F /var/log/secure | /usr/local/sbin/sshguard &

試しに、テスト用のホスト 192.168.0.100 から接続して、わざとログインに失敗してみると

# iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
sshguard   tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:22

※省略

Chain sshguard (1 references)
target     prot opt source               destination
DROP       all  --  192.168.0.100        0.0.0.0/0        ← 追加された

よしよし、ちゃんと締め出してくれたね。
ただ、しばらく動きを見ていると、ブロックしたホストを解放するタイミングになってもルールが残ってしまったり、同じルールが複数追加されてしまうことがあった。
あと、これは設定の問題かもしれないけど、本家のドキュメントのページにある、syslog からパイプでログを渡す設定はうまくいかなかった。
クリティカルなサーバで使うにはあと一歩というところかな。

この記事に対するトラックバック

この記事のトラックバックURL

-

管理人の承認後に表示されます

  • From: |
  • 2013/12/07(土) 06:16:27

-

管理人の承認後に表示されます

  • From: |
  • 2013/12/06(金) 02:21:08

-

管理人の承認後に表示されます

  • From: |
  • 2013/12/05(木) 05:56:33

-

管理人の承認後に表示されます

  • From: |
  • 2013/11/26(火) 06:12:00

-

管理人の承認後に表示されます

  • From: |
  • 2013/11/18(月) 17:27:46

-

管理人の承認後に表示されます

  • From: |
  • 2013/11/07(木) 09:46:52

-

管理人の承認後に表示されます

  • From: |
  • 2013/11/07(木) 02:23:28

-

管理人の承認後に表示されます

  • From: |
  • 2013/11/06(水) 20:09:39

-

管理人の承認後に表示されます

  • From: |
  • 2013/11/06(水) 17:52:40

-

管理人の承認後に表示されます

  • From: |
  • 2013/11/06(水) 11:01:16

-

管理人の承認後に表示されます

  • From: |
  • 2013/11/04(月) 19:27:21

この記事に対するコメント

この記事にコメントする

管理者にだけ表示を許可する