CentOSにFirewalldファイアウォールベース7

A、Linuxのファイアウォールの基礎

Linuxのファイアウォールシステムは主に、ネットワーク層での作業リアルタイムフィルタリングおよびTCP / IPパケットの制限され、パケットフィルタリングファイアウォールは、一般的な(またはネットワーク層のファイアウォールと呼ばれる)です。ファイアウォールシステムのカーネルベースのLinuxシステムが共存:firewalld、iptablesの、ebtablesの、デフォルトのfirewalldはnetfilterのサブシステムを管理します。

  • netfilterの:Linuxカーネルのファイアウォールパケットフィルタリングの内部構造を指し、プログラムやファイル、「カーネル・モード」のファイアウォールシステム機能のno形式はありません。

  • firewalld:「ユーザーモード」のファイアウォール管理システムは、Linuxのコマンド防護壁を管理するのに使用される手順を指します。

1、firewalldの概要

firewalld役割は、指定された目的のために、指定されたソースからのデータパケットのnetfilterの取り扱いを指示またはいくつかのプロトコル機能をとった異なるルールの様々なにより、パケットフィルタリング(またはポリシー)のためのマッチング規則を提供することです。それが簡単にファイアウォールを整理して管理するようにするには、firewalld定義された領域をサポートするために、ネットワーク管理ツールへのWebリンクと動的なファイアウォールのセキュリティレベルのインターフェイスを提供します。イーサネットブリッジなどのIPv4、IPv6のファイアウォール設定のサポート、および2つの設定モードがあります。

  • 実行構成

  • 永久的な構成は
    、ファイアウォールルールのインターフェースを追加するために、直接のサービスやアプリケーションをサポートしています。

2、firewalldエリア・ネットワーク

firewalldすべてのネットワークトラフィックは、それによって、ファイアウォールの管理を簡素化し、複数の領域に分割されています。パケットまたは着信ネットワークインターフェース及び他の条件の送信元IPアドレス、データ・トラフィックは、対応する領域のファイアウォールルールに転送されます。

システムへのパケットデータのために、これは、最初に確認する送信元アドレスであります:

  • 特定の領域に関連するソースアドレス場合、ルールによって確立された領域が実行されます。
  • 送信元アドレスは、特定の領域、着信ネットワークインタフェースと領域によって確立されたルールの実装の使用領域に関連付けられていない場合。
  • ネットワークインターフェースは、特定の領域に関連付けられていない場合、デフォルトの領域と領域によって確立されたルールを適用。

デフォルトの領域が別の領域ではなく、いくつかの他の地域では、システムに定義されました。デフォルトでは、デフォルトのゾーンは、パブリックですが、また、デフォルトのゾーンを変更することができます。その他のマッチングルール、順序で勝利、最初のルールと一致すること。各所定の領域は、デフォルトのオープンサービスを設定しているfirewalld、サービスまたはポートの範囲で開閉されるように、各領域に設定することができます。

説明3、firewalld所定の領域

  • 信頼できる(信頼ゾーン):すべてのネットワーク接続を受けます。
  • 公共:(公共エリア):発信トラフィック、またはsshまたはDHCPv6のクライアント試合あらかじめ定義されたサービスとの接続を除いては、そうでない場合は、着信トラフィックを拒否します。
  • 作業(作業領域):特に作業領域のための着信トラフィックを拒否し、送信トラフィック、またはSSH、IPPクライアント、DHCPv6のクライアント一致定義済みのサービスに関連除い。
  • 自宅(ホームエリアは):発信トラフィック、またはssh、IPPクライアント、のmDNS、サンバ、クライアント、DHCPv6のクライアントの一致あらかじめ定義サービスとの接続を除いて、それ以外の場合は、ホームネットワーク用の着信トラフィックを拒否します。
  • 内部(内部領域):発信トラフィック、またはSSH、IPPクライアント、のmDNS、サンバ、クライアントのDHCPv6クライアント一致定義済みのサービスに関連した以外は、そうでなければ内部ネットワークの着信トラフィックを拒否します。
  • (領域外):外部発信トラフィック、またはSSH一致定義済みのサービスに関連した以外は、そうでない場合、着信トラフィックを拒否します。
  • DMZ(分離領域も非武装地帯として知られている):なければ発信トラフィックに関連する、またはSSH一致定義済みのサービス、そうでない場合、着信トラフィックを拒否します。
  • blocak(制限区域):発信トラフィックに関連している場合を除き、またはすべての着信トラフィックを拒否。
  • ドロップ(廃棄領域):発信トラフィックに関連した以外は、そうでない場合はすべての着信トラフィックを破棄し、エラー応答がICMPを含ん生成しません。

二、firewalldファイアウォールの設定

CentOSに7システムにfirewalldファイアウォール配置された3つの方法で使用することができます。

  • firewalld-CONFIGグラフィカルツール。

  • firewalld-cmdのコマンドラインツール。

  • の/ etc / firewalld /コンフィギュレーションファイル。

通常の状況下で、我々は、設定ファイルを編集直接お勧めしません。

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 <!--查看防火墙允许状态-->
running
[root@centos01 ~]# systemctl stop firewalld<!--停止firewalld-->
[root@centos01 ~]# systemctl disable firewalld<!--设置开机不自动启动firewalld-->
[root@centos01 ~]# firewall-cmd --get-zones <!--查看防火墙预定义的区域-->
[root@centos01 ~]# firewall-cmd --get-service <!--查看防火墙支持的预定义服务类型-->
[root@centos01 ~]# firewall-cmd --get-default-zone <!--查看系统的默认区域 -->
[root@localhost /]# firewall-cmd --reload     <!--重载防火墙-->
[root@centos01 ~]# firewall-cmd --get-active-zones <!--查看激活的区域-->

[root@centos01 ~]# firewall-cmd --get-icmptypes <!--显示预定义的ICMP类型-->
address-unreachable bad-header communication-prohibited destination-unreachable 
echo-reply echo-request fragmentation-needed host-precedence-violation host-prohibited
host-redirect host-unknown host-unreachable ip-header-bad neighbour-advertisement
neighbour-solicitation network-prohibited network-redirect network-unknown 
network-unreachable no-route packet-too-big parameter-problem port-unreachable
precedence-cutoff protocol-unreachable redirect required-option-missing
router-advertisement router-solicitation source-quench source-route-failed time-exceeded
timestamp-reply timestamp-request tos-host-redirect tos-host-unreachable 
tos-network-redirect tos-network-unreachable ttl-zero-during-reassembly 
ttl-zero-during-transit unknown-header-type unknown-option

ファイアウォール-cmdは以下の意味を部分的に閉塞におけるコマンドタイプ結果を--get-icmptypes:

  • 宛先到達不能:到達不能先;
  • エコー応答:回答応答。
  • パラメータ問題:問題の​​パラメータ。
  • リダイレクト:リダイレクト。
  • ルータアドバタイズメント:ルータアドバタイズメント。
  • ルータ-勧誘:ルータ要請。
  • ソースクエンチ:阻害源と、
  • 時間超過:タイムアウト。
  • タイムスタンプ返信:タイムスタンプ応答の応答;
  • タイムスタンプ要求:タイムスタンプ要求。

2、firewalld地域の管理オプション

  • --getデフォルトゾーン:デフォルトのネットワーク接続又はインタフェース領域を表示します。
  • --setデフォルトゾーン= <ゾーン>:デフォルトのネットワーク接続又はインタフェース領域を設定します。
  • --get-アクティブゾーン:すべての活性化された領域を表示します。
  • --get-ゾーンのインタフェース= <インターフェース>:インタフェースを指定された表示領域の結合。
  • --zone = <ゾーン> --addインタフェース= <インターフェース>:領域指定されたインターフェイスを結合。
  • --zone = <ゾーン> --changeインタフェース= <インターフェース>:接合界面の特定の領域を変更します。
  • --zone = <ゾーン> --removeインタフェース= <インターフェース>:指定されたエリアネットワークインターフェイスのバインディングを削除します。
  • --list-すべてのゾーンを=:表示領域とすべてのルール。
  • 【--Zone = <ゾーン>] --list-ALL:ディスプレイすべてのルールがすべての地域で指定され、--zone = <ゾーン>が省略され、デフォルトの動作領域を表します。

エリア管理例:

[root@centos01 ~]# firewall-cmd --get-default-zone <!--显示当前系统中的默认区域-->
[root@centos01 ~]# firewall-cmd --list-all<!--显示默认区域的所有规则-->
[root@centos01 ~]# firewall-cmd --get-zone-of-interface=ens32  <!--查看ens32接口所在的区域-->
internal
[root@centos01 ~]# firewall-cmd --zone=internal --change-interface=ens32 <!--修改ens32接口对应的区域更改到internal区域-->
 The interface is under control of NetworkManager, setting zone to 'internal'.
success
[root@centos01 ~]# firewall-cmd --zone=internal --list-interface  <!--查看internal区域的接口列表-->
ens32
[root@centos01 ~]# firewall-cmd --get-active-zones   <!--显示所有激活区域-->
internal
  interfaces: ens32

3、firewalldサービス管理

管理を容易にするには、/ usr / lib / firewalld /サービス/ディレクトリサービスに保存されている、事前に定義されているサービスの多くをfirewalldは、単一のXML設定ファイルで指定されています。サービス-name.xml、特定のネットワークサービスに対応した各ファイルは、そのようなサービスsshなど:これらのプロファイルは、プレス次の形式の名前。我々は、/ etc / firewalld /サービス/ディレクトリ内のサービス構成ファイルに必要です。サービス構成は次のような利点があります。

  • サービス名で管理されるが、よりユーザーフレンドリーなルール;
    サービスは、ネットワークポートの数を使用する場合のモードは、より効率的な港湾サービス上でパケットを整理するために、サービス構成ファイルには、これらのポートの管理ルールに一括操作を提供することに相当しますショートカット;

サービス管理の1)firewalld-CMDコマンドの共通オプション説明エリア:

  • 【--Zone = <ゾーン>] --list-サービス:サービスが指定された領域へのアクセスを許可明らかにする。

  • 【--Zone = <ゾーン>] --addサービス= <サービス>:サービスが指定された領域へのアクセスを可能にするために提供されます。

  • 【--Zone = <ゾーン>] --removeサービス= <サービス>:サービスへのアクセスを許可指定された領域を削除して設定されています。

  • 【--Zone = <ゾーン>] --list-ポート:ポート番号が指定された領域内に表示されているすべてへのアクセスを可能にします。

  • 【--Zone = <ゾーン>] --addポート= <portID値> - <portID値>] / <プロトコル>:指定された領域は、アクセスを許可するように設定されている/(プロトコル番号を含む)特定のポート番号。

  • 【--Zone = <ゾーン>] --removeポート= <portID値> - <portID値>] / <protocl>:削除が指定された領域の(プロトコル名を含む)アクセスポート番号が設定されていることができ;

  • 【--Zone = <ゾーン>] --list-ICMP-blocaks:アクセス指定された領域を拒否すべてのICMPタイプを表示します。

  • 【--Zone = <ゾーン>] --add-ICMPブロック= <icmptype>:アクセスのICMPタイプロケール指定拒否。

  • --zone = <ゾーン>省略し;: [--zone = <ゾーン>] --remove-ICMPブロック= <icmptype>、既定領域は、ICMPタイプの操作が設定されている指定された領域へのアクセスを拒否削除示し

2))のアクセスを許可するように、デフォルトのサービスエリアに設定され、例示的な管理サービス(以下firewalld:

 [root@centos01 ~]# firewall-cmd --list-services <!--显示默认区域内允许访问的所有服务-->
dhcpv6-client ssh 
[root@centos01 ~]# firewall-cmd --add-service=http <!--设置默认区域允许访问http服务-->
success
[root@centos01 ~]# firewall-cmd --add-service=https <!--设置默认区域允许访问https服务-->
success
[root@centos01 ~]# firewall-cmd --list-services <!--显示默认区域内允许访问的所有服务-->

dhcpv6-client ssh https http

3)(内部領域)は、サービスへのアクセスを可能にするために提供される例示的なサービス管理下記firewalld。

[root@centos01 ~]# firewall-cmd --zone=internal --add-service=mysql 
             <!--设置internal区域允许访问mysql服务-->
success
[root@centos01 ~]# firewall-cmd --zone=internal --remove-service=samba-client 
         <!--设置internal区域不允许访问Samba-client服务-->
success
[root@centos01 ~]# firewall-cmd --zone=internal --list-services 
              <!--显示internal区域内允许访问的所有服务-->
ssh mdns dhcpv6-client mysql

4、ポート管理

サービスの設定を行う場合は、事前に定義されたネットワーク・サービスは、サービス名を使用することができ、問題のポートサービスが自動的に開きます。しかし、非事前定義されたサービスのために手動で指定した領域にポートを追加することができます。たとえば、以下の操作が内部領域に開口443 / TCPポートを実現することができます。例としては、次のとおりです:

 [root@centos01 ~]# firewall-cmd --zone=internal --add-port=443/tcp
                  <!--在internal区域打开443/tcp端口-->
success

あなたが内部領域に443 / TCPポートへのアクセスの禁止を実現したい場合は、次のコマンドを実行します。

 [root@centos01 ~]# firewall-cmd --zone=internal --remove-port=443/tcp
                <!--在internal区域禁止443/tcp端口访问-->
success

上記の設定は、永続的な設定として現在の設定を保存したい場合は、次のコマンドを使用することができ、一時的な構成です。

 [root@centos01 ~]# firewall-cmd --runtime-to-permanent
success

直接には次のように、--permanentオプションを持参する必要があり、恒久的なルールとして設定しました:

[root@centos01 ~]# firewall-cmd --add-icmp-block=echo-request --permanent   <!--禁止ping-->

success
[root@centos01 ~]# firewall-cmd --zone=external --add-icmp-block=echo-request --permanent           
           <!--配置external区域禁止ping-->
success

三、2つの設定モードをfirewalld

;永続モード(パーマネントモード)を表す走行モード(実行モード)ファイアウォールの設定は、現在、停止設定の失敗を再開firewalldシステムまたはサービス内のメモリに実行されていることを意味する:前述のファイアウォール-CMDコマンドツールは、2つの設定モードを有します再起動やファイアウォールの設定のためのファイアウォールルールをリロードするには恒久的に設定ファイルに保存されています。

コンフィギュレーションモードに関連するファイアウォール-cmdのコマンドツールのオプション3があります。

  • --reload:ファイアウォールルールを再ロードし、状態情報を維持し、恒久的にアプリケーションを実行するように設定されて設定しようとしています。

  • --permanent:;実行時間を設定するためのルールを示すために、これを持っていない、このオプションでコマンドを使用すると、再起動するだけで永久的なルールを設定したり、ファイアウォールのルールを有効に再ロードするために使用されます。

  • --runtimeツー永久:ルールを書かれ、現在のランタイム構成ファイルの構成は、現在メモリ内のルールは、永久的なコンフィギュレーションと呼ばれます。

------この記事を締結、読んでくれてありがとう------

おすすめ

転載: blog.51cto.com/14156658/2453907