以下は、パブリックゾーンでFTPサービスを有効にして追加されたFTPヘルパーの例です。
# iptables -t raw -S | grep CT -A PRE_public_allow -p tcp -m tcp --dport 21 -j CT --helper ftp
デフォルトのヘルパーを無効にしようとしませんでしたが、上記のコマンドを実行すると、そのようなルールは表示されません。でもなくsudo iptables-save | grep 21
。なぜ?
# rpm -q firewalld
firewalld-0.5.5-1.fc28.noarch
ベストアンサー1
公開領域でFTPサービスを有効にして追加したFTPヘルパーの[はい]です。
ftp "helper"は、ftp "service"を明示的に許可した場合にのみ有効になるようですfirewalld
。すべてのヘルパー定義に対して一致するサービス定義が必要です。
最初は、「サービス」がFTPを実行しているときにのみアクティブになると思いました。仕える人。ファイル転送プロトコル受動的今日の好ましいモデルは依然として追加の接続を必要とする。ファイルデータを転送するには、クライアントが2番目のポートを介してサーバーに接続する必要があります。どのポートが使用されているかを検出してこの追加接続を許可するには、「ヘルパー」が必要です。
ヘルパーのどれも-client
(例:services dhcpv6-client
)としてマークされていません。しかし、私が知っている限り、FTPサービスを有効にすると顧客生のFTPを使用できるようにします。ポジティブモード(firewalld
これが唯一のファイアウォールであると仮定)。私はこの例が大きなセキュリティ問題だとは思わないが、非常に混乱する可能性があります:-(。
(Nicholas:FedoraWorkstationは1024より高いポートへの着信接続を許可するため、とにかくFTPアクティブモードを許可します。理由を尋ねないでください。)
2番目に、この例はirc helperですが、わかりませんでした。私が見るには故障したようです。
# cat /usr/lib/firewalld/helpers/irc.xml
<?xml version="1.0" encoding="utf-8"?>
<helper module="nf_conntrack_irc" family="ipv4">
<port protocol="tcp" port="194"/>
</helper>
# cat /usr/lib/firewalld/services/irc.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>IRC</short>
<description>An IRCd, short for Internet Relay Chat daemon, is server software that implements the IRC protocol.</description>
<port protocol="tcp" port="6667"/>
</service>