web-dev-qa-db-ja.com

hosts。[allow | deny]とiptablesを使用してLinuxボックスを保護することの違いは何ですか?

タイトルが示すように、私はLinuxボックスを持っています。私が知る限り、hosts.allow /hosts.denyまたはiptablesを使用してセキュリティを確保できます。違いは何ですか?使用できる別のメカニズムはありますか?

16
Tree77

IPTablesはカーネルレベルで機能します。一般的に、これはアプリケーションやプロセスの知識がないことを意味します。ほとんどの場合、さまざまなパケットヘッダーから取得した内容に基づいてのみフィルタリングできます。

ただし、Host.allow/denyはアプリケーション/プロセスレベルで動作します。システムで実行されているさまざまなプロセスまたはデーモンのルールを作成できます。

したがって、たとえばIPTablesはポート22でフィルタリングできます。SSHはこのポートを使用するように構成でき、通常は使用されますが、別のポートに配置するように構成することもできます。 IPTablesは、それがどのポートにあるかを認識せず、TCPヘッダー内のポートについてのみ認識します。ただし、hosts.allowファイルは、opensshデーモンなどの特定のデーモン用に構成できます。

選択する必要がある場合、私は通常、少なくともIPTablesを選択します。私はhosts.allowを素晴らしいボーナスと見なしています。デーモンレベルの方が簡単なように思えますが、IPTablesは、実際に遠くまで到達する前にパケットをブロックします。セキュリティを使用すると、より早く何かをブロックできます。ただし、この選択を変更する状況があると確信しています。

22
Kyle Brandt

iptablesは、アプリケーションに到達する前にアクセスをブロックしますが、hosts.allow/hosts.denyはPAMの一部であり、アプリケーションがPAMチェックを実装し、ファイルを正しく処理する必要があります。どちらも便利で、両方を配置するとさらに便利です。

0
James L