2010-10-31 :-)
_ [ssh]ssh brute force attack
おうちサーバーに攻撃されまくって鬱陶しいので Maxlogins というのを使ってみた。
- Maxlogins (本家)
- 学生と職員の狭間に(2007-01-03) - maxlogins (パッチ)
- Matsup's blog: FreeBSD:sshサーバーに対する辞書攻撃の防御
- SSHの辞書攻撃対策 - KtJ Dragon
導入手順は本家にあるとおりなんだが、NetBSD なので /usr/pkg/bin/perl に変更などしておく。
それでもこういうのが抜けてくる:
Oct 31 10:55:53 hitomi sshd[11730]: SSH: Server;Ltype: Version;Remote 222.87.204.3-1133;Protocol: 2.0;Client: libssh-0.1 Oct 31 10:55:58 hitomi sshd[8045]: SSH: Server;Ltype: Version;Remote: 222.87.204.3-1507;Protocol: 2.0;Client: libssh-0.1 Oct 31 10:56:01 hitomi sshd[5034]: SSH: Server;Ltype: Version;Remote: 222.87.204.3-1957;Protocol: 2.0;Client: libssh-0.1 Oct 31 10:56:03 hitomi sshd[23525]: SSH: Server;Ltype: Version;Remote: 222.87.204.3-2085;Protocol: 2.0;Client: libssh-0.1 Oct 31 10:56:05 hitomi sshd[17532]: SSH: Server;Ltype: Version;Remote: 222.87.204.3-2189;Protocol: 2.0;Client: libssh-0.1 Oct 31 10:56:07 hitomi sshd[4479]: SSH: Server;Ltype: Version;Remote: 222.87.204.3-2352;Protocol: 2.0;Client: libssh-0.1 Oct 31 10:56:09 hitomi sshd[19858]: SSH: Server;Ltype: Version;Remote: 222.87.204.3-2474;Protocol: 2.0;Client: libssh-0.1
たぶん何かのクラックツールだろう。知らんけど。
putty などは libssh なんぞ使ってないようなのでこれもさっくりフィルターしておいた。
↓追加パッチ
--- maxlogins.pl.orig 2009-01-30 10:26:36.000000000 +0900 +++ maxlogins.pl 2010-10-31 11:57:53.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/perl -w +#!/usr/pkg/bin/perl -w # maxlogins.pl my $VERSION = '2.0'; @@ -85,9 +85,9 @@ $bol = $eol+1; $halfline = ""; - if ($logline =~ /sshd\[\d*\]: Failed password/){ + if ($logline =~ /sshd\[\d*\]: Failed password/ | $logline =~ /sshd\[\d*\]: Invalid user/ | $logline =~ /sshd\[\d*\]: Did not receive identification string/ | $logline =~ /sshd\[\d*\]: .*libssh/){ my $ip; - ($sshdpid, $ip) = $logline =~ (/sshd\[(\d*)\].*from (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}) port/); + ($sshdpid, $ip) = $logline =~ (/sshd\[(\d*)\].*from (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/); write_log($LOG_VERBOSE, "Bad login attempt from: $ip (PID $sshdpid)");
_ [NetBSD][PF]PF で遊ぶなど
LAN 内にある計算機で PF の設定を書いてた。
最初 以下のように書いていたんだが
block in quick on $ext_if from 127.0.0.0/8 to any block in quick on $ext_if from 192.168.0.0/16 to any block in quick on $ext_if from 172.16.0.0/12 to any block in quick on $ext_if from 10.0.0.0/8 to any pass in log on $ext_if from $priv_nets to any
これで pf を起動するとこの計算機に接続できなくなる。
なんでだろーなんでだろーと悩んでたら考えてみれば quick してること忘れてた。
PF: Packet Filtering - quick キーワード
フィルタリングルール上に quick オプションが指定されている場合、それ以降のルールの処理を無効化する効果を持ち、指定されたとおりの動作が取られることになります。
[ツッコミを入れる]