Centos での TCPWrappers アクセス制御の実装

Centos での TCPWrappers アクセス制御の実装

1. TCP ラッパーの概要

TCP Wrappers は TCP サービス プログラムを「ラップ」し、TCP サービス プログラムのポートを代わりにリッスンして、セキュリティ検出プロセスを追加します。外部接続要求は、実際のサービス プログラムにアクセスする前に、まずこのセキュリティ検出層を通過し、許可を得る必要があります。下の図に示すように、TCP Wrappers は保護されたサービスへのアクセス試行をすべて記録し、管理者に豊富なセキュリティ分析情報を提供することもできます。

2. TCPラッパーのアクセス戦略

TCP ラッパー メカニズムは、さまざまなネットワーク サービス プログラムを保護し、サービスにアクセスするクライアント アドレスに対してアクセス制御を実行します。対応する 2 つのポリシー ファイルは /etc/hosts.allow と /etc/hosts.deny であり、それぞれ許可ポリシーと拒否ポリシーを設定するために使用されます。

1. ポリシー設定形式

2 つのポリシー ファイルの機能は反対ですが、構成レコードの形式は次のように同じです。
<サービス プログラム リスト>: <クライアント アドレス リスト>

サービス プログラム リストとクライアント アドレス リストはコロンで区切られ、各リスト内の複数の項目はコンマで区切られます。

1) サービスプログラムリスト

  • ALL: すべてのサービスを表します。
  • 単一のサービス プログラム:「vsftpd」など。
  • 複数のサービス プログラムのリスト: 「vsftpd.sshd」など。

2) クライアントアドレスリスト

  • ALL: 任意のクライアント アドレスを表します。
  • LOCAL: ローカル アドレスを表します。
  • 単一の IP アドレス: 「192.1668.10.1」など
  • ネットワーク セグメント アドレス: 「192.168.10.0/255.255.255.0」など。
  • 「.」で始まるドメイン名: たとえば、「benet.com」は benet.com ドメイン内のすべてのホストに一致します。
  • ドットで終わるネットワーク アドレス: たとえば、「192.168.10.」は、192.168.10.0/24 ネットワーク セグメント全体に一致します。
  • 埋め込みワイルドカード「?」: 前者は任意の長さの文字を表し、後者は 1 文字のみを表します。たとえば、「192.168.10.1」は、192.168.10.1 で始まるすべての IP アドレスに一致します。 「.」で始まるまたは終わるパターンと混在させることはできません。
  • 複数のクライアント アドレスのリスト: 「192.168.1.、172.16.16.、.benet.com」など。

2. アクセス制御の基本原則

TCP Wrappers メカニズムのアクセス ポリシーに関しては、適用時に次の順序と原則に従います。まず、/etc/hosts.allow ファイルをチェックします。一致するポリシーが見つかった場合、アクセスが許可されます。そうでない場合は、/etc/hosts.deny ファイルのチェックを続けます。一致するポリシーが見つかった場合、アクセスは拒否されます。上記の 2 つのファイルに一致するポリシーが見つからない場合、アクセスが許可されます。

3. TCP ラッパーの設定例

TCP Wrappers メカニズムが実際に使用される場合、より緩いポリシーは「すべてを許可し、一部を拒否する」ことになり、より厳しいポリシーは「一部を許可し、すべてを拒否する」ことになる場合があります。前者の場合は、hosts.deny ファイルに対応する拒否ポリシーを追加するだけで済みます。後者の場合は、host.allow に許可ポリシーを追加するだけでなく、hosts.deny ファイルで「ALL:ALL」の拒否ポリシーを設定する必要もあります。

次に例を示します。

ここで、IP アドレス 192.168.10.1 のホストまたは 172.16.16 ネットワーク セグメント内のホストからのみ sshd サービスにアクセスします。他のアドレスは拒否されます。次の操作を実行できます。

[root@centos01 ~]# vim /etc/hosts.allow 
192.168.10.1 172.16.16.* へ
[root@centos01 ~]# vim /etc/hosts.deny 
sshd:すべて

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Centos 7.4 でリモート アクセス制御を実装する方法

<<:  MySQLのinnodb_data_file_pathパラメータを変更する際の注意事項

>>:  Vue が Web オンラインチャット機能を実現

推薦する

aタグのhref属性とonclickイベントの比較

まず、href 属性と onclick イベントの実行順序について説明します。マウスが a タグをク...

純粋な CSS3 で実装された三目並べゲーム

操作効果: html <div class="三目並べ"> <...

SQL実行ステップの詳細な分析

SQL実行ステップの詳細な分析まず、ステートメントが実行される順序を見てみましょう。 (8)選択する...

Mysqlは隣接リスト(隣接リスト)を通じてツリー構造を保存します。

以下の内容では、隣接リストを使用してツリー構造を保存する MYSQL のプロセスとソリューションを紹...

Vue+SpringBoot+Shiroのクロスドメイン問題を解決する

目次1. Vueフロントエンドを構成する1. クロスドメイン構成を開発する2. 本番環境のクロスドメ...

Win Server 2019 サーバーの IIS 構成と Web サイトの簡単な公開

1.まずサーバーにリモート接続する2. サーバーマネージャーを開く 3役割と機能の追加 4サーバープ...

docker pruneコマンドは、あまり使用されないデータを定期的にクリーンアップするために使用できます。

目次docker システム df docker システム プルーンNoneオブジェクトをクリーンアッ...

VmWareでcentos7をインストールするときにインターネットにアクセスできない問題の解決策

Centos7 のインストール時に VmWare がインターネットにアクセスできない場合はどうすれば...

Dockerコンテナ間のホスト間通信 - オーバーレイベースの実装方法

オーバーレイネットワーク分析組み込みのホスト間ネットワーク通信は、常に Docker の待望の機能で...

HTML テーブル マークアップ チュートリアル (9): セル間隔属性 CELLSPACING

テーブルがコンパクトになりすぎないように、テーブル内のセル間に一定の距離を設定できます。基本的な構文...

ビューポートの基本原理と詳細な使用方法

1. ビューポートの概要モバイル ブラウザは通常、画面よりも幅の広い仮想ウィンドウにページをレンダリ...

HTML の一般的でないタグ optgroup、sub、sup、bdo のサンプルコード

Optgroup は、ドロップダウン リストのコンテンツをより整理するために、select タグで使...

携帯電話向けウェブページ作成のヒント

現在では多くの人がスマートフォンを使用していることを考慮すると、モバイル Web ページの書き方は、...

FileZilla_Server:425 データ接続を開けない問題を解決する方法

FileZilla Serverをサーバーにインストールすると、425データ接続を開けない問題が発生...