web-dev-qa-db-ja.com

/etc/hosts.allowとdenyhostsの/ var / lib / denyhosts / allowed-hostsの違いは何ですか?

言い換えれば、denyhostsが単に/etc/hosts.allowを参照しないのはなぜですか?なぜそれはそれ自身のファイルを持っているのですか?

一部のdenyhostsチュートリアル /var/lib/denyhosts/allowed-hostsについても言及せずに、このファイルに管理IPを追加するようにユーザーに指示します。これらのチュートリアルは単に間違っていますか?または、これは意図したとおりに機能しますか(つまり、denyhostsが/etc/hosts.allowに追加されたIPをロックアウトするのを防ぎますか)?

2
Patrick

OK、それで私は2つの間の相互作用を理解しました。基本的に、DenyHostsは/etc/hosts.allowとの相互作用はまったくありませんが、そこにIPアドレスを入れて、DenyHostsが禁止を試みるのを防ぐことができます。君は。

これを実行できる理由は、 TCPラッパーは最初にhosts.allowをチェックします そして、そこにいる場合は、hosts.deny(DenyHostsによって配置された可能性がある場所)のチェックを停止するためです。

そもそもDenyHostsがあなたをそこに置くのを防ぎたいのなら、彼らのプライベートな「allowed-hosts」ファイルに自分自身を追加するだけです。

^もちろん、FreeBSDのように、/ etc /hosts.denyの代わりに/etc/hosts.allowを実際に使用するシステムを使用している場合は、次のようにする必要があります。 DenyHostsに、禁止されたエントリを探す代わりにそこを探すように伝えます

0
Patrick

/etc/hosts.allowおよび/etc/hosts.denyはTCPラッパーに使用され、さまざまな方法で多くのサービスに影響を与えますが、その主な目的は、主要なサービスへのきめ細かいアクセス制御を行うことです。

denyhostsは基本的に、IPの攻撃を動的にブロックするブルートフォース保護システムであり、ブルートフォースの試みまたは許可されたために完全にブロックされたACLではるかに単純です(許可リストにあるか、失敗のしきい値を超えずに正しいログインであるため)

このACLは、そのままでは単純すぎてhosts.allow/hosts.denyに入れることができず、denyhostsはhosts.allowまたはhosts.denyを読み取ることができません(まだ)

また、denyhostsはファイアウォール(IPtables)レベルで機能し、TCPラッパー(hosts.allow/hosts.deny)はファイアウォールの背後にあるため、このような不正なリクエストを許可しない方が理にかなっています。 TCPラッパーファイルを使用するために必要となるファイアウォール。

iPtablesとTCPラッパーの違いについてもう少し説明するには、このサイトでこの質問と回答を見てください: ホストを使用してLinuxボックスを保護することの違いは何ですか? 。[allow | deny] vs iptables?

1
anthonysomerset