AlmaLinux9 firewalldについて

スポンサーリンク

firewalldを設定して不要なサービスにアクセスさせないようセキュリティを強化します。

まずインストール直後にどのようになっているか確認しておきます。デフォルトはpublicゾーンにアタッチされており、許可されているサービスとしてcockpit/dhcpv6-client/sshのみ許可されています。

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

public以外にも多数のゾーンが定義されています。必要に応じてpublicからその他へ適用替えすればよいのですが、基本はデフォルトのpublicのままで良いです。


基本的にコマンドレベルで何かと操作することが可能なのですが、個人的な好みでファイルを編集し、reloadするというスタイルが一番やりやすいように思うので、そこのみ記載します。

コマンド周りに関してはAlamaLinux8でもかいたこちらあたりが参考になります。


デフォルトでルールを記載している設定ファイルは以下となります。

# cat /etc/firewalld/zones/public.xml

<?xml version="1.0" encoding="utf-8"?>
<zone>
<short>Public</short>
<description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
<service name="ssh"/>
<service name="dhcpv6-client"/>
</zone>

これに必要なルールを足していくということになります。

# vi /etc/firewalld/zones/public.xml

<?xml version="1.0" encoding="utf-8"?>
<zone>
<short>Public</short>
<description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
  # 192.168.0.0/24からのsshを許可
  <rule family="ipv4">
    <source address="192.168.0.0/24"/>
    <port protocol="tcp" port="22"/>
    <accept/>
  </rule>
  # 192.168.0.0/24からのsmtpを許可
  <rule family="ipv4">
    <source address="192.168.0.0/24"/>
    <port protocol="tcp" port="25"/>
    <accept/>
  </rule>
</zone>

上ではプロトコル、ポート番号を指定していますが、サービス名で指定することも可能です。

# vi /etc/firewalld/zones/public.xml

<?xml version="1.0" encoding="utf-8"?>
<zone>
<short>Public</short>
<description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
  <service name="ssh"/>
  <service name="dhcpv6-client"/>
  <service name="cockpit"/>
  # 192.168.0.0/24からのsshを許可
  <rule family="ipv4">
    <source address="192.168.0.0/24"/>
    <service name="ssh"/>
    <accept/>
  </rule>
  # 192.168.0.0/24からのsmtpを許可
  <rule family="ipv4">
    <source address="192.168.0.0/24"/>
    <service name="smtp"/>
    <accept/>
  </rule>
</zone>

ファイル編集後、有効にするために以下のコマンドの実行および確認を行います。

# firewall-cmd --reload
# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp2s0f0
  sources:
  services: cockpit dhcpv6-client ssh
  ports:
  protocols:
  forward: yes
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
        rule family="ipv4" source address="192.168.0.0/24" service name="smtp" accept
        rule family="ipv4" source address="192.168.0.0/24" service name="ssh" accept

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする