iptables方法(マニュアルページ)

iptables方法(マニュアルページ)

私は初心者で、ボードやLinux全体に慣れていません。Debianの素晴らしいSSHパッケージ(OpenSSHだと思います)を使用して、Piに物理的に接続しなくても、もっと学び、学ぶことができます。シリアルケーブル

私はこのフォーラムのさまざまなサイトやスレッドに沿ってSSHをより安全にするために強化し調整しました。しかし、私のファイルに適用したいsshd_config重要な変更の1つは私を悩ませることですListenAddress。私が理解したように、ListenAddressの値は、sshd_configサーバーが要求を受信する必要があるIPアドレスの厳密なパラメータを定義します。

ListenAddressinのデフォルトは注釈付きsshd_configです0.0.0.0。私は仕事を知っています「デフォルトをコメントアウトします。」ポリシーに応じて、アプリケーションはデフォルトでこの値を使用します。私が読んでマニュアルページこれは、デフォルト値が次のようになることを示します。

現在のルーティングドメインのすべてのローカルアドレスを受信します。

ネットワーキングについてあまり知っていると主張することはできませんが、0.0.0.0サーバーがネットワークからの要求を受信するという内容を他の場所で読んだことがあります。どのインターネットのIPv4アドレス?これにより、私の(インターネット接続)Piがターゲットになる可能性があり、ListenAddress内部ネットワークからの要求のみを受信するように制限することが慎重であるようです。家以外の場所を訪れる必要はありません。

私のルーター(Apple Airport)のDHCP範囲はで10.0.1.210.0.1.200ルーターはにあります10.0.1.1。 (これがデフォルトのようです。もっと知っている場合はに変更する必要があります192.168.1.1。)次の値を設定しようとしましたがListenAddress、すべてSSHで私をロックしてデフォルトにListenAddress戻すにはUSBシリアルケーブル接続が必要です。

10.0.1.00- その範囲のすべてのIPを表すように最後のオクテットを設定しようとしました。10.0.1.

10.0.1.*-*ワイルドカードとして使用すると、上記の最初の例のように動作できるようです。

10.0.1.**- 単一のワイルドカードが範囲*のみを表す場合.1.9

10.0.1.1- 今は愚かなように見えますが、ルータのIPを設定することが効果があると思いました。なぜなら、それはIPアドレスを伝える魔法の「箱」だからです。

10.0.1.1/24- 最初の3つのオクテットを定義するために使用され、/24最後のオクテットは開いた「範囲」として残されます。しかし、このキャラクターをsshd_config認識できないと思います。/

127.0.0.1- 私学んだ ~についてまたはループバックアドレスオプションがありますが、localhostそれも機能しません

10.0.1.24- 私のコンピュータのIP。最後のサイコロロールは効果がなく、ランタイムからをsystemctl status ssh.service返しerror: Bind to port 22 on 10.0.1.24 failed: Cannot assign requested address、メッセージが表示されますfatal: Cannot bind any addressFailed to start OpenBSD Secure Shell server

これが私が考えているものとこれまでに試したことを説明するのに役立つことを願っています。すべての論理オプションを使い果たしているようで、おそらく0.0.0.0これが私が達成しようとしているものに許可されている唯一のオプションです。私の質問がウェブフォーラムに適しているかどうか教えてください。

心配するには、次の値systemctl status ssh.serviceもお勧めします。Deprecated optionsshd_config

Deprecated option KeyRegenerationInterval
Deprecated option RhostsRSAAuthentication
Deprecated option RSAAuthentication
Deprecated option KeyRegenerationInterval
Deprecated option RhostsRSAAuthentication
Deprecated option RSAAuthentication

ところが、これらに対するプログラムの好感度がどうなるべきかわかりません。

私はこれまでに私が持っていた(非常に限られた)知識の限界を超えていますが、この委員会への以前の問い合わせを通してあなたに親切で詳細な答えを与えてください。

私のものsshd_config デフォルトは v1.103 です。 私が変更したものは次のとおりです。

AddressFamily inet
AllowUsers keith
Protocol 2
LoginGraceTime 30
KeyRegenerationInterval 3600
PermitRootLogin no
StrictModes yes
MaxAuthTries 3
MaxSessions 1
PubkeyAuthentication yes
IgnoreUserKnownHosts yes
IgnoreRhosts yes
RhostsRSAAuthentication no
RSAAuthentication yes
PasswordAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
AuthenticationMethods publickey keyboard-interactive
UsePAM yes
X11Forwarding no
PrintMotd no
TCPKeepAlive no
ClientAliveInterval 360
ClientAliveCountMax 0

私は案内のためにさまざまなウェブサイトとリソースを使用してきたので、これらの値のいくつかは今古いものかもしれません。私はSSHセキュリティが絶えず進化しており、移動可能な祭りであることを知っています。

これが私の思考プロセスとアプローチを説明することを望み、簡潔さが欠けていることを謝罪します。これまで情熱的に助けてくれた皆さんに感謝します。学習を止めないでください!

ベストアンサー1

これは実際にListenAddressどのシステムインターフェイスを受信する必要があるかをSSHサーバーに通知します(0:0:0:0はすべてのインターフェイスで受信するようにします)。たとえば、システムに1つのWi-Fi(10.0.1.4)と1つのイーサネット(10.0.1.12)がある場合は、イーサネットインターフェイスでのみリッスンし、他のコンピュータは接続するためにListenAddress 10.0.1.12SSHを使用する必要があります。10.0.1.12

外部ユーザーを特定のアドレス範囲に制限するには、iptablesファイアウォールを直接使用するか(人には適していません)、より許容可能なフロントエンドを使用できます。ufw

ただし、外部アクセスをブロックした可能性があるルータの背後にあるため、ルータの反対側にあるシステムはあなたの10.0.1.*アドレスを見ることができません。すべてが1つのアドレス、つまりルータから出て外部から始まり、次のいずれかのアドレスで始まります。ローカルコンピュータには、ポート転送を実行するようにルータが設定されている必要があります(ルータの一部の指定されたポートへの接続は、ローカルネットワークの特定のローカルアドレス:ポートに転送されます)。

おすすめ記事