5. 각 계층별 프로토콜의 특징 (2)

SJH·2024년 6월 12일
0

응용계층의 주요 프로토콜

TELNET - 포트번호 23

  • 인터넷이나 로컬 영역 네트워크 연결에 쓰이는 네트워크 프로토콜
  • 보안문제로 사용이 감소하고 있으며, 원격제어를 위해 SSH(Secure Shell)로 대체

SSH - 포트번호 22

  • TCP 보안채널(터널링)을 형성하여, 기타 응용 프로토콜이 그 위에서 안전하게 데이터를 교환
  • 적은 비용으로 비교적 쉽게 구현이 가능하고 안전하여 널리 사용됨

HTTP (HyperText Transfer Protocol) - 포트번호 80

  • 웹 상에서 웹 서버 및 웹 브라우저 상호 간의 데이터 전송을 위한 프로토콜

HTTPS (HyperText Transfer Protocol SSL) - 포트번호 443

  • HTTP에 데이터 암호화가 추가된 프로토콜
  • 브라우저와 서버가 데이터를 전송하기 전에 안전하고 암호화된 연결을 설정

DNS (Domain Name System) - 포트번호 53

  • 사용자가 숫자로 된 인터넷 프로토콜 주소 대신 인터넷 도메인 이름과 검색 가능한 URL을 사용하여 웹사이트에 접속하는 것을 가능하게 하는 프로토콜

TELNET의 특징

Telnet이란?
가상 터미널 서비스를 위한 표준 TCP/IP 프로토콜
이를 통해 로컬 시스템처럼 나타나는 방식으로 원격 시스템에 대한 연결을 설정 가능

  • Telnet의 큰 장점 중 하나로, 인터넷 사용자끼리 서로 사용하는 운영체제가 달라도 통신이 가능
    (Ex. 한명은 윈도우, 한명은 리눅스를 사용해도 서로 통신이 가능)

  • 보안 메커니즘을 사용하지 않고 암호를 포함하는 일반 텍스트 형식으로 데이터 전송

  • 누구든지 패킷을 스니핑하여 중요한 정보를 얻을 수 있음.

  • 즉, Telnet은 보안 통신 프로토콜 X → 따라서 윈도우 7 넘어오면서 Telnet은 자동적으로 비활성화가 됨

따라서 현재 Telnet은 인증 정책 및 데이터 암호화 기술이 사용되지 않아 보안 위협이 크기 때문에, 더 이상 공용 네트워크를 통해 네트워크 장치와 서버에 액세스하는데 Telnet을 사용하지 않음.

Telnet의 대체제로 현재는 SSH(Secure shell) 이라는 프로토콜을 사용

SSH의 특징

SSH (Secure Shell) 란?
네트워크를 통해 다른 컴퓨터에 로그인하여 원격 시스템에서 명령을 실행하는 프로그램

  • 인증에 공개 키 암호화를 사용

  • 데이터를 전송하려면 암호화된 형식을 사용해야 하며 보안 채널도 사용

  • Telnet의 많은 보안 문제를 대체할 수 있는 프로토콜

즉, 인터넷과 같은 보안되지 않은 네트워크에서도 네트워크를 통해
데이터의 암호화된 형태로 정보를 공유하고 전송하기 때문에 매우 안전한 프로토콜

Telnet과 SSH의 주요 차이점

TELNETSSH
포트번호2322
인증방법사용자 인증 필요 X사용자 인증 시 공개키 암호화 사용
네트워크 적합도개인 네트워크에 적합공용 네트워크에 적합
전송방식데이터를 일반 텍스트로 전송데이터를 전송하려면 암호화된 형식 사용
보안보안 공격에 취약TELNET의 많은 보안문제 극복 가능
네트워크 사용량낮은 대역폭 사용량높은 대역폭 사용량
운영체제Linux, Windows대부분의 운영체제

HTTP의 특징

HTTP란?
서버/클라이언트 모델을 따라 데이터를 주고 받기 위한 프로토콜

  • 서로 다른 시스템들 사이에 통신을 주고 받게 해주는 가장 기본적인 프로토콜

  • 웹 서핑을 할 때 서버에서 자신의 브라우저로 데이터를 전송해주는 용도로 많이 사용

  • 서버-클라이언트 모델에 맞춰 데이터를 주고 받기 위한 프로토콜

  • 인터넷 초기에 모든 웹 사이트에서 기본적으로 사용되었던 프로토콜

단, HTTP는 암호화가 되지 않은 평문 데이터를 전송하는 프로토콜이기 때문에 HTTP로 비밀번호나 주민등록처럼 중요한 정보를 주고 받으면 제 3자가 정보를 조회 가능

따라서 이런 보안의 문제를 해결하기 위해 HTTPS가 등장

HTTPS의 특징

HTTPS란?
HTTP에 데이터 암호화가 추가된 프로토콜

  • 네트워크 상에서 제 3자가 정보를 볼 수 없도록 암호화하여 전송

  • HTTPS 프로토콜은 SSL(보안 소켓 계층)을 이용해서 HTTP의 보안상 문제를 해결

  • SSL은 서버와 브라우저 사이에 안전하게 암호화된 연결을 만들 수 있게 도와주고, 서버 브라우저가 민감한 정보를 주고 받을 때도 도난당하는 것을 막아주는 역할

HTTPS의 대칭키 암호화 및 비대칭키 암호화

HTTPS는 대칭키 암호화와 비대칭키 암호화를 모두 사용함으로써 빠른 연산 속도와 안정성을 모두 얻고 있음.

대칭키 암호화

  • 클라이언트와 서버가 동일한 키를 사용해 암호화/복호화 진행
  • 키가 노출되면 매우 위험하지만 연산 속도가 빠름

비대칭키 암호화

  • 1개의 쌍으로 구성된 공개키와 개인키를 암호화/복호화 하는데 사용
  • 키가 노출되어도 비교적 안전하지만 연산 속도가 느림

HTTPS의 비대칭키 암호화에서 공개키와 개인키

비대칭키 암호화에서 공개키개인키 암호화 방식을 이용해 데이터 암호화를 진행하며 공개키와 개인키는 서로를 위한 한 쌍의 키

공개키 : 모두에게 공개 가능한 키
개인키 : 나만 가지고 있어야 하는 키

공개키와 개인키를 암호화했을 때 얻는 이점

  • 공개키를 암호화하면 개인키로만 복호화 가능
    따라서 개인키는 나만 갖고 있기 때문에 나만 데이터 정보를 볼 수 있음

  • 개인키를 암호화하면 공개키로만 복호화 가능
    공개키는 모두에게 공개되어 있어 내가 인증한 정보임을 알려 신뢰성을 보장받을 수 있음

DNS의 특징

DNS란?
사용자가 숫자로 된 인터넷 프로토콜 주소 대신 인터넷 도메인 이름과 검색 가능한 URL을 사용하여 웹사이트에 접속하는 것을 가능하게 해주는 프로토콜

메시지 전송방식

  • UDP: 일반적인 DNS 조회를 할 경우

  • TCP: Zone Transfer(영역 전송)을 수행할 경우 또는 512Byte를 초과하는 DNS패킷을 전송해야 할 경우

Zone Transfer란 DNS 트랜잭션 유형 중 하나로, 다수의 DNS 서버 간 데이터베이스를 복제하는데 사용되는 방법이며 Zone Transfer는 전체 전송과 증분 전송이 존재

  • 전체 전송(AXFR) : 전체 레코드를 복제하는 방법
  • 증분 전송(IXFR) : 바뀐 레코드만 복제하는 방법

DNS의 구성요소

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

profile
보안, 클라우드 공부정리 블로그

0개의 댓글