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!

コメントを残す

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