정보보안공부

Linux_리눅스 Xinetd 슈퍼데몬 본문

Linux

Linux_리눅스 Xinetd 슈퍼데몬

Steady_sp 2018. 8. 1. 18:00

리눅스 Xinetd

- 오라클 가상 머신 사용

- CentOS7

- Windows 10

 

<Xinetd>

 

- 데몬을 관리하는 데몬이다. ( 슈퍼 데몬 ) - inetd 에서 xinetd로

- 기존의 inetd 슈퍼데몬의 비효율적인 리소스 관리와 보안성 문제를 극복하기 위해 나온 슈퍼데몬으로 서비스별 다양한 설정 옵션을 가지고 있다.

- 서비스별 접근제어를 위해 TCP Wrapper의 기능뿐만 아니라 자체적으로 다양한 서비스별 접근제어가 가능하다.

 

#1 standalone 방식 vs inetd(xinetd) 방식

- 네트워크 서버/클라이언트 구조에서 다양한 서비스( FTP, Telnet, SSH, HTTP 등 ) 서버 프로세스(데몬) 동작방식은 공통점이있다. 실제 서비스를 제공하는 서비스 프로세스를 제외하고는 클아이언트의 접속 요청이 있을 때까지 대기하다가 요청이 들어오면 해당 요청을 처리할 서비스 프로세스(자식 프로세스)를 실행하는 형태이다.

 

- 따라서 효율적인 서버자원의 활용이라는 측면에서 공통적인 부분을 처리하는 슈퍼데몬을 만들어 개별 서비스를 등록하게 하여 클라이언트 요청은 슈퍼데몬이 모두 처리하고 개별서비스를 호출해주는 방식이 등장한다.

 

*** standalone 방식

- 개별 서비스별로 서버 프로세스(데몬)가 동작하는 방식으로 속도가 빠른 장점이 있지만 서버 리소스도 많이 점유하고 있는 단점이 있다.

 

*** inet(xinetd) 방식

- 슈퍼 데몬을 이용하여 개별 서비스를 동작시키는 방식으로 상대적으로 속도가 느리지만 서버 리소스를 절약할 수 있다.

 

#2 Xinetd 데몬

 

*** 설치

#> yum -y install xinetd.x86_64

 

 

-> Xinetd 데몬설치

 

*** 설정 파일의 설정사항

 

service : 서비스 이름

disable : 해당 서비스의 실행 여부를 결정한다. yes : 실행안함, no : 실행

socket_type : 서비스 소켓 유형을 설정한다. 일반적으로 tcp경우 stream, udp의 경우 dgram을 설정한다.

wait : 서비스 요청 처리 중 다음 요청이 들어오면 이를 즉시 처리할 것인지(no) 이전 요청이 완료될 때까지 대기할 것인지(yes) 설정한다.

user : 어떤 사용자로 서비스를 실행할지 설정한다.

server : 서비스 실행 파일 경로를 설정한다. 반드시 절대경로로 설정한다.

server_args : 실행 프로그램의 인자로 설정파일 경로를 작성한다.

cps 연결요청을 제한하기 위한 설정으로 첫 번째 인자는 초당 연결 개수를 의미하고 두 번째 인자는 초당 연결 개수를 초과하면 일시적으로 서비스가 중지되는데 서비스 일시 중지 후 재시작할 때까지 대기하는 시간을 의미한다.

instances : 동시에 서비스할 수 있는 서버의 최대 개수를 지정한다.

per_source : 출발지 IP를 기준으로 최대 서비스 연결 개수를 지정한다.

only_from : 특정 주소 또는 주소 대역만 접근을 허용한다.

no_access : 특정 주소 또는 주소 대역의 접근을 차단한다.

access_times : 지정한 시간 범위 내에서만 접근을 허용한다.

log_on_failure : 서버 접속에 실패했을 경우 로그파일에 기록할 내용을 설정한다.

log_on_success : 서버 접속에 성공했을 경우 로그파일에 기록할 내용을 설정한다.

 

*** 설정 파일

#> vi /etc/xinetd.conf

-> 글로벌 설정파일

-> 슈퍼데몬이 관리하는 모든서비스에 해당 설정이 적용된다.

 

 

-> 기본값으로 설정되있는 /etc/xinetd.conf 설정파일

-> includedir을 통해 이 파일은 전체설정파일이고 추가적인 서비스 설정파일이 /etc/xinetd.d 디렉토리 안이라는 것을 확인 할 수 있다.

 

#> vi /etc/xinetd.d/*

-> 각 서비스 별 설정 파일

-> 각 서비스 별 설정을 따로 설정해서 적용시킬 수 있다.

 

 

-> 예시로 /etc/xinetd.d 디렉토리 안에있는 FTP 서비스 설정사항파일 확인

-> 위에 작성된 설정은 필수설정이다. 추가적인 설정 가능

 

#3 Xinetd 데몬으로 FTP 서비스 관리하기

 

*** FTP를 Xinetd 로 사용하기위해 vsftpd에서 설정사항

#> vi /etc/vsftpd/vsftpd.conf

 

 

-> 슈퍼데몬 방식으로 사용하기위해 listen_ipv6=NO 로 설정

 

*** Xinetd 설치

#> yum -y install xinetd.x86_64

 

 

-> Xinetd 데몬설치

 

*** 설정 파일

#> vi /etc/xinetd.conf

-> 글로벌 설정파일

-> 슈퍼데몬이 관리하는 모든서비스에 해당 설정이 적용된다.

 

#> vi /etc/xinetd.d/*

-> 각 서비스 별 설정 파일

 

*** Xinetd 슈퍼데몬이 관리하도록 파일생성후 작성

#> vi /etc/xinetd.d/vsftpd

 

 

-> xinetd.d 디렉토리 밑에 슈퍼데몬에서 관리할 서비스이름으로 파일을 생성후에 위와같은 형식으로 작성한다.한다.

 

*** 파일생성후 Xinetd 슈퍼데몬 재시작

 

 

-> Xinetd 슈퍼데몬을 재시작하므로써 vsftd 서비스가 슈퍼데몬에의해 관리되어지는것을 Started working : 1 available service로 확인

 

*** vsftpd를 슈퍼데몬에서 관리하면 vsftpd 독립적으로 서비스실행 불가능

 

 

-> vsftpd서비스 설정을 변경했을때 vsftpd가아닌 xinetd데몬을 재시작해서 vsftpd설정을 반영해야한다.

-> vsftpd로 사용시 에러발생

 

 

'Linux' 카테고리의 다른 글

Linux_ 리눅스 원격제어 - VNC  (2) 2018.08.02
Linux_리눅스 원격제어 - Telnet / SSH  (1) 2018.08.02
Linux_리눅스 FTP 보안 설정  (0) 2018.08.01
Linux_리눅스 FTP  (0) 2018.07.31
Linux_리눅스 SAMBA  (0) 2018.07.26
Comments