[수퍼데몬 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. 위의 두가지 규칙만 지키면 임의대로 사용가능 함. 하지만 가능한 모두 동일한 이름을 사용하는 것이 좋음. 기억하기 쉽고 설정하기도 쉽기 때문에 관리에 매우 편리함.

[수퍼데몬 xinetd] XINETD 에 관련된 파일들

1. xinetd 에 관련된 파일.

– /etc/xinetd.conf : xinetd 서비스에 공통적으로 적용되는 주된 설정파일

– /etc/xinetd.d/내의 서비스 파일들 : xinetd 로 서비스될 파일들이 존재하는 디렉토리

– /usr/sbin/xinetd : xinetd 데몬

– /etc/services : 서비스포트 설정파일

– /etc/protocols : 프로토콜 설정파일

– /etc/syslog.conf : 시스템로그 설정파일

– /usr/sbin/tcpd : tcpd 데몬

– /etc/hosts.allow : 서비스별 허용목록파일( tcpd )

– /etc/hosts.deny : 서비스별 거부목록파일( tcpd )

– /var/log/secure : tcpd 로그기록파일( 접근기록 파일 )

– /etc/rc.d/init.d/xinetd : xinetd 시작/종료 스크립트파일( start | stop | restart )

– /etc/xinetd.conf 파일은 xinetd 의 최상위 설정파일로서 Top_Level Configuration File 이라고함.

– /etc/xinetd.d/ 디렉토리에 대하여 Global 하게 영향을 주게 됨.

– /etc/xinetd.d/서비스 파일과 /etc/xinetd.conf 파일내의 설정 중 중복되는 항목이 있다면 그 해당 서비스에 대해서는 당연히 /etc/xinetd.d/서비스 파일 내의 설정항목이 우선 적용 됨.

2. xinetd.conf 파일의 구성

– defaults 설정 : /etc/xinetd.d/ 디렉토리내에 존재하는 xinetd 서비스파일들에 공통적으로 적용하는 설정내용

– includedir    /etc/xinetd.d/ : xinetd 서비스의 적용을 받는 개별 서비스 설정파일들을 /etc/xinetd.d/ 디렉토리에서 불러오는 것

[수퍼데몬 xinetd] XINETD 모드의 서비스흐름도

1. 외부에서 telnet( xinetd 에서 관리하는 서비스중의 하나 ) 서비스의 요청이 들어옴.

2. xinetd 데몬은 외부에서 요청괸 서비스를 tcpd 에 넘겨줌.

3. tcpd 는 /etc/hosts.allow 와 /etc/hosts.deny 파일을 검사하여 허가된 접속인지를 체크함.

4. 3. 의 검사에 의해 허가된 요청일 경우에는 /etc/syslog.conf 에 설정되어 있는 /var/log/secure 파일에 접속요청에 대한 정보를 기록하고 /etc/xinetd.d/telnet 파일을 불러들여서 서비스를 연결함. 이때 /etc/xinetd.d/telnet 파일내의 server 지시자행에 설정되어 있는 telnet 데몬의 위치를 찾아서 요청을 처리하게 됨.

5. 3. 의 검사에 의해 허가되지 않은 요청일 경우에는 /etc/syslog.conf 파일에 설정되어 있는 /var/log/secure 파일에 허가되지않은 접속이 있었다는 로그를 남기고 접속요청을 거부하게 됨.

[수퍼데몬 xinetd] 데몬실행모드 두가지( standalone 과 xinetd )

1. standalone 과 xinetd 의 차이점.
구분 : xinetd 환경 서비스                         :            독립( standalone ) 서비스
의미 : xinet 수퍼데몬에 의해 제어되는        : 독립적으로 실행되는 서비스들의 데몬
: 서비스들의 데몬                             :
실행방법 : 필요할 때에 xinetd 에 의해 수행됨: 독립적인 서비스를 위하여 항상 독립적으로
:                                               : 수행됨
데몬상주여부 : xinetd 에 의해 불리워진 후에 : 독립적인 서비스를 위하여 항상 메모리에 독립
: 서비스 완료후에는 종료됨     : 데몬으로 상주해 있음.
기타 : ” /etc/xinetd.d/서비스명 ” 으로된      :
: xinetd 제어파일이 존재함                  :
접근제어 : tcpd 에 의해 접근제어됨.            : tcpd 와는 무관하지만 자체 설정파일에 의해 접근
: ( /etc/hosts.allow, /etc/hosts.deny : 제어를 할 수도 있음.
: 파일로 접근제어 설정할 수 있음.        :
참고 : 독립적으로 실행되는 데몬들도 xinetd 환경으로 변경할 수 있으며 반대로 xinetd 환경에서
: 서비스되는 데몬들도 독립적인 실행모드로 변경할 수 있음.

2. Standalone 모드

– 독립적으로 실행이 되며 항상 메모리에 상주하여 서비스요청이 있을 때 언제든 바로 응답을 함.

– 즉, 빠른 응답속도를 요하는 경우에 이 모드를 이용함.

– 단점으로는 메모리에 항상 상주해 있으므로 메모리점유로 인하여 서버부하를 줌.

– ex) httpd, sendmail, named…..

3. xinetd 모드

– xinetd 모드로 실행되는 데몬은 xinetd 라는 특별한 데몬( 인터넷 수퍼데몬 ) 에 의해 관리되며, 필요한 경우에만 메모리로 적재( load ) 되어 실행이 되어 응답을 함.

– 즉, 빠른 응답속도를 요하지않는 경우에 이 모드를 이용함.

– 단점으로는 응답속도가 standalone 보다는 상대적으로 느리다는 것이고, 장점으로는 메모리에 항상 상주해 있는 것이 아니므로 standalone 모드보다 서버부하를 상대적으로 줄일 수 있음.

4. standalone 모드로만 실행되는 데몬들도 xinetd 모드로 변경실행이 가능하며 xinetd 모드로 실행이 되는 데몬들도 standalone 모드로 서비스하는 것 또한 가능함.

5. standalone 및 xinetd 모드 설정시 고려해야 할 사항

– 얼마나 많은 서비스요청을 받는가?

– 얼마나 자주 서비스요청을 받는가?

– 메모리 점유가 얼마나 되는가?

– 보안이 필요한 경우와 비교적 그렇지 않은 경우의 분석.

6. XINETD 수퍼데몬 서비스파일 주의사항

– /etc/xinetd.d/ 디렉토리내의 서비스파일들에 등록되어 있는 데몬들이 root 계정으로 실행되고 있는 꼭 확인을 해야함. 그렇지 않다면 의심을 해보아야 함.

– /etc/xinetd.d/ 디렉토리의 각 서비스파일들이 퍼미션에서 일반유저들에게 실행은 물론이고 읽기권한까지도 빼버려야 함.

– 이 파일이 일반유저들에게 읽기 권한이 있다면 해당서버에서 어떤 서비스를 하고 있는지를 모두 알수있기 때문이며 실행파일의 위치까지도 파악이 가능함.

– 더욱 우려되는 것은 서버관리자의 실수든 해킹된 것이든 /etc/xinetd.d/ 내의 파일들에게 쓰기( write ) 권한이 설정되어 있다면 어떤 프로그램이든지 만들어서 이 파일에 등록해 두면 root 의 권한으로 실행이 가능하게 됨.