>> Read Reply from No. 23247 article  
RE: xinetd.conf 문서

등록 2001-03-09 16:32:00     조회 2
이름 무정한    

		: RedHat 7.0 을 쓰고 있는 초보자입니다.
: talk를 쓸려고 deamon을 설치 하였는데 terminal에서
: talk username 을 주었는데 다음과 같은 에러 메세지가 나옵니다.
:
: Error on read from talk deamon: Connection refused
:
: deamon 설치 후 xinetd.d 디렉토리의 talk file을 설정해야 할거 같은데
: 어떻게 설정 해준는지 알 수가 없어서 이렇게 도움을 청합니다.
: 아시는분 알려 주세요...^^
다음은 어느 싸이트에선가 긁은 문서의 내용입니다.
자료의 출처를 잊어버린점 죄송스럽게 생각하면서...
 ┏━━━━━━━━━┓
┃     Xinetd       ┃
┗━━━━━━━━━┛
     1. Xinetd은 무엇인가?
    리눅스 6.2까지는 네트웍 커넥션을 처리하기 위해서 inetd를 사용하였습니다.
   그러나 레드헷 리눅스 7.0부터는 inetd를 사용하지 않고 Xinetd를 사용합니다.
   전통적인 inetd는 포트로 연결요청이 들어오면 이를 tcpd에게 보냈고, 다시
   tcpd는 host.allow와 host.deny에 포함되어 있는 rules에 따라 그 요청을 허
   락할 것인지 결정합니다. 만약 요청이 허락되면 tcpd는 요청에 적합한 서버
   프로그램을 실행시킵니다. 이러한 매커니즘을 tcp_wrapper라고 합니다.
    Xinetd는 tcp_wrapper와 비슷한 접근 통제 방법을 제공합니다. 그러나 일부
   RPC 서비스의 콘트롤에는 문제가 있습니다. 그렇지만 xinetd는 portmap과도
   잘 맞습니다.
       2. 특징
    · TCP, UDP, RPC 서비스에 대한 접근 통제
   · time segment에 기반한 접근통제
   · 접근 성공 및 실패에 대한 로그기록
   · Dos공격에 대한 효과적인 방지
          ° 동시에 실행되는 서버 프로그램의 개수 제한
          ° 전체 서버의 프로그램 개수 제한
          ° 로그파일 크기의 제한
   · 특정 인터페이스에 서비스를 바인드함.
   · 프럭시 시스템의 수행
    이 글에서는 먼저 xinetd의 동작 방법을 설명하고 설정파일 설정방법과 몇가지
   유용한 예와 팁을 설명할 것입니다.
       3. Compilation & Installation
    여러분들은 www.xinetd.org에서 xinetd를 구할 수 있을 것입니다. 이 글에서는
   버전 2.1.8.9pre10.을 사용합니다.
   컴파일과 인스톨은 전형적인 방법, 즉, ./configure; make; make install 명령
   을 사용합니다. 그리고 configure시에 다음과 같은 3가지 유용한 옵션이 있습
   니다.
     1) -with-libwrap : 이 옵션은 xinetd가 tcpd의 컨피그 파일인 hosts.allow
        와 hosts.deny를 점검하도록 하며, 접근요청이 들어오면 tcpd의 접근제어
        방법을 사용하도록 합니다. 이 옵션을 사용하기 위해서는  tcp_wrapper와
        그 라이브러리가 설치되어 있어야 합니다.
       2) -with-loadavg : 이 옵션은 xinetd가 max_load configuration 옵션을 사용
        하도록 합니다. 따라서 이 옵션은 서버에서 접속이 한계를 넘어서면 더 이
        상의 서비스가 실행되지 않도록 합니다. 이 것은 DoS 공격을 막는데 사용
        될 수 있습니다.
      3) -with-inet6 : 여러분들이 Ipv6를 사용한다면 이 옵션이 필요합니다.
        이 옵션이 주어지면 Ipv4와 Ipv6의 주소체계를 모두 지원하며 Ipv4의 주소
        는 Ipv6으로 변환됩니다.
      Xinetd를 시작하기 전에 여러분들은 inetd를 정지시킬 필요가 없으며, xinetd의
     행동을 조정하는데 다음의 3가지 시그널이 사용될 수 있습니다.
      1) SIGUSR1 : software re-configuration : 설정파일이 다시 로드되며, 서비스
        파라미터들도 적절하게 변경됩니다.
      2) SIGUSR2 : hardware re-configuration : 위와 동일하지만, 그에 더하여
        시한이 넘은 데몬은 kill 됩니다.
      3) SIGTERM : xinetd를 끝냅니다.
      그 밖에도 몇가지 다른 시그널들이 있지만 위에 언급한 3가지 시그널만으로 충분
     히 xinetd를 제어할 수 있습니다. 참고로 SIGHUP은 /var/run/xinetd.dump라는
     파일에 xinetd의 dump파일을 기록합니다.
        4. 설정
    /etc/xinetd.conf 파일이 기본설정파일이며 커맨드 라인에서 옵션으로 다른 설정
   파일을 지정할 수도 있습니다. 비록 xinetd의 컨피그 파일이 복잡하지는 않지만
   inetd의 컨피그 파일과는 전혀 다릅니다.
   Itox와 xconv.pl이 제공되는데 이것들은 /etc/inetd.conf를 xinetd의 컨피그 파일
   로 변환시켜 줍니다. 현재 itox는 더 이상 개발이 중단되었으며, xconv.pl이 더
   좋은 솔루션입니다. 다음과 같은 명령으로 inetd.conf를 변경할 수 있습니다.
          /usr/local/sbin/xconv.pl < /etc/inetd.conf > /etc/xinetd.conf
    컨피그 파일은 default 구역으로 시작됩니다. 이 구역의 Attrubutes는 이후에
   xinetd가 다루게 될 모든 서비스에 적용됩니다. 이후에 많은 서비스가 포함될 수
   있으며, 각 서비스는 이 default 설정과 관계된 사항을 재설정할 수 있습니다.
   디폴트 구역의 모습은 다음과 같습니다.
    ┌──────────────────────────────────┐
   │       Default                                                      │
   │       {                                                            │
   │                    attributes  operator  value(s)                  │
   │                    … …                                           │
   │       }                                                            │
   └──────────────────────────────────┘
    이 영역에서 정의된 각각의 속성(Attributes)들은 다음에 기술된 서비스들에게
   적용될 값을 유지하고 있습니다. 그러므로 이 영역에서 정의된 only_from 속성
   (서버에 연결할 수 있는 권한이 주어진 주소의 리스트)은 이 후에 기술되는
   모든 서비스에서도 그대로 사용됩니다. 즉, 이 리스트에 포함된 주소를 갖고
   있는 머쉰만이 서비스에 접근할 수 있습니다. 그렇지만 이 기본값은 각 서비스
   에서 재설정될 수 있습니다. 그렇지만 보안을 위해서는 기본설정에서는 모든
   접근을 불허하게 하고 각 서비스 별로 접근가능한 주소를 나열하는 것이 좋습
   니다. 이것은 Tcp_wrapper에서 hosts.deny 파일에 ALL: ALL  @ ALL를 기재하고
   hosts.allow 파일에 접근가능한 주소를 기재하는 방법과 같은 것입니다.
    각 서비스의 설정은 다음과 같은 모습으로 되어 있습니다.
    ┌──────────────────────────────────┐
   │       Service  service_name                                        │
   │      {                                                             │
   │                    Attribute  operatior  value(s)                  │
   │                    … …                                           │
   │       }                                                            │
   └──────────────────────────────────┘
    오퍼레이터(연산자)는 =, +=, -= 가 가능합니다. 대부분의 속성은 = 연산자를
   지원하며 이것은 속성에 고정된 값을 건네줍니다. +=는 값을 더해주고, -=은
   값을 빼줍니다. 다음 표는 설정파일에서 사용되는 속성과 그 값에 대해서
   설명합니다. 이에 대한 예제와 보다 자세한 설명은 xinetd의 man 페이지를
   참고하시기 바랍니다.
    ( xinetd에서 사용되는 속성과 그 값)
   ----------------------------------------------------------------------------
   flags
            대부분의 값들이 여기서 논의될 것이지만, 새로운 것은 다른 문서를
            참고하시기 바랍니다.
             · IDONLY :  identification을 갖고 있는 클라이언트로부터의 요청만
                허용합니다.
             · NORETRY : 실패시 새로운 프로세스로 포트하는 것을 막습니다.
             · NAMEINARGS : server_args 속성의 첫번째 인수는 서버에 argv[0]과
                같이 사용됩니다. 이것은  server속성에 tcpd를
                사용하는 것을 허용하며, 그 다음에 server_args
                속성에 서버 프로그램의 이름과 인수들을 기입합니다.
                이것은 inetd에서와 같은 방법입니다.
   ----------------------------------------------------------------------------
   Log_type
            Xinetd는 기본으로 syslogd와 daemon.info selector를 사용합니다.
             · SYSLOG selector[level] : syslogd로부터 daemon, auth, user중에서
                선택하는 것을 허용합니다.
             · FILE [max_size[absolute_max_size]] : 지정된 파일이 로그정보를
                받습니다. 파일사이트는 두가지 옵션으로 설정하는데, 파일의 크기
                가 지정된 사이즈에 다다르면, 첫번째는 메시지는 syslogd로 보내
                지고, 두번째는 이 서비스에 대한 로그기록을 중단합니다.
   ----------------------------------------------------------------------------
   Log_on_success
            서버 프로그램이 시작될 때, 여러가지 다른 정보들이 기록될 수 있습니다.
             · PID : 서버의  프로세서 ID
                (internal 서비스인 경우에는 PID가 0으로 된다)
             · HOST : 클라이언트의 주소
             · USERID : 리모트 유저의  ID
             · EXIT : 프로세스 퇴장 상태
             · DURATION : 세션의 지속시간
   ----------------------------------------------------------------------------
   Log_on_failure
            접근제어나 서버 리소스의 부족등으로 서버프로그램이 시작되지 못하였
            을 때 로그정보를 기록할 수 있다.
             · HOST, USERID : 위와 같음
             · ATTEMPT : 접근 시도를 기록.
             · RECORD : 클라이언트에 대한 사용가능한 정보를 모드 기록.
   ----------------------------------------------------------------------------
   Nice
            Nice 명령과 같이 서버의 실행우선 순위를 변경한다.
   ----------------------------------------------------------------------------
   No_access
            해당서비스에 접근할 수 없는 클라이언트에 대한 리스트
   ----------------------------------------------------------------------------
   Only_from
            인증된 클라이언트 리스트, 이 속성이 값을 갖지 않으면, 서비스에 대한
            접근이 허가되지 않는다.
   ----------------------------------------------------------------------------
   Port
            서비스의 포트, 이것은 /etc/services 파일에 명시된 포트와 일치해야
            한다.
   ----------------------------------------------------------------------------
   Protocol
            지정된 프로토콜은 /etc/protocol 파일에 존재해야 한다. 이 속성이
            저정되지 않으면, 서비스의 디폴트 프로토콜이 사용된다.
   ----------------------------------------------------------------------------
   server
            서버 프로그램에 대한 경로명
   ----------------------------------------------------------------------------
   Server_args
            서버에 전달되는 인수들
   ----------------------------------------------------------------------------
   Socket_type
            Stream(TCP), datagram(UDP), raw(IP direct access) or seqpacket()
   ----------------------------------------------------------------------------
   Type
            Xinetd는 다음 3가지 타입의 서비스를 지원한다.
             · RPC : /etc/rpc 파일에 지정된 rpc 서비스를 지원, 그러나 잘
                작동하지 않는다
             · INTERNAL : xinetd에 의해서 직접 다루어지는 서비스
                ( echo, time, daytime, chargen, discard )
             · UNLISTED : /etc/rpc, /etc/services 파일에 정의되지 않은
                서비스들 여러가지 값을 지정하는 것도 가능함.
   ----------------------------------------------------------------------------
   Wait
            쓰레드에 대한 서비스의 행동방식을 지정, 다음 두가지 값이 사용가능함
             · yes : 서비스는 단일 쓰레드로 실행된다. 이 경우 단지 하나의
                서비스만이 다루어질 수 있다
             · no : 새로운 서비스 요청에 대해서 새로운 서버가 실행된다.
   ----------------------------------------------------------------------------
   Cps
            들어오는 연결의 범위를 지정한다. 첫번째 인수는 연결의 개수를 지정
            하고 연결이 이 한계를 초과할 경우 두번째 인수가 정한 시간내에
            서비스가 비활성화된다.
   ----------------------------------------------------------------------------
   Instances
            동시에 실행될수 있는 같은 타입의 서버 개수를 지정한다.
   ----------------------------------------------------------------------------
   Max_load
            실행될 수 있는 연결 개수의 한계를 지정한다. 이 한계를 초과할 경우,
            연결요청은 거부된다.
   ----------------------------------------------------------------------------
   Per_source
            같은 호스트로부터 들어오는 연결요청의 개수를 한정한다.
   ----------------------------------------------------------------------------
   위의 속성중 밑에서 4개의 속성은 서버의 리소스를 제어하는 기능을 합니다.
        5. Service default 영역
    Default 영역은 몇가지 속성의 값을 설정할 수 있으며 이 속성들의 일부
   (only_from, no_access, log_on_success, log_on_failure)는 각 서비스에서
   설정되는 속성값과 같은 값을 유지합니다.
   기본으로 머쉰에 접근하는 것을 불허하는 것이 안전한 보안 정책을 위한
   첫걸음입니다. 다음으로, 서비스에 따라 접근을 허용할 수 있습니다. 여러
   분들은 IP 주소에 따라 두가지 (only_from, no_access)의 접근제어를 설정할
   수 있습니다.
   여러분들이 만약 no_access 속성을 다음과 같이 설정한다고 가정하면,
           no_access = 0.0.0.0/0
    서비스에 대한 모든 접근을 거부합니다. 그러나 만약 여러분들이 모든
   사람들이 echo(ping)에 접근하는 것을 허용하고 싶다면, echo 서비스 영역
   에서 다음과 같이 설정할 수 있습니다.
           Only_from = 0.0.0.0/0
    다음은 위 설정에 의한 로그 기록입니다.
   ----------------------------------------------------------------------------
     Sep 17 15:11:12 charly xinetd[26686]: Service=echo-stream: only_from list
     and no_access list match equally the address 192.168.1.1
   ----------------------------------------------------------------------------
   사실, 접근제어는 위 두가지 속성에 포함된 주소의 리스트를 비교하여 이루어집니
   다.  클라이언트의 주소가 두가지 속성에 모두 일치하면, 포괄적인 것이 선택됩니
   다. 위 예제에서 xinetd는 적용대상을 선택할 수 없고, 따라서 연결을 거부합니다
   이러한 모호함을 제거하기 위해서 여러분들은 다음과 같이 설정할 수 있습니다.
           Only_from = 192.0.0.0/8
    보다 쉬운 해결책은 속성을 다음과 같이 설정하는 것입니다.
           Only_from =
    디폴트에서 이렇게 설정한 후에 허용하고 싶은 주소의 범위를 각 서비스 설정에서
   지정하여 주면 됩니다. 여기서 중요한 것은 각 서비스 설정 영역에서 only_from과
   no_access의 값을 설정하지 않으면, 그 서비스에대한 접근이 허용된다는 것입니다
    다음은 디폴트 영역에 대한 예제입니다.
    ┌──────────────────────────────────┐
   │  defaults                                                          │
   │ {                                                                  │
   │    instances       = 15                                            │
   │    log_type        = FILE /var/log/servicelog                      │
   │    log_on_success  = HOST PID USERID DURATION EXIT                 │
   │    log_on_failure  = HOST USERID RECORD                            │
   │    only_from       =                                               │
   │    per_source      = 5                                             │
   │                                                                    │
   │    disabled = shell login exec comsat                              │
   │    disabled = telnet ftp                                           │
   │    disabled = name uucp tftp                                       │
   │    disabled = finger systat netstat                                │
   │                                                                    │
   │    #INTERNAL                                                       │
   │    disabled = time daytime chargen servers services xadmin         │
   │                                                                    │
   │    #RPC                                                            │
   │    disabled = rstatd rquotad rusersd sprayd walld                  │
   │  }                                                                 │
   └──────────────────────────────────┘
    인터널 서비스 중, servers, services, xadmin은 나중에 설명하겠지만 xinetd의
   관리를 허용합니다.
         6. Configuring a service
    서비스를 설정하기 위해서 필요한 것은 아무것도 없습니다. 사실, 모든 것은 디폴
   트에서 설정한 그대로 작동합니다. 따라서 각 서비스를 설정하기 위해서는 여러분
   들은 각 서비스의 속성값을  재설정해야 합니다. 이것은 디폴트 속성값을 변경하
   거나 새로운 속성을 설정한다는 것을 의미합니다.
    어떤 속성들은 서비스 타입에 따라 설정되여야 합니다. 다음은 서비스 타입에 따른
   속성을 나타냅니다.
   ----------------------------------------------------------------------------
   Socket_type
          모든 서비스에서 필요
   ----------------------------------------------------------------------------
   User
          비 INTERNAL 서비스에서만 필요함
   ----------------------------------------------------------------------------
   Server
          비 INTERNAL 서비스에서만 필요함
   ----------------------------------------------------------------------------
   Wait
          모든 서비스
   ----------------------------------------------------------------------------
   Protocol
          모든 RPC 서비스와 /etc/services에 지정되지 않은 서비스에서 필요
   ----------------------------------------------------------------------------
   Rpc_version
          모든 RPC 서비스에서 필요
   ----------------------------------------------------------------------------
   Rpc_number
          /etc/rpc에 포함되지 않은 모든 RPC 서비스에서 필요
   ----------------------------------------------------------------------------
   Port
          /etc/services에 있는 모든 비 RPC 서비스에서 필요
   ----------------------------------------------------------------------------
    다음은 서비스 설정의 예제들입니다.
    ┌──────────────────────────────────┐
   │  service ntalk                                                     │
   │  {                                                                 │
   │    socket_type   = dgram                                           │
   │    wait          = yes                                             │
   │    user          = nobody                                          │
   │    server        = /usr/sbin/in.ntalkd                             │
   │    only_from     = 192.168.1.0/24                                  │
   │  }                                                                 │
   │                                                                    │
   │ service ftp                                                        │
   │  {                                                                 │
   │    socket_type  = stream                                           │
   │    wait         = no                                               │
   │    user         = root                                             │
   │    server       = /usr/sbin/in.ftpd                                │
   │    server_args  = -l                                               │
   │    instances    = 4                                                │
   │    access_times = 7:00-12:30 13:30-21:00                           │
   │    nice         = 10                                               │
   │    only_from    = 192.168.1.0/24                                   │
   │  }                                                                 │
   └──────────────────────────────────┘
    이 서비스들은 단지 로컬네트웍 (192.168.1.0/24)에서만 허용됩니다. 또한 ftp에
   대해서는 단지 4개의 instance만이 허용되며, access_time의 시간내에서만 접근이
   허용됩니다.
        7. Port binding : the bind 속성
    이 속성은  IP주소에 서비스를 bind하도록 설정합니다. 만약 시스템이 단지 하나의
   주소만을 갖고 있다면 이 속성은 별로 쓸모가 없습니다. 그러나 만약 시스템이
   로컬네트웍에 연결되어 있고, 인터넷에 연결되어 있어서 적어도 두개의 주소를 갖고
   있으면 매우 유용한 속성입니다.
    예를 들어, 회사 직원들이 내부 문서에 접근하여 이를 읽을 수 있도록 ftp 서버를
   인스톨하기를 원하는 회사가 있을 수 있습니다. 또한 이 회사는 고객들에게 자사의
   상품에 대한 자료를 ftp로 접근할 수 있도록 설정하고 싶을 것입니다.
   Bind 속성이 이러한 요구를 해결하기 위해서 만들어 졌습니다.  그러나 하나의
   시스템에서 두개의 ftp 서비스를 제공하려면 xinetd가 이러한 차이를 구별해야
   합니다. 이 해결책이 바로 id 속성입니다.
    ┌──────────────────────────────────┐
   │  service ftp                                                       │
   │  {                                                                 │
   │    id           = ftp-public                                       │
   │    wait         = no                                               │
   │    user         = root                                             │
   │    server       = /usr/sbin/in.ftpd                                │
   │    server_args  = -l                                               │
   │    instances    = 4                                                │
   │    nice         = 10                                               │
   │    only_from    = 0.0.0.0/0 #allows every client                   │
   │    bind         = 212.198.253.142 #public IPaddress for this server│
   │  }                                                                 │
   │                                                                    │
   │  service ftp                                                       │
   │  {                                                                 │
   │    id           = ftp-private                                      │
   │    socket_type  = stream                                           │
   │    wait         = no                                               │
   │    user         = root                                             │
   │    server       = /usr/sbin/in.ftpd                                │
   │    server_args  = -l                                               │
   │    only_from    = 192.168.1.0/24 #only for internal use            │
   │    bind         = 192.168.1.1                                      │
   │                   #local IP address for this server (charly)       │
   │  }                                                                 │
   └──────────────────────────────────┘
    bind의 사용은 목적지 주소에 따라서 그에 적합한 데몬을 불러줍니다. 그러므로
   이러한 설정을 사용하면, 로컬네트웍에 있는 고객은 내부데이터에 접근하기
   위해서는 로컬 주소를 사용해야 합니다.
   로그 파일에서 여러분들은 다음과 같은 기록을 찾을 수 있습니다.
   ----------------------------------------------------------------------------
   00/9/17@16:47:46: START: ftp-public pid=26861 from=212.198.253.142
   00/9/17@16:47:46: EXIT: ftp-public status=0 pid=26861 duration=30(sec)
   00/9/17@16:48:19: START: ftp-internal pid=26864 from=192.168.1.1
   00/9/17@16:48:19: EXIT: ftp-internal status=0 pid=26864 duration=15(sec)
   ----------------------------------------------------------------------------
    처음 두행은  명령 ftp 212.198.253.142에 의한 것이며 나머지 두행은 명령
   ftp 192.168.1.1의한 것입니다.
    여기에는 분명히 문제점이 있습니다. 즉, 시스템이 두개의 고정 IP를 갖고 있지
   않다면 과연 어떤 일이 발생할 것인가? 이것은 ppp 연결이나 동적 IP 주소 배정
   프로토콜인 DHCP에서 발생할 수 있습니다. 이것은 주소에 바인드시키는 것이
   아니고 인터페이스에 바인드시키는 것같습니다. 그러나 여전히 이러한 문제는
   xinetd에서는 해결할 수 없습니다. 이러한 문제를 해결하기 위해서는 다음과
   같은 스크립트를 실행햐야 합니다.
   ----------------------------------------------------------------------------
     #!/bin/sh
      PUBLIC_ADDRESS=`/sbin/ifconfig $1|grep "inet addr"|awk '{print $2}'|awk -F: '{print $2}'`
     sed s/PUBLIC_ADDRESS/"$PUBLIC_ADDRESS"/g /etc/xinetd.base > /etc/xinetd.conf
   ----------------------------------------------------------------------------
    이 스크립트는 /etc/xinetd.base 파일을 불러오는데 이 파일에는 동적 주소를 대체
   할 수 있는 PUBLIC_ADDRESS가 포함되어 있습니다. 그런 후에 /etc/xinetd.conf
   내에 있는 주소를 변경합니다. 스트립트의 인수로 전달된 인터페이스와 관계된
   주소로 PUBLIC_ADDRESS를 수정합니다. 다음에는 이 스크립트의 호출은 연결타입에
   따라 결정됩니다. 이 방법을 사용하는 가장 쉬운 방법은 올바른 ifup-*파일에 이
   스크립트의 호출을 포함시키고 xinetd를 다시 실행시키는 것입니다.
         8. Service redirection towards an other machine: the redirect attribute
    Xinetd는 redirect 속성을 이용해서 간단한 프록시로 사용될 수 있습니다. 이것은
   서비스 요청을 다른 시스템으로 보낼 수 있습니다.
   다음 설정은 telnet 요청을 192.168.1.15로 방향전환한 것입니다.
    ┌──────────────────────────────────┐
   │  telnet service                                                    │
   │  {                                                                 │
   │    flags  = REUSE                                                  │
   │    socket_type = stream                                            │
   │    wait  = no                                                      │
   │    user  = root                                                    │
   │    server = /usr/sbin/in.telnetd                                   │
   │    only_from = 192.168.1.0/24                                      │
   │    redirect = 192.168.1.15 23                                      │
   │  }                                                                 │
   └──────────────────────────────────┘
     이 설정을 갖고 실행되는 시스템에 telnet으로 접근하면 다음과 같은 결과를 볼
    수 있습니다.
      >>telnet charly
     Trying 192.168.1.1...
     Connected to charly.
     Escape character is '^]'.
       Digital UNIX (sabrina) (ttyp1)
      login:
     분명히 charly로 telnet을 요청하였으나 이 요청은 Sabrina(192.168.1.15)로 전환된
   것을 볼 수 있습니다.
        9. Special services
    다음 3가지의 서비스는 xinetd에서 새롭게 추가된 서비스들입니다. 그러므로 이
   서비스들은 /etc/rpc 파일이나 /etc/services 파일에서는 지정되지 않은 것입니
   다. 이 서비스들은 INTERNAL 플래그와 함꼐 반드시 UNLISTED 플래그를 설정해야
   합니다.
     1) servers: 사용되는 서버에 대한 정보를 알려줍니다.
     2) Services:사용가능한 서비스와 프로토콜, 포트번호에 대한 정보를 알려줍
        니다.
     3) Xadmin:위 두가지 기능이 섞여 있습니다.
    분명히 이러한 서비스의 설정은 여러분의 시스템을 더욱 취약하게 만들 것입니다.
   이 서비스들은 중요한 정보를 제공하여 줍니다. 가능하면 이 서비스들은 시스템
   설정시에만 사용하면 디쎄트 설정 영역에서 다음과 같이 이 서비스들이 사용되지
   못하도록 막아야 합니다.
    ┌──────────────────────────────────┐
   │  defaults {                                                        │
   │    ...                                                             │
   │    disabled = servers services xadmin                              │
   │    ...                                                             │
   │  }                                                                 │
   └──────────────────────────────────┘
    이 서비스들을 활성화시키전에 여러분들은 다음과 같은 경고를 먼저 점검해야
   합니다.
     1) xinetd가 설치된 시스템만이 이 서비스에 접근할 수 있는 유일한 시스템인가
     2) 이 서비스에 대한 접근 가능한 instance의 제한
     3) 서버를 실행하는 시스템으로부터의 접근만 허용
    다음은 xadmin서비스에 대한 설정방법입니다.
    ┌──────────────────────────────────┐
   │  service xadmin                                                    │
   │  {                                                                 │
   │    type  = INTERNAL UNLISTED                                       │
   │    port  = 9100                                                    │
   │    protocol = tcp                                                  │
   │    socket_type = stream                                            │
   │    wait  = no                                                      │
   │    instances = 1                                                   │
   │    only_from = 192.168.1.1  #charly                                │
   │  }                                                                 │
   └──────────────────────────────────┘
    xadmin 서비스는 다음 5가지 명령어를 갖고 있습니다.
     1) help
     2) show run : servers 서비스와 같이 현재 실행되는 서버에 대한 정보를 알려
        줍니다.
     3) Show avail : services와 같이 현재 사용가능한 서비스에 대한 정보를 알려
        줍니다.
     4) Bye, exit
    이 서비스를 가능하면 실행하지 않는 것이 좋습니다. 이 서비스를 이용하지 않고도
   다른 명령어들을 사용하여 여러분들은 같은 정보를 충분히 얻을 수 있으니 불필요
   하게 여러분의 시스템의 취약점을 만들 필요는 없습니다.--외로워라 이네몸은 뉘와함께
 놀아날꼬.
이름
암호


>> 관련글
23247 talk 사용하고자 합니다..  설픈넘  2001.03.08  ....
  답장 RE: xinetd.conf 문서  무정한  2001.03.09  ....
Register [ localhost 목록보기 윗글 아랫글
글쓰기
답장쓰기 수정 삭제
정규표현식 [ 상세 검색 ]
페이지로딩: [ 2.01 초 ] 작업시간: [ 0.74 초 ]

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved
[TOP]

적수네 동네
+
| 적수네 동네
| 공부방
| 리눅스 잡지 서고
| LSN 소스
| 링크 모음
+---+
게시판
+
| 떠들어보세!
| 질문과 답변
| 새소식과 정보
| 1원짜리 팁?
| 대화방
+---+
칼럼?
+
| 세하 훔쳐보기
| Welcome2nite
| 혜진의 염장판
+---+
리눅스 상표권
+
| 반대 서명란
| 토론 게시판
+---+
GNU
+
| GNU 선언문
| GNU GPL
| GNU 미러 목록
+---+
프로젝트?
+
| 리눅스카운터
| RC5DES
| 실질헌법 제작
+---+
커널 소식
+
| 안정 버젼: 2.4.14
+---+
테마 선택
+
LSN 방송국?
+
| OFF AIR
+---+
회원
+
| 로그인
+---+
[ 적수네 동네 ] [ 리눅스 상표권 독점 반대 ] [ 한글 리눅스 문서 프로젝트 ] [ KrLine ] [ 사랑넷 ] [ Valid HTML 4.0! ] [ SlashDot ] [ Freshmeat ]
Copyleft (C) 1998-2001 Byeong-Chan Kim . License
TIME: 1789607075
System by WYZsoft, HDD by I.O.Linux, Mizi Research, Embryo, WOWLINUX, Domain by SarangNet, Network by KrLine.