한줄요약:
리눅스/네트워크 보안 - **애플리케이션 계층(L7)**은 사용자와 직접 소통하며, HTTP/3는 UDP 기반 QUIC를 사용해 웹 성능을 높였고, DNS는 도메인 이름을 IP로 변환하며, SSH는 안전한 터미널 접속을 제공합니다. 이 계층을 보호하기 위해 **차세대 방화벽(NGFW)**이 L7 트래픽을 검사하고, IPS가 공격을 차단하며, Anti-DDoS 솔루션이 서비스 거부 공격을 방어합니다.
오늘 공부한 내용:
1. 애플리케이션 계층 프로토콜
애플리케이션 계층은 사용자 프로세스와 통신하며, 트랜스포트 계층에서 식별된 애플리케이션의 처리를 담당합니다. (OSI 7계층의 세션, 프리젠테이션, 애플리케이션 계층 역할 포함)
A. HTTP (Hypertext Transfer Protocol)
정의: HTML 문서와 같은 리소스들을 가져오게 해주는 클라이언트-서버 구조의 프로토콜.
특징:
Connectionless & Stateless: 요청-응답 후 연결을 끊고 (Connectionless), 클라이언트의 이전 상태를 기억하지 않습니다 (Stateless). **쿠키(Cookie)**를 사용하여 상태를 유지합니다.
Keepalive (HTTP/1.1): 하나의 TCP 커넥션으로 여러 요청/응답을 처리하여 효율성을 높였습니다.
주요 버전:
HTTP/1.1: Keepalive, 파이프라인 기능 추가.
HTTP/2: **바이너리 형식, 멀티플렉싱(스트림)**을 통한 병렬 처리, 헤더 압축(HPACK), 서버 푸시 기능으로 성능 대폭 향상 (SPDY 기반).
HTTP/3: UDP 기반의 QUIC 프로토콜 사용, TLS 1.3 통합으로 1-RTT 또는 0-RTT 연결 설정, 멀티플렉싱 개선으로 패킷 손실 시 다른 스트림의 전송 차단 방지.
메시지 포맷 (HTTP/1.1): Start Line (메소드, 타겟, 버전), Header (제어 정보), Body (페이로드)로 구성됩니다.
주요 메소드: GET (리소스 조회), POST (데이터 등록/처리), PUT (전체 대체), PATCH (부분 변경), DELETE (삭제).
B. URI, URL, URN
URI (Uniform Resource Identifier): 리소스를 식별하는 고유한 문자열 시퀀스 (자원 자체의 식별자).
scheme:[//[user[:password]@]host[:port]][/path][?query][#fragment]
URL (Uniform Resource Locator): 리소스의 위치를 나타내는 URI의 한 형태. 위치가 변경되면 사용할 수 없습니다. (프로토콜, 주소, 경로 포함)
URN (Uniform Resource Name): 리소스의 위치와 상관없이 부여된 이름.
C. DNS (Domain Name System)
역할: 사용자가 이해하기 쉬운 도메인 이름을 컴퓨터가 사용하는 IP 주소로 상호 변환하는 프로토콜.
FQDN (Fully Qualified Domain Name): Hostname.DomainName 순서로 작성된 정규화된 도메인 이름 (예: www.example.co.kr).
Name Resolution 과정: Local Cache $\rightarrow$ 지정 DNS 서버 $\rightarrow$ Root $\rightarrow$ TLD $\rightarrow$ Second-Level DNS 서버 순으로 질의하여 IP 주소를 찾습니다.
D. 터미널 및 파일 전송 프로토콜
Telnet (TCP 23): 인증에 성공하면 접근 가능하나, 암호화 통신을 하지 않아 보안에 매우 취약합니다.
SSH (Secure Shell, TCP 22): 공개키 인증 및 암호화 통신을 제공하는 보안 접속 프로그램. 포트 포워딩 (터널링) 기능을 통해 방화벽을 우회하거나 보안 통신로를 만듭니다.
FTP (File Transfer Protocol, TCP 21/20): 파일 전송 서비스. **제어 커넥션 (21번)**과 **데이터 커넥션 (20번)**을 사용. 보안 취약성 때문에 SFTP (SSH 기반) 사용을 권장합니다.
2. 네트워크 보안 시스템
A. 방화벽 (Firewall)
미리 정의된 보안 규칙에 따라 네트워크 트래픽을 모니터링, 필터링 및 제어하는 장치.
유형,작동 계층,특징
패킷 필터 방화벽,"L3, L4","헤더 정보만 검사, 페이로드 검사 불가. 세션 인지 못함."
Stateful Inspection,"L3, L4",연결 상태(세션) 추적 및 관리. 애플리케이션 계층 검사 불가.
프록시 방화벽,"L3, L4, L7",데이터 내용(Payload) 검사 가능. 성능 저하 및 확장성 낮음.
차세대 방화벽 (NGFW),"L3, L4, L7","모든 계층 보안 통합 (IPS, 애플리케이션 제어, DPI 등), 애플리케이션 인식 및 심층 검사."
B. 침입 탐지/차단 시스템 (IDS/IPS)
IDS (Intrusion Detection System): 공격을 탐지하는 시스템. (주로 Span/Mirroring 방식으로 트래픽 사본 분석)
IPS (Intrusion Prevention System): 공격을 탐지하고 차단하는 시스템. (주로 In-Line 방식으로 네트워크 트래픽 중간에 위치)
탐지 방식: 시그니처 기반 (알려진 공격), 행위 기반 (비정상 트래픽), 룰 기반 (정의된 규칙).
C. Anti-DDoS (Distributed Denial of Service)
목표: 여러 대의 컴퓨터(Botnet)를 이용해 대상 시스템의 가용성을 저하시켜 정상적인 서비스 이용을 막는 공격 방어.
주요 공격 유형:
L3/L4 (대역폭 고갈): ICMP/UDP 플러드, SYN 플러드 (Half-open 연결 유도).
L6/L7 (리소스 고갈): SSL Handshake Abuse, HTTP 플러드, Slowloris (느린 속도로 요청 보내 서버 연결 풀 고갈).