[수정질문]iptables로 tcp 80번 INPUT 데이터를 QUEUE로 집어넣는 법?

mixmccym의 이미지

어제 제가 질문을 잘못 올려서 수정하여 다시 올리겠습니다.

현재 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했습니다.

참고로 제가 구현하고 있는 프로그램은 웹서버가 실행되고 있는 컴퓨터에

직접 설치하여 지속적으로 패킷을 모니터링하여 탐지/차단하는 방식입니다.

저번에 질문 올렸을때도 많은 고수분들이 문제를 지적해주셨는데요

이번에도 많은 지도 부탁드리겠습니다.

powerson의 이미지


음.. 일단 --dport 80이 왜 안 먹는지는 이상하긴 하네요. 그럼 일단, QUEUE에 사용되는 프로그램을 실행시켰을 경우에 QUEUE에 packet이 들어오는지 먼저 확인을 해보시는게 좋을 거 같습니다.

------------------------------------------------------
아직은 젊다. 모든 것을 할 수 있는 나이란 말이지.

------------------------------------------------------
아직은 젊다. 모든 것을 할 수 있는 나이란 말이지.

everydayrebooting의 이미지

해당 장비가 bridge나 nat 형태로 네트웍에 물리는가요? 그렇다면 INPUT이 아니라
FORWARD가 되어야 하는것 아닐지..

아니면, PC가 client PC라면 "INPUT --dport 80"가 말이 좀 안됩니다. 목적지가
80번 포트인 INPUT이 있을리 없을테니까요. 반대로 web 서버라면 저도 감은 안 잡힙니다.

행여나 하는 말이지만, 체인 규칙 상단에 모든것을 허용하는 규칙이 먼저 있는 것은 아니겠지요?

저도 실제로 해보고 하는게 아니라서 이만~~~~

powerson의 이미지


mixmccym wrote:

참고로 제가 구현하고 있는 프로그램은 웹서버가 실행되고 있는 컴퓨터에

직접 설치하여 지속적으로 패킷을 모니터링하여 탐지/차단하는 방식입니다.

이미 webserver에서 실행하고 계시다고 말씀을 하신 상태죠.. 그리고 체인 상단 규칙이 상관이 없는게, iptables에 대한 rule 추가가 ADD가 아니라 현재 Intert입니다.

------------------------------------------------------
아직은 젊다. 모든 것을 할 수 있는 나이란 말이지.

------------------------------------------------------
아직은 젊다. 모든 것을 할 수 있는 나이란 말이지.

monovision의 이미지

먼저 해당 룰에 패킷이 걸리는지 안 걸리는지를 먼저 체크해 보셔야 할 것 같은데요 ?

watch 'iptables -vnL INPUT' 이나 watch 'iptables-save -c | grep 80 과 같은 커맨드로 패킷 카운팅이 잘되는지 먼저 확인해 보세요~

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.