TCPラッパー「例外」オプション

TCPラッパー「例外」オプション

/etc/hosts.allowマシン192.168.122.50で次のオプションを設定しました。

sshd : ALL EXCEPT 192.168.122.1

そして、マシン192.168.122.1で試して、ルートでマシン192.168.122.50に接続できました。ssh [email protected]

/etc/hosts.deny次に、192.168.122.50ファイルに次のルールを追加しました。

sshd : 192.168.122.1

192.168.122.1 コンピューターで再試行しました。しかし今回はssh [email protected]接続できませんエラーが発生しました。

ssh_exchange_identification: Connection closed by remote host

/etc/hosts.allowこれにより、EXCEPTディレクティブの実際の動作について疑問が生じます/etc/hosts.deny。私が学んだ内容は次のとおりです。

入れたらとは別にHosts.allowのディレクティブは、その背後にある特定のホスト/ネットワークを許可しませんが、接続はまだ確立できることを意味します。~までNET Frameworkで特定のホスト/ネットワークについて明示的に言及しました/etc/hosts.deny。要するに許可しないからといって拒否するわけではない

入れたらとは別にHosts.denyのディレクティブは、特定のホスト/ネットワークが接続を確立することを間接的に許可することを意味します。要するに否定しないことは許すという意味です

私の判断は正しいですか?

注1:変更するたびにsshデーモンが再起動されます(/etc/hosts.allow必須/etc/hosts.denyではありません)。

注2:私が知っている限り、許可は拒否よりも優先されます。

ベストアンサー1

暗黙の「基本拒否」があると仮定できます。つまり、何もありません。

ALL EXCEPT 192.168.122.1ホスト 192.168.122.1 にはまったく適用されないため、後続のエントリが確認されます。

あなたが持っていないと仮定古代 tcpwrappers(つまり、サポートしてビルドします-DHOSTS_ACCESS。)実際には、次のものを使用する必要がありますhosts.allow

sshd: 192.168.122.1 : DENY
sshd: ALL : ALLOW

(知っているデフォルトで許可もちろんこれは悪い習慣です)

おすすめ記事