[수퍼데몬 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] /etc/xinetd.d/ 디렉토리내의 각 설정파일내에 설정가능한 지시자들

 1. service

 – 서비스 이름.

 – 가능한 파일이름과 /etc/services 파일에 등록된 서비스이름과 동일해야 함.

 
 2. disalbe

 – 해당 서비스를 서비스할 것인가( no ) 아닌가( yes ) 를 결정함.

 – 서비스를 하도록 설정하려면 no 로 설정하고 서비스를 하지 않으려면 yes 로 설정하면 됨.

 – ” disable = no ” 를 설정한다는 것은 ” chkconfig 서비스 on ” 을 실행하는 것과 같으며 또한, ntsysv 유틸리티를 실행하여 해당 항목에 ” * ” 를 하는 것과 같음.

 3. socket_type

 – TCP 일 경우에는 stream 이며, UDP 일 경우에는 dgram 이라고 명시되 있음. 이 외에도 raw, rdm, seqpacket 등이 올 수 있음.

 4. wait

 – xinetd 가 서비스 요청은 받은 경우, 이후에 즉시 또 다른 요청을 처리할 것인지( no )아닌지 ( yes ) 의 여부를 결정하는 지시자임. stream 의 경우에는 반드시 no 이어야 함.

 – no 는 현재 요청외에의 다른 접속요청을 새로운 것으로 시작하여 처리하게 함.

 5. user

 – 이 서비스를 어떤 사용자 권한으로 서비스할 것인가를 결정함.

 6. server

 – 이 서비스를 실행할 때에 어느 위치에 있는 프로그램( 데몬 ) 을 불러와 연결한 것인가를 명시한 것.

 – 반드시 절대경로로 지정되어야 함.

 7. log_on_failure

 – 서버접속에 성공하지 못하였을 때 로그파일에 기록하는 내용들을 설정들을 할 수 있음.

 – HOST, USERID, ATTEMPT, RECORD 등이 추가로 설정될 수 있음.

 – HOST 란 접속을 시도한 클라이언트의 IP 주소를 의미하고, USERID 란 접속한 사용자의 ID 를 각각 의미

 – += 는 /etc/xinetd.conf 파일의 기본설정항목에 추가할 항목을 지정할 때 사용함

 – -= 는 /etc/xinetd.conf 파일의 기본설정항목에서 뺄 항목을 지정할 때 사용함.

 8. log_on_success

 – 서버접속에 성공하였을 경우에 기록할 내용을 설정

 – PID, HOST, USERID, EXIT, DURATION 등을 기록할 수 있음.

 –
PID 란 프로세스의 ID 를 의미, HOSTID 란 클라이언트의 IP 주소를 의미하고, USERID 란 접속한 사용자의 ID
를 의미하며, EXIT 란 프로세스의 종료상태를 의미하고, DURATION 이란 연결지속시간을 각각 의미함.

 9. only_from

 – 현재 이 서버로 해당 서비스 접속이 가능한 특정 호스트를 설정.

 10. no_access

 – 접속 가능한 호스트중에서 특정 호스트를 제외시키는 지시어

 11. instances

 – 해당 서비스로 접속이 가능한 총 접속자 수를 설정

 12. access_time

 – 해당 서비스의 이용가능 시간을 설정

 13. per_source

 – persouce = 5 와 같은 설정이 가능함. 동일한 호스트에서 해당 서비스로의 접속시에 동시에 5번이상 접속할 수 없음.

[수퍼데몬 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 파일에 허가되지않은 접속이 있었다는 로그를 남기고 접속요청을 거부하게 됨.