다음은 공개 영역에서 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를 실행할 때만 활성화될 것이라고 생각했습니다.섬기는 사람. 파일 전송 프로토콜수동적인오늘날 선호되는 모델에는 여전히 추가 연결이 필요합니다. 파일 데이터를 전송하려면 클라이언트가 두 번째 포트를 통해 서버에 연결해야 합니다. 어떤 포트가 사용되고 있는지 감지하고 이 추가 연결을 허용하려면 "도우미"가 필요합니다.
도우미 중 어느 것도 -client
(예: services dhcpv6-client
)로 표시되지 않습니다. 하지만 제가 아는 한 FTP 서비스를 활성화하면고객원시 FTP를 사용할 수 있도록 허용합니다.긍정적인모드( firewalld
이것이 유일한 방화벽이라고 가정). 나는 이 예가 큰 보안 문제라고 생각하지 않지만 매우 혼란스러울 수 있습니다 :-(.
(Nicholas: FedoraWorkstation은 1024보다 높은 포트로 들어오는 연결을 허용하기 때문에 어쨌든 FTP 활성 모드를 허용합니다. 이유를 묻지 마십시오.)
두 번째로 본 예시는 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>