[수퍼데몬 xinetd] /etc/protocols 파일

1. /etc/protocols 파일

– /etc/services 파일에서 정외되는 프로토콜의 정의가 되어 있는 파일임.

– 이파일 내에 정의됨 프로토콜들의 정확한 명칭은 ” Internet Protocols ” 임

– 포트번호에 대한 상세정보 및 업데이트정보는 ” http://www.isi.edu/in-notes/iana/assignments/protocol-numbers ” 에서 볼수 있음.

[수퍼데몬 xinetd] /etc/services 파일

1. /etc/services 파일은 리눅스서버에서 사용하는 모든 포트( port ) 들에 대한 정의가 설정되어 있음. 보안을 위하여 이 파일을 적절히 조절하면 기본사용 포트를 변경하여 사용할 수 있음.

– 즉, telnet 은 기본적으로 tcp 34번 포트를 사용함. 일반적으로 알고 있는 포트번호이므로 이 포트번호를 다른 번호로 변경하는 것이 가능하다라는 것 임.

– 기본적인 공격시도나 해킹등은 대부분 열려져있는 port 를 통해 이루어지고 해킹툴들의 기본셋팅값들이 대부분 거의 변경없이 사용되는 기본포트번호를 그 공격통로로 삼든다는 점 때문임.

2. /etc/sevices 파일에 설정되는 각 서비스 포트들의 형식

– 서비스 이름              포트/사용프로토콜유형                            별칭

– 서비스 이름 : 설정되는 포트에 대한 서비스의 이름. 예를 들어 ftp, telnet 등이 올 수 있음.

– 포트/프로토콜 : 지정된 서비스에서 사용될 포트번호와 사용할 프로토콜유형임. 여기서 사용되는 포트들은 /etc/protocols 라는 파일에 정의되어 있으며 프로토콜유형은 일반적으로 tcp 와 udp 등이 사용됨. 또한 사용될 포트번호는 1024번까지 시스템에서 이미 사용예약이 되어 있으므로 관리자가 만들어 사용할 포트가 있다면 이 번호 이상되는 포트번호를 지정하여 사용해야 함.

– 별칭 : 지정된 ” 서비스 이름 ” 외에 다른 이름을 사용할 수 있도록 함.

[수퍼데몬 xinetd] xinetd 에 의한 접속제어( tcpd )

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 에 대해서는 모든 곳에서의 접근을 허용한다는 설정임

[수퍼데몬 xinetd] xinetd 의 시작과 종료

1. xinetd 의 시작

– /etc/rc.d/init.d/xinetd start

– xinetd 스크립트에 start 옵션을 주면 됨.

2. xinetd 의 종료

– /etc/rc.d/init.d/xinetd stop

– xinetd 스크립트에 stop 옵션을 주면 됨.

3. xinetd 의 재시작

– /etc/rc.d/init.d/xinetd restart

– xinetd 스크립트에 restart 옵션을 주면 됨.

4. xinetd 의 상황점검

– /etc/rc.d/init.d/xinetd status

– xinetd 스크립트에 status 옵션을 주면 됨.

5. xinetd 실행 프로세스 확인

– ps -ef|grep xinetd

[수퍼데몬 xinetd] xinetd 에서 사용하는 서비스이름

1. xinetd 에 관련된 서비스이름

– chkconfig 명령어에서 사용하는 서비스명

– ” service 서비스데몬명 start ” 에서 사용하는 서비스데몬명

– /etc/hosts.allow 파일과 /etc/hosts.deny 파일 내에서 사용하는 서비스명

– /etc/xinetd.d/ 디렉토리내에서 사용하는 서비스 파일명

– /etc/xinetd.d/ 디렉토리내에서 존재하는 각 파일들의 내부에 설정된 ” service 서비스명 ” 에서 설정하는 서비스명

– /etc/services 파일에서 사용하는 서비스명

2. 규칙 1 : 위에 나열한 6가지 항목의 서비스명( 이름 ) 들은 동일하게 사용하지 않아도 됨.

3. 규칙 2 : /etc/hosts.allow 파일과 /etc/hosts.deny 파일내에서 사용하는 서비스이름은 실제 데몬파일명을 지정해야 함.

4. 위의 두가지 규칙만 지키면 임의대로 사용가능 함. 하지만 가능한 모두 동일한 이름을 사용하는 것이 좋음. 기억하기 쉽고 설정하기도 쉽기 때문에 관리에 매우 편리함.