dovecotでpop3-loginプロセスが多量に生成されている。辞書アタックを受けたみたい。
ふとサーバーを覗いてみて、ps aux を実行してみると、たくさんのpop3-loginプロセスが生成されている。
dovecot 16808 0.0 0.1 5016 1532 ? S 10:08 0:00 pop3-login
dovecot 16809 0.0 0.1 5016 1528 ? S 10:08 0:00 pop3-login
dovecot 16857 0.0 0.1 5016 1772 ? S 10:09 0:00 pop3-login
dovecot 16973 0.0 0.1 5016 1848 ? S 10:10 0:00 pop3-login
dovecot 17428 0.0 0.1 5016 1524 ? S 06:44 0:00 pop3-login
dovecot 17511 0.0 0.1 5016 1524 ? S 10:10 0:00 pop3-login
dovecot 17514 0.0 0.1 5016 1528 ? S 10:11 0:00 pop3-login
dovecot 17521 0.0 0.1 5016 1776 ? S 10:11 0:00 pop3-login
dovecot 17553 0.0 0.1 5016 1844 ? S 10:11 0:00 pop3-login
dovecot 17603 0.0 0.1 5016 1528 ? S 10:13 0:00 pop3-login
dovecot 17604 0.0 0.1 5152 1972 ? S 10:13 0:00 pop3-login
dovecot 17638 0.0 0.1 5016 1528 ? S 10:14 0:00 pop3-login
dovecot 17873 0.0 0.1 5016 1528 ? S 10:15 0:00 pop3-login
dovecot 18081 0.0 0.1 5016 1524 ? S 06:46 0:00 pop3-login
dovecot 18163 0.0 0.1 5016 1528 ? S 06:48 0:00 pop3-login
dovecot 18200 0.0 0.1 5016 1524 ? S 06:49 0:00 pop3-login
dovecot 18202 0.0 0.1 5016 1772 ? S 06:49 0:00 pop3-login```
/var/log/maillog を確認してみると、 dovecot: pop3-login: Aborted login: が多量に出力されている。
```teraterm
Jul 30 22:44:06 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:06 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:06 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:06 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:06 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:06 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:06 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:06 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:06 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:06 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:06 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:06 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:06 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:06 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:06 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:06 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:06 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:06 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:06 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:06 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:06 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:06 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:06 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:08 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:08 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:08 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:08 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:08 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:08 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:08 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:08 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:08 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:08 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:08 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:08 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:08 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:08 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:08 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:08 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:08 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:08 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:08 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:08 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:08 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:08 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:08 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:08 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:10 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:10 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:10 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:10 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:10 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72
Jul 30 22:44:10 myserver dovecot: pop3-login: Aborted login: user=, method=PLAIN, rip=::ffff:66.85.157.94, lip=::ffff:192.168.1.72```
どうやら、pop3が辞書アタックを受けたみたいだ。特に侵入されたわけではないが、この時間のLoadAverage等はやはり上がっている。
なにか対策がないかと思って調べてみた。
(1) POP3のIPを絞る。
FromのIPをアクセスする人のIPに限定する。大変効果的だが、
このサーバーでは運用上、ちょっと難しい。稀にどこからかわからない国からアクセスする人もいる(可能性がある。)
(2) iptables の設定を行い、pop3の110番ポートの接続は1秒以上の時間間隔が必要に設定する。
このあたりを参考に iptables の設定を行う。
辞書攻撃されても、1秒あたり1回程度しか認証できないので、有効そう。
<a title="iptables のコマンド書式" href="http://www.turbolinux.co.jp/products/server/11s/user_guide/iptablescmd.html" target="_blank">iptables のコマンド書式</a>
<a title="自鯖の dovecot に辞書攻撃 その後・・・対策を実施" href="http://blog.wakita.cc/index.php?e=47" target="_blank">自鯖の dovecot に辞書攻撃 その後・・・対策を実施</a>
試しに、PCメーラーを連続で受信してみると、/var/log/messages にpop3のRejectのログが出力された。
```teraterm
Jul 31 11:13:50 myserver kernel: pop3 : maybe illegal attack IN=eth0 OUT= MAC=72:a9:db:cb:76:4c:00:08:0e:ca:cc:5f:08:00 SRC=10.16.4.8 DST=192.168.1.72 LEN=52 TOS=0x00 PREC=0x00 TTL=119 ID=10046 DF PROTO=
TCP SPT=56056 DPT=110 WINDOW=8192 RES=0x00 SYN URGP=0```
(3) Dovecotの認証方法を変更する。またはプロセスの最大数を変更する。
Dovecotは認証時にプロセスを起動しするようだが、/etc/dovecot.conf のlogin\_process\_per_connectionを yes → no にすると、1プロセスで認証を行うらしい。
その他、最大のプロセス数も指定できる模様。
しかし、今回は iptables での対策のみとしよう。(時間切れで。。)
関連記事
- linux のext3ファイルシステムでは、32000個程度がフォルダ数上限
- Linuxが停止後、EXT3-fs: INFO: recovery required on readonly filesystemが表示される。
- Nagiosの通知が来ない。「SERVICE FLAPPING ALERT」?
- Linux(CentOS5.6)がリブート時に停止してしまう。(shutdown -r 0 時に途中で停止する)
- sambaが遅い。(winbindがエラー)