텔넷(telnetd) 및 FTP(FTPD) 서비스 운영에서 SSH(SSHD) 운영으로의 추세에 따라 많은 시스템 관리자들이 >system>stcp>services 파일에서 "telnet" 및 "FTP" 서비스 항목을 제거하고 있습니다.
#Name port Service Alias#ftpdata 20/tcpftp 21/tcp ftpdtelnet 23/tcp telnetdsmtp 25/tcpbootps 67/udp bootpdbootpc 68/udp bootp. . . . . . |
그림 1 – >system>stcp>services 파일 내 telnet 및 FTP 항목
다른 호스트와 통신하기 위해 여전히 텔넷 및/또는 FTP 클라이언트를 실행해야 하는 경우 문제가 발생할 수 있습니다.
telnet 172.16.1.34telnet: tcp/telnet: unknown serviceready 09:30:15 ftp 172.16.1.34ftp: ftp/tcp: unknown serviceready 09:30:26 |
그림 2 – 누락된 서비스 항목으로 인한 텔넷 및 FTP 클라이언트 오류
그 이유는 텔넷 및 FTP 클라이언트가 연결할 포트 번호를 결정하기 위해 getservbyname 함수를 사용하기 때문입니다. 이 함수는 서비스 파일을 읽으며, 해당 파일에 "telnet" 및/또는 "ftp" 서비스 이름이 존재하지 않을 경우 포트 번호를 반환하지 않고 클라이언트가 종료됩니다.
텔넷 클라이언트는 명령줄에 포트 번호를 제공함으로써 이 함수 호출을 우회할 수 있게 합니다.
telnet 172.16.1.34 23Trying...Connected to 172.16.1.23.Escape character is '^]'. login: |
그림 3 – 텔넷 클라이언트에 포트 번호 제공
FTP 클라이언트에는 이 옵션이 없습니다.
서비스 파일은 서비스 이름과 포트 번호 및 프로토콜을 매핑하는 단순한 평문 데이터베이스입니다. "telnet"과 "ftp" 항목을 제거한다고 해서 모듈의 보안 수준이 효과적으로 향상되지는 않습니다. 해당 항목이 파일에 존재한다고 해서 해당 서비스가 자동으로 실행된다는 의미는 아니기 때문입니다. 사용자가 절대 telnet 및 FTP 클라이언트를 사용할 필요가 없다고 확신하지 않는 한, 서비스 파일의 항목은 그대로 두어야 합니다.
