インターネットでは、同社は、そのようなので、上のWebサイト、電子メール、FTPサーバやアプリケーションなど、様々な勃起を通じてユーザーにネットワークサービスを数多く提供しています。そして、それらのほとんどはLinuxサーバを使用して構築されています。だから、あなたも悪意を持って、内部ネットワークを入力し、不正アクセスをフィルタリングし、これらのサーバーを保護したいです。-私たちは、に使用する必要がありますファイアウォール。
-ファイアウォールハードウェアファイアウォールに加えて、Linuxのファイアウォールシステムは、主にCentOSの7ファイアウォールシステム今日理解し、また、非常に強いですfirewalldを。
、Linuxのファイアウォールの基礎
Linuxシステムかどうか、Windowsシステムのファイアウォールまたはハードウェアファイアウォールの設定は、異なるネットワークおよびネットワークセキュリティの間に一連の構成要素の組み合わせは、異なるセキュリティドメイン情報()口の中だけです。テストを通じて、制限し、ファイアウォールを越えたデータの流れを変えます。外部は、可能な限り、内部ネットワーク情報、状態の構造と動作を遮断し、外部アクセス外部ネットワークは選択肢を持って受け入れることができます。内部ネットワークと外部ネットワークとの間で、当社の内部ネットワークへの特定の脅威の発生の知識がなくても内部ネットワークに侵入を避けるために、安全性の障壁を設定します。
パケットフィルタリング、アプリケーションプロキシ、ステートフルインスペクション:伝統的な意味からは、ファイアウォールは、3つのカテゴリに分類されます。どんなに複雑な最終的な分析では、ファイアウォールの実装では、これら3つの技術に基づいて拡張されていません。
Linuxのファイアウォールシステムは、主にネットワーク層で動作している、典型的なパケットフィルタ(ネットワーク層ファイアウォールとして知られています)。
パケットフィルタリングファイアウォールは動作します:
- IPパケットのネットワーク層に取り組みます。
- 静的に開いているポートは、特定のセキュリティリスクを持っています。
- パケット内のIPアドレスとポートに反映された情報の処理;
ステートフルインスペクションファイアウォールが動作します:
- ネットワーク層で動作します。
- 動的にポートを開きます。
アプリケーションプロキシファイアウォールは動作します:
- アプリケーション層で動作します。
非常に安定した性能と高効率を両立し、従ってアプリケーションの広い範囲を得るために、Linuxカーネルのコーディングシステムに基づいて、ファイアウォールシステム。Linuxのファイアウォールシステムは、主に以下のとおりです。firewalld、iptablesの、ebtablesの。しかし、デフォルトでは、netfilterのサブシステムを管理するためにCentOSの7のシステムでfirewalld。
- netfilterのは:Linuxカーネルのファイアウォールのパケットフィルタリングの内部構造を指し、プログラムやファイル、「のno形式はありませんカーネルモード」ファイアウォールシステムの機能は、
- firewalldは:Linuxのファイアウォールを管理するためのコマンドプログラムを指し、「あるユーザーモードのファイアウォール」管理システム。
厳密に言えば、netfilterのは、ちょうどnetfilterのツールのみを管理firewalld、Linuxシステムのファイアウォールです!
二、firewalldの概要
1.firewalldプロフィール
firewalldは、Webリンクと定義された領域をサポートするための管理ツールをネットワークへの動的なファイアウォールのセキュリティレベルのインターフェイス、サポートはIPv4、IPv6のファイアウォールやイーサネットブリッジを提供し、2つの設定モードがあります恒久的な構成と実行時設定を。また、ファイアウォールルールを追加するには、直接のサービスやアプリケーションをサポートしています。
エリア2.firewalld
firewalldすべてのネットワークトラフィックは、それによって、ファイアウォールの管理を簡素化し、複数の領域に分割されています。パケットまたは着信ネットワークインターフェース及び他の条件の送信元IPアドレス、データ・トラフィックは、対応する領域のファイアウォールルールに転送されます。システムへのパケットデータのために、それは最初の送信元アドレスがチェックされます。
firewalldデータ処理の流れ:
まず、送信元アドレスがチェックされています。
- ソースアドレスが特定の領域に関連する場合は、ルールによって確立された領域が実行されます。
- 送信元アドレスは、特定のエリア、着信ネットワークインタフェースと領域によって確立されたルールの実装の使用領域に関連付けられていない場合。
- ネットワークインターフェースは、特定の領域に関連付けられていない場合、デフォルトの領域と領域によって確立されたルールを適用。
デフォルトの領域が別の領域ではなく、システムの実装に定義されたいくつかの他の領域。デフォルトでは、デフォルトのゾーンは、システム管理者は、実際の状況に応じて変更することができ、公開されています。
その他のマッチングルール、順序に従って、最初に一致したルールは、(停止を見つけ、上から下へ!)勝ち
示すように、各領域で構成することができるサービスまたはポートの範囲が開閉されるように、それぞれの事前定義された領域firewalldは、対応するサービスのデフォルト数によって開かれています。
送信トラフィック:それは単に送信トラフィックと呼ばれるファイアウォールを介してリソースそのものではなく、トラフィックにアクセスするためのファイアウォールではありません。
3.firewalldファイアウォールの設定
CentOSの7のシステムでは3通りの方法でファイアウォールを設定するために使用することができます。
- ファイアウォール設定のグラフィカル・ツール。
- ファイアウォール-cmdのコマンドラインツール。
- の/ etc / firewalld /コンフィギュレーションファイル。
通常の状況下では、直接設定ファイルを変更することはお勧めしません!
(1)グラフィカルな管理ツール
二つの方法でグラフィカルな管理ツールを開きます。
1)グラフィカルデスクトップ
2)コマンド端子によって開かれます
[root@localhost ~]# firewall-config
グラフィカル率直として、それはここでは詳細に提示されないように!
(2)ファイアウォール-CMDコマンドラインツール
1)の起動、停止、firewalldサービスを見ます
[root@localhost ~]# systemctl start firewalld
//启动firewalld服务
[root@localhost ~]# systemctl enable firewalld
//将firewalld服务设置为开机自启动
[root@localhost ~]# systemctl status firewalld
//查看firewalld服务状态
[root@localhost ~]# firewall-cmd --state
//查看firewalld服务状态
[root@localhost ~]# systemctl stop firewalld
//停止firewalld服务
[root@localhost ~]# systemctl disable firewalld
//将firewalld服务设置为开机不自动启动
2)予め定義された情報を取得します
[root@localhost ~]# firewall-cmd --get-zones
//显示预定义的区域信息
[root@localhost ~]# firewall-cmd --get-services
//显示预定义的服务(服务较多,大部分都是常用的,这里就不介绍了)
[root@localhost ~]# firewall-cmd --get-icmptypes
//显示预定义的ICMP类型
ファイアウォール-CMD --get-icmptypes意味のすべての種類のコマンドの実行結果を:
- 宛先到達不能:到達不能先;
- エコー応答:応答を回答。
- パラメータ問題:問題のパラメータ。
- リダイレクト:リダイレクト。
- ルータアドバタイズメント:ルータアドバタイズメント。
- ルータ-勧誘:ルータ要請。
- ソースクエンチ:阻害源と、
- 時間超過:タイムアウト。
- タイムスタンプ返信:タイムスタンプ応答の応答;
- タイムスタンプ要求:タイムスタンプ要求。
3)地域の管理
共通のオプション領域管理コマンドは、図示のように:
[root@localhost ~]# firewall-cmd --get-default-zone
//显示当前系统中的默认区域
[root@localhost ~]# firewall-cmd --list-all
//显示默认区域的所有规则
[root@localhost ~]# firewall-cmd --get-zone-of-interface=ens33
//显示网络接口ens33对应的区域
[root@localhost ~]# firewall-cmd --zone=internal --change-interface=ens33
The interface is under control of NetworkManager, setting zone to 'internal'.
success
//将网络接口ens33对应区域改为internal区域
[root@localhost ~]# firewall-cmd --zone=internal --list-interfaces
ens33
[root@localhost ~]# firewall-cmd --get-zone-of-interface=ens33
internal
//验证
[root@localhost ~]# firewall-cmd --get-active-zones
internal
interfaces: ens33
//显示所有激活区域
4)サービス管理
最新バージョンのfirewalldのデフォルトでは、各ネットワーク領域のために、サービスへのアクセスを許可するように設定することができ、私たちの使用するためのサービスの70種類を定義します。あなたは、サービスを追加する必要がある場合はリストに含まれていない、あなたはポートを追加することができます。
示すように、共通のエリア・サービスの管理オプション、:
[root@localhost ~]# firewall-cmd --list-services
dhcpv6-client ssh
//显示默认区域允许访问的服务
[root@localhost ~]# firewall-cmd --add-service=http
//设置默认区域允许访问http服务
[root@localhost ~]# firewall-cmd --list-services
dhcpv6-client ssh http
//验证效果
[root@localhost ~]# firewall-cmd --zone=internal --add-port=80/tcp
success
//在internal区域上允许TCP协议80端口访问
[root@localhost ~]# firewall-cmd --zone=internal --remove-port=443/tcp
success
//在internal区域上禁止TCP协议443端口访问
[root@localhost ~]# firewall-cmd --list-all --zone=internal
internal (active)
target: default
icmp-block-inversion: no
interfaces: ens33
sources:
services: dhcpv6-client mdns samba-client ssh
ports: 80/tcp
protocols:
masquerade: no
forward-ports:
sourceports:
icmp-blocks:
rich rules:
//查看指定区域的详细配置
使用するファイアウォール-cmdのコマンドラインツールは、2つの設定モードがあります。
- 実行時モード:メモリのファイアウォール設定では、現在実行中、システムやfirewalldの設定がサービス障害を再起動します再起動します。
- 永久モード:firewalld表現サービスを再起動するか、システムを再起動し、システムが自動的にファイアウォールルールの設定が恒久的に設定ファイルに保存されてロードされます。
ファイアウォール-cmdのコマンドツールコンフィギュレーションモードに関連する3つのオプション:
- --reload:ファイアウォールをリロードすると、実行するように構成されて恒久的にアプリケーションを設定しようとしている状態情報を維持します。
- --permanent:;このオプションを指定して、実行時のルールを設定するために使用されていない場合は、このオプションを指定したコマンドは、再起動firewalldサービスを有効にするルールである恒久的なルールを設定するために使用されます。
- --runtimeツー永久:現在の実行コンフィギュレーションルールは永久的なコンフィギュレーションなって、コンフィギュレーション・ファイルに書き込まれます。
この目的のために導入さfirewalldファイアウォールについて!