데몬(Daemon)
- 시스템에 관련된 작업을 수행하는 Background Process를 통칭하는 용어
- 부팅 단계부터 지정된 데몬이 동작하며 서비스의 요청이 없을 때는 유휴 상태를 유지 한다.
- 기본적인 시스템 자원을 소모하게 된다.
Standalone 방식
- 각 서비스 Daemon이 항상 Standby 하고 있다가 서비스 요청이 오면 바로 작동 된다.
- 자주 사용되는 Service에 사용
Super Daemon 방식
- Super Daemon이 다른 Daemon들을 관리하는 형태
- Super Daemon 만 Standby 하고 있다가 서비스 요청이 들어오면 해당 서비스 Daemon을 작동 시킨다.
- 자주 사용하지 않는 Service에 사용
inetd (internet service daemon) 서비스
- UNIX 부터 제공된 슈퍼 데몬
- 네트워크 접속 제어 역할을 수행한다.
- 특정 서비스 데몬 대신 클라이언트의 연결을 받아들이는 역할을 수행 한다.
- 연결이 허용되면 서비스 데몬을 실행시켜 서비스를 수행하게 한다.
- Telnet, FTP, Shell…
- 서비스 데몬이 계속 동작할 필요가 없으므로 불필요한 리소스 낭비를 줄이게 된다.
- 보안 향상을 위해 TCP Wrapper와 연동하여 접근통제를 수행 한다.
- 리눅스 커널 2.4.x부터 inetd의 확장 형태인 xinetd를 사용한다.
- xinetd는 자체적인 보안기능을 가지고 있다.
xinetd(extended Internet Services Daemon) 서비스
- inetd + tcpd에 추가된 보안기능을 수행하는 네트워크 슈퍼 데몬
- 리눅스 커널 2.4.x부터 사용된다.
xinetd 확장 기능
- 각 서비스 별 환경설정 파일을 별도로 제공 한다. -> /etc/xinetd/서비스 명
- 서비스에 대한 접근통제 -> TCP Wrapper 기능이 내장되어 있다.
- Timeout, 접속 시간 기록
- 접속 시도 횟수 제한
- Dos 공격 방어
- 로그 크기 제한 및 다양한 로그(syslog)제어 기능
xinetd 동작 순서
1단계 | 클라이언트가 서비스 데몬으로 접속을 시도 한다. |
2단계 | xinetd이 요청을 받는다. |
3단계 | TCP Wrapper를 통해 접근 통제를 수행 한다. |
4단계 | 결과에 따라 /var/log/secure파일에 로그를 남긴다. |
5단계 | 접근통제를 통과하면 서비스 데몬의 설정파일을 실행 한다.(Server항목 데몬을 실행 한다.) |
6단계 | 클라이언트의 요청을 실제 서비스 데몬에게 연결 한다. |
7단계 | 클라이언트의 접속이 종료되면 실제 서비스 데몬은 종료한다. |