「設定 - Firewalld」の版間の差分

ナビゲーションに移動 検索に移動
編集の要約なし
編集の要約なし
1行目: 1行目:
== 概要 ==
== 概要 ==
firewalldは、CentOS7から採用されたデフォルトのファイアーウォールである。<br>
優れたファイアウォールシステムが、ネットワークセキュリティシステムへの不正アクセスを防ぐことができる。<br>
firewalldとiptablesは共存できないので、どちらかを選択すること。<br>
<br>
firewalldは、Netfilterと呼ばれる非常に強力なフィルタリングシステムが搭載されており、カーネルモジュールに組み込まれて、システムに渡る全てのパケットをチェックする。<br>
これは、受信、送信、転送等のあらゆるネットワークパケットを、宛先に到達する前にプログラムで検査、変更、拒否、削除できることを意味する。<br>
<br>
例えば、CentOS6ではiptablesだったが、CentOS7以降では、firewalldは、ホストベースのファイアウォールサービスを管理するための標準のツールになっている。<br>
firewalldとiptablesは共存できないため、どちらかを選択することに注意する。<br>
<br><br>


== firewalldの設定の確認 ==
firewalldの自動起動に設定されているかどうかを確認する。<br>
sudo systemctl is-enabled firewalld
<br>
firewalldのステータスを確認する。<br>
sudo systemctl status firewall
<br><br>


==ファイアーウォールのポートの開放例==
== firewalldを開始する ==
sudo firewall-cmd --permanent --zone=public --add-service=ftp     : FTPを開放
firewalldを開始する。<br>
sudo firewall-cmd --permanent --zone=public --add-port=4000-4029/tcp  : TCPポート4000から4029番を開放
  sudo systemctl start firewalld
sudo firewall-cmd --permanent --zone=public --add-service=http     : HTTPを開放
<br>
sudo firewall-cmd --permanent --zone=public --add-service=https    : HTTPSを開放
firewalldを再起動する。<br>
sudo firewall-cmd --permanent --zone=public --add-service=smtp     : SMTPを開放
  sudo systemctl restart firewalld
  sudo firewall-cmd --permanent --zone=public --add-service=pop3     : POP3を開放
<br><br>
sudo firewall-cmd --permanent --zone=public --add-service=imap     : IMAPを開放
sudo firewall-cmd --permanent --zone=public --add-service=smtps    : SMTPsを開放
  sudo firewall-cmd --permanent --zone=public --add-service=pop3s    : POP3sを開放
sudo firewall-cmd --permanent --zone=public --add-service=imaps    : IMAPsを開放


==firewallコマンドの基本的な使い方==
== firewalldを停止する ==
sudo firewall-cmd --permanent --zone=public --add-service=ssh   : SSHを開放
一時的にfirewalldを停止する。(firewalldがsystemdで管理されている場合)<br>
  sudo firewall-cmd --permanent --zone=public --add-port=22/tcp   : TCPポート22番を開放
  sudo systemctl stop firewalld
sudo firewall-cmd --permanent --zone=public --remove-service=ssh  : SSHを閉じる
<br><br>
sudo firewall-cmd --permanent --zone=public --remove-port=22/tcp  : TCPポート22番を閉じる


==設定を反映==
== firewalldの自動起動を有効にする ==
Firewalldの設定を反映させるには、以下のコマンドを実行するか再起動する。<br />
firewalldを自動起動する。<br>
sudo systemctl enable firewall
<br><br>
 
== firewalldの自動起動を無効にする ==
firewalldの自動起動を停止する。<br>
sudo systemctl disable firewalld
<br>
自動起動が停止されているかどうかを確認する。<br>
sudo systemctl is-enabled firewall
<br><br>
 
== ファイアーウォールのポート開放 ==
sudo firewall-cmd --permanent --zone=public --add-service=ftp        # FTPを開放
sudo firewall-cmd --permanent --zone=public --add-service=http        # HTTPを開放
sudo firewall-cmd --permanent --zone=public --add-service=https      # HTTPSを開放
sudo firewall-cmd --permanent --zone=public --add-service=smtp        # SMTPを開放
sudo firewall-cmd --permanent --zone=public --add-service=pop3        # POP3を開放
sudo firewall-cmd --permanent --zone=public --add-service=imap        # IMAPを開放
sudo firewall-cmd --permanent --zone=public --add-service=smtps      # SMTPsを開放
sudo firewall-cmd --permanent --zone=public --add-service=pop3s      # POP3sを開放
sudo firewall-cmd --permanent --zone=public --add-service=imaps      # IMAPsを開放
sudo firewall-cmd --permanent --zone=public --add-port=4000-4029/tcp  # TCPポート4000から4029番を開放
<br>
以下の例では、SSHのポート開放および閉じている。<br>
sudo firewall-cmd --permanent --zone=public --add-service=ssh    # SSHを永続的に開放
sudo firewall-cmd --permanent --zone=public --add-port=22/tcp   # TCPポート22番を永続的に開放
sudo firewall-cmd --permanent --zone=public --remove-service=ssh  # SSHを永続的に閉じる
sudo firewall-cmd --permanent --zone=public --remove-port=22/tcp  # TCPポート22番を永続的に閉じる
<br><br>
 
== firewalldの設定を反映する ==
Firewalldの設定を反映するには、以下のコマンドを実行する、または、OSを再起動する。<br>
  sudo firewall-cmd --reload
  sudo firewall-cmd --reload
<br><br>


==設定の確認==
== firewalldの設定の確認 ==
Firewalldの設定を確認するには、以下のコマンドを実行する。<br>
firewalldの設定を全て確認する。<br>
  sudo firewall-cmd --list-all
  sudo firewall-cmd --list-all
<br>
特定のゾーンに記載されているルールを確認する。<br>
sudo firewall-cmd --list-all --zone="<ゾーン名>"
例. sudo firewall-cmd --list-all --zone="public"  # 初期状態ではdhcpv6-clientおよびsshがファイアウォールサービスを通して許可されている
<br>
利用可能な全てのゾーンを確認する。<br>
sudo firewall-cmd --get-zones      # 利用可能な各ゾーン名の一覧のみを表示
# または
sudo firewall-cmd --list-all-zones  # 利用可能な各ゾーンの詳細な設定も個別に表示
<br>
デフォルトのゾーンを特定のゾーンに変更する。<br>
# まず、特定ゾーンに変更する前に、現在のデフォルトのゾーンを確認する
sudo firewall-cmd --get-default-zone
# デフォルトのゾーンの変更
sudo firewall-cmd --set-default-zone=<ゾーン名>
# デフォルトのゾーンが変更されているかどうかを確認する
sudo firewall-cmd --get-default-zone
<br>
特定のネットワークインターフェースを別のゾーンに変更する。<br>
例えば、システムに2つのネットワークインターフェイスがある場合(例. enp1s0とenp1s1)、デフォルトでは全てのネットワークインターフェイスはデフォルトゾーンに割り当てられている。<br>
sudo firewall-cmd --zone=<ゾーン名> --change-interface=<ネットワークインターフェイス名>
# ゾーンを確認する
sudo firewall-cmd --get-active-zones
<br><br>
== ゾーンの種類 ==
firewalldでは、ゾーンという概念がある。(カテゴリとテンプレートのようなもの)<br>
ゾーンをNICごとに適応して運用することになる。<br>
<br>
初期状態では、9種類のゾーンが存在する。<br>
* drop
*: 全てのパケットを破棄する。
*: 内部から外部へのパケットは許可されるが、返信されてきたパケットも破棄してしまうので実質的に通信不可となる。
*: <br>
* block
*: 外部からのパケットは基本的に破棄される。
*: 内部からの通信パケットの返信は許可されるようになっている。
*: <br>
* public
*: 初期状態では、sshとdhcpv6-clientのみ許可されている。
*: <br>
* external
*: 初期状態では、sshのみ許可される。
*: ipマスカレードが有効になる。
*: <br>
* dmz
*: 初期状態では、sshのみ許可されている。
*: <br>
* work
*: 初期状態では、dhcpv6-client、ipp-client、sshが許可される。
*: <br>
* home
*: 初期状態では、dhcpv6-client、ipp-client、mdns、samba-client、sshが許可される。
*: <br>
* internal
*: 初期状態では、dhcpv6-client、ipp-client、mdns、samba-client、sshが許可される。
*: <br>
* trusted
*: 全てのパケットが許可される。
<br><br>
<br><br>


__FORCETOC__
__FORCETOC__
[[Category:CentOS]][[Category:SUSE]][[Category:Raspberry_Pi]]
[[Category:CentOS]][[Category:SUSE]][[Category:Raspberry_Pi]]

案内メニュー