Sakura VPS で SSH 攻撃されてCPU制限がかかったので対処した話

1.Sakura VPS サーバーでCPU制限!?

数ヶ月前にサーバーを Server’s Man から Sakura に乗り換えて、、、なんで乗り換えたんだっけ。。

ああ、そうだ、CentOS7のパッケージが更新できないからだ。。。

移行作業をちんたらやっているときに、MediaWikiの不正ユーザーをあほほど作られて 大変だったのだが、

ちょっと、そのMediaWiki にメモを書き込んでいたら、やたらレスポンスがおそい。。。

Wifi 不調かな、こないだ設置した中継器のせいかなーなんて、speed テストしたら、しっかりスピード出てる。。

ああ、原因は、自分のサーバーや。

ということで、Sakura の管理コンソール見ると、、、

1.1 CPU制限中

CPU リソース制限中!!

なにそれ?

Inkedlimit_cpu2

ググるとなにやら不穏な感じ

とりあえず、サーバーに接続して、top コマンドたたくと、、、

sshd のプロセスがたくさん。ああ。これはきっと。

top_command

1.2 負荷状況

管理コンソールの負荷状況を見ると、今朝からなにやら不穏な挙動。

確かにCPU利用がスパイクしてます。

spike_graph

1.3 SSHアクセスのログを確認

secure ログを 見ると、、、ひっきりなしに来てる来てる。

辞書アタックかなー

tail -f /var/log/secure

2.対処

そういえば、Server’s Man のSSHは、デフォルトの22番ポートじゃなくて、独自のポートにしてたなぁ。

ということで、sshd のポートを変更する。

2.1 前提

以下を前提に対処を行う。

  • 新しいポートを仮に、9999 とする
  • SELinux は OFF
  • Firewall は OFF Sakuraのパケットフィルタリングを利用

2.1.1 SELinux の無効確認

# getenforce
Disabled

2.1.2 Firewallの無効確認

# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

2.2 SSHで接続できなくなったら恐ろしいので、管理コンソールから接続できることを確認

最悪SSHできなくなっても、ここからサーバーに接続して何とかできることを確認

vnc_console

2.3 sshd の設定でポートを変更

/etc/ssh/sshd_config を以下のように編集

Port 9999 の行を追記

#Port 22
Port 9999

2.4 sshd 再起動でで有効化

# systemctl restart sshd

2.5 新しいポートをリッスンしていることを確認

# lsof -i:9999
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd    2558 root    3u  IPv4  65145      0t0  TCP *:caids-sensor (LISTEN)

2.6 Sakuraのポートフィルタリングを設定

  • SSH 22番を殺す
  • カスタムポート 9999 を追加

packet_filter

2.7 ポートを指定してSSH接続できることを確認

ssh root@サーバーアドレス -p 9999

3.対策後

3.1 攻撃によるCPU高負荷おちついた。。。

after_change_port

3.2 しばらくしたら、CPU制限も解除されたわ。

end_limit

よかつたよかつた。

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です