ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [리눅스] 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

    댓글

Designed by Tistory.