-
[리눅스] xinetd ( 서비스관리 데몬 )서버/리눅스 2017. 4. 26. 19:12
Xinetd ( xinetd.x86_64 )
여러개의 데몬을 관리하는 모듈
#>yum install -y xinetd.x86_64
설정파일 : /etc/xinetd.conf : default 설정으로 되어있다.
데몬관리디렉터리 : /etc/xinetd.d ( directory) : 서비스별로 설정 파일들이 들어있다.
목차
/etc/xinetd.d/ 설정
/etc/vsftpd 설정
/etc/xinetd.d/
해당 디렉터리에는 많은 파일들이 있지만 제공되는 파일들은 예시 파일이므로 무시한다.
데몬 설치가 완료되었으면 해당 디렉터리로 이동해서 파일하나를 만든다.
이때 파일이름은 모듈이름과 동일하거나 비슷해야 관리하기 쉬우므로 ftp를 관리하는 vsftpd파일이름으로 만들어주었다.
#>cd /etc/xinetd.d
#>vi vsftpd : newfile로 생성될것이다.
아래와 같이 작성한다.
service ftp
{
disable = no
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/sbin/vsftpd
}
:wq
#service ftp
서비스는 /etc/services에 등록되어있는 목록들만 가능하다.
20번 포트 : data
21번 포트 : command 서비스로 동작하는것에 대해 확인할 수 있었습니다.
#disable = no
disable : 쓰지않겠다.
xinetd데몬에 의해 동작할껀지를 묻는 설정이다.
= no : 데몬으로 동작
= yes : standalon으로 동작
#soket_type = stream
사용하는 TCP/IP 소켓이다.
= stream 신뢰성있는 데이터전송 ( tcp )
= dgram 비연결 데이터전송 ( udp )
#protocol = tcp
사용하는 프로토콜
#wait
=no 기다리지 않겠다 ( 서비스가 실행이 안되면 계속기다리기때문에 그냥 no만 쓴다고 생각하면된다.)
#user = root
유저를 정하는 부분 (관리자가 해줘야 깔끔한 서버처리라고 생각한다.
#server = /usr/sbin/vsftpd
서비스실행 경로를 적어준다.
명령어 위치 확인은 #>whereis #>which 로 확인이 가능하다.
vsftpd 설정
#>vi /etc/vsftpd/vsftpd.conf
:123
123 listen_ipv6=NO :#no라고 바꿔준다 ( standalone으로 동작하지 않겠다는 설정이다. )
:wq
#>systemctl restart xinetd
다른 서비스들에서 llisten_ipv6 = 설정이 없는 서비스들도 있다.
이런 서비스설정파일들은 그냥 넘어가도 된다.
#xinetd데몬 실행
vsftpd 서비스는 xinetd데몬에 의해 실행될것이기에 실행시켜줄필요없이 xinetd서비스를 실행한다.
client로 root계정으로만 접속이 가능해졌다.
#xinetd 접근 제어
only_from = 허용가능한 ip (혹은 대역)
no_access = 접근제한한 ip (혹은 대역)
[우선순위] only_from < no_access ( 두 설정이 같이 설정되있는 경우 )
ex) 100.100.100.0대역대를 허용 100.100.100.3은 차단
only_from = 100.100.100.0
no_access = 100.100.100.3
access_time = 서비스 타임
ex) access_times = 20:00-22:00 #말그대로 시간대 설정.
only_from : 접근을 허용할 사용자 목록
#>vi /etc/xinetd.conf (default 설정)
:24
#only_from = 100.100.100.0 (주석해제):wq
#>systemctl restart xinetd
default파일에 설정에 하면 xinetd가 관리하는 모든 서비스에 적용된다.
only_from = 100.100.100.3 (특정 호스트 허용)
100.100.100.0 (100.100.100.~ 대역대 허용)
#서비스의 설정파일에서 제어하기
#>vi vsftpd : 없으면 newfile이다.
아래와 같이 작성한다.
service ftp
{
disable = no
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/sbin/vsftpd
only_from = 100.100.200.0
}
:wq
#>systemctl restart xinetd
client#> ftp 100.100.100.128
거부를 했으니 당연한 결과이다.
no_access
#서비스의 설정파일에서 제어하기
#>vi vsftpd : 없으면 newfile이다.
아래와 같이 작성한다.
service ftp
{
disable = no
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/sbin/vsftpd
no_access = 100.100.100.200
}
:wq
#>systemctl restart xinetd
100.100.200.0의 아이피 대역 접근 차단(100.100.200.1~ 100.100.200.254 )
client#>ftp 100.100.100.128
[login success]
access_times
서비스 동작시간 설정
#서비스의 설정파일에서 제어하기
#>vi vsftpd : 없으면 newfile이다.
아래와 같이 작성한다.
service ftp
{
disable = no
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/sbin/vsftpd
only_from = 100.100.100.0
no_access = 100.100.100.200
access_times = 20:00-22:00
}
:wq
#>systemctl restart xinetd
시간대를 설정할수 있다
access_times Error
현재시각 : 20:43
설정시간 : 10:00-12:00
log file
로그파일 생성 및 기록 :
xferlog : /var/log/xferlog (전송에 관한 로그기록만 남는다.)
syslog : /var/log/messages (리눅스에서 제공하는 데몬들의 로그기록, xinetd도 이 로그사용)
(로그인 로그아웃도 확인한다.)
'서버 > 리눅스' 카테고리의 다른 글
[리눅스] SSH(Secure Shell) (0) 2017.04.27 [리눅스] Telnet (0) 2017.04.26 [리눅스] FTP보안설정 (0) 2017.04.25 [리눅스] FTP (0) 2017.04.24 [리눅스]Quota (0) 2017.04.20