1. tcpd( Tcp_wrapper ) 의 두가지 역할

 – 특정 IP 나 도메인으로부터 서버로의 telnet, ftp, pop 등의 접속을 차단할 수 있음.

 – 접속기록이나 접속시도기록을 특정한 파일에 로그로 기록함.

 2.
xinetd 는 tcp_wrapper 를 내장하고 있기 때문에 xinetd 모드에서 실행되는 서비스들( ex. ftp,
telnet, ssh 등 ) 은 거의 대부분 tcpd 라는 Tcp_wrapper 의 데몬에 의해 접속제어를 받게 됨.
개별서비스들( ex. ftp, telnet 등 ) 의 접근허용을 설정하는 파일은 /etc/hosts.allow 이며 접근허용이
되지 않도록 설정하는 파일이 /etc/hosts.deny 임.

 3. /etc/hosts.allow 와 /etc/hosts.deny 파일의 설정항목

 – /etc/hosts.allow 및 /etc/hosts.deny 파일의 설정항목은 크게 두가지로 나뉘어 짐.

         구분      |               왼쪽부분 설정항목               |                 오른쪽부분 설정항목
—————————————————————————————————————————-
       대상        | 접근제어 대상 서비스                       |   접근제어 대상
   ————————————————————————————————————————–
    설정값       | xinetd 기반에서 제어되는 모든 서  | 특정 도메인명
                       | 비스 명들.                                           | 특정 호스트명
                       |  /etc/services 내의 각 서비스이름과| 특정 IP 주소
                       |/etc/xinetd.d/ 디렉토리에 존재하는 | 특정 네트워크
                       | 파일명과 동일한 이름을 사용한다.  |
——————————————————————————————————————————
    설정예       | telnet                                                   | pchero21.com
                       | sshd                                                    | host1
                       | proftpd                                                | 192.168.0.100
                       |                                                              | 192.168.1.0/24
                       |                                                              | 192.168.2.0/255.255.255.0
——————————————————————————————————————————-
   실제예        | proftpd : 192.168.10.0/255.255.255.0 EXCEPT 192.168.10.100
                       | proftpd : 192.168.10.100 : twist /bin/echo “Access Denied!”
                       | sshd : 192.168.0.100
                       | sshd : 192.168.1.0/24
——————————————————————————————————————————-

 – 왼쪽항목과 오른쪽 항목은 콜론( : ) 으로 구분을 한다. 또한 세번째 항목을 계속 설정할 때에도 콜론으로 구분하여 설정을 한다.

 –
/etc/hosts.allow 내의 설정과 /etc/hosts.deny 내의 설정이 중복되었을 경우에
/etc/hosts.allow 파일의 내용이 적용된다. 즉, /etc/hosts.allow 파일과 /etc/hosts.deny
파일에 동일한 설정을 해두면 /etc/hosts.allow 파일의 내용이 적용되어 접속이 허용됨.

 – # 문자로 시작되면 주석문으로 인식함.

 – 각 대상리스트들의 나영을 스페이스( space ) 나 콤마( , ) 로 구분함

 4. hosts.deny 의 예

 –  ALL : ALL

 – hosts.allow 파일과 hosts.deny 파일의 해석은 : 을 기점으로 하여 왼쪽에는 서비스될 대상데몬들이며 오른쪽에는 대상 IP 및 호스트 정보임.

 –
왼쪽의 서비스에 대해서 오른쪽의 IP 나 호스트에 대해서 접근을 허용한다는 설정이라고 해석하면 됨. 위의 예처럼 ALL :
ALL 로 설정되어 있으면 xinetd 모드하에서 서비스되는 모든 서비스에 대해서 모든 IP 및 모든 호스트의 접근을 허용하지
않는다는 설정임.

 5. hosts.allow 의 예

 – in.telnetd : 210.101.112.240 210.101.112.241 211.123.12.12 168.`16.3.
    in.ftpd : 210.101.112.240 210.101.112.241 211.123.12.12 168.126.3.
    ipop3d : ALL

 –
위의 hosts.allow 파일에 설정되어 있는 첫번째 행의 설정은 telnet 서비스에 대해서 210.101.112.240
210.101.112.241 211.123.12.12 168.126.3. 에 대한 접근만을 허용한다는 설정이며, 두번째 행의
설정은 ftp 서비스에 대해서 210.101.112.240 210.101.112.241 211.123.12.12
168.126.3. 에 대한 접근만을 허용한다는 설정임. 그리고 ipop3d 에 대해서는 모든 곳에서의 접근을 허용한다는 설정임

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.