12,925
回編集
(→設定の確認) |
編集の要約なし |
||
1行目: | 1行目: | ||
== 概要 == | == 概要 == | ||
優れたファイアウォールシステムが、ネットワークセキュリティシステムへの不正アクセスを防ぐことができる。<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を開始する == | ||
firewalldを開始する。<br> | |||
sudo systemctl start firewalld | |||
<br> | |||
firewalldを再起動する。<br> | |||
sudo systemctl restart firewalld | |||
sudo | <br><br> | ||
sudo | |||
== | == firewalldを停止する == | ||
一時的にfirewalldを停止する。(firewalldがsystemdで管理されている場合)<br> | |||
sudo | sudo systemctl stop firewalld | ||
<br><br> | |||
== | == firewalldの自動起動を有効にする == | ||
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> | |||
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]] |