1. Linuxファイアウォールの基礎 Linux ファイアウォール システムは主にネットワーク層で動作し、TCP/IP データ パケットをリアルタイムでフィルタリングおよび制限します。これは典型的なパケット フィルタリング ファイアウォール (またはネットワーク層ファイアウォール) です。 Linux システムのファイアウォール システムは、カーネル (firewalld、iptables、ebtables) の共存に基づいています。デフォルトでは、firewalld は netfilter サブシステムの管理に使用されます。
1. ファイアウォールの概要 firewalld の役割は、パケット フィルタリング メカニズムに一致するルール (またはポリシー) を提供することです。さまざまなルールを通じて、指定された送信元から送信されたデータ パケット、指定された宛先に送信されるデータ パケット、または特定のプロトコル特性を持つデータ パケットの処理方法を netfilter に指示します。ファイアウォールをより便利に整理および管理するために、firewalld は、ネットワーク ゾーンによって定義されたネットワーク リンクとインターフェイス セキュリティ レベルをサポートする動的なファイアウォール管理ツールを提供します。 IPv4、IPv6 ファイアウォール設定、イーサネット ブリッジをサポートし、2 つの構成モードがあります。
また、ファイアウォール ルール インターフェイスを直接追加するサービスまたはアプリケーションもサポートします。 2. ファイアウォールネットワークエリア Firewalld はすべてのネットワーク データ トラフィックを複数のゾーンに分割し、ファイアウォールの管理を簡素化します。データ パケットの送信元 IP アドレスや着信ネットワーク インターフェイスなどの条件に基づいて、データ トラフィックを適切な領域に転送するファイアウォール ルール。 システムに入るパケットの場合、最初に確認するのはその送信元アドレスです。
デフォルト ゾーンは別個のゾーンではなく、システム上で定義された他のゾーンを指します。デフォルトでは、デフォルト ゾーンはパブリックですが、これは変更できます。上記の一致ルールは順番に実行され、最初に一致したルールが優先されます。各エリアでは、一連のサービスやポートを開いたり閉じたりするように設定できます。firewalld の各定義済みエリアには、デフォルトで開かれるサービスが設定されています。 3. ファイアウォール定義領域の説明
2.firewalldファイアウォールの設定方法 Centos 7 システムでは、firewalld を次の 3 つの方法で設定できます。
通常、設定ファイルを直接編集することは推奨されません。 1.firewalld-cmdの基本コマンド [root@centos01 ~]# systemctl start firewalld <!--firewalld を起動します--> [root@centos01 ~]# systemctl enable firewalld<!--起動時に自動的に起動するようfirewalldを設定する--> [root@centos01 ~]# systemctl status firewalld <!--ファイアウォールの実行状態を確認します--> [root@localhost ~]# firewall-cmd --state <!-- ファイアウォールの権限ステータスを表示します --> ランニング [root@centos01 ~]# systemctl stop firewalld<!--firewalldを停止します--> [root@centos01 ~]# systemctl enable firewalld<!--起動時にfirewalldが自動的に起動しないように設定します--> [root@centos01 ~]# firewall-cmd --get-zones <!--ファイアウォールの定義済み領域を表示します--> [root@centos01 ~]# firewall-cmd --get-service <!--ファイアウォールでサポートされている定義済みのサービス タイプを表示します--> [root@centos01 ~]# firewall-cmd --get-default-zone <!--システムのデフォルトゾーンを表示します--> [root@localhost /]# ファイアウォール-cmd --reload <!--ファイアウォールを再読み込み--> [root@centos01 ~]# firewall-cmd --get-active-zones <!-- アクティブ化されたエリアを表示 --> [root@centos01 ~]# firewall-cmd --get-icmptypes <!--定義済みのICMPタイプを表示--> アドレスが到達不能、ヘッダーが不正、通信が禁止、宛先が到達不能 エコー応答、エコー要求、断片化が必要、ホスト優先順位違反、ホスト禁止 ホストリダイレクト ホスト不明 ホスト到達不能 IP ヘッダー不良 近隣広告 近隣要請ネットワーク禁止ネットワークリダイレクトネットワーク不明 ネットワークに到達できません ルートがありません パケットが大きすぎます パラメータに問題があります ポートに到達できません 優先順位カットオフ プロトコル到達不能 リダイレクト 必須オプションがありません ルータ広告、ルータ要請、ソースクエンチ、ソースルート失敗、時間超過 タイムスタンプ応答、タイムスタンプ要求、tos ホストリダイレクト、tos ホスト到達不能 tos ネットワーク リダイレクト、tos ネットワーク到達不能、再構築中の ttl ゼロ 転送中の ttl ゼロ、不明なヘッダー タイプ、不明なオプション firewall-cmd --get-icmptypes コマンドの実行結果におけるいくつかのブロック タイプの意味は次のとおりです。
2. ファイアウォールゾーン管理オプション
以下はエリアマネジメントの例です。 [root@centos01 ~]# firewall-cmd --get-default-zone <!--現在のシステムのデフォルトゾーンを表示します--> [root@centos01 ~]# firewall-cmd --list-all<!--デフォルトエリアのすべてのルールを表示--> [root@centos01 ~]# firewall-cmd --get-zone-of-interface=ens32 <!-- ens32 インターフェースが配置されているゾーンを表示します --> 内部 [root@centos01 ~]# firewall-cmd --zone=internal --change-interface=ens32 <!--ens32 インターフェースに対応する領域を内部領域に変更します --> インターフェースは NetworkManager の制御下にあり、ゾーンは「内部」に設定されています。 成功 [root@centos01 ~]# firewall-cmd --zone=internal --list-interface <!--内部領域のインターフェースリストを表示します--> ens32 [root@centos01 ~]# firewall-cmd --get-active-zones <!-- アクティブ化されたすべてのゾーンを表示 --> 内部 インターフェース: ens32 3. ファイアウォールサービス管理 管理を容易にするために、firewalld は多くのサービスを事前定義し、/usr/lib/firewalld/services/ ディレクトリに保存します。サービスは、単一の XML 構成ファイルを通じて指定されます。これらの構成ファイルの名前は、service-name.xml という形式で付けられます。各ファイルは、ssh サービスなどの特定のネットワーク サービスに対応しています。サービス設定ファイルを /etc/firewalld/services/ ディレクトリに配置する必要があります。サービス構成には次の利点があります。 サービス名によるルールの管理がよりユーザーフレンドリーになります。 サービスごとにポート グループを編成するモードの方が効率的です。サービスが複数のネットワーク ポートを使用する場合、サービス構成ファイルは、これらのポートのルール管理のためのバッチ操作のショートカットを提供するのと同等です。 1)firewalld-cmd コマンド領域におけるサービス管理の共通オプションの説明:
2) 以下は、firewalld サービス管理の例です (デフォルト ゾーンにアクセスを許可するサービスを設定する)。 [root@centos01 ~]# firewall-cmd --list-services <!--デフォルト領域でアクセスが許可されているすべてのサービスを表示します--> dhcpv6 クライアント ssh [root@centos01 ~]# firewall-cmd --add-service=http <!--http サービスへのアクセスを許可するデフォルトの領域を設定します --> 成功 [root@centos01 ~]# firewall-cmd --add-service=https <!--https サービスへのアクセスを許可するデフォルトの領域を設定します--> 成功 [root@centos01 ~]# firewall-cmd --list-services <!--デフォルト領域でアクセスが許可されているすべてのサービスを表示します--> dhcpv6クライアントsshhttpshttp 3) 以下は、firewalld サービス管理の例です (内部ゾーンに対してアクセスを許可するサービスの設定)。 [root@centos01 ~]# ファイアウォールコマンド --zone=internal --add-service=mysql <!--MySQL サービスへのアクセスを許可する内部領域を設定します--> 成功 [root@centos01 ~]# ファイアウォールコマンド --zone=internal --remove-service=samba-client <!--Samba クライアント サービスへのアクセスを許可しないよう内部領域を設定します--> 成功 [root@centos01 ~]# ファイアウォール-cmd --zone=internal --list-services <!--内部領域でアクセスが許可されているすべてのサービスを表示します--> ssh mdns dhcpv6 クライアント mysql 4. ポート管理 サービスを構成するときに、サービス名を使用して定義済みのネットワーク サービスを構成することができ、サービスに関連するポートが自動的に開かれます。ただし、事前定義されていないサービスの場合は、指定されたゾーンのポートを手動で追加することしかできません。たとえば、次の操作を実行すると、内部ゾーンでポート 443/TCP を開くことができます。次に例を示します。 [root@centos01 ~]# ファイアウォール-cmd --zone=internal --add-port=443/tcp <!--内部エリアでポート 443/tcp を開きます--> 成功 内部ゾーンのポート 443/TCP へのアクセスを禁止する場合は、次のコマンドを実行します。 [root@centos01 ~]# ファイアウォール-cmd --zone=internal --remove-port=443/tcp <!--内部エリアのポート 443/tcp へのアクセスを禁止します--> 成功 上記の設定はすべて一時的な設定です。現在の設定を永続的な設定として保存する場合は、次のコマンドを使用します。 [root@centos01 ~]# ファイアウォールコマンド --runtime-to-permanent 成功 これを永続的なルールとして直接設定するには、次のように --permanent オプションを含める必要があります。 [root@centos01 ~]# firewall-cmd --add-icmp-block=echo-request --permanent <!--ping を禁止--> 成功 [root@centos01 ~]# ファイアウォールコマンド --zone=external --add-icmp-block=echo-request --permanent <!-- 外部エリアを ping 禁止に設定 --> 成功 3. ファイアウォールの2つの設定モード 前述のように、firewall-cmd コマンド ツールには 2 つの構成モードがあります。ランタイム モードは、現在メモリ内で実行されているファイアウォール構成を参照し、システムまたは firewalld サービスが再起動または停止されると無効になります。永続モードは、ファイアウォールが再起動または再ロードされたときのルール構成を参照し、構成ファイルに永続的に保存されます。 firewall-cmd コマンド ツールには、構成モードに関連する 3 つのオプションがあります。
以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: MySQL 5.7.21 解凍バージョンのインストールと設定のグラフィックチュートリアル
>>: node.js の require メソッドの読み込みルールの詳細な説明
背景:サイトはフロントエンドとバックエンドから分離されています: vue+springbootフロン...
成果を達成するステップ1. 初期index.html最初の写真、一番上の写真を作成します。写真の i...
方法1コードをコピーコードは次のとおりです。 document.getElementById(&qu...
最近、業務上のボタンの増加により、ページレイアウトにボタンが多すぎて、ページが美しくなく、ユーザーエ...
この記事では、JavaScript メッセージ ボードでメッセージを追加および削除する小さな例を詳細...
Linux では、ハードディスクの追加やパーティションの再マウントといった状況に頻繁に遭遇します。こ...
1998 年の CSS2 勧告の時点で、テーブルは徐々に舞台から消え、歴史の中に記録されるようになり...
インストールパス: /application/mysql-5.5.56 1. 事前準備MySQL 依...
ウィンドウ環境にmysql5.7.21をインストールします。詳細は次のとおりです。 1. MySQL...
序文この記事では、MySQL 8.0 の新機能を使用して再帰クエリを実装します。詳細なサンプル コー...
目次1. 縦方向のスライス1.1 垂直データベース1.2 垂直テーブル分割2. 水平(横断)セグメン...
nginx をコンパイルしてインストールし、一定期間使用した後、現在のバージョンに脆弱性があることや...
目次リアクティブ機能使用法: toRef 関数 (理解するだけ)使用法: ref関数レスポンシブデー...
1. リテラルとローカル変数へのアクセスは最も高速ですが、配列要素とオブジェクト メンバーへのアクセ...
まずサンプルコードを見てみましょう: #/bin/bash cal 日付 -u echo "...