4. Linux女子部 firewalld徹底入門!
Red Hat Enterprise Linux 7 Betaの入手について
下記のWebサイトを参照ください。
– 既存のRHELサブスクリプションで利用いただけます。
– サブスクリプションをお持ちでない方は、評価版サブスクリプションをリクエストしてください。
https://access.redhat.com/site/products/Red_Hat_Enterprise_Linux/Get-Beta
4
Open Cloud Campus
9. Linux女子部 firewalld徹底入門!
デフォルトで用意されているゾーン
デフォルトで下表のゾーンが用意されています。
– 「drop」「block」「trusted」以外のゾーンは、フィルタリング設定を自由に変更できます(*)。
– どのようなネットワークに接続したNICポートに適用してほしいかが、ゾーン名から想像できます
が、実際の使い方はユーザの自由です。
– 独自ゾーンも追加できますが、ほとんどの場合、これだけあれば足りる気がします。
ゾーン
drop (設定変更不可)
あらゆるパケットを黙って破棄します。内部から外部にパケットは出せますが、返信
パケットが破棄されるので、実質的には通信できません。
block (設定変更不可)
あらゆるパケットを受信拒否して、ICMP Pohibitedメッセージを返します。内部から
開始した通信の返信パケットは通るので、内部から外部への通信はできます。
public
デフォルトでは「ssh」「dhcpv6-client」のみが許可されます。
external
デフォルトでは「ssh」のみが許可されます。IPマスカレードが有効になっています。
dmz
デフォルトでは「ssh」のみが許可されます。
work
デフォルトでは「ssh」「ipp-client」「dhcpv6-client」のみが許可されます。
home
デフォルトでは「ssh」「ipp-client」「mdns」「samba-client」「dhcpv6-client」
のみが許可されます。
internal
デフォルトでは「ssh」「ipp-client」「mdns」「samba-client」「dhcpv6-client」
のみが許可されます。
trusted(設定変更不可)
9
説明
あらゆるパケットが受信許可されます。
(*) drop/block/trustedのゾーンも実際には設定変更できてしまう場合がありますが、動作保証はありませんので、
設定変更はしないでください。
Open Cloud Campus
10. Linux女子部 firewalld徹底入門!
ゾーンの定義ファイル
デフォルトで用意されたゾーンの定義ファイルは下記にあります。
# ls /usr/lib/firewalld/zones/
block.xml drop.xml
home.xml
dmz.xml
external.xml internal.xml
public.xml
trusted.xml
work.xml
– ファイル名がゾーン名に対応します。下記は定義ファイルの例です。
# cat /usr/lib/firewalld/zones/external.xml
<?xml version="1.0" encoding="utf-8"?>
<zone>
<short>External</short>
<description>For use on external networks. You do not trust the other computers
on networks to not harm your computer. Only selected incoming connections are
accepted.</description>
<service name="ssh"/>
<masquerade enabled="True"/>
</zone>
– 独自のゾーンを追加する場合は、「/etc/firewalld/zones」以下に同じ書式で定義ファイルを追加
します。同じゾーン名の設定を追加すると、「/etc/firewalld/zones」が優先されます。
一般に、定義ファイルを追加・変更した際は、次のコマンドで反映します。
# firewall-cmd --reload
success
– 定義ファイルの他、firewalldの各種設定はすべて「/etc/firewalld」以下に保存されます。
10
Open Cloud Campus
15. Linux女子部 firewalld徹底入門!
現在の設定の確認 (3)
– これらの定義ファイルは、ファイル名がサービス名、ICMPタイプ名に対応します。次はサービスの
定義ファイルの例です。(ftpサービスは、コネクショントラッキングのヘルパーモジュールが指定
されています。)
# cat /usr/lib/firewalld/services/ssh.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>SSH</short>
<description>Secure Shell (SSH) is a protocol
commands on remote machines. It provides secure
plan on accessing your machine remotely via SSH
enable this option. You need the openssh-server
to be useful.</description>
<port protocol="tcp" port="22"/>
</service>
for logging into and executing
encrypted communications. If you
over a firewalled interface,
package installed for this option
# cat /usr/lib/firewalld/services/ftp.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>FTP</short>
<description>FTP is a protocol used for remote file transfer. If you plan to
make your FTP server publicly available, enable this option. You need the vsftpd
package installed for this option to be useful.</description>
<port protocol="tcp" port="21"/>
<module name="nf_conntrack_ftp"/>
</service>
15
Open Cloud Campus
16. Linux女子部 firewalld徹底入門!
現在の設定の確認 (4)
– 次はICMPタイプの定義ファイルの例です。
# cat /usr/lib/firewalld/icmptypes/echo-request.xml
<?xml version="1.0" encoding="utf-8"?>
<icmptype>
<short>Echo Request (ping)</short>
<description>This message is used to test if a host is reachable mostly with the
<i>ping</i> utility.</description>
</icmptype>
• 定義の中にタイプ番号などが無くて驚きますが、実際にはICMPタイプ名(ファイル名)自体が
意味を持ちます。具体的は、iptablesのオプションに指定可能なICMPタイプ名に対応します。
利用可能なICMPタイプ名は、次のコマンドで確認できます。
# iptables -p icmp -h
16
Open Cloud Campus