AlmaLinuxでfirewalldの設定とポート開放
ファイアーウォールとは
ファイアウォールとは外部ネットワークと内部ネットワークの境界に設けられた防護壁であり、侵入してくる不正なアクセスを防御するためのシステムです。一般的なファイアウォールは送信されてくるパケットの情報から接続を許可するかを判断しています。これをパケットフィルタリング言います。しかし、外部からのアクセスが全て遮断されては、ネットワークの意味をなしていません。そこで、外部からの通信が指定したポートを経由して内部ネットワークの特定のサービスやアプリケーションにアクセスできるようにするため、ファイアウォールにはポート開放という機能が備わっています。この記事ではLinuxでのファイアウォールの設定を解説します。
使い方
Linuxのファイアーウォールとしてよく使用されるのは、iptables
やその後継であるfirewalld
です。以下では、firewalld
の使い方について説明します。
起動と停止
ファイアーウォールのサービスを起動・停止するには、以下のコマンドを使用します。
起動
sudo systemctl start firewalld
停止
sudo systemctl stop firewalld
状態確認
現在のfirewalldの状態を確認するには、以下のコマンドを使用します。
sudo systemctl status firewalld
ruuning
ポートの追加と削除
ポート番号とは、ネットワーク通信において特定のサービスやアプリケーションを識別するために使用される数値です。TCP/IPネットワークにおいて、ポート番号は16ビットの整数(0から65535までの範囲)で表されます。各ポート番号は、特定のネットワークサービスやプロトコルと関連付けられています。
ファイアーウォールで特定のポートを許可またはブロックするには、以下のコマンドを使用します。
ポートの追加(許可)
例えば、HTTPのポート80を許可するには、以下のコマンドを使用します。
sudo firewall-cmd --permanent --add-port=80/tcp
変更を反映させるためにfirewalldをリロードします。
sudo firewall-cmd --reload
ポートの削除(ブロック)
許可されたポートを削除するには、以下のコマンドを使用します。
sudo firewall-cmd --permanent --remove-port=80/tcp
同様に、変更を反映させるためにfirewalldをリロードします。
sudo firewall-cmd --reload
サービスの追加と削除
特定のサービスを許可することも可能です。サービス追加は、特定のサービスに関連するすべての必要なポートとプロトコルを一括で許可するために使用します。例えば、SSHサービスを許可するには、以下のコマンドを使用します。
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
サービスを削除するには、以下のコマンドを使用します。
sudo firewall-cmd --permanent --remove-service=ssh
sudo firewall-cmd --reload
ルールの確認
現在設定されているルールを確認するには、以下のコマンドを使用します。
sudo firewall-cmd --list-all
ゾーンの設定
firewalldはzone(ゾーン)ごとに設定を行うことができます。zone(ゾーン)とは、firewalldでネットワーク接続のセキュリティレベルを管理するために使用される指標です。デフォルトゾーンの設定を確認するには、以下のコマンドを使用します。
sudo firewall-cmd --get-default-zone
特定のゾーンにポートを追加するには、以下のようにします。
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload
Discussion