IPマスカレーディングを許可し、最終的にプロキシ使用から切り替えるために、ゲートウェイ/プロキシ/ファイアウォールとして使用しているボックスを設定しようとしています。これはDebianスクイーズシステムです。
現在、私のホスト.allowファイルは空です(hosts.denyは言いますALL: PARANOID
)。なぜなら、squidはとにかく必要なポートに対する要求を許可するからです(また、sshを介してボックスに接続することもできます)。
iptablesは同じように動作しますか?つまり、iptablesが正しく設定されていると、ホスト.許可ファイルが空になる可能性がありますか?
答え1
短い答え:はい。 TCPwrapper(hosts.allowやhost.denyクエリなど)はiptablesとは独立したアクセス制御方法であり、1つの方法を使用しても他の方法を使用する必要はありません。唯一の関心事は、必要なアクセスが両方で許可されていることを確認することです(両方がシステムで有効になっている場合)。
答え2
hosts.*
iptablesを使用する場合、これらのファイルは必要ありません。どちらにもアクセスを拒否/許可する機能がありますが、動作方法は非常に異なります。
Network
|
IPTables
/ \
TCPWrapper Squid/Daemon
Daemon
Iptablesは、tcpwrappersの下の階層を実行するカーネルベースのパケットフィルタリングフレームワークです。何かを破棄または拒否すると、iptables
パケットはユーザー空間に到達しません。プログラムが何であれ、どのように書かれたかにかかわらず、その観点からはパケットは存在しません。
TCPwrapperとhosts.*
その機能を使用するプログラムはユーザースペースで実行され、以下を使用する必要があります。図書館ラッパーこれらのファイルを使用するか、ホストファイルを読み取り、拒否されたクライアントから受信した接続を閉じて、それをエミュレートしてください。
イカはファイルを読みませんhosts.deny|allow
。次のように指定された独自のアクセス制御実装があります。aclの位置は次のとおりです。squid.conf
。同様に、iptablesの上にSquidアクセス制御を設定でき、iptablesの上にhost.deny / allowを使用できます。このルールは、iptables がトラフィックの通過を許可する場合にのみ機能します。現在、tcp_wrappersをサポートするプログラムはあまりなく、inetd
メインスーパーサーバーとして徐々に消えています。
答え3
SSHへのnull接続を引き続き使用できる理由ホスト、許可そうかもしれないデフォルトでは、tcpwrapperはすべての接続を許可します。明示的に否定しない限り。
逆(デフォルトでは拒否)動作を実行する1つの方法は、次の行を追加することです。/etc/hosts.deny(自分を排除しないように注意してください!)
ALL: ALL
Tcpwrappers(hosts.allowとhosts.deny)は、iptablesのようにすべてのネットワークサービスでは機能しません。
通常、次のようにデーモンがlibwrapに関連付けられていることを確認して、デーモンがtcpwrappersをサポートしていることを確認できます。
$ ldd /usr/sbin/sshd | grep libwrap
libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f389b5a2000)
出力がないと、デーモンは tcpwrappers をサポートしない可能性があります。
最後に、非常に一般的な設定はiptablesを使用し、tcpwrapperは未設定のままにすることです。