本日、またWebサーバがダウンしました。。
WebサーバへのDoS攻撃対策は入れていたのに、落ちてしまっていて原因を探っていましたところ、sshdへのブルートフォース攻撃(総当たり攻撃)っぽいことがわかりました。
現在使用しているインスタンスは、CPUの使用率が連続稼働で5%しか許容できない3.5USDの最弱サーバーなので、攻撃によりCPUの使用制限に引っかかったようです。また、メモリもSwapを4GBにも盛っていたにも関わらず、3GB近辺まで消費していて余力がなくなっていました。以下のように、恐ろしいほどの数のsshdへの不正アクセスログが出てきます。サーバーが落ちた時近辺のログを抜粋。error: maximum authentication attempts… と限界までやられてますね。。
# cat /var/log/secure ----------------------- . . Jan 19 22:21:22 ip-172-26-2-122 sshd[22274]: Invalid user duci from 138.68.52.165 port 54352 Jan 19 22:21:22 ip-172-26-2-122 sshd[22274]: input_userauth_request: invalid user duci [preauth] Jan 19 22:21:22 ip-172-26-2-122 sshd[22274]: Received disconnect from 138.68.52.165 port 54352:11: Bye Bye [preauth] Jan 19 22:21:22 ip-172-26-2-122 sshd[22274]: Disconnected from 138.68.52.165 port 54352 [preauth] Jan 19 22:21:33 ip-172-26-2-122 sshd[22276]: Invalid user maira from 115.68.226.80 port 53362 Jan 19 22:21:33 ip-172-26-2-122 sshd[22276]: input_userauth_request: invalid user maira [preauth] Jan 19 22:21:33 ip-172-26-2-122 sshd[22276]: Received disconnect from 115.68.226.80 port 53362:11: Bye Bye [preauth] Jan 19 22:21:33 ip-172-26-2-122 sshd[22276]: Disconnected from 115.68.226.80 port 53362 [preauth] Jan 19 22:25:33 ip-172-26-2-122 sshd[22288]: Did not receive identification string from 122.114.182.72 port 41403 Jan 19 22:31:34 ip-172-26-2-122 sshd[22518]: Did not receive identification string from 185.54.152.230 port 59533 Jan 19 22:31:50 ip-172-26-2-122 sshd[22519]: Connection closed by 114.88.195.48 port 39790 [preauth] Jan 19 22:36:44 ip-172-26-2-122 sshd[22524]: Invalid user ftp_user from 156.236.72.23 port 35273 Jan 19 22:36:49 ip-172-26-2-122 sshd[22524]: input_userauth_request: invalid user ftp_user [preauth] Jan 19 22:36:50 ip-172-26-2-122 sshd[22524]: Received disconnect from 156.236.72.23 port 35273:11: Normal Shutdown, Thank you for playing [preauth] Jan 19 22:36:51 ip-172-26-2-122 sshd[22524]: Disconnected from 156.236.72.23 port 35273 [preauth] Jan 19 22:36:51 ip-172-26-2-122 sshd[22526]: error: maximum authentication attempts exceeded for root from 211.179.46.250 port 52180 ssh2 [preauth] Jan 19 22:36:52 ip-172-26-2-122 sshd[22526]: Disconnecting: Too many authentication failures [preauth]
大変お恥ずかしながら、手抜きでSSHポートを標準の22番のままにしていたのでこのような事態になってしまっていました。お作法通り、修正してとりあえず様子を見ます。
# vi /etc/ssh/sshd_config ---------------------------------- . . # If you want to change the port on a SELinux system, you have to tell # SELinux about this change. # semanage port -a -t ssh_port_t -p tcp #PORTNUMBER # Port **** #AddressFamily any #ListenAddress 0.0.0.0 #ListenAddress :: . . ---------------------------------- :wq
# semanage port -a -t ssh_port_t -p tcp **** # systemctl restart sshd # exit $ exit
Lightsailのネットワーク設定のほうも、TCP ****番ポートの開放を忘れないように。