보안을 위해서
내부로는 웹사이트말고는 다막을려고 하거든요?
그래서 방화벽 서버에서
iptables -A FORWARD -p -tcp --dport http -j ACCEPT iptables -A FORWARD -j DROP
이렇게 해줫는데 http 접속이 안되네요 .. 이유좀 알려주세요
이렇게 하시면 목적지가 80번포트인 패킷만 허용하게 됩니다. 그러니 웹서버로 요청은 갔지만 웹서버가 응답한 패킷은 막히게 됩니다. 그러니 추가적으로 웹이 소스인 것도 허용하시고 막아야 합니다.
iptables -A FORWARD -p -tcp --sport http -j ACCEPT
====== comeng
정책을 보면 80포트를 목적지로하는 패킷을 제외하고 나머지는 모두 차단하라는 정책인데 이것은 들어오는 패킷이외에 나가는 패킷에도 적용이 됩니다. 즉 서버에서 WAN을 통하는 패킷은 당연히 소스 패킷이 80이고 목적지 패킷은 클라이언트의 랜덤 포트가 됩니다.
즉 방화벽은 들어오는 패킷은 보내는데 나가는 패킷은 보내지 않는다는 것입니다.
이것을 해결하기위해 WAN 포트로 사용하는 디바이스를 지정해 주고나(-i 옵션 사용) 브리지를 사용한다면 -m physdev --physdev-in 과 같이 모듈을 올려 사용해야 합니다.
아니면 state를 이용하는 방법을 사용해도 됩니다.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
이렇게 하시면
이렇게 하시면 목적지가 80번포트인 패킷만 허용하게 됩니다.
그러니 웹서버로 요청은 갔지만 웹서버가 응답한 패킷은 막히게 됩니다.
그러니 추가적으로 웹이 소스인 것도 허용하시고 막아야 합니다.
iptables -A FORWARD -p -tcp --sport http -j ACCEPT
======
comeng
======
comeng
iptables -A FORWARD -p -tcp
iptables -A FORWARD -p -tcp --dport http -j ACCEPT
iptables -A FORWARD -j DROP
정책을 보면 80포트를 목적지로하는 패킷을 제외하고 나머지는 모두 차단하라는 정책인데
이것은 들어오는 패킷이외에 나가는 패킷에도 적용이 됩니다.
즉 서버에서 WAN을 통하는 패킷은 당연히 소스 패킷이 80이고 목적지 패킷은 클라이언트의 랜덤 포트가 됩니다.
즉 방화벽은 들어오는 패킷은 보내는데 나가는 패킷은 보내지 않는다는 것입니다.
이것을 해결하기위해 WAN 포트로 사용하는 디바이스를 지정해 주고나(-i 옵션 사용) 브리지를 사용한다면
-m physdev --physdev-in 과 같이 모듈을 올려 사용해야 합니다.
아니면 state를 이용하는 방법을 사용해도 됩니다.
댓글 달기