2.8. ファイアウォール
情報セキュリティーは通常、製品ではなくプロセスとして見なされます。ただし、標準のセキュリティー実装は通常、アクセス権限を制御し、承認、識別可能、およびトレース可能なユーザーに対してネットワークリソースを制限するために、いくつかの専用メカニズムを採用しています。Red Hat Enterprise Linux には、管理者およびセキュリティーエンジニアがネットワークレベルのアクセス制御の問題で役立つツールがいくつか含まれています。
ファイアウォールは、ネットワークセキュリティー実装の中核となるコンポーネントの 1 つです。いくつかのベンダーのマーケットファイアウォールソリューションは、市場のあらゆるレベルに対応します。1 つの PC からデータセンターソリューションを保護することで、重要なエンタープライズ情報を保護できます。ファイアウォールは、Cisco、Nokia、Sonicwall のファイアウォールアプライアンスなどのスタンドアロンのハードウェアソリューションになります。Checkpoint、mcAfee などのベンダーは、ホームおよびビジネスマーケット用のプロプライエタリーソフトウェアファイアウォールソリューションも開発しています。
ハードウェアとソフトウェアのファイアウォールの違いとは別に、ファイアウォール機能とは別のソリューションを分離する方法にも違いがあります。一般的なファイアウォールの種類と機能について 表2.6「ファイアウォールの種類」 詳しく説明します。
方法 | 説明 | 利点 | デメリット |
---|---|---|---|
NAT | ネットワークアドレス変換 (NAT)は、プライベート IP サブネットワークをパブリック IP アドレスの 1 つまたは小さなプールの背後で配置し、すべての要求を複数のソースではなく 1 つのソースにマスカレードします。Linux カーネルは、Netfilter カーネルサブシステムを介して、NAT 機能が組み込まれています。 |
LAN 上のマシンに対して透過的に設定できます。
1 つ以上の外部 IP アドレスの背後にある多くのマシンおよびサービスを保護すると、管理作業が容易になります。
LAN からのユーザーアクセスの制限は、NAT ファイアウォール/ゲートウェイでポートを開いて閉じることで設定できます。
|
ユーザーがファイアウォール外のサービスに接続したら、悪意のあるアクティビティーを防ぐことはできません。
|
パケットフィルター | パケットフィルタリングファイアウォールは、LAN を通過する各データパケットを読み込みます。ファイアウォール管理者が実装するプログラム可能なルールのセットに基づいて、ヘッダー情報でパケットを読み取りおよび処理できます。Linux カーネルには、Netfilter カーネルサブシステムを介して、パケットフィルタリング機能が組み込まれています。 |
フロントエンドユーティリティーでカスタマイズ iptables が可能です。
すべてのネットワークアクティビティーがアプリケーションレベルではなくルーターレベルでフィルターされるため、クライアント側でカスタマイズする必要はありません。
パケットはプロキシー経由で送信されないため、クライアントからリモートホストへの直接接続により、ネットワークパフォーマンスが向上します。
|
プロキシーファイアウォールのようなコンテンツのパケットをフィルタリングすることはできません。
プロトコル層でパケットを処理しますが、アプリケーション層でパケットをフィルターすることはできません。
複雑なネットワークアーキテクチャーにより、パケットフィルタリングのルールを確立することが困難になります。特に、IP マスカレード またはローカルサブネット、DMZ ネットワークと組み合わせると、パケットフィルタリングのルールを確立するのが困難になります。
|
Proxy | プロキシーファイアウォールは、LAN クライアントからの特定のプロトコルまたはタイプのすべての要求をプロキシーマシンに絞り込み、ローカルクライアントの代わりにインターネットへの要求を行います。プロキシーマシンは、悪意のあるリモートユーザーと内部ネットワーククライアントマシンとの間のバッファーとして機能します。 |
管理者は、LAN 外のアプリケーションやプロトコルを制御できます。
プロキシーサーバーの中には、インターネット接続を使用して要求しなくても、頻繁にアクセスされるデータをローカルでキャッシュできるものもあります。これにより、帯域幅の消費を減らすことができます。
プロキシーサービスはログに記録および監視できるので、ネットワーク上のリソース使用率をより詳細に制御できます。
|
プロキシーは通常、アプリケーション固有(HTTP、Telnet など)、またはプロトコル制限(ほとんどのプロキシーは TCP 接続サービスでのみ機能します)です。
アプリケーションサービスはプロキシーの背後で実行できないため、アプリケーションサーバーは別のネットワークセキュリティー形式を使用する必要があります。
すべての要求および送信がクライアントから直接リモートサービスへ直接渡すのではなく、プロキシーがネットワークのボトルネックとなる可能性があります。
|
2.8.1. netfilter および IPTables
Linux カーネルは、Netfilter と呼ばれる強力なネットワークサブシステムを特長としています。Netfilter サブシステムは、ステートフルまたはステートレスパケットフィルタリング、NAT および IP マスカレードサービスを提供します。また、netfilter には、高度なルーティングおよび接続状態管理用に IP ヘッダー情報をマスジングする機能もあります。netfilter は、iptables ツールを使用して制御します。
2.8.1.1. iptables の概要
Netfilter の機能および柔軟性は、iptables 管理ツール(以前のコマンドラインツール)を使用して実装されます。これは ipchains、Linux カーネル 2.4 以上の Netfilter/iptables に置き換えられます。
iptables Netfilter サブシステムを使用して、ネットワーク接続、検査、処理を強化します。iptables 高度なロギング、事前およびルーティング後のアクション、ネットワークアドレス変換、およびポート転送すべてはすべて 1 つのコマンドラインインターフェースに保管されます。
本セクションでは、の概要を説明し iptablesます。詳細はを参照してください 「iptables」。