질문&답변
클라우드/리눅스에 관한 질문과 답변을 주고 받는 곳입니다.
리눅스 분류

보안관리실무책 383페이지 질문 ^^

작성자 정보

  • 홍석범 작성
  • 작성일

컨텐츠 정보

본문

안녕하십니까? 오늘과내일의 홍석범입니다.


iptables 룰이 입력된 순서데로 적용이 되고, FORWARD 체인은 nat 테이블에 POSTROUTING또는 PREROUTING 룰이 있어야만 효력을 가진다고 이해했는데요.
383페이지에 있는 위의 룰은 앞에 다른 nat룰이 없던데, 그럼 효력이 상실이 되버리는것 (룰이 없는거나 마찬가지) 아닌가요?
==> INPUT과 OUTPUT은 방화벽 자체에 대한 접근을 통제하는 룰이며 FORWARD 는 방화벽을 통과하는 패킷에 대한 룰이라고 생각하시면 됩니다.
FORWARD의 경우 NAT 또는 브리지 방화벽에서 사용되며 커널에서 NAT 기능을 enable하였다면 기본적으로 테이블이 있으므로 별도의 설정없이 바로 사용가능합니다. 
POSTROUTING이나 PREROUTING은 NAT table과 관련된 것으로 패킷을 필터링하는 것과는 무관하며 FORWARD는 filter table와 관련된 것으로 실제로 패킷을 허용하고 차단하는 역할을 합니다. 따라서 효력이 상실되거나 하는 것은 아니며 명령어 실행과 동시에 적용됩니다.


$IPTABLES -A INPUT -i eth1 -s 192.168.1.0/24 -j ACCEPT 와 같은 의미로 동작하나요?
==> 이는 방화벽 자체로 향하는 패킷을 의미하는 것입니다.


 

2. 책에서 말씀하신 서버+방화벽의 standalone방식의 경우는 INPUT과 OUTPUT이 이해가 되는데, 서버와 별개로 서버들 앞단에 방화벽 구성시에

즉,eth0에 공인ip로서 외부로 접속이 되고  eth1으로 사무실내부의 사설ip로 접속이 될때 방화벽안(사무실내부 사설ip네트워크가 아닌 방화벽컴퓨터안)에서 보기에 INPUT체인은 eth0와 eth1으로부터 들어오는 모든패킷에 적용 되고,OUTPUT체인역시 eht0와 eth1 을 통해서 나가는 모든 패킷에 적용 되는것 같은데 맞는 지요....
==>예, 맞습니다.

가령, $IPTABLES -A INPUT -p TCP !--syn -m state --state NEW -j DROP
의 경우 eth0으로부터이던, eth1로 부터이던, 룰에 맞지 않으면 모두 드롭시켜 버리는게 맞나요?
==>예, 맞습니다.


만약에 맞다면, 룰이 순서데로 적용되니까
383페이지의 $IPTABLES -A OUTPUT -d 192.168.0.0/16 -j DROP 의 룰에 의해서 외부(eth0)로 나가는 것뿐만 아니라 내부 서버들로(eth1) 나가는 패킷들도 밑에 다른 룰들이 적용 되기 전에 버려지는것 아닌가요?
==> INPUT, OUTPUT은 방화벽 자체와 관련된 것이고 방화벽을 통과하는 패킷은 무조건 FORWARD입니다.

만약 그렇다면,382~387페이지 사이에 적용된 룰로는 내부사설ip네트워크의 다른 클라이언트에선 같은 네트워크의 그 서버들로 접속이 안될것 같은데..맞는지요..
==> 내부 사설IP네트워크에서는 동일한 netmask로 설정되어 있다면 라우팅테이블에 의해 상호간의 접속은 방화벽을 통과하지 않으므로 룰에 관계없습니다.

3. nat,filter,mangle 사이에 적용되는 순서는 어떻게 되는지,또,INPUT,OUTPUT,FORWARD사이에 적용되는 순서는 어떻게 되는지 알고 싶습니다.

가령,1) $IPTABLES -A OUTPUT -o eth1 -d 192.168.0.1  -j ACCEPT

         2) $IPTABLES -A INPUT -i eth1 -d 192.168.0.1 -j DROP

이런순서로  룰이 작성 되고, 192.168.0,3 으로 부터 192.168.0.1로 접속 시도가 있을때,

1)번 룰에 의해 통과가 되는지,아니면 1)을 건너뛰고 2)에 의해 차단이 되는지요

==> 앞에 달아드린 설명을 보시면 이해가 되실 것입니다.
INPUT, OUTPUT은 방화벽 자체로 향하는 패킷에 대한 제어이며 방화벽을 통과하는 패킷은 제어하지 않습니다. 그리고,. 내부끼리의 통신은 방화벽을 거치지 않고 바로 접속됩니다.

 

감사합니다.

 

권기완 님의 글



안녕하세요..^^

책을 보다가 궁금한점이 있어서 이렇게 질문드립니다.

1. 책의 383페이지에

$IPTABLES -A FORWARD -i eth1 -s 192.168.1.0/24 -j ACCEPT

라는 부분때문인데요.

제가 잘못이해한건지 몰겠는데...

iptables 룰이 입력된 순서데로 적용이 되고, FORWARD 체인은 nat 테이블에 POSTROUTING또는 PREROUTING 룰이 있어야만 효력을 가진다고 이해했는데요.

383페이지에 있는 위의 룰은 앞에 다른 nat룰이 없던데, 그럼 효력이 상실이 되버리는것 (룰이 없는거나 마찬가지) 아닌가요?

아니면,이런경우 위의 룰은

$IPTABLES -A INPUT -i eth1 -s 192.168.1.0/24 -j ACCEPT

와 같은 의미로 동작하나요?

아니면,뒤에 나오는 POSTROUTING또는 PREROUTING 룰 들이 먼저 적용되고 위에 줄이 적용 되나요?

 

2. 책에서 말씀하신 서버+방화벽의 standalone방식의 경우는 INPUT과 OUTPUT이 이해가 되는데, 서버와 별개로 서버들 앞단에 방화벽 구성시에

즉,eth0에 공인ip로서 외부로 접속이 되고

     eth1으로 사무실내부의 사설ip로 접속이 될때

방화벽안(사무실내부 사설ip네트워크가 아닌 방화벽컴퓨터안)에서 보기에

INPUT체인은 eth0와 eth1으로부터 들어오는 모든패킷에 적용 되고,

OUTPUT체인역시 eht0와 eth1 을 통해서 나가는 모든 패킷에 적용 되는것 같은데 맞는 지요....

가령, $IPTABLES -A INPUT -p TCP !--syn -m state --state NEW -j DROP

의 경우 eth0으로부터이던, eth1로 부터이던, 룰에 맞지 않으면 모두 드롭시켜 버리는게 맞나요?

만약에 맞다면, 룰이 순서데로 적용되니까

383페이지의 $IPTABLES -A OUTPUT -d 192.168.0.0/16 -j DROP 의 룰에 의해서

외부(eth0)로 나가는 것뿐만 아니라 내부 서버들로(eth1) 나가는 패킷들도 밑에 다른 룰들이 적용 되기 전에 버려지는것 아닌가요?

만약 그렇다면,382~387페이지 사이에 적용된 룰로는 내부사설ip네트워크의 다른 클라이언트에선 같은 네트워크의 그 서버들로 접속이 안될것 같은데..맞는지요..

3. nat,filter,mangle 사이에 적용되는 순서는 어떻게 되는지,또,INPUT,OUTPUT,FORWARD사이에 적용되는 순서는 어떻게 되는지 알고 싶습니다.

가령,1) $IPTABLES -A OUTPUT -o eth1 -d 192.168.0.1  -j ACCEPT

         2) $IPTABLES -A INPUT -i eth1 -d 192.168.0.1 -j DROP

이런순서로  룰이 작성 되고, 192.168.0,3 으로 부터 192.168.0.1로 접속 시도가 있을때,

1)번 룰에 의해 통과가 되는지,아니면 1)을 건너뛰고 2)에 의해 차단이 되는지요

 

초보라 그런지 머리속이 엄청 복잡해져버려서 중구난방 횡설수설 질문을 드립니다.

너그러운 맘으로 설명 해주시길..(_ _)

 




 

관련자료

댓글 1

권기완님의 댓글

  • 권기완
  • 작성일
답해주셔서 감사합니다.*^^*

공지사항


뉴스광장


  • 현재 회원수 :  59,982 명
  • 현재 강좌수 :  35,534 개
  • 현재 접속자 :  64 명