メールボムを iptablesでブロック


メールボム(E-mail Bomb)をブロックする

メールサーバーに同じアドレスから1秒間に何回も送りつけてくるメールがある。pop3のポートを突いてユーザを探り出すのが目的で、ユーザIDが分かればパスワードを探り出しサーバー侵入を狙う攻撃だ。
sendmailが応答する前に処理することが重要だ。

以下が侵入を企てるメールの例だ。
# cat messages
Mar 29 02:53:20 domain saslauthd[279988]: do_auth : auth failure: [user=test] [service=smtp] [realm=] [mech=pam] [reason=PAM auth error]
Mar 29 02:53:20 domain smtp(pam_unix)[279988]: check pass; user unknown
Mar 29 02:53:20 domain smtp(pam_unix)[279988]: authentication failure; logname= uid=0 euid=0 tty= ruser= rhost=
Mar 29 02:53:22 domain saslauthd[279988]: do_auth : auth failure: [user=test] [service=smtp] [realm=] [mech=pam] [reason=PAM auth error]
...............
...............
...............
Mar 29 02:53:48 domain smtp(pam_unix)[279988]: authentication failure; logname= uid=0 euid=0 tty= ruser= rhost=
Mar 29 02:53:50 domain saslauthd[279988]: do_auth : auth failure: [user=test] [service=smtp] [realm=] [mech=pam] [reason=PAM auth error]
Mar 29 02:53:50 domain smtp(pam_unix)[279988]: check pass; user unknown
Mar 29 02:53:50 domain smtp(pam_unix)[279988]: authentication failure; logname= uid=0 euid=0 tty= ruser= rhost=
Mar 29 02:53:52 domain saslauthd[279988]: do_auth : auth failure: [user=test] [service=smtp] [realm=] [mech=pam] [reason=PAM auth error]
Mar 29 02:53:52 domain smtp(pam_unix)[279988]: check pass; user unknown
Mar 29 02:53:52 domain smtp(pam_unix)[279988]: authentication failure; logname= uid=0 euid=0 tty= ruser= rhost=
Mar 29 02:53:55 domain saslauthd[279988]: do_auth : auth failure: [user=test] [service=smtp] [realm=] [mech=pam] [reason=PAM auth error]
Mar 29 02:53:55 domain smtp(pam_unix)[279988]: check pass; user unknown
Mar 29 02:53:55 domain smtp(pam_unix)[279988]: authentication failure; logname= uid=0 euid=0 tty= ruser= rhost=
Mar 29 02:53:57 domain saslauthd[279988]: do_auth : auth failure: [user=test] [service=smtp] [realm=] [mech=pam] [reason=PAM auth error]
Mar 29 02:53:57 domain smtp(pam_unix)[279988]: check pass; user unknown
Mar 29 02:53:57 domain smtp(pam_unix)[279988]: authentication failure; logname= uid=0 euid=0 tty= ruser= rhost=

連続して送られるメールを iptablesで制限する

/etc/sysconfig/iptables に記述を追加する。
iptables(8) - Linux man pageを参照。上から2/3あたりに--limit-burstがある。
22.2. iptables のコマンド書式なら日本語。TCP、UDP 拡張、limit 拡張などを参照。

-------- 以下を追加 --------
-A INPUT -p tcp -m state --syn --state NEW --dport pop3 -m limit --limit 6/m --limit-burst 4 -j ACCEPT ← 同じtcpから4回は通す その後は10秒に一つだけ通す
-A INPUT -p tcp -m state --syn --state NEW --dport pop3 -j DROP ← 通さなかったものは破棄する

iptableを再設定する

# service iptables restart
 Flushing firewall rules:                                               [ OK ]
 Setting chains to policy ACCEPT: mangle filter nat     [ OK ]
 Applying iptables firewall rules:                                  [ OK ]

iptableの設定を確認

# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:pop3 flags:SYN,RST,ACK/SYN limit: avg 6/min burst 4
DROP tcp -- anywhere anywhere state NEW tcp dpt:pop3 flags:SYN,RST,ACK/SYN
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:smtp limit: avg 4/min burst 16
DROP tcp -- anywhere anywhere state NEW tcp dpt:smtp
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:submission limit: avg 4/min burst 16
DROP tcp -- anywhere anywhere state NEW tcp dpt:submission

以上でメールサーバーに連続して大量に送りつけられる攻撃メールをブロックする。

参考 : mail Serverに連続して送りつけられるspamを阻止
11 Oct, 2017 | mokimoc
« Prev item - Next Item »
---------------------------------------------

Comments



Leave comments

このアイテムは閲覧専用です。コメントの投稿、投票はできません。