web-dev-qa-db-ja.com

SSHサーバーが侵害されましたか?もしそうなら、どのように、どのようなステップを取るべきですか?

最近、クラスメートとグループプロジェクトで作業するために、マシンへのsshアクセスを有効にしました。私は、ubuntuでsshをセットアップするためのガイドを読み、適切なセキュリティ慣行に従うことを試みました。パスワード認証を無効にしたため、RSAキーを使用する唯一の方法であり、authorized_keysファイルにリストされているキーは2つだけでした:自分のもの(sshが正常に動作しているかどうかをテストするときに使用)と友人.

今晩、使用中に友人が私のシステムにsshされたかどうかを知りたいと思ったので、誰かがsshされたかどうか、もしそうなら、だれかを教えてくれるコマンドを探しました。私が得た結果は:

Sudo netstat -tnpa | grep ESTABLISHED.*sshd

試したところ、出力は次のとおりでした。

tcp        0      0 192.168.1.86:22         59.47.0.150:44728       ESTABLISHED 7416/sshd: [accepte

それは正しく見えませんでした。私は友人に連絡しましたが、彼はログインしていないことを保証しました。私はコマンドを再試行し、見ました:

tcp        0      0 192.168.1.86:22         59.47.0.150:44728       ESTABLISHED 7416/sshd: root [pr

この時点で、私は「ルート」という言葉に少しびっくりし、私よりもこのことをよく知っている友人にメッセージを送りました。彼は試してみるように言った:

 ps aux | grep ssh

出力したもの:

root      3702  0.0  0.0  61364  2872 ?        Ss   Apr12   0:00 /usr/sbin/sshd -D
root      7473  0.0  0.0 112692  3920 ?        Ss   20:46   0:00 sshd: root [priv]   
sshd      7474  0.0  0.0  62784  1516 ?        S    20:46   0:00 sshd: root [net]    
sid       7476  0.0  0.0  22476   936 pts/1    S+   20:46   0:00 grep --color=auto ssh

今、私は完全にびっくりしたので、少し待って、誰がログインしているかを確認できるかどうか確認したかったのですが、私はSudo stop sshだけにすることにしました。

さらにグーグルで調べたところ、59.47.0.150は中国のShe陽にある/近くのIPであり、悪意のある 攻撃 で特に知られているようです。

皆さんへの私の質問は:

  1. 中国からのIPが何らかの形で私のマシンにSSHで接続されたと断言できますか? RSA鍵認証のみを受け入れましたが?

  2. 彼/彼女もrootアクセスを得たと断言できますか?私のssh-configには、デフォルトのPermitRootLogin without-passwordがありました。私はもともとこれはルートログインが許可されていないことを意味すると思っていました(私は2つの音が矛盾していることを知っていますが、それをグーグルで調べて、それが私が得た結果でした)

  3. もしそうなら、どのように?

  4. これまでにどのような損害が発生したかを確認する方法はありますか?

  5. 将来これをどのように保護できますか?グループプロジェクトを完了するには、最終的にsshを実行する必要があります。

あなたが提供できる助けをありがとう!

編集:saiarcot895とStevenの提案に従って、私はauth.logをチェックしました。

    Apr 13 20:43:50 PrometheusU sshd[7392]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=59.47.0.150  user=root
Apr 13 20:43:55 PrometheusU sshd[7394]: reverse mapping checking getaddrinfo for 150.0.47.59.broad.bx.ln.dynamic.163data.com.cn [59.47.0.150] failed - POSSIBLE BREAK-IN ATTEMPT!
Apr 13 20:43:55 PrometheusU sshd[7394]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=59.47.0.150  user=root
Apr 13 20:43:58 PrometheusU sshd[7394]: Failed password for root from 59.47.0.150 port 54813 ssh2
Apr 13 20:44:03 PrometheusU sshd[7394]: message repeated 2 times: [ Failed password for root from 59.47.0.150 port 54813 ssh2]
Apr 13 20:44:04 PrometheusU sshd[7394]: Received disconnect from 59.47.0.150: 11:  [preauth]

これは、攻撃者が私のシステムに入り、rootへのログインに失敗した、または彼/彼女が直接rootにアクセスしようとして失敗し、何にもアクセスしていないことを意味しますか?

3
user1340033

中国からのIPが何らかの形で私のマシンにSSHで接続されたと断言できますか? RSA鍵認証のみを受け入れましたが?

有効なキーを取得できなかった場合、認証された可能性は低いです。キーなしで制御するホストから接続してみて、実行中のプロセスを確認してください。彼らはあなたが見たものに似ているはずです。 [net]プロセスがsshdとして実行されているという事実は、ログインに成功していないことを示しています。

彼/彼女も根を下ろしたと断言できますか?私のssh-configには、デフォルトのPermitRootLogin without-passwordがありました。私はもともとこれはルートログインが許可されていないことを意味すると思っていました(私は2つの音が矛盾していることを知っていますが、それをグーグルで調べて、それが私が得た結果でした)

使用したオプションは、rootへのログインを許可しますが、rootのパスワード認証を無効にします。本当に必要な場合を除き、SSHを介したルートログインを許可しないことをお勧めします。アクセスをできる限り厳しく制限する場合。キーを有効にしていない限り、SSHを使用してrootにログインすることはできません。 without-passwordは、パスワードベースのログインを無効にしますが、パスワード認証方法を無効にしません。

もしそうなら、どのように?

認証ログをチェックして、認証が成功したかどうかを確認できます。ただし、成功した場合は、証拠を上書きしている可能性があります。

これまでにどのような損害が発生したかを確認する方法はありますか?

ルートキットチェッカーを実行し、オフラインでファイル署名を検証することにより、ファイルが侵害されたかどうかを示す必要があります。安全なときにファイルの署名を取得してオフラインで保存すると、ベースラインが得られます。

将来これをどのように保護できますか?グループプロジェクトを完了するには、最終的にsshを実行する必要があります。

sshdは、アクセスを制限するためのtcpwrappersの使用をサポートしています。トラフィックが予想されるアドレス範囲からのアクセスのみを許可するルールセットを作成します。

3
BillThor

ログをいっぱいにするブルートフォース攻撃のみの場合は、ポートを変更するだけです。

ほとんどのスクリプトは愚かで、ポート22をリッスンするサーバーが十分にあります。 30200または225。これは、

/etc/ssh/sshd.conf

ポート番号を変更して、デーモンを再起動するだけです。

その後、sshの追加オプションを使用してシステムにアクセスできます。

ssh -p224 [email protected]

Maログは常にいっぱいになっていたので、ポートを変更するとノイズがなくなりました。

1
s1mmel

多くのsshブルートフォース攻撃が行われています。廃止されたsshパッケージがあり、それらがそのようになった可能性があります。

ログでsshの障害を確認してください。彼は単にあなたに対して総当たり攻撃をしているだけかもしれません。

/ tmpに移動し、ls -alからの出力を投稿します。ルートキットがある場合はそこに表示されます。

Sshでユーザーを許可するように設定でき、fail2banも役立ちます。

可能であれば、fstabで/ tmpと/ homeを非実行可能に設定してください。

1
Steven Jones