最近、サーバーの1つをチェックしましたauth.log
ファイルを作成し、非常に疑わしいアクティビティに気づきました。最近、サーバーのsshデーモンをシャットダウンしたため、ログは1月22日に終了しますが、ログファイルを確認したところ、すべてのIPアドレスが中国語であることがわかりました。
ログイン失敗の最後の10行は次のとおりです。
$ cat auth.log | grep Failed | tail -n10
Jan 22 13:42:14 servername sshd[10306]: Failed password for root from 183.3.202.104 port 10894 ssh2
Jan 22 13:42:18 servername sshd[10306]: message repeated 2 times: [ Failed password for root from 183.3.202.104 port 10894 ssh2]
Jan 22 13:42:28 servername sshd[10365]: Failed password for root from 183.3.202.104 port 34140 ssh2
Jan 22 13:42:32 servername sshd[10365]: message repeated 2 times: [ Failed password for root from 183.3.202.104 port 34140 ssh2]
Jan 22 13:42:44 servername sshd[10423]: Failed password for root from 183.3.202.104 port 56290 ssh2
Jan 22 13:42:48 servername sshd[10423]: message repeated 2 times: [ Failed password for root from 183.3.202.104 port 56290 ssh2]
Jan 22 13:43:03 servername sshd[10511]: Failed password for root from 183.3.202.104 port 64153 ssh2
Jan 22 13:43:08 servername sshd[10511]: message repeated 2 times: [ Failed password for root from 183.3.202.104 port 64153 ssh2]
Jan 22 13:43:18 servername sshd[10569]: Failed password for root from 183.3.202.104 port 33472 ssh2
Jan 22 13:43:23 servername sshd[10569]: message repeated 2 times: [ Failed password for root from 183.3.202.104 port 33472 ssh2]
183.3.202.104以外のIPアドレスを検索すると、行は次のようになります。
$ cat auth.log | grep Failed | grep -v 183.3.202.104 | tail -n10
Jan 22 02:36:41 servername sshd[31074]: message repeated 5 times: [ Failed password for root from 221.203.142.71 port 33746 ssh2]
Jan 22 02:36:54 servername sshd[31388]: Failed password for root from 221.203.142.71 port 57792 ssh2
Jan 22 02:37:13 servername sshd[31388]: message repeated 5 times: [ Failed password for root from 221.203.142.71 port 57792 ssh2]
Jan 22 02:37:25 servername sshd[31698]: Failed password for root from 221.203.142.71 port 55440 ssh2
Jan 22 02:37:41 servername sshd[31698]: message repeated 5 times: [ Failed password for root from 221.203.142.71 port 55440 ssh2]
Jan 22 02:37:58 servername sshd[31918]: Failed password for root from 221.203.142.71 port 50225 ssh2
Jan 22 02:38:13 servername sshd[31918]: message repeated 5 times: [ Failed password for root from 221.203.142.71 port 50225 ssh2]
Jan 22 04:55:23 servername sshd[22179]: Failed password for invalid user support from 113.160.158.43 port 61614 ssh2
Jan 22 09:36:40 servername sshd[4160]: Failed password for invalid user a from 115.182.249.11 port 53046 ssh2
Jan 22 09:36:52 servername sshd[4204]: Failed password for invalid user Oracle from 115.182.249.11 port 56673 ssh2
最初に、これが実際に攻撃であることを確認したいと思います。システムセキュリティの管理に慣れていません。次に、中国のIPアドレスをすべてブロックする方法があるかどうかを知りたいです。私のサーバーはこれまでアメリカでのみ使用されており、中国とは何の関係もありません。
Wizcraftのブロックリスト を試して、それに応じてフォーマットすることができます。私の投稿の時点で、このブロックリストの最終更新日は木曜日、2015年12月24日11:01:52 MSTです。台湾は中国本土の一部ではありませんが、香港は現在中国に属し、北京によって支配されています。
アメリカでのみサーバーを使用する場合、これらのルールのallを使用して攻撃者をブロックできます。そうでない場合は、不要なものを編集し、必要なものはそのままにしておきます。
また、これにより、攻撃者が選択した国のVPNに接続して、もう一度rootとしてログインしようとするのを防ぐことはできません。これは単なるバンドエイドです。
[〜#〜] edit [〜#〜]-BadSkillzおよびジェニーDが推奨 fail2ban 。これはおそらく全体的に優れたソリューションですが、両方の方法を使用しても問題はないでしょう。
私はまた、これらの低額のブルートフォースログインの試みを見るのは気がかりであり、残念なことに、それらは主に中国からのものです(「掃除機」のスパイ活動)-良いニュースは、解決策が簡単です-SSHキーを使用してサーバーへのログインのみを許可してから、有効にしますログイン方法としてパスワードを無効にする
最初に安全なSSHキーを作成します。
linux/OSX/Windowsのドキュメントを参照 https://help.github.com/articles/generating-a-new-gpg-key/
ローカルボックスの問題のターミナルで
ssh-keygen -t rsa -b 4096 -C "[email protected]"
これはパスワードの入力を要求します(覚えておいてください)...ファイルの秘密鍵と公開鍵のペアを作成します
private file /home/mylogin/.ssh/id_rsa_supermoon
public file /home/mylogin/.ssh/id_rsa_supermoon.pub
これらのファイルは現在、マシンのローカルにあります...パブリックファイルをリモートサーバーにコピーして、ファイルに配置(または追加)するだけです。
/home/mylogin/.ssh/authorized_keys
リモートホストで適切なファイル権限があることを確認します
chmod 700 /home/mylogin/.ssh
chmod 600 /home/mylogin/.ssh/authorized_keys
ローカルホストに戻り、これを発行してリモートボックスにSSHログインします。
# only need to issue this set of 3 cmds once on same terminal
export REMOTE_IP=1.2.3.4 # your remote Host IP
eval $(ssh-agent)
ssh-add ~/.ssh/id_rsa_supermoon # enter same password as above
ssh mylogin@${REMOTE_IP}
*オプションの開始------------ *
PS-すべてのsshでのパスワードプロンプトのうんざりし、これをローカルの〜/ .bashrcに入れます
if [ ! -S ~/.ssh/ssh_auth_sock ]; then
eval $(ssh-agent)
ln -sf "$SSH_AUTH_SOCK" ~/.ssh/ssh_auth_sock
fi
export SSH_AUTH_SOCK=~/.ssh/ssh_auth_sock
ssh-add -l | grep "The agent has no identities" && ssh-add ~/.ssh/id_rsa_supermoon
------------オプションの終わり
重要-sshを使用して正しくログインできることを確認してください...リモートホストでのみ、ssh設定ファイルを編集してください
Sudo vi /etc/ssh/sshd_config
# PasswordAuthentication yes # we do NOT want yes if ssh keys work
PasswordAuthentication no
上記の設定ファイルの変更をリモートホストで実行するには、sshサーバーをバウンスするだけです。
Sudo service sshd restart # (systemd ONLY) this does not kill your login session
完了-リモートホストが要約してパスワードの試行を無視し、それらのガッタースナイプがクロールして他の誰かの保護されていないサーバーを脅かすため、このようなブルートログインの試行がすぐになくなります。