정보보안공부
Linux_리눅스 Xinetd 슈퍼데몬 본문
리눅스 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 |