본문 바로가기

시스템 보안

11. 데몬 (Daemon)

반응형


오늘은 데몬에 대해서 배워보도록 할께
데몬은 리눅스에서 사용하는 대다수의 서비스들은 데몬을 거치기 때문에
데몬을 모르고 서비스를 논하는 것은 있을 수 없어 ㅎㅎ
데몬에 대해 이야기할게 많은데 한번 바로 공부하러 가보자!
바로 go~go~


1. Daemon

데몬은 service를 제공하는 process야.
우리가 리눅스에서 사용하는 모든 service들은 데몬을 거쳐서 실행된다고 생각하면 돼
데몬은 우리가 종종 사용해왔었어
systemctl restart sshd 혹은 service telnetd restart 명령을 보면 서비스 이름 뒤에 'd'가 붙은 것을 봤을거야
여기서 sshd와 telnetd가 바로 데몬이었던거야
그런데 여기서 데몬은 또 두 가지 종류로 나뉘게 돼

1. standalone 방식
2. xinetd 방식


그렇다면 이 방식들을 나누는 기준이 무엇이냐!
바로 process 실행이 어떻게 이뤄지느냐에 따라 나뉘게 돼
보통 process는 main memory에서 실행되는데 service들의 실행 파일은 HDD에 존재해
service를 실행을 하려면 HDD에서 main memory로 끌어다가 쓰는데 이 때 사용방식에 따라
standalone 방식과 xinetd 방식으로 나뉘게 돼
먼저 standalone 방식부터 설명해보도록 할께


- standalone 방식
main memory에 기본적으로 실행되는 상태로
service 요청자가 요청하는 즉시 바로 응답을 해주는 방식
주로 자주 사용하는 service일 경우 standalone 방식을 많이 사용하지
왜냐구? 자주 사용하는데 번거롭게 xinetd에게 부탁해서 사용하는게 비효율적이거든!


- xinetd 방식
xinetd는 main memory에 있지만
HDD(hard disk)에 있는 service를 xinetd가 main memory로 가져온 후
main memory에서 service를 실행하는 방식
xinetd는 바로 데몬을 관리하는 데몬이라고 부르며, 슈퍼데몬이라고도 해


2. Daemon 파일


[데몬 저장파일]
standalone 저장: /etc/init.d
xinetd 저장: /etc/xinetd.d
해당파일에 service를 저장하면 저장한 service를 방식에 따라 사용할 수 있게 돼!


[데몬 설정파일]
/etc/xinetd.conf
xinetd에 대한 환경설정 파일인데 한번 어떤 형태로 저장되어 있는지 확인해보자



무슨 소리인지 모르겠지? 우리는 여기서 접근통제하는 부분만 살펴보도록 할께
한줄씩 분석해볼테니 잘 따라 와! (21번 line부터)

# Define access restriction defaults >>> 접근통제를 하는 section임을 알려주고 있어
no_access = 0 >>> 등록된 주소는 접근금지 (xinetd에 등록된 service 사용 불가능)
only_from = 0 >>> 등록된 주소만 유일하게 접근허용
cps = 50 10 >>> 초당 50개 연결요청이 들어오면 10초동안 service 중지 (DOS공격예방)
instances = 50 >>> 동시 접속이 가능한 client 수
per_source = 10 >>> 하나의 IP 주소에서 접속할 수 있는 자원 수


여기서 직접 실습을 통해 알아볼 수 있는 부분은 no_access 설정과 only_from 설정이야
no_access에 192.168.10.100을 등록한 후 접근통제가 이뤄지는 알아볼께

1. no_access = 192.168.10.100 등록 후, service xinetd restart 실행



2. centos7에서 sulinux 접근 시도하기 (telnet 접속 시도)

telnet은 접속 실패하지만 ssh는 접속이 되는 것을 볼 수 있어


telnet은 xinetd에서 관리하기 때문에 접근 통제되었으나
ssh는 xinetd가 아닌 standalone 방식이기 때문에 접근 통제되지 않는다.


--- telnetd 사용하기 ---

위에서는 xinetd에 대한 환경설정 파일을 알아봤다면
이번에는 xinetd를 통해 사용할 수 있는 service인 telnet의 환경설정 파일을 살펴보도록 할께

데몬 파일: /etc/xinetd.d/telnet



flags = reuse >>> 재사용 관련 parameter
socket_type = stream >>> 결과는 stream과 dgram으로 나뉨 stream은 TCP, dgram은 UDP
wait = no >>> service가 실행 중일때 다른 service가 들어올 때 같이 실행시킬지의 여부 결정
user = root >>> 사용자 설정
server = /usr/sbin/in.telnetd >>> server가 구동되는 파일 이름
access_times = 20:07 - 20:50 >>> 20:07부터 20:50까지 접근허용, 나머지 시간은 차단

여기서 적용한 파일 내용들은 모두 telnetd에만 적용되는 것 알아둬!
xinetd 전체에 적용되는 것은 아니기 xinetd 설정과 telnetd 설정을 분리해서 알아둬야 해




여기까지 데몬에 대한 기본개념과 설정파일들을 확인해봤어
다음 시간에는 telnet 대신 ssh에 대해 한번 알아보도록 할께
ssh도 telnet처럼 설정파일이 존재한다는 것 알아두고! 다음시간에 이어서 배워보자~

반응형

'시스템 보안' 카테고리의 다른 글

12. NFS (1)  (0) 2021.12.27
번외) SSH 설정  (0) 2021.12.26
10. TCPWrapper  (0) 2021.12.24
9. 서버보안 (iptables)  (0) 2021.12.24
8. ICMP 필터  (0) 2021.12.22