14. 텔넷 서버 설치
14.1 telnet
14.1.1 인터넷을 통하여 원격지의 호스트 컴퓨터에 접속할 수 있도록 지원하는 인터넷 표준 프로토콜
14.1.2 1969년에 개발된 최초의 인터넷 표준들 가운데 하나
14.1.3 사용자가 마치 자신의 pc를 사용하는 것처럼 원격지의 컴퓨터를 사용하도록 해주는 프로그램
14.1.4 기본적으로 23번 포트 사용
14.1.5 일반적으로 리눅스 서버에 원격으로 접속하여 작업을 하게 됨
14.1.6 보안에 취약한 단점이 있으므로 putty 등의 SSH(보안 로그인 쉘)를 사용하는 것을 권장함
14.2 telnet 설치
14.2.1 설치확인
rpm -qa telnet-server
14.2.2 설치
yum -y install telnet-server
에러가 날 경우 DNS서버 편집
gedit /etc/resolv.conf
마지막 줄에 추가(한국통신의 네임서버 추가)
nameserver 168.126.63.1
14.2.3 텔넷 서비스 시작
systemctl start/stop/restart/status 서비스이름
systemctl start telnet.socket
서비스 상태 확인(23 포트 확인)
systemctl status telnet.socket
서비스 자동 시작
systemctl enable telnet.socket
23번 포트 개방
firewall-cmd --add-port=23/tcp --permanent
firewall-cmd --reload
ip주소 확인
ifconfig
14.2.4 윈도우에서 putty로 접속(포트 : 23, 접속방법 : telnet)
root 계정은 기본적으로 막혀있으므로 centos 계정으로 로그인
root 계정은 외부에서 접속하는 것이 위험할 수 있으므로 centos 계정으로 로그인한 후 su 명령어를 입력하여 root 사용자로 변경하는 방법을 권장함
root 계정으로 텔넷에 접속하려면 /etc/securetty 파일을 삭제하면 됨(보안 설정파일을 편집하기 전에 미리 백업)
mv /etc/securetty /etc/securetty.bak
이제 텔넥에서 root 계정으로 접속이 가능함
테스트를 완료한 후 다시 보안 설정파일을 복구해야 외부에서 root 계정으로 접속할 수 없음
설정파일 복구
mv /etc/securetty.bak /etc/securetty
14.3 telnet 통신과 SSH 통신의 비교
14.3.1 와이어샤크 프로그램 설치
패킷 캡쳐 프로그램
윈도우즈에서 다운로드 받아 설치
상어가 물듯이 패킷을 잡아내는 프로그램
리눅스 서버의 ip 주소 확인
ifconfig
윈도우즈의 cmd에서 ip 주소 확인
ipconfig
윈도우즈 VMnet8의 ip 주소와 리눅스 ip 주소 비교
와이어샤크를 처음 실행하면 패킷을 관찰할 랜카드를 선택해야 함
VMware와의 통신을 관찰해야 하므로 VMnet8을 더블클릭
14.3.2 리눅스의 http 통신 패킷 관찰
상어 아이콘을 누르면 패킷 수집 작업 시작
빨간색 사각형 아이콘을 누르면 패킷 수집 작업 중지
리눅스에서 웹브라우저를 실행하고 웹서핑을 한 후 와이어샤크에서 수집된 패킷들 확인
필터에 입력
http
http 통신만 화면에 선택됨
패킷을 선택한 후 우클릭, Follow → TCP Stream을 클릭하면 수집된 패킷 내용이 표시됨
http && ip.src == 리눅스IP주소
http 통신 중에서 ip 주소의 출발지가 리눅스 서버의 ip인 패킷만 선택
14.3.3 telnet 통신 패킷 관찰
putty에서 텔넷으로 접속하여 여러가지 명령어를 실행한 후 와이어샤크에서 패킷 확인
와이어샤크에서 필터 입력
tcp
tcp 프로토콜 and ip 주소가 192.168.23.129인 패킷들을 표시
ip.addr : 출발지 or 도착지의 ip 주소
tcp && ip.addr == 리눅스IP주소
ip.dst_host : 도착지의 IP 주소
telnet && ip.dst_host == 리눅스IP주소
telnet 통신에서는 평문이 전달되지만 SSH 통신에서는 암호화된 패킷으로 전달된다.
14.3.4 웹서비스에 대한 패킷 관찰
리눅스에서 tomcat 구동
/home/centos/tomcat9/bin/startup.sh
윈도우즈에서 접속
http://리눅스아이피:8080/spring_linux
와이어샤크에서 필터 입력
http && ip.src == 출발지 ip 주소 && ip.dst_host == 리눅스 ip 주소
예를 들어 아래와 같이 입력
ip.src에는 윈도우즈의 VMnet8의 ip 주소 입력
ip.dst에는 리눅스서버의 ip 주소 입력
http && ip.src == 192.168.10.1 && ip.dst == 192.168.10.131
http 통신 중에서 출발지의 ip 주소가 192.168.10.1이고 도착지의 ip 주소가 192.168.10.131인 패킷 목록 출력
image
login_check.do 패킷을 선택한 후 우클릭, Follow → HTTP Stream을 클릭하면 수집된 패킷 내용이 표시되고 사용자가 로그인을 위해 입력한 아이디, 비밀번호가 표시됨(웹서버에 평문이 전송되고 있음)
수집된 패킷 확인
POST /spring_linux/admin/login_check.do HTTP/1.1
Host: 192.168.10.131:8080
Connection: keep-alive
Content-Length: 24
Cache-Control: max-age=0
Origin: http://192.168.10.131:8080
Upgrade-Insecure_Requests: 1
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36
Accept:
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Referer: http://192.168.10.131:8080/spring_linux/admin/login.do
Accept-Encoding: gzip, deflate
Accept-Language: ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7
Cookie: JSESSIONID=23F9A65752EADB8EB984DE80E2865746
userid=admin&passwd=1234HTTP/1.1 200
Content-Type: text/html;charset=UTF-8
Content-Language: ko-KR
Content-Length: 1040
Date: Wed, 07 Mar 2018 20:39:33 GMT