LinuCレベル1 102試験の例題と解説

主題1.10セキュリティ

1.10.2ホストのセキュリティ設定

LinuCレベル1 102試験の出題範囲から「1.10.2 ホストのセキュリティ設定」についての例題を解いてみます。今回は、firewalldにて特定のサービスからのパケットを許可する方法ついて解説します。

LinuCレベル1 102試験 出題範囲


例題

次のうち、firewalldにて「http」サービスのパケットを一時的に許可するコマンドとして、適切なものを選択してください。

  1. firewall-cmd --add-service=http
  2. firewall-cmd --add-port=http
  3. firewall-cmd --add-source=http
  4. firewall-cmd --remove-service=http

※この例題は実際の試験問題とは異なります。


解答と解説

正解は、「1. firewall-cmd --add-service=http」です。

ファイアウォールは、外部からの不要なトラフィックからマシンを保護する方法で、指定したルールに基づいて通信の許可・拒否を制御できます。Linuxでは、そのファイアウォール管理ツールとしてfirewalldがあります。firewalldは、Linuxカーネルに組み込まれているnetfilterを操作するために用意されたサービスです。

firewalldで設定を行う際は、「firewall-cmd」コマンドを使用します。
現在設定されているルールを確認する際は、以下のコマンドを実行します。

# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens34
  sources:
  services: cockpit dhcpv6-client ssh
  ports:
  protocols:
  forward: no
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

上記の「services」の部分に表示されているサービスが、現在自ホストへのパケットを許可しているサービスです。(7行目)

例題の「http」サービスのパケットを許可する際は、以下のコマンドを実行します。
実行後、「success」と表示された場合、ルールの追加に成功しています。

# firewall-cmd --add-service=http
success

上記コマンド実行後、再度ルールを確認すると、「services」に「http」が表示されています。(7行目)

# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens34
  sources:
  services: cockpit dhcpv6-client http ssh
  ports:
  protocols:
  forward: no
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

なお、この状態は一時的な設定であるため、システムを再起動すると消えてしまいます。
恒久的に設定するには、

# firewall-cmd --add-service=http --permanent
# firewall-cmd --reload

もしくは

# firewall-cmd --add-service=http
# firewall-cmd --runtime-to-permanent

と実行します。

例題の選択肢について解説します。

1. firewall-cmd --add-service=http
正しい選択肢です。
「--add-service」は、特定のサービスからのパケットを許可する設定を行うためのオプションです。選択肢のコマンドを実行すると、一時的にhttpサービスからのパケットを許可するようになります。

2. firewall-cmd --add-port=http
誤った選択肢です。
「--add-port」は、特定のポートからのパケットを許可する設定を行うためのオプションです。サービス名を用いた設定も可能ですが、選択肢のコマンドは書式不正のため失敗します。「--add-port=http/tcp」または「--add-port=80/tcp」と指定する必要があります。

3. firewall-cmd --add-source=http
誤った選択肢です。
「--add-source」は、特定のIPアドレスまたはIP範囲からのパケットを許可する設定を行うためのオプションです。選択肢のようにサービス名(IPアドレスの形式でないもの)を指定すると書式不正のため失敗します。「--add-source=192.168.0.0/24」のように指定します。

4. firewall-cmd --remove-service=http
誤った選択肢です。
「--remove-service」は、許可されているサービスを削除するためのオプションです。httpサービスからのパケットを許可している状態で選択肢のコマンドを実行すると、一時的にhttpサービスからのパケットを拒否するようになります。

今回は、firewalldにて特定のサービスからのパケットを許可する方法について解説しました。これを機にfirewalldを用いたアクセス許可設定を覚えて、自ホストの適切なセキュリティ管理を行っていきましょう。


例題作成者

株式会社デージーネット 経営企画室 小倉崇志

ページトップへ