2023년 6월 5일
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 wrapper | iptables |
---|---|---|
필터링 계층 | 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