본문 바로가기
자격증

[리눅스마스터 1급] 17. 슈퍼 데몬

by LimSeongHyeon 2025. 5. 5.


슈퍼데몬 이란?

슈퍼 데몬은 다른 여러 서비스 데몬을 관리하고, 요청이 들어올 때만 그 서비스를 실행시켜 주는 통합 관리 데몬이다. 사용 빈도가 낮은 서비스를 관리할 때 매우 적합하며 덕분에 메모리 사용을 줄일 수 있다.

xinetd 설치 및  설정

xinetd는 슈퍼 데몬중 하나로 기존 inetd의 확장 버전이다. 보안 기능과 로깅 기능이 더 강화되었다.

 

xinetd 설치 및 실행
$ sudo dnf install -y xinetd
$ sudo systemctl start xinetd
$ sudo systemctl enable xinetd

 

 

xinetd.conf
xinetd가 전체적으로 어떤 방식으로 동작할지 정하는 글로벌 설정을 정의하는 파일이다. 즉, 전체 공통 설정에 대한 내용이 담겨있다.
defaults {
    log_type        SYSLOG daemon
    log_on_success  HOST PID EXIT
    log_on_failure  HOST ATTEMPT RECORD
    only_from       192.168.0.0/24
    no_access       192.168.0.100
    instances       50
    cps             20 30
    per_source      5
}

enabled = telnet, ftp
disabled = finger, rlogin
includedir /etc/xinetd.d
항목 설명
defaults 기본 설정 블록. 모든 서비스에 공통 적용.
log_type 로그 출력 위치 (SYSLOG, FILE, SYSLOG daemon info)
log_on_success 서비스 성공 시 로그할 정보 (PID, HOST, EXIT 등)
log_on_failure 실패 시 로그할 정보 (HOST, ATTEMPT, RECORD 등)
only_from 허용할 IP/호스트 제한 (예: 192.168.0.0/24)
no_access 차단할 IP/호스트 지정
instances 동시에 실행할 수 있는 최대 서비스 인스턴스 수
cps 연결 제한: 초당 최대 요청 수, 차단 시간
per_source 같은 IP에서 동시에 열 수 있는 최대 연결 수
enabled /etc/xinetd.d 디렉터리의 특정 서비스만 활성화
disabled /etc/xinetd.d 디렉터리의 특정 서비스만 비활성화
includedir 개별 서비스 설정 파일이 들어있는 디렉터리. (/etc/xinetd.d)

 

 

xinetd.d
개별 서비스 단위로 xinetd에서 어떻게 동작할지 정의되어 있는 디렉터리이다.
service telnet
{
    disable         = no
    socket_type     = stream
    wait            = no
    user            = root
    server          = /usr/sbin/in.telnetd
    log_on_success  = HOST PID
    log_on_failure  = HOST ATTEMPT
    only_from       = 192.168.0.0/24
    no_access       = 192.168.0.200
    port           = 2323
    redirect        = 192.168.0.10 23
    nice           = 10
    accesstimes    = 09:00-18:00
}
항목 설명
defaults 기본 설정 블록, 모든 서비스에 공통 적용
log_type 로그 출력 위치 (예: SYSLOG, FILE, SYSLOG daemon info)
log_on_success 서비스 성공 시 로그할 정보 (예: PID, HOST, EXIT)
log_on_failure 서비스 실패 시 로그할 정보 (예: HOST, ATTEMPT, RECORD)
only_from 허용할 IP/호스트 (예: 192.168.0.0/24)
no_access 차단할 IP/호스트
instances 동시에 실행할 수 있는 최대 서비스 인스턴스 수
cps 초당 최대 요청 수, 차단 시간
per_source 같은 IP에서 동시에 열 수 있는 최대 연결 수
enabled /etc/xinetd.d의 특정 서비스만 활성화
disabled /etc/xinetd.d의 특정 서비스만 비활성화
includedir 개별 서비스 설정 파일 폴더 지정 (예: /etc/xinetd.d)
redirect 요청을 다른 호스트/포트로 리다이렉트 (예: 192.168.1.10 80)
nice 서비스 프로세스의 CPU 우선순위 조정 값 (예: 10 → 낮은 우선순위)
accesstimes 서비스 허용 시간대
port 서비스가 리스닝할 포트 번호 지정 (예: 23)
man xinted.conf와 대조해서 한번씩 확인해보면 찾는데 도움이 될 것이다. EXAMPLE을 꼭 확인해보도록 하자!

 


문제

1) IP 주소가 192.168.10.1 이거나, 192.168.1.0/24 네트워크 대역을 사용하는 호스트만 허용한다.
2) IP 주소가 192.168.14.7인 호스트이 접근은 차단한다.
3) 동시에 서비스할 수 있는 서버의 최대 개수는 30개로 설정한다.
4) 특정 IP주소 하나당 서비스 개수는 3개로 제한한다.
5) 접속 가능한 시간은 09:00 ~ 12:00, 13:00~18:00로 제한한다.
더보기

1) only_from = 192.168.10.1 192.168.1.0/24

2) no_access = 192.168.14.7

3) instances = 30

4) per_source = 3

5) access_times = 09:00-12:00 13:00-18:00