yubyeong

[네트워크 기초] 웹 통신의 기본 요소 본문

네트워크

[네트워크 기초] 웹 통신의 기본 요소

yubyeong 2026. 4. 29. 17:11

1. 포트

포트는 하나의 장비 안에서 어떤 서비스와 통신할지 구분하기 위한 번호이다.

IP 주소가 장비를 찾기 위한 주소라면, 포트는 그 장비 안의 특정 서비스를 찾기 위한 번호이다.

예를 들어 서버 IP가 10.0.0.10이라면 다음과 같이 여러 서비스가 동시에 동작할 수 있다.

10.0.0.10:22   → SSH
10.0.0.10:80   → HTTP
10.0.0.10:443  → HTTPS
10.0.0.10:3306 → MySQL
 

자주 사용하는 포트는 Iana 문서를 확인하면 된다.

 

방화벽 정책을 볼 때 포트는 매우 중요하다.
예를 들어 0.0.0.0/0 → 22 허용은 전 세계 어디서든 SSH 접속이 가능하다는 뜻이므로 위험할 수 있다.


2. DNS

DNS는 Domain Name System의 약자이다.
사람이 기억하기 쉬운 도메인 이름을 IP 주소로 변환해주는 시스템이다.

우리는 웹사이트에 접속할 때 보통 IP 주소를 직접 입력하지 않는다.

https://www.google.com
 

하지만 실제 네트워크 통신은 IP 주소를 기반으로 이루어진다.
따라서 DNS는 도메인을 IP로 바꿔준다.

https://www.google.com → 8.8.8.8
 

DNS 조회 흐름은 단순화하면 다음과 같다.

사용자 PC
  ↓
DNS Resolver
  ↓
Root DNS
  ↓
TLD DNS
  ↓
Authoritative DNS
  ↓
IP 주소 응답
 

보안 관점에서 DNS는 매우 중요하다.
악성코드가 C2 서버와 통신할 때 도메인을 사용하기도 하고, 피싱 사이트도 정상 사이트와 비슷한 도메인을 사용한다.

-> (C2는 Command and Control의 약자로 공격자가 감염된 PC를 원격 조종하기 위해 사용하는 서버)

DNS 로그를 보면 다음과 같은 이상 행위를 탐지할 수 있다.

수상한 랜덤 도메인 반복 조회
악성 도메인 조회
평소 접속하지 않던 해외 도메인 조회
짧은 시간에 대량의 DNS 요청 발생
 

3. HTTP와 HTTPS

HTTP는 웹에서 데이터를 주고받기 위한 프로토콜이다.
브라우저와 웹 서버는 HTTP를 이용해 요청과 응답을 주고받는다.

예를 들어 사용자가 로그인 페이지에 접속하면 브라우저는 서버에 요청을 보낸다.

GET /login HTTP/1.1
Host: example.com
 

서버는 이에 대한 응답을 보낸다.

HTTP/1.1 200 OK
Content-Type: text/html
 

HTTP 요청에는 여러 메서드가 있다.

GET 데이터를 조회할 때 사용
POST 데이터를 생성하거나 전송할 때 사용
PUT 데이터를 전체 수정할 때 사용
PATCH 데이터를 일부 수정할 때 사용
DELETE 데이터를 삭제할 때 사용

HTTPS는 HTTP에 TLS 암호화를 적용한 것이다.
HTTP는 평문으로 통신하기 때문에 중간에서 내용을 볼 수 있다. 반면 HTTPS는 암호화되어 있어 로그인 정보나 개인정보를 보호할 수 있다.

HTTP  = 암호화되지 않은 웹 통신
HTTPS = TLS로 암호화된 웹 통신
 

보안에서는 HTTPS 사용 여부, 인증서 유효성, TLS 버전 등이 중요하다.


4. TLS

TLS는 Transport Layer Security의 약자이다.
HTTPS에서 사용하는 암호화 프로토콜이다.

TLS는 다음과 같은 역할을 한다.

통신 내용 암호화
서버 신원 확인
데이터 변조 방지
 

예를 들어 사용자가 은행 사이트에 접속할 때 TLS는 사용자가 진짜 은행 서버와 통신하고 있는지 확인하고, 로그인 정보가 중간에서 노출되지 않도록 암호화한다.

TLS가 없다면 같은 네트워크에 있는 공격자가 패킷을 가로채 로그인 정보를 볼 수 있다.

보안 운영에서는 다음 항목을 점검한다.

인증서 만료 여부
TLS 1.0, TLS 1.1 비활성화 여부 (1.2 이상 사용 권장)
약한 암호화 알고리즘 사용 여부
인증서 도메인 불일치 여부