TELNET - 포트번호 23
SSH - 포트번호 22
HTTP (HyperText Transfer Protocol) - 포트번호 80
HTTPS (HyperText Transfer Protocol SSL) - 포트번호 443
DNS (Domain Name System) - 포트번호 53
Telnet이란?
가상 터미널 서비스를 위한 표준 TCP/IP 프로토콜
이를 통해 로컬 시스템처럼 나타나는 방식으로 원격 시스템에 대한 연결을 설정 가능
Telnet의 큰 장점 중 하나로, 인터넷 사용자끼리 서로 사용하는 운영체제가 달라도 통신이 가능
(Ex. 한명은 윈도우, 한명은 리눅스를 사용해도 서로 통신이 가능)
보안 메커니즘을 사용하지 않고 암호를 포함하는 일반 텍스트 형식으로 데이터 전송
누구든지 패킷을 스니핑하여 중요한 정보를 얻을 수 있음.
즉, Telnet은 보안 통신 프로토콜 X → 따라서 윈도우 7 넘어오면서 Telnet은 자동적으로 비활성화가 됨
따라서 현재 Telnet은 인증 정책 및 데이터 암호화 기술이 사용되지 않아 보안 위협이 크기 때문에, 더 이상 공용 네트워크를 통해 네트워크 장치와 서버에 액세스하는데 Telnet을 사용하지 않음.
Telnet의 대체제로 현재는 SSH(Secure shell) 이라는 프로토콜을 사용
SSH (Secure Shell) 란?
네트워크를 통해 다른 컴퓨터에 로그인하여 원격 시스템에서 명령을 실행하는 프로그램
인증에 공개 키 암호화를 사용
데이터를 전송하려면 암호화된 형식을 사용해야 하며 보안 채널도 사용
Telnet의 많은 보안 문제를 대체할 수 있는 프로토콜
즉, 인터넷과 같은 보안되지 않은 네트워크에서도 네트워크를 통해
데이터의 암호화된 형태로 정보를 공유하고 전송하기 때문에 매우 안전한 프로토콜
TELNET | SSH | |
---|---|---|
포트번호 | 23 | 22 |
인증방법 | 사용자 인증 필요 X | 사용자 인증 시 공개키 암호화 사용 |
네트워크 적합도 | 개인 네트워크에 적합 | 공용 네트워크에 적합 |
전송방식 | 데이터를 일반 텍스트로 전송 | 데이터를 전송하려면 암호화된 형식 사용 |
보안 | 보안 공격에 취약 | TELNET의 많은 보안문제 극복 가능 |
네트워크 사용량 | 낮은 대역폭 사용량 | 높은 대역폭 사용량 |
운영체제 | Linux, Windows | 대부분의 운영체제 |
HTTP란?
서버/클라이언트 모델을 따라 데이터를 주고 받기 위한 프로토콜
서로 다른 시스템들 사이에 통신을 주고 받게 해주는 가장 기본적인 프로토콜
웹 서핑을 할 때 서버에서 자신의 브라우저로 데이터를 전송해주는 용도로 많이 사용
서버-클라이언트 모델에 맞춰 데이터를 주고 받기 위한 프로토콜
인터넷 초기에 모든 웹 사이트에서 기본적으로 사용되었던 프로토콜
단, HTTP는 암호화가 되지 않은 평문 데이터를 전송하는 프로토콜이기 때문에 HTTP로 비밀번호나 주민등록처럼 중요한 정보를 주고 받으면 제 3자가 정보를 조회 가능
따라서 이런 보안의 문제를 해결하기 위해 HTTPS가 등장
HTTPS란?
HTTP에 데이터 암호화가 추가된 프로토콜
네트워크 상에서 제 3자가 정보를 볼 수 없도록 암호화하여 전송
HTTPS 프로토콜은 SSL(보안 소켓 계층)을 이용해서 HTTP의 보안상 문제를 해결
SSL은 서버와 브라우저 사이에 안전하게 암호화된 연결을 만들 수 있게 도와주고, 서버 브라우저가 민감한 정보를 주고 받을 때도 도난당하는 것을 막아주는 역할
HTTPS는 대칭키 암호화와 비대칭키 암호화를 모두 사용함으로써 빠른 연산 속도와 안정성을 모두 얻고 있음.
대칭키 암호화
비대칭키 암호화
비대칭키 암호화에서 공개키와 개인키 암호화 방식을 이용해 데이터 암호화를 진행하며 공개키와 개인키는 서로를 위한 한 쌍의 키
공개키 : 모두에게 공개 가능한 키
개인키 : 나만 가지고 있어야 하는 키
공개키와 개인키를 암호화했을 때 얻는 이점
공개키를 암호화하면 개인키로만 복호화 가능
따라서 개인키는 나만 갖고 있기 때문에 나만 데이터 정보를 볼 수 있음
개인키를 암호화하면 공개키로만 복호화 가능
공개키는 모두에게 공개되어 있어 내가 인증한 정보임을 알려 신뢰성을 보장받을 수 있음
DNS란?
사용자가 숫자로 된 인터넷 프로토콜 주소 대신 인터넷 도메인 이름과 검색 가능한 URL을 사용하여 웹사이트에 접속하는 것을 가능하게 해주는 프로토콜
메시지 전송방식
UDP: 일반적인 DNS 조회를 할 경우
TCP: Zone Transfer(영역 전송)을 수행할 경우 또는 512Byte를 초과하는 DNS패킷을 전송해야 할 경우
Zone Transfer란 DNS 트랜잭션 유형 중 하나로, 다수의 DNS 서버 간 데이터베이스를 복제하는데 사용되는 방법이며 Zone Transfer는 전체 전송과 증분 전송이 존재
1. 도메인 네임 공간(Domain Name Space)
도메인 네임을 중복되지 않게 생성하여 사용하도록 정의된 구성 체계
2. 리소스 레코드(Resource Record)
도메인 네임에 설정할 수 있는 데이터 타입
3. 네임서버(Name Server)
도메인 데이터를 보유하고, 도메인 네임에 대한 질의를 수신했을 때 응답하는 역할의 서버
4. 리졸버(Resolver)
도메인 네임의 데이터 조회기능을 수행하는 SW 형태의 루틴
TELNET과 SSH는 원격으로 접속하기 위해 사용되는 프로토콜
과거엔 TELNET을 많이 사용
: 운영체제가 서로 달라도 통신 가능, 단 평문으로 통신하며 암호화 지원 X, 윈도우 7 넘어오면서 TELNET 자동 비활성화
TELNET의 대체제 SSH
: 원격통신을 하면서 암호화 지원 - Putty, SecureCRT, 등
HTTP도 TELNET과 동일하게 평문으로 통신
HTTPS (HTTP SSL) - 인증서가 적용된 암호화문 지원, SSL의 443 포트번호와 동일
DNS : IP주소를 외우기 쉽게 도메인주소로 변환해주는 프로그램
전송하는 데이터의 크기에 따라 TCP로 통신할 때와 UDP로 통신할 때가 나뉘어짐
CERT업무에서 중요한 정보가 오고가는 과정 분석 시 http와 https중 어떤 프로토콜이 적용됐는지 체크하는 업무 존재
암호화가 되지 않았으면 https로 적용하는 가이드라인 제시
https://dev-kwon.tistory.com/88
https://www.guru99.com/ko/telnet-vs-ssh.html
https://aws.amazon.com/ko/compare/the-difference-between-https-and-http/
https://developer-ellen.tistory.com/189
https://mangkyu.tistory.com/98
https://itwiki.kr/w/DNS
https://www.ibm.com/kr-ko/topics/dns
https://peemangit.tistory.com/52