RSS구독하기:SUBSCRIBE TO RSS FEED
즐겨찾기추가:ADD FAVORITE
글쓰기:POST
관리자:ADMINISTRATOR
'xinetd'에 해당되는 글 1
2009.07.27  [리눅스 관리]xinetd  

출처 : 대전국제IT교육센터 정성재 강사

 

1. xinetd란?
  RedHat Linux7에서부터 제공되는 것으로 슈퍼 데몬인 inetd를 확장한 즉, eXetnd inetd를 데몬이다.
기존의 inetd는 슈퍼데몬인 inetd와 Tcp Wrapper와 관련있는 tcpd 두가지로 나뉘어 관리되었는데
xinetd는 이 두가지를 하나로 통합하여 사용한다.


2. xinetd의 역할
xinetd의 역할도 역시 기존의 inetd의 역할과 유사하다. 네트워크서비스에 대한 접근제어, login에
대한 접근제어 등을 한다.

3. xinet의 구성
(1) 환경설정파일 : /etc/xinetd.conf
(2) xinetd에서 제공하는 서비스를 모아두는 디렉토리 : /etc/xinetd.d
    => xinetd에서 제공하는 서비스는 모두 이 디렉토리안에 파일로 나열되어 있다. 해당서비스의
      설정은 해당파일에서 설정해야 한다.

4. /etc/xinetd.conf
(1) 개요: 자세한 설정은 man으로 확인하고 기본설정만 확인해보도록 하자.
(2)기본설정
   #
   # Simple configuration file for xinetd
   #
   # Some defaults, and include /etc/xinetd.d/

   defaults
   {
           instances               = 60
           log_type                = SYSLOG authpriv
           log_on_success          = HOST PID
           log_on_failure          = HOST RECORD
           cps                     = 25 30
   }

   includedir /etc/xinetd.d
(3)설명
   1)instances : 동시에 서비스할 수 있는 서버의 최대 개수를 지정한다. 만일 접속에 제한을 두지
               않으려면 UNLIMITED로 지정하면 된다.
   2)log_type : 어떠한 형태로 로그 기록을 저장할 것인가를 지정하는 속성으로 SYSLOG와 FILE 두
               형태로 사용가능하다.
    ㄱ. SYSLOG : 지정된 facility에서 syslog로 로그기록이 전달된다. 이 때 사용가능한 facility
                는 daemon, auth, authpriv, user, local0~7이 있으며, 가능한 레벨수준으로는
                emerg, alert!, crit, err, warnning, notice, info, debug등이 있다. 레벨수준이 지
                정되지 않았을 때는 info수준으로 지정된다.
      -사용예 : SYSLOG syslog_facility [syslog_level]
    ㄴ. FILE: 지정된 크기를 가진 파일명에 로그 기록이 저장된다. 파일크기는 soft limit와 hard
             limit 두 옵션을 선택적으로 사용하여 지정할 수 있는데, soft limit에서 지정된 크기
             의  파일에 로그가 기록되며, 이 값이 초과하게 되면 경고와 같은 수준의 메시지가 전
             달되며, hard limit 값이 초과할 경우에는 문제 있는 서비스에 대한 로그를 저장하지
             않고 이에 대한 정보만을 기록하게 된다.
      -사용예 : FILE soft_limit [hard_limit]
   3)log_on_success : 서버가 시작될 때와 끝날 때 기록될 것을 지정한다. 이 속성에는 5가지의 값
                     을 조합하여 설정할 수 있다.
    -속성값
     PID      : xinetd 프로세스 ID
     HOST     : 원격 호스트의 IP
     USERID   : 원격 사용자의 ID
     EXIT     : 서비스가 빠져 나갈 때의 상태
     DURATION : 서버 세션(session)지속 상태
   4)log_on_failure : 서버가 리소스 부족으로 시작될 수 없거나 설정 파일내의 규칙에 의한 접근이
                     거부되었을 때 기록될 값들을 지정하는 속성이다.
    -속성값
      HOST    : 원격의 호스트의 아이피주소
      USERID  : 원격 사용자 ID]
      ATTEMPT : 실패한 시도가 있을 경우
      RECORD  : 클라이언트에 대한 가능한 정보
   5) cps : 초당 요청받은 수에 대한 제한 설정이다.
    ㄱ. 기본구성
       cps           =  초당_요구수 초당요구수_이상_발생시_제한시간
    ㄴ. 사용예
       cps                     = 25 30
         => 초당 요구가 25개 이상될 경우에 30초동안 접속 연결을 중단한다.
   6)only_from: 특정서비스를 이용 가능한 원격호스트를 설정한다. 이 속성에 값이 주어지지 않으면
                모든 접속이 허용되지 않는다. 서버에 접속이 가능한 원격 호스트는 도메인이 아닌
                아이피주소로 지정한다. 이 때 설정되는 IP주소형태는 IP주소(192.168.0.1)나 또는
                네트워크 주소/넷마스크(192.168.0.24)형태로 지정가능하다.
   7)per_source : 똑같은 IP주소로 로컬서비스에 접속할 수 있는 최대 접속수를 지정해 준다. 무제
                 한 접근을 허용하려면 UNLIMITED로 설정한다.
   8)enable : enable속성은 실행 가능한 서비스의 목록을 표시할 수 있게 한다. 이 속성에서 나열된
             서비스명만 실행 가능하며 그렇지 않은 서비스들은 실행되지 않는다. 그러나, disable
             속성과 DISABLE플래그가 존재할 경우 이 속성은 무시된다.
   9)no_access: 서버 서비스를 이용하지 못하도록 서버에 접근하지 못하게 할 원격 호스트의 주소를
                지정해준다.
   10)disable: 서비스 값들이 실행되지 못하도록 지정한다. enable 속성과 같이 존재할 경우 enable
              속성이 무시되어 실행되지 않는다.
   11)includedir /etc/xinetd.d : 각각 해당 서비스에 대한 지정을 /etc/xinetd.conf에서 하지 않고
                                해당서비스마다 하나의 파일로 지정할 때 쓴다. 이 속성을 사용할
                                경우 xinetd.conf에서는 해당 service를 설정할 수 없다.

5. 해당 service section에서 사용되는 주요 속성과 속성값
   1)service telnet : service속성으로 설정하고자 하는 서비스의 이름을 지정해준다. 여기서 지정해
                      주는 서비스들은 /etc/services파일 리스트에 있어야 한다.
   2)disable=yes : 해당 서비스가 실행되지 못하도록 설정한다. 해당서비스를 하지 않거나 httpd와
                   같이 standalone상태로 데몬이 작동하는 경우에 속성값을 yes로 지정하고, teln
                   et이나 POP3처럼 항상 서비스가 작동하도록 하기위해서는 속성값을 no로 지정해야
                   한다.
   3)flags=REUSE
    ㄱ. 속성값
     a. REUSE : 서비스 소켓에 SO_REUSEADDR플래그를 설정하도록 한다.
     b. INTERCEPT : 패킷이나 허용된 접속을 가로채어 허가된 위치에서 접속하는지 인증하고자 할
                   때 사용한다.
     c. NORETRY : 프로세스가 새롭게 생기지 못할 경우 재시도하지 못하도록 한다.
     d. IDONLY : 원격호스트가 원격사용자를 인증할 때만 접속을 허용한다. 이 플래그는 접속기반
                서비스에 적용되며, USER log옵션을 사용하지 않을 경우 효과를 내지 못한다.
     e. NAMEINARGS : 서버가 작동될 때 서버내에 지정한 것과 같이 server_args내의 첫번째 인수가
                    arg[0]이 되도록 하는 플래그이다. 이 플래그는 서버내에 tcpd를 넣어 tcpd를
                    사용할 수 있게 하고, inetd처럼 server-args내에 서버이름을 넣을 수 있게 한
                    다.
     f. NODELAY : TCP서비스에 이 플래그를 설정하면 TCP_NODELAY플래그가 소켓에 설정된다. 이 플
                 래그는 TCP서비스에 한해서 적용된다.
     g. DISABLE : 서비스가 실행되지 않게 한다.
     h. KEEPALIVE : TCP서비스에 이 플래그가 설정되면 SO_KEEPALIVE소켓 플래그가 소켓에 설정된다.
                   이 플래그도 TCP서비스에 한해서 작용한다.
   4)protocol = tcp: 서비스가 사용한 프로토콜을 설정한다. 이 프로토콜은 /etc/protocols내에 있
                    어야 한다. 이 속성을 지정하지 않으면 서비스가 사용하는 기본 프로토콜을
                    사용한다.
   5)socket_type = stream
    ㄱ. 속성값
     a. stream : stream기반의 서비스
     b. dgram  : dgram기반의 서비스
     c. raw    : 아이피에 직접 접근을 요하는 서비스
     d. seqpacket : 신뢰성있는 연속적인 데이터그램 전송을 요구하는 서비스
   6)wait = no : 서비스가 단일 쓰레드(single thread)인지 다중쓰레도(multi-thread)를 결정하는
                플래그로 yes인 경우는 단일 쓰레드로 실행되어 오직 하나의 서비스만 작동하게 하
                며, no인 경우는 다중 쓰레드로 서버가 새로운 서비스 요청을 받아 들이게 된다.
   7)user = root : 서버 프로세스를 실행할 수 있는 사용자의 ID를 나타내는 것으로 슈퍼유저일 경
                  우에만 가능하다.
   8)server = /usr/sbin/in.telnetd : 해당서비스를 실행할 데몬프로그램을 지정한다.
   9)access time = 01:00-07:00 : 지정된 시간에서만 서비스를 이용할 수 있게 해준다.
   10)redirect = 192.168.1.10 23 : TCP서비스를 다른 호스트에게 이양하고자 할 때 사용한다. 즉
                                  192.168.1.1의 FTP서비스를 192.168.1.10호스트에게 FTP서비스를
                                  할 수 있도록 해주는 설정이다. 설정방법은 "IP_Address port"이
                                  다.
   11)port = 8080 : 서비스 포트를 명시해준다. 이 포트는 /etc/services파일 목록내의 서비스포트와
                   일치해야 한다.
   12)nice=10 : 서버의 예약우선권을 나타내는 속성으로 -20~19까지의 범위를 갖는다. -20은 가장
               빠른 우선권을 나타내며, 19는 가장 느린 우선권을 갖는다.

Trackback
Reply
우주곰:지구곰이 아닙니다.
지구곰이 아닙니다.
Categories (190)
Information (5)
About uzoogom (5)
My Advanced Linux (73)
Learning Linux (96)
OperatingSystem (5)
Databases (4)
OpenSource (1)
Tips! (1)
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31