RSS구독하기:SUBSCRIBE TO RSS FEED
즐겨찾기추가:ADD FAVORITE
글쓰기:POST
관리자:ADMINISTRATOR

출처 : 대전국제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)
Blah.. blah.. (5)
My Advanced Linux (73)
RedHat Knowledge (10)
Advanced Linux (47)
Virtualization (7)
HA clustering (2)
Bash shell scripts (6)
Learning Linux (96)
Fundamental (41)
AdminCourse (32)
Security (23)
OperatingSystem (5)
AIX (2)
HPUX (3)
Databases (4)
Oralce (3)
Mysql (1)
OpenSource (1)
Tips! (1)
«   2025/08   »
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