별의 공부 블로그 🧑🏻‍💻
728x90
728x170

텔넷(telnet)

xinetd

  • Extend inetd
  • 리눅스 커널 2.4 버전부터 슈퍼 데몬인 inetd를 대체하기 위해 등장하였다.
  • 접근 제어 방법
    • inetd : TCP Wrapper 사용
    • xinetd : 환경 설정 파일을 이용해서 자체적으로 접근 제어 가능
  • 다음의 기능을 추가로 제공한다.
    • IP 주소 당 접속 수 제한
    • 시간대별 서비스 제한
    • DoS 공격에 대비한 설정

 

xinetd의 구성

  • /etc/xinetd.conf
    • xinetd 데몬의 전체적인 환경 설정을 담당하는 파일
    • 이 곳에 설정하면 xinetd 데몬에서 관리하는 전체 서비스에 영향을 준다.
  • /etc/xinetd.d
    • xinetd 데몬에 의해 관리 및 제어되는 서비스 파일들이 위치하는 디렉터리
    • 이 디렉터리 안에 telnet, rlogin, rsh, rsync 등의 관련 서비스 파일을 생성하면 된다.

 

텔넷 서비스 파일에서 사용되는 주요 속성과 속성값

  • 전체적인 환경 설정 : /etc/xinetd.conf
  • 관련 서비스에 대한 자세한 설정
    • /etc/xinetd.d 디렉터리 안에 파일을 생성하고 값 부여
    • 대부분의 설정 항목들은 xinetd.conf 에서 사용하는 것들을 그대로 사용할 수 있다.
    • 보통 service 서비스명 { } 형태로 설정한다.
    • 서비스명은 /etc/services 파일에 등록된 이름을 사용해야 한다.

 

# cat /etc/xinetd.d/telnet
# default: on
# description: The telnet server serves telnet sessions; it uses \
#       unecrypted username/password pairs for authentication.
service telnet
{
        disable         = no
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user            = root
        server          = /user/sbin/in.telnetd
        log_on_failure  += USERID
}

 

disable = no

  • 해당 서비스의 실행 유무를 지정하는 항목
  • 값 설정
    • yes : 서비스를 사용하지 않음.
    • no : 서비스 설정

 

flags = REUSE

  • 서비스 운영과 관련된 설정
  • REUSE : 계속적으로 재사용
  • 대부분의 서비스의 기본값으로 적용되어 있다.

 

socket_type = stream

  • 네트워크 소켓 타입을 지정하는 항목
  • 속성값
    • stream : stream 기반의 서비스
    • dgram : datagram 기반의 서비스
    • raw : IP로 직접 접근이 필요한 서비스
    • seqpacket : 신뢰성 있는 연속적인 데이터그램 전송을 요구하는 서비스

 

wait = no

  • 서비스가 단일 스레드(Thread)인지 다중 스레드인지 결정하는 항목
  • 설정값
    • yes : 오직 하나의 서비스만 작동하게 됨.
    • no : 다중 스레드로 동작하여 새로운 서비스 요청을 받아들이게 됨.

 

user = root

  • 서버 프로세스의 UID 를 지정하는 항목

 

server = /user/sbin/in.telnetd

  • 해당 서비스를 실행하는 데몬 파일의 경로를 지정하는 항목

 

log_on_failure += USERID

  • 로그에 관련된 설정
  • /etc/xinetd.conf에 지정된 설정에 + 또는 -를 이용하여 추가로 지정할 때 사용

 

access_times = 01:00-07:00

  • 지정된 시간에만 서비스를 이용할 수 있게 설정하는 항목

 

redirect = 192.168.12.22 23

  • 해당 서비스를 다른 서버로 전달(포워딩)할 때 사용하는 항목

 

port = 8080

  • 해당 서비스의 포트 번호를 지정할 때 사용하는 항목

 

nice = 10

  • 서버의 우선 순위를 지정하는 항목
  • -20 ~ 19까지 지정할 수 있음.

 

설정 예

# vi /etc/inetd.d/telnet
service telnet
{
        disable         = no
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user            = root
        access_times    = 01:00-07:00 21:00-23:59
        per_source      = 3
        only_from       = 192.168.12.22   192.168.5.0/24
        no_access       = 192.168.5.13
        log_type        = FILE /var/log/telnet.log
        server          = /user/sbin/in.telnetd
        log_on_failure  += USERID
}

 

문제 해결 전략

  • CentOS 7 부터 xinetd의 기능이 축소되었기 때문에 참고만 한다.
  • CentOS 6 버전의 시험에서 몇 번 출제된 적이 있었다.

 

문제 유형

① 조건에 따라 텔넷 서버의 설정을 하는 문제

service telnet
{
	disable = no
    flags = REUSE
    socket_type = stream
    (  wait  ) = no
    (  nice  ) = 5
    (  access_times  ) = 08:00~20:00
    (  per_source  ) = 7
    (  no_access  ) = 10.20.16.0/24
    log_type = (  FILE /var/log/telnetd.log  )
    server = /usr/sbin/intelnetd
}
728x90
그리드형(광고전용)
⚠️AdBlock이 감지되었습니다. 원할한 페이지 표시를 위해 AdBlock을 꺼주세요.⚠️
starrykss
starrykss
별의 공부 블로그 🧑🏻‍💻


📖 Contents 📖