TCP 래퍼 (TCP Wrapper)

1. TCP 래퍼 (TCP Wrapper)의 개념 및 특징

개념특징
UNIX, Linux 서버에서 네트워크 접근을 필터링 하기 위해 IP 및 서비스에 대한 요청을 허용 / 차단하는 호스트 접근 제어 기술– 호스트 기반 접근제어(Access Control List)
– 주로 TCP 연결에 대한 접근을 제어
– UNIX, Linux 기본 도구로 S/W 설치 불필요
  • 방화벽 기능(iptables)과 별개로 동작하며, 접근 순서는 “외부 → Iptables → TCP Wrapper → 서비스”
  • tcpd 데몬이 inetd에 의해 수행되는 서비스 접근을 제어하도록 되어있었으나, 최근 xinetd, sshd, vsftpd 등의 데몬도 단독으로 접근제어 가능

 

2. TCP Wrapper의 차단/허용 메커니즘 및 구성요소

(1) TCP Wrapper의 차단/허용 메커니즘

– TCP Wrapper는 서비스 요청에 대해 host.allow와 host.deny를 참조하여 허용 또는 차단을 결정

(2) TCP Wrapper의 구성요소

구분구성요소역할
설정 파일host.allow– TCP Wrapper에서 허용할 대상을 지정
– 설정 방법: daemon_list : client_list [ : shell_command ]
host.deny– TCP Wrapper에서 차단할 대상을 지정
– 설정 방법: daemon_list : client_list [ : shell_command ]

예약어

(와일드 카드)

ALL– 모든 서비스 또는 모든 호스트
LOCAL– 동일 도메인에 있는 모든 호스트
KNOWN– 호스트 IP와 이름을 알 수 있는 호스트
UNKNOWN– 호스트 IP와 이름을 알 수 없는 호스트
PARANOID– 호스트 이름과 주소가 일치하지 않는 호스트
A EXCEPT B– 리스트 A에서 B를 제외한 호스트
  • 허용 대상이 host.allow 파일에 등록되면 host.deny 파일에 등록 여부와 관계없이 허용
  • host.deny 기반 Black List 방식보다 허용 대상만 지정하는 host.allow 기반 White List 방식 권장

 

3. TCP Wrapper와 Iptables 비교

비교 항목tcp wrapperiptables
필터링 계층OSI 7 계층(Application Layer)OSI 4 계층(Transport Layer)
접근제어 기능허용/차단만 가능허용/차단 외 다양한 정책
접근제어 대상호스트 내 서비스 접근을 제어호스트 자체 접근을 제어
제어대상 식별출발지 IP 및 서비스(ftp, telnet 등)출발지/목적지 IP 및 Port 주소
  • 서버팜 방화벽 등 별도의 방화벽 장비를 운영하는 경우, UNIX, Linux 서버에서 외부 접근에 대해 자체 방화벽(iptables)은 사용하지 않고 tcp wrapper 기반으로 서비스 접근 허용/차단 결정

 

[참고]

  • Redhat Security Guide, TCP Wrappers and xinetd

콘텐츠 사용 시 출처 표기 부탁 드리고, 궁금한 점이나 의견은 댓글 남겨주세요^^