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 オンラインチャット機能を実現

推薦する

Linux で MySQL スケジュールタスクを実装する方法

前提: ストアド プロシージャは、毎日午後 10 時から午前 5 時まで 10 分ごとに実行されます...

JavaScript の組み込み Date オブジェクトの詳細な説明

目次日付オブジェクト日付オブジェクトの作成新しい日付()日付を取得する()取得日()月を取得する()...

CSSポジショニングによる階層関係の問題の詳細な説明

絶対、相対、固定位置の位置決めabsolue: 絶対配置。上、下、左、右を使用して、配置先の親要素に...

CenterOS7 インストールおよび構成環境 jdk1.8 チュートリアル

1. まずcenterosに付属のJDKをアンインストールします rpm-qa|grepopenjd...

Alibaba Cloud ECS centos6.8 に MySql5.7 をインストールして設定するチュートリアル

Alibaba Cloud yum コマンドでのデフォルトの MySQL バージョンは 5.17**...

alpineをベースにdockerfileで作成したtomcatイメージの実装

1.アルパインイメージをダウンロードする [root@docker43 ~]# docker pul...

Tomcat の maxPostSize 設定に関する問題と注意事項

1. maxPostSize を設定する理由は何ですか? tomcat コンテナには送信データのサイ...

Windows 10 と MySQL 5.5 のインストールとインストールなしの使用の詳細なチュートリアル (画像とテキスト)

この記事では、Windows 10環境でのMySQL 5.5のインストールと使用方法を紹介します。リ...

MySQLがクエリキャッシュをキャンセルした理由

MySQL には以前、クエリ キャッシュ (Query Cache) がありました。8.0 以降では...

js を使用して XML オンライン エディターを作成する例

目次序文オンラインXMLエディタの必要性テクノロジー事前調査ビジュアルプログラミングVSCODEプラ...

CSS を使用して 3 列のアダプティブ レイアウト (両側は固定幅、中央はアダプティブ) を実現します。

いわゆる 3 列適応レイアウトとは、両側の幅が固定され、中央のブロックの幅が適応されることを意味しま...

Mysql のフィールドのデータの一部をバッチ置換する (推奨)

MYSQL のフィールドのデータの一部をバッチで置き換えます。具体的な導入は次のとおりです。 1....

Vue で v-for を更新する方法

ヒント:配列変更メソッドによりv-forが更新され、ページが更新されます。配列を変更しないメソッド:...

wgetはウェブサイト全体(サブディレクトリ全体)または特定のディレクトリをダウンロードします

wgetコマンドを使用して、親ディレクトリの下のサブディレクトリ全体をダウンロードします。親ディレク...

Vue は小数点付きの星評価を実装します

この記事では、小数点付きの星評価を実装するためのVueの具体的なコードを参考までに共有します。具体的...