Fail2banでサーバーがハングする

Fail2banでサーバーがハングする

最近、サーバーの停止やネットワークの問題など、いくつかの問題が発生しました(現在はどのような問題かわかりません)。私はポート443でOpenSSHを実行していますが、fall2banのSSH保護DDoSフィルタが原因であるようです。通常、HTTPS用に予約されているポートで実行されているため、時々誤った要求を受け取ります。

# /var/log/auth.log
Aug 25 11:46:38 void sshd[13782]: pam_unix(sshd:session): session closed for user tim
Aug 25 11:46:38 void sshd[13782]: syslogin_perform_logout: logout() returned an error
Aug 25 11:46:41 void sshd[15911]: Bad protocol version identification 'CONNECT 194.109.153.5:11111 HTTP/1.0' from 194.109.21.230
Aug 25 11:46:45 void sshd[15915]: Bad protocol version identification 'CONNECT 194.109.153.5:11111 HTTP/1.0' from 194.109.21.230
Aug 25 11:46:53 void sshd[15912]: Did not receive identification string from 194.109.21.230
Aug 25 11:46:53 void sshd[15910]: Did not receive identification string from 194.109.21.230
Aug 25 11:46:57 void sshd[15916]: Did not receive identification string from 194.109.21.230
Aug 25 11:46:57 void sshd[15914]: Did not receive identification string from 194.109.21.230

これにより、次のように failure2ban が実行されます。

# /var/log/fail2ban.log
2014-08-25 11:46:58,609 fail2ban.actions: WARNING [ssh-ddos] Ban 194.109.21.230
2014-08-25 11:56:58,852 fail2ban.actions: WARNING [ssh-ddos] Unban 194.109.21.230

以前心配していたわけではありません。ログにわずかなノイズがあるだけで、サーバーには何の影響もありません。しかし、過去数日間、私はプロキシスキャン何度も194.109.21.230 (proxyscan.xs4all.net。私のMuninチャートを見ると、fall2banが見かけ上重要ではないIPを禁止した同じ期間中に停止したようです。

ムーニング - 記憶

これが何に関連しているかはわかりませんが、最近同じサーバー²でRCUの一時停止を経験しました。この日より前は、Fail2ban が実行されたにもかかわらず、サーバーの停止を経験したことはありません。それ以来、問題を解決しましたが、/etc/ntp.conf停止現象が発生した後にのみ問題が解決されました。

# /var/log/syslog
... (multiple 'host name not found' for ntpd)
Aug 20 20:24:22 void ntpd_intres[8124]: host name not found: 1.tid.uio.no
Aug 20 20:40:25 void ntpd_intres[8124]: host name not found: 0.ntp.uio.no
Aug 20 20:40:25 void ntpd_intres[8124]: host name not found: 1.tid.uio.no
Aug 20 20:57:44 void kernel: [18225085.384024] INFO: rcu_sched detected stall on CPU 0 (t=18892 jiffies)
Aug 20 20:57:44 void kernel: [18225085.384024] sending NMI to all CPUs:
Aug 20 20:57:44 void kernel: [18225085.384024] NMI backtrace for cpu 0
Aug 20 20:57:44 void kernel: [18225085.384024] Modules linked in: tun iptable_nat nf_nat iptable_mangle xt_tcpudp nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack xt_mark bridge stp xt_multiport iptable_filter ip_tables x_tables vmwgfx snd_page_alloc parport_pc parport processor thermal_sys snd_timer snd soundcore evdev pcspkr serio_raw ttm drm button i2c_piix4 i2c_core ext4 crc16 jbd2 mbcache sg sr_mod cdrom ata_generic virtio_blk virtio_net floppy ata_piix libata virtio_pci virtio_ring virtio scsi_mod [last unloaded: scsi_wait_scan]
Aug 20 20:57:44 void kernel: [18225085.384024]
Aug 20 20:57:44 void kernel: [18225085.384024] Pid: 8124, comm: ntpd Not tainted 3.2.0-4-686-pae #1 Debian 3.2.41-2+deb7u2 Bochs Bochs
... (call stack)

これで、プロキシ検索サーバーをブロックするiptablesルールが追加されました。

iptables -A INPUT -p tcp --dport 443 -s 128.39.74.65 -j DROP

私自身をブロックして強制的に問題を解決し、毎回同じことが発生するか、再起動後に解決されたかを確認したかったです。実際にssh-ddosをトリガするコマンドを思い出すことはできません。認証が機能していないwgetか不十分なようです。どのようなヒントがありますか?

RCUの実行が停止しますか(*)はFail2ban/freezesに関連しています。それでは、その理由は何ですか?再起動すると役に立つかもしれませんが、どのようにこれが起こり、サーバーが停止するのか疑問に思います。

編集する:RCUは停止直後に停止します。

# /usr/var/log/auth.log.1
Aug 20 21:09:28 void sshd[9115]: Bad protocol version identification 'CONNECT 194.109.153.5:11111 HTTP/1.0' from 194.109.21.230
Aug 20 21:09:40 void sshd[9114]: Did not receive identification string from 194.109.21.230
Aug 20 21:09:40 void sshd[9116]: Did not receive identification string from 194.109.21.230

# /usr/var/log/fail2ban.log.1
2014-08-20 21:10:28,747 fail2ban.actions: WARNING [ssh-ddos] Ban 194.109.21.230
2014-08-20 21:20:29,515 fail2ban.actions: WARNING [ssh-ddos] Unban 194.109.21.230

1私が定期的に使用しているすべてのネットワークが22を許可しているわけではないので、443で実行しています。また、着信SSH攻撃に対して脆弱ではないという利点もあります。
²カーネルパニックではなくRCU停止(CPU)。コメントを読んでください。

関連情報