[리눅스마스터1급2차] iptables reject와 drop의 차이점

gosu·2023년 10월 29일
0
post-thumbnail

iptables에서 REJECTDROP은 모두 패킷을 차단하는 역할을 하지만, 그 방식과 결과에는 몇 가지 차이점이 있습니다.

DROP

  • DROP은 들어온 패킷을 단순히 무시합니다.
  • 소스로부터 더 이상의 응답이 없으므로, 요청한 쪽에서는 타임아웃이 발생하게 됩니다.
  • 이 방법은 "묵살"이라고도 하며, 대상이 존재하지 않는 것처럼 행동합니다.

REJECT

  • REJECT는 들어온 패킷을 차단하고, 소스에게 명시적으로 패킷이 거부되었다는 응답을 보냅니다.
  • 이 응답은 ICMP 에러 메시지로 전달되며, 연결을 시도한 쪽은 즉시 거부되었다는 것을 알 수 있습니다.
  • 라우팅 문제나 문제 해결을 위해 유용할 수 있으나, 공격자에게 어떤 포트나 서비스가 활성화되어 있지 않다는 정보를 제공할 수도 있습니다.

요약

  • DROP: 패킷을 무시, 어떤 응답도 보내지 않음
  • REJECT: 패킷을 차단하고 거부 메시지를 보냄

문제

  • 다음은 iptables를 이용해서 방화벽을 설정하는 과정이다. 작업 사항에 맞게 ( 괄호) 안에알맞은 내용을 적으시오.
  • 가. 현재 INPUT 사슬에 설정되어 있는 모든 정책을 삭제하여 초기화한다.
 # iptables ( ① ) INPUT
  • 나. 외부로 들어오는 패킷을 모두 거부하고, IP 주소가 192.168.12.22번인 호스트
    로부터 들어오는 패킷에 대해서만 허가하는 정책을 설정한다.
 # iptables ( ② ) INPUT ( ③ )
 # iptables ( ④ ) INPUT -s 192.168.12.22 ( ⑤ )

문제 풀이

  1. iptables에서 모든 정책을 삭제하는 명령어는 -F, --flush이다
  2. 정책을 설정하는 명령어는 -P, -- polish이다.
  3. 정답은 DROP. 거부 메시지를 보내는 조건이 없기 때문에 REJECT는 쓸 수 없다.
  4. 새로운 정책을 추가하는 것은 -A
  5. -j ACCEPT

※ 주의사항

  • -P는 마지막 인자로 target을 받는다. 때문에 -j 옵션을 사용할 필요가 없다.
  • 한편, -A, -C, -D 옵션은 마지막 인자로 rule-specification을 인자로 받아 -j 옵션을 명시해 줄 필요가 있음.
profile
개발자 블로그 ^0^

0개의 댓글