카테고리 없음2009. 7. 15. 15:06
TCPWrapper 란?

네트워크 서비스에 대한 접근을 제어 할수 있는 툴


위 그림과 같이 TCPWrapper의 경우 Inetd 모드와 standalone 모드로 동작이 가능하며, Inetd 모드의 경우 client 의 요청에 의해서 동작하는 것이고, standalone 모드의 경우는 항상 프로세스가 떠서 동작하게 된다.
inet모드에서는 services 파일에 정의된 포트를 기분으로 서비스 구분하고 해당 서비스에 대한 서버데몬을 구동한다.

구성 설정 : /etc/inetd.conf
서비스 설정 : /etc/services



TCP Wrapper를 사용할 때의 2가지 권고사항이 있습니다.

1. 시스템 이름이나 도메인 이름을 사용하지말고 IP 주소를 사용합니다.
2. /etc/hosts.deny을 deny ALL로 설정한 후 접속을 허용할 주소만 /etc/hosts.allow 파일에 기록합니다.

** TCPWrapper 의 경우 저장하는 즉시 유효하므로 작성할때 주의 해야한다.

[문법]
Service:Source (IP 주소, 네트워크 또는 이름):

[/etc/hosts.allow 의 간단한 예]

in.telnetd : 192.168.123.123, 192.168.123.124
(192.168.123.123 와 192.168.123.124 IP에 대해서 telnet 접속을 허용)
in.telnetd : 192.168.200
(192.168.200.0 - 255 네트워크에 대해서 telnet 접속을 허용)
in.ftpd : 192.168.1.30
(192.168.1.30 IP에 대해서 ftp 접속을 허용)

# Client_List 설정 방법

::도메인을 이용한 Client_List 설정
도메인으로 설정할 경우에는 반드시 reverse mapping이 되는 도메인만 설정 가능하다.
(예: nslookup 203.241.205.97  -->  dvc.dongeui.ac.kr)
패턴을 이용해서 모든 서브 호스트에 대해서 설정할 수 있다. 서브 호스트에 대한 패턴 설정은 .(점)으로 한다.
(예: .rootman.org  --->  rootman.org 의 모든 하위 도메인에 대해서 설정한 것이다)

::IP 주소를 이용한 Client_List 설정
제어할 클라언트의 IP주소를 설정한다.
IP주소도 .(점)으로 패턴을 적용할 수 있다. (예: 203.241.  -->  IP주소가 203.241.x.x 인 모든 호스트)

::IP/NetMask를 이용한 Client_List 설정
IP주소와 넷마스크를 이용해서 대상 클라이언트를 설정할 수 있는데 패턴으로 똑같이 처리할 수 있기 때문에 C클래스를 다시 서브넷으로 나누어 쓰는 호스트들을 제어 할 때만 주로 사용된다.
(예: 203.241.205.0/255.255.255.128  --> 아이피 주소 203.241.205 ~ 126)

::EXCEPT
패턴 또는 IP/Netmask를 이용해서 다수의 호스트를 설정할 때 특정 호스트를 제외 시킬수 있다.
(예: 203.241.205.0/255.255.255.0 EXCEPT 203.241.205.95  -->  203.241.205.95를 제외한 C 클래스 203.241.205.x)

참고 : http://www.ulsannetwork.net/read.cgi?board=linux_tip&y_number=43


[/etc/hosts.deny 예]

ALL:ALL (inetd 서비스의 모든 서비스에 대해서 접속을 거부)

참고로 tcp wrapper 구성파일을 검사하려면 'tcpdchk' 프로그램을 실행시키면 됩니다.


Posted by 시티락