TCP Wrapper는 네트워크 서비스의 트래픽을 필터링 할 수 있는 유닉스 기반의 방화벽 툴이다. 사용자가 특정 서비스에 대한 접근 요청을 해오면 해당 요청이 접근 허가가 된 요청인지 검사 후 서비스를 제공하거나 거부하게 된다. TCP Wrapper는 모든 서비스에 대한 방화벽 기능을 제공하는 것이 아니라 inetd 형태의 데몬에 대해서만 제어가 가능하다.

 ○ inetd 데몬과 standalone 데몬의 차이
standalone 데몬의 경우 말 그대로 항상 떠있어야 되는 데몬들도 자체의 제어 메커니즘을 갖고 있다. 주로 항시 떠있어야 하는 웹서버, DB서버 등의 데몬들은 standalone 형태로 작동한다. 반면에 inetd 데몬의 경우 사용자의 요청이 들어올 경우 /etc/inetd.conf 파일과 /etc/services 파일을 참조하여 해당 서비스에 대한 데몬을 실행하여 서비스를 제공한다. 보통 자주 요청되어 지지 않는 ftp, telnet 등의 데몬이 inetd 데몬의 형태로 작동한다.
이를 정리하면 TCP Wrapper의 작동 방식은 다음과 같다.

TCP Wrapper를 이용한 접근제어 설정 파일은 /etc/hosts.deny와 /etc/hosts.allow 파일이다. 파일명에서 알 수 있듯이 hosts.deny는 서비스 거부와 관련된 설정과 관련 있으며, host.allow는 서비스 허용과 관련있다. 일반적으로 hosts.deny에 모든 호스트의 접근을 막고 hosts.allow에 접근 허가할 호스트 및 서비스만 설정한다.
세부 설정 사항에 대한 자세한 내용은 다음 문서를 참고하길 바란다
http://www.superuser.co.kr/security/certcc/secu_certcc_03.htm

예를 들어 hosts.deny에 특정 IP의 telnet 접근 차단 설정을 한 뒤 inetd 데몬을 재시작한다.(/etc/init.d/xinetd restart)
# vi /etc/hosts.deny
#
# hosts.deny    This file describes the names of the hosts which are
#               *not* allowed to use the local INET services, as decided
#               by the '/usr/sbin/tcpd' server.
#
# The portmap line is redundant, but it is left to remind you that
# the new secure portmap uses hosts.deny and hosts.allow.  In particular
# you should know that NFS uses portmap!
in.telnetd:192.168.0.20
이후 192.168.0.20의 IP를 가진 호스트에서 접근시 리눅스의 /var/log/message에 다음과 같은 메세지가 발생하면서 접근이 거부되는 것을 볼 수 있다.
Dec 14 18:20:18 thunder xinetd[32510]: START: telnet pid=32517 from=192.168.0.20
Dec 14 18:20:18 thunder xinetd[32517]: libwrap refused connection to telnet (libwrap=in.telnetd) from 192.168.0.20
Dec 14 18:20:18 thunder xinetd[32517]: FAIL: telnet libwrap from=192.168.0.20
Dec 14 18:20:18 thunder xinetd[32510]: EXIT: telnet status=0 pid=32517 duration=0(sec)
Dec 14 18:20:21 thunder xinetd[32510]: START: telnet pid=32519 from=192.168.0.20
Dec 14 18:20:21 thunder xinetd[32519]: libwrap refused connection to telnet (libwrap=in.telnetd) from 192.168.0.20

                                                                +---------------------------------------+
                                                                | Infinite
Flow..                                       |
                                                                | mail :
geekspark@gmail.com                |
                                                                | Blog : 
http://sinun.tistory.com               |
                                                                | CISSP                                                 |
                                                                +---------------------------------------+
신고
Posted by By. PHR34K

티스토리 툴바