最近、Fluentdにてログを収集して、それをSlackに流すようになってから気が付いたこと。
そう。
不正アクセスが多い!!
こんなに多かったんだ・・・・って思うぐらい多い。幸い、何か変なことにはなっていないのですが、どうにも気になっている状態です。ちなみにSlackの画面はこんな感じ。
生ログはこれ。
[11:00:47][sshd] Invalid user activemq from 114.215.189.226 [11:00:47][sshd] input_userauth_request: invalid user activemq [preauth] [11:00:47][sshd] Received disconnect from 114.215.189.226: 11: Bye Bye [preauth] [11:01:25][sshd] Invalid user admin from 114.215.189.226 [11:01:25][sshd] input_userauth_request: invalid user admin [preauth]
手を変え品を変えIPを変えユーザを変え・・・・上記のログが大量に出力されています。
IPは・・・・
中国です。
ほとんど中国です。さすがとしか言いようがないorz
ってことで、少し対処しようと思います。
セキュリティグループの設定を変更
サーバはEC2を使っています。
その中で、対処的には色々とあると思います。
プログラムレベルで対処、サーバレベルで対処、サービスレベルで対処。
とりあえずsshでの無作為アクセスを防御したいので、今回はEC2のセキュリティグループを変更して、対処することにしました。
細かいやり方的にはGoogleさんで「セキュリティグループ 設定」で見てもらえるといいかと思いますが、設定的にはsshでのポートをかなり制限しました。
個人的にEC2にsshでアクセスケースは色々なところからやっているので、それに合わせてセグメントを追加しています。日本のIPアドレスの範囲が以下のサイトでわかるので、自分の環境に合わせたものを設定。
JPNICが逆引きの管理を行っているIPv4アドレス一覧 - JPNIC https://t.co/CJkzi4fq6T
— やった (@yatta47) 2017年2月3日
これでログ出力が止まりました。
まとめ
今回はEC2のセキュリティグループの設定を変更して対処しました。
そもそも、sshを「0.0.0.0」で運用していたというのが大いなる間違いだと思います。ポートも22番なんて「玄関のカギが10円玉で回るようなカギ」にしているようなものなのでそこも変えるべきなのかなと。さすがにrootでの直接ログインとかは制限しているけど・・・・何があるかわからないからちゃんと考えるべきですね。
その辺のセキュリティを今後強化していこうかと思います。
今回の教訓。
sshでアクセス可能は、IPレベルで絞るべき
サブネットを/32でやることさえも考える
それではー。