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
|