iptables의 ESTABLISHED,RELATED
작성자 정보
- logo 작성
- 작성일
컨텐츠 정보
- 3,487 조회
- 0 추천
- 목록
본문
ftp 데몬에서 command포트로 21번을 사용하면,
$iptables -A INPUT -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT 가 잘 듣습니다.
(책대로 20번 포트를 열지 않아도 클라이언트에서 active,passive등 어떤 모드로 서버에 접속해도 잘 접속이 됩니다.)
그런데 command포트로 21번을 제외한 다른 포트 즉,1000이나 21000번등으로 하면,
$iptables -A INPUT -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT 가 듣지 않습니다.
(클라이언트에 방화벽이 없어 active 경우는 상관이 없지만 passvie mode로는 ESTABLISHED,RELATED가 안통하는지 접속은 되지만 list를 가져오지 못합니다.)
또, vsftpd를 ssl로 돌려 보았는데, ssl 모드로 돌릴 경우 command 포트로 21번을 사용해도,
$iptables -A INPUT -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT 가 듣지를 않습니다.
(즉, 접속해도 list를 가져오지 못합니다. passive mode 포트 대역을 열어주면 접속이 가능합니다.)
" -m state --state ESTABLISHED,RELATED " 는 이미 연결되어 있으나 연결되어 있는 포트가 아닌 다른 포트로 다시 접근할때에 접근을 허가한다라고 알고 있는데 이해를 잘못하고 있는 건가요?
서버에서 직접 yum list 하면,
" -m state --state ESTABLISHED,RELATED " 가 잘 작동하는지 문제없이 리스트를 가져옵니다.
아래는 제가 어디서 잘못이해하고 있는지 최소한의 룰만 적용시켜서 테스트 해본 룰입니다.
iptables=/sbin/iptables
$iptables -F
$iptables -P INPUT DROP
$iptables -P FORWARD ACCEPT
$iptables -P OUTPUT ACCEPT
$iptables -A INPUT -p TCP --sport 1024: --dport 22 -m state --state NEW -j ACCEPT
$iptables -A INPUT -p ALL -m state --state ESTABLISHED,RELATED -j ACCEPT
$iptables -A INPUT -i lo -j ACCEPT
$iptables -A OUTPUT -o lo -j ACCEPT
$iptables -A INPUT -p tcp --sport 1024: --dport 21 -m state --state NEW -j ACCEPT
관련자료
-
이전
-
다음