[수정질문]iptables로 tcp 80번 INPUT 데이터를 QUEUE로 집어넣는 법?
글쓴이: mixmccym / 작성시간: 목, 2008/07/03 - 5:47오후
어제 제가 질문을 잘못 올려서 수정하여 다시 올리겠습니다.
현재 libipq 라이브러리를 사용하여 침입차단프로그램을 개발하고 있습니다.
의문점이 있는데요
iptables로 tcp 80번 INPUT 데이터를 QUEUE로 집어넣는 법을 알고싶습니다
iptables -I INPUT -p tcp --dport 80 -j QUEUE
이렇게 하면 tcp로 들어오는 web data는 queue로 들어가야 정상인데
제가 만든 프로그램을 실행하지 않아도 인터넷이 잘됩니다.
다시말해 rule이 먹히지 않고 있습니다.. 그냥 accept되는거 같은데요
제가 어떤부분을 잘못한 것인가요?
예를 들어
iptables -I INPUT -p tcp -j QUEUE
위와 같은 형식으로 하면 accept되지 않고 queue로 들어가기 때문에
제가 만든 프로그램을 실행하지 않으면 인터넷이 되지 않습니다
그러나 port옵션만 더 붙여주면 queue로 들어가는것이 아니라
마치 그냥 accept되는 것과 같은 효과가 납니다
물론 modprobe로 ip_queue와 iptable_filter는 load했습니다.
참고로 제가 구현하고 있는 프로그램은 웹서버가 실행되고 있는 컴퓨터에
직접 설치하여 지속적으로 패킷을 모니터링하여 탐지/차단하는 방식입니다.
저번에 질문 올렸을때도 많은 고수분들이 문제를 지적해주셨는데요
이번에도 많은 지도 부탁드리겠습니다.
Forums:
음.. 일단 --dport 80이
음.. 일단 --dport 80이 왜 안 먹는지는 이상하긴 하네요. 그럼 일단, QUEUE에 사용되는 프로그램을 실행시켰을 경우에 QUEUE에 packet이 들어오는지 먼저 확인을 해보시는게 좋을 거 같습니다.
------------------------------------------------------
아직은 젊다. 모든 것을 할 수 있는 나이란 말이지.
------------------------------------------------------
아직은 젊다. 모든 것을 할 수 있는 나이란 말이지.
저도 잘은 모르지만..
해당 장비가 bridge나 nat 형태로 네트웍에 물리는가요? 그렇다면 INPUT이 아니라
FORWARD가 되어야 하는것 아닐지..
아니면, PC가 client PC라면 "INPUT --dport 80"가 말이 좀 안됩니다. 목적지가
80번 포트인 INPUT이 있을리 없을테니까요. 반대로 web 서버라면 저도 감은 안 잡힙니다.
행여나 하는 말이지만, 체인 규칙 상단에 모든것을 허용하는 규칙이 먼저 있는 것은 아니겠지요?
저도 실제로 해보고 하는게 아니라서 이만~~~~
mixmccym 씀: 참고로
이미 webserver에서 실행하고 계시다고 말씀을 하신 상태죠.. 그리고 체인 상단 규칙이 상관이 없는게, iptables에 대한 rule 추가가 ADD가 아니라 현재 Intert입니다.
------------------------------------------------------
아직은 젊다. 모든 것을 할 수 있는 나이란 말이지.
------------------------------------------------------
아직은 젊다. 모든 것을 할 수 있는 나이란 말이지.
먼저 해당 룰에
먼저 해당 룰에 패킷이 걸리는지 안 걸리는지를 먼저 체크해 보셔야 할 것 같은데요 ?
watch 'iptables -vnL INPUT' 이나 watch 'iptables-save -c | grep 80 과 같은 커맨드로 패킷 카운팅이 잘되는지 먼저 확인해 보세요~
댓글 달기