今日、私はラズベリーの auth.log (wrt54gl の背後にある自宅ネットワークのプライベート IP アドレス) をチェックしました。驚いたことに、たくさんの「root のパスワードが失敗しました」という行が見つかりました。
SRC IP は、SSH ブルート フォース攻撃者のリストに記載されています。
インターネット経由でラズベリーに接続する場合、通常はルーターのパブリック IP アドレスに SSH 接続を確立し、ラズベリーのプライベート アドレスに接続します。
では、プライベート アドレスのみを持つこのデバイスに、どうすれば直接接続できるのでしょうか?
eth0 Link encap:Ethernet Hardware Adresse b8:27:eb:e5:7a:5b
inet Adresse:192.168.0.5 Bcast:192.168.0.255 Maske:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1
RX packets:2774178 errors:0 dropped:933 overruns:0 frame:0
TX packets:5544091 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenl▒nge:1000
RX bytes:457172801 (435.9 MiB) TX bytes:875979564 (835.3 MiB)
lo Link encap:Lokale Schleife
inet Adresse:127.0.0.1 Maske:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metrik:1
RX packets:2695 errors:0 dropped:0 overruns:0 frame:0
TX packets:2695 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenl▒nge:0
RX bytes:725188 (708.1 KiB) TX bytes:725188 (708.1 KiB)
Jun 15 13:42:12 rpi sshd[15608]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=116.31.116.31 user=root
答え1
ポート転送を使用すると仮定して、同じ方法で実行します。リモートから Raspberry にログインしようとすると、おそらく偽のパスワードを使用しても、auth.log に非常によく似た行が表示されます。
もちろん、ルーターの外部インターフェイスに割り当てられたパブリック IP アドレスに接続します。ルーターでポート転送を設定して、パブリック IP アドレスの特定のポートへの接続がすべて Raspberry に転送されるようにしたと想定します。この特定のケースでは、ルーターのポート 22 を Raspberry のポート 22 に転送するようにしたと想定します。
他のIPアドレスの背後にいる男のやり方も同じで、おそらく
- ポートが開いているホストをインターネットでスキャンする
- ツールを実行する
- そのホストとポートに接続する
- パスワードリストを使用してログインを試みる
あるいは、手動で SSH クライアントを起動し、パブリック IP アドレス (ポート 22) に接続して、ラズベリーに転送し、一般的なユーザー名とパスワードの組み合わせ (pi/raspberry、root/root など) を単純に試すだけかもしれません。
それを避けるには
- パスワード認証ではなく、秘密鍵/公開鍵認証を使用するようにsshdを設定します。
- ルーターに、別のポート (例: 2222) をラズベリーのポート 22 に転送するように指示します。接続できるように (リモート) SSH クライアントを調整してください。
knockd
使用する前にインストールしてポートを開いてくださいfail2ban
許可されていないIPアドレスをブロックするためにインストールする
(ここで述べた方法のより詳しい概要については、ここ。