2012.06.29 15:39
xinetd 소개 및 설정
1. xinetd의 역할
Xinetd의 역할은 inetd의 역할과 유사합니다.
네트워크서비스에 대한 접근제어, login에 대한 접근제어 등을 합니다.
2. xinet의 구성
1) 환경설정파일 : /etc/xinetd.conf
2) xinetd에서 제공하는 서비스를 모아두는 디렉토리 : /etc/xinetd.d
xinted에서 제공하는 서비스는 모두 이 디렉토리 안에 파일로 나열되어 있으며,
해당서비스의 설정은 해당파일에서 설정해야 합니다.
3. /etc/xinetd.conf
기본설정
===================================================================
#
# 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_faulure = HOST RECORD
cps = 25 30
}
Includedir /etc/xinetd.d
===================================================================
옵션
1) Instances : 동시에 서비스 할 수 있는 섭의 최대 개수를 지정합니다.
만일 접속에 제한을 두지 않으려면 UNLIMITED로 지정하면 됩니다..
2) Log_type : 어떠한 형태로 로그 기록을 저장할 것인가를 지정하는
속성으로 SYSLOG와 FILE 두형태로 사용가능합니다.
-SYSLOG : 지정된 facility에서 syslog로 로그기록이 전달됩니다.
-FILE : 지정된 크기를 가진 파일명에 로그 기록이 저장됩니다.
3) Log_on_success : 서버가 시작될 때와 끝날 때 기록될 것을 지정합니다.
-PID : xinetd 프로세스 ID
-HOST : 원격 호스트의 IP
-USERID : 원격 사용자의 ID
-EXIT : 서비스가 빠져 나갈 때의 상태
-DURATION : 서버 세션 지속상태
4) log_on_failure : 서버가 리소스 부족으로 시작될 수 없거나 설정 파일내의
규칙에 의한 접근이 거부되었을 때 기록될 값들을 지정하는 속성입니다.
-HOST : 원격의 호스트의 IP주소
-USERID : 원격 사용자 ID
-ATTEMPT : 실패한 시도가 있을 경우
-RECORD : 클라이언트에 대한 가능한 정보
5) cps : 초당 접속가능 수에 대한 제한 설정입니다.
cps = [초당 접속가능 수] [초당 접속가능 수 이상 발생시 제한시간]
ex) cps = 25 30 초당 접속수가 25개 이상될 경우 30초동안 접속을 중단합니다.
6) only_from : 특정서비스를 이용 가능한 원격호스트를 설정합니다.
이속성에 값이 주어지지 않으면 모든 접속이 허용되지 않습니다.
속성값은 IP 주소 및 IP Block 으로 지정합니다.
7) per_source : 똑 같은 IP주소로 로컬서비스에 접속할 수 있는 최대 접속 수를 지정해줍니다.
무제한 접근을 허용하려면 UNLIMITED로 설정합니다.
8) Enable : enable 속성은 실행 가능한 서비스의 목록을 표시할 수 있게 합니다.
9) no_access : 서버의 서비스를 이용하지 못하도록 서버에 접근하지 못하게
할 원격호스트의 주소를 지정해 줍니다.
10) disable : 서비스가 실행되지 못하도록 지정합니다. Enable 속성과 같이
존재할 경우 enable 속성이 무시되어 실행되지 않습니다.
11) includedir /etc/xinetd.d : 각각 해당 서비스에 대한 지정을 /etc/xinetd.conf에서
하지 않고 해당 서비스마다 하나의 파일로 지정할 때 습니다. 이 속성을 사용할 경우
xinetd.conf에서는 해당 service를 설정할 수 없습니다.
4. service section에서 사용되는 주요 속성과 속성값
1) service telnet : service 속성으로 설정하고자 하는 서비스의 이름을 지정해줍니다..
여기서 지정해 주는 서비스들은 /etc/services파일 리스트에 있어야합니다.
2) disable=yes : 해당 서비스가 실행되지 못하도록 설정합니다.
해당 서비스를 사용하지 않거나 httpd와 같이 standalone상태로 데몬이 작동하는 경우에 속성값을 yes로 지정하고,
telnet이나 POP3처럼 항상 서비스가 작동하도록 하기위해서는 속성값을 no로 지정해야 합니다.
3) flags=REUSE
- REUSE : 서비스 소켓에 SO_REUSEADDR플래그를 설정하도록 합니다.
-INTERCEPT : 패킷이나 허용된 접속을 가로채어 허가된 위치에서 접속하는지 인증하고자 할 때 사용합니다.
-NORETRY : 프로세스가 새롭게 생기지 못할 경우 재시도하지 못하도록 합니다.
-IDONLY : 원격호스트가 원격사용자를 인증할 때만 접속을 허용합니다. 이 플래그는 접속기반 서비스에 적용되며,
USER log옵션을 사용하지 않을 경우 효과를 내지 못한다.
-NAMEINARGS : 서버가 작동될 때 서버내에 지정한 것과 같이 server_args
내의 첫번째 인수가 arg[0]이 되도록 하는 플래그이다. 이 플래그는 서버내의 tcpd를 넣어 tcpd를
사용할 수 있게 하고, inetd처럼 server0args내에 서버이름을 넣을 수 있게 합니다.
-NODELAY : TCP서비스에 이 플래그를 설정하면 TCP_NODELAY플래그가 소켓에 설정됩니다.
플래그는 TCP서비스에 한해서 적용됩니다.
-DISABLE : 서비스가 실행되지 않게 합니다.
-KEEPALIVE : TCP서비스에 이 플래그가 설정되면 SO_KEEPALIVE소켓 플래그가 소켓에 설정됩니다.
4) protocol = tcp
서비스가 사용할 프로토콜을 설정합니다. 이프로토콜은 /etc/protocols내에 있어야 합니다.
이속성을 지정하지 않으면 서비스가 사용하는 기본 프로토콜로 지정됩니다.
5) socket_type = stream
-stream : stream기반의 서비스
-dgram : dgram기반의 서비스
-raw : IP에 직접 접근을 요하는 서비스
-seqpacket : 신뢰성있는 연속적인 데이터그램 전송을 요구하는 서비스
6)wait = no : 서비스가 단일 스레드 인지 다중스레드 인지를 결정하는 플래그로 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는 가장 느린 우선권을 갖게 됩니다.
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
366 | 터미널 창으로 메시지 보내기 | 호스트웨이 | 2008.05.19 | 44191 |
365 | 리눅스 Sleep 명령어 | 호스트웨이 | 2012.08.10 | 42138 |
364 | openssl 간단 사용법 | 호스트웨이 | 2008.12.10 | 41111 |
363 | 특정 계정만 su 명령어 사용 | 호스트웨이 | 2012.05.05 | 39702 |
362 | VSFTP 에서 사용하는 port를 변경하기 | 호스트웨이 | 2012.03.23 | 39687 |
361 | tcpdump 기본 사용 | sylee | 2008.07.02 | 39640 |
360 | yum 사용 팁 | jook | 2008.09.02 | 38918 |
359 | VNC rpm 설치해보기 | sylee | 2008.08.07 | 37738 |
358 | 커널 파라미터 제어 | 호스트웨이 | 2008.06.25 | 36965 |
357 | yum repository 국내 mirror 설정 | 호스트웨이 | 2012.03.23 | 36858 |
356 | parted를 이용한 2TB 이상의 partitioning | 호스트웨이 | 2012.05.05 | 35657 |
355 | apt-get 간단 사용 방법 | jook | 2008.12.11 | 35260 |
354 | 리눅스 원격 접속자 세션 종료 | 호스트웨이 | 2012.06.08 | 34927 |
353 | shell 접속은 차단하고 ftp접속만 허용하기 | sylee | 2008.05.20 | 34491 |
352 | multitail (다수의 파일을 tail 로 볼 수 있습니다.) | HOSTWAY | 2008.12.04 | 34474 |
351 | source rpm 을 사용하여 rpm 패키지 만들기 | jook | 2008.05.28 | 34274 |
350 | Fedora8, 9 버전에서 setup -> Network configuration 메뉴가 동작하지 않을때 | jook | 2008.07.23 | 34118 |
349 | 데비안 기본 라이브러리 설치 | 호스트웨이 | 2008.06.03 | 33514 |
348 | 리눅스에서 fuser 명령어 사용하기 | 호스트웨이 | 2012.06.15 | 33495 |
347 | 리눅스에서 fstab을 UUID로 변경 | 호스트웨이 | 2012.08.23 | 32921 |