■CALENDAR■
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30     
<<前月 2024年04月 次月>>
■LOGIN■
現在のモード: ゲストモード
USER ID:
USER PW:
■ADMIN■
ADMIN ID:
ADMIN PW:
■NEW ENTRIES■
■RECENT COMMENTS■
■RECENT TRACKBACK■
  • 吉本隆明の死去に寄せて - 反「反核」ということ
  • 2010 年の釣り - 2010~11 シーズン開幕! 肝和えの素(カワハギ)
  • 震災後の復興を考える
  • 夏本番ですが ・・・ 水の事故を防ぐために
  • 2011 年の釣り - 遅ればせながらシーズン開幕 東京湾のマゴチ
■CATEGORIES■
■ARCHIVES■
■PROFILE■
■POWERED BY■
BLOGN(ぶろぐん)
BLOGNPLUS(ぶろぐん+)
■OTHER■

自鯖の dovecot に辞書攻撃 その後・・・対策を実施
 前報以後、例の辞書攻撃は止まっています。 しかし、再び攻撃を受けて知らぬ間に dovecot が落ちてしまうと、事情を知るわきたは構わないけど、家人はチト困る。
 そこで、この記事を参考にして、iptables を利用してブロックすることにしました。

 自鯖の 110番ポート(pop3)に対する、通常は起こり得ない頻度での接続開始要求をブロックします。 具体的には、最初の接続開始要求から1秒以上経たないと、次の接続開始要求を通さないようにしました。
 設定した iptables のルールは、以下。

iptables -A INPUT -p tcp --syn --dport 110 -m state --state NEW -m limit --limit 1/second --limit-burst 1 -j ACCEPT
iptables -A INPUT -p tcp --syn --dport 110 -m state --state NEW -j LOG --log-prefix "pop3 : maybe illegal attack "
iptables -A INPUT -p tcp --syn --dport 110 -m state --state NEW -j DROP
 以下、解説。

フィルタの対象とするパケット:下記のようなパケットに特定する

-p tcp --syn --dport 110 -m state --state NEW
(110番ポート宛の TCP 接続開始要求パケット)


ルール1: -m limit --limit 1/second --limit-burst 1 -j ACCEPT

初期状態(直前のマッチから1秒以上経過している状態)では、上記パケットは必ずこのルールにマッチし、ACCEPT される。 バースト値がカウントアップされ --limit-burst 値として指定された1に達する。
その後の1秒以内に再び上記パケットが検出された場合には、バースト値はまだ --limit-burst 値に達したままなので、このルールにはマッチせず、次のルールへ。


ルール2: -j LOG --log-prefix "pop3 : maybe illegal attack "
ルール3: -j DROP

上記パケットでありながらルール1にマッチしないパケットは、直前のルール1のマッチから1秒を経ていないパケットであり不正アタックであることが疑われる。 そこで LOG を出力して DROP する。


これらにより、1秒を置かずに連続して 110番ポートに接続しようとするアクセスが遮断される。

 効果のほどは、次回アタックを受けてみないと判りませんが・・・
| http://blog.wakita.cc/index.php?e=47 |
| サーバ・Linux::ネットワーク | 05:29 PM | comments (0) | trackback (0) |










http://blog.wakita.cc/tb.php/47
PAGE TOP ↑