こつこつと

2008/09/02

debianにsshguard & 結果

自宅のサーバにも、sshguardを入れてみた。
こいつは、公開鍵での認証しか受け付けないのだけど、
まあ、一応、ということで入れてみた。

iptablesは周りは一緒。
syslogのままで最初設定しようとしたけど、どうもうまく動かず断念。

心機一転、syslogは実は重い、とか言われてる記憶とかもあって、
syslog-ngに変更してみた。
# aptitude install syslog-ng
で、さっくりとsyslogに変わってインストールされた。

んで、/etc/syslog-ng/syslog-ng.confの編集

filter sshlogs { facility(auth, authpriv); };
destination sshguardproc {
program("/usr/sbin/sshguard"
template("$DATE $FULLHOST $MESSAGE\n"));
};
log { source(s_all); filter(sshlogs); destination(sshguardproc); };


sourceが、サンプルでは、sourceという名前だけど、
debianでは、s_allとして定義されているので、そこだけ変更。

これで、動き始めた。

そして、結果。
1日に、3~4回、アタックを検知して、iptablesのルールを追加しているようだ。
大抵はうまく動いている。

しかし、本日のアタックは、なんとアクセスごとにsrcIPが違う。。。
いわゆる、botnetってやつですかね。
あきらかに、4アクセス/1secくらいの勢いで、違うユーザでログインを試みられているので、
連動しているとしか思えないのですが。。。
とりあえず、以下のようなコマンドで、IPを数える。
# grep ssh /var/log/messages | grep Invalid | gawk '{ print $10 }' | sort -u | wc -l

めっちゃ適当だけど、Invalid user guest from xxx.xxx.xxx.xxx
ていう感じの行を補足して数えてみると、350くらいのIPがある。

こういう場合は、現状、sshguardでは防ぎようがないっすねぇ。
単純に、IP縛りを外して、n秒間にm回以上ログインが失敗したら、で
ある程度の検知はできるかもしれんけど、そのあとのブロックのしようがないか。
全部、はじくわけにいかんもんねぇ。
過去に遡及して、失敗してるアドレス追加する?くらいかなぁ。
ちょっと改造してみようかな。。。

0 件のコメント: