TCP ラッパーを使用して Linux でのネットワーク サービス セキュリティを強化する

高洛峰
リリース: 2016-11-15 09:25:00
オリジナル
1279 人が閲覧しました

この記事では、TCP ラッパーとは何か、および Linux サーバー上で TCP ラッパーを構成してネットワーク サービスのアクセス許可を制限する方法について説明します。始める前に、TCP ラッパーによって適切に構成されたファイアウォールの必要性がなくなるわけではないことを明確にしておく必要があります。

現時点では、このツールはシステムの究極のセキュリティ対策ではなく、ホストベースのアクセス制御リストとして考えることができます。どちらか一方だけを優先するのではなく、ファイアウォールと TCP ラッパーを使用することで、サービスが単一障害点にならないようにすることができます。

hosts.allow ファイルと hosts.deny ファイルを正しく理解する

ネットワーク要求がホストに到達すると、TCP ラッパーは hosts.allow と hosts.deny (この順序で) を使用して、クライアントがホストの使用を許可する必要があるかどうかを判断します。提供されたサービス。

デフォルトでは、これらのファイルの内容は空であるかコメントアウトされているか、まったく存在しません。そのため、あらゆるリクエストは TCP フィルターを介して許可され、システムはファイアウォールに依存してすべての保護を提供するようになります。それは私たちが望んでいることではないからです。冒頭で説明した理由により、次の 2 つのファイルが存在することを確認してください:

# ls -l /etc/hosts.allow /etc/hosts.deny
ログイン後にコピー

2 つのファイルの記述構文ルールは同じです:

<services> : <clients> [: <option1> : <option2> : ...]
ログイン後にコピー

ファイル内では、

1 のサービスが参照されます。対応するサービスはカンマ区切りのリストです。

2. クライアントは、ルールの影響を受けるホスト名または IP アドレスをカンマで区切って指します。次のワイルドカードも使用できます:

1).ALL はすべてを意味し、クライアントとサービスに適用されます。

2).LOCAL は、localhost など、公式ドメイン名に完全修飾ホスト名 (FQDN) を持たないマシンを照合することを意味します。

3).KNOWN は、ホスト名、ホストアドレス、またはユーザーが既知であることを意味します (つまり、DNS または他のサービスを通じて解決できる)。

4).UNKNOWN は KNOWN の反対です。

5).PARANOID 逆引き DNS ルックアップで異なるアドレスが返された場合、接続は切断されます (最初に IP に基づいてホスト名を解決し、次にホスト名に基づいて IP アドレスを取得します)。

3. 最後に、コロンで区切られたアクション リストは、ルールがトリガーされたときに実行されるアクションを表します。

サービスのアクセスを許可する /etc/hosts.allow ファイル内のルールは、/etc/hosts.deny 内のルールよりも優先されることに注意してください。また、2 つのルールが同じサービスに適用される場合、最初のルールのみが考慮されます。

残念ながら、すべてのネットワーク サービスが TCP フィルターをサポートしているわけではありません。特定のサービスが TCP フィルターをサポートしているかどうかを確認するには、次のコマンドを実行します。

# ldd /path/to/binary | grep libwrap
ログイン後にコピー

上記のコマンドを実行して次の結果が得られれば、TCP フィルターは正常です。 sshd と vsftpd がサポートされている場合の例として、出力を以下に示します。 ️

TCP フィルターを使用してサービス許可を制限する方法TCP ラッパーを使用して Linux でのネットワーク サービス セキュリティを強化する

/etc/hosts.allow と /etc/hosts.deny を編集するときは、最後のフィルターを使用してください。 Enter キーを押して後に新しい行を追加します空白ではない行。

SSH および FTP サービスで localhost と 192.168.0.102 のみを許可し、他のすべてのユーザーを拒否するには、次の内容を /etc/hosts.deny に追加します:

sshd,vsftpd : ALL 
ALL : ALL
ログイン後にコピー

そして、次の内容を /etc/hosts.allow ファイルに追加します。 :

sshd,vsftpd : 192.168.0.102,LOCAL
ログイン後にコピー
これらの変更はすぐに有効になり、再起動は必要ありません。

下の図では、最後の行の LOCAL を削除すると、FTP サーバーが localhost で使用できなくなることがわかります。ワイルドカードを追加すると、サービスが再び利用できるようになりました。 ️ le.com が利用可能な場合は、hosts.allow に次の行を追加します:

ALL : .example.com

1.0/24 マシンで vsftpd サービスにアクセスするには、次の行を追加します。 hosts.deny ファイルの行:

vsftpd : 10.0.1. TCP ラッパーを使用して Linux でのネットワーク サービス セキュリティを強化する

最後の 2 つの例では、クライアント リストの各行の先頭と末尾にあるドットに注目してください。これは、「名前または IP にその文字列が含まれるすべてのホストまたはクライアント」を意味するために使用されます

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート