네트워크보안 7주차

CDH·2024년 10월 18일

네트워킹 서비스


네트워킹(Networking)

- OSI 7 계층과프로토콜

  • 통신 과정을 단계별로 나누어 장애가 발생하면 해당 부분만 수정 가능

L2(2계층): OSI 7계층 모델에서 2계층은 데이터 링크 계층을 의미함
이 계층에서는 장치들 간에 데이터 프레임을 전송하며, MAC 주소를 사용하여 물리적 주소를 기반으로 통신을 관리함

Bridge: 네트워크 브리지(Bridge)는 2계층에서 동작하며, 여러 네트워크 세그먼트를 연결하여 하나의 네트워크처럼 동작하게 함. 브리지는 MAC 주소를 사용하여 네트워크 트래픽을 필터링하고, 특정 MAC 주소가 속한 포트로만 데이터를 전송함으로써 네트워크 효율성을 높임


TCP & UDP


IP 주소

- IPv4

  • 10진수 4부분으로 구성(8비트* 4부분 = 32비트) ➔192.168.0.1

  • 공인(public) IP
    • 인터넷 통신목적으로 사용
    • ISP가 할당
    • 다른 IP와 중복되지 않음

  • 사설(private) IP
    • 로컬네트워크 통신목적으로 사용
    • 네트워크관리자 혹은 장치가 할당
    • 인터넷에서 식별 불가
    • 다른네트워크의 IP와 중복될 수 있음

    • IP 대역

    • 클래스A : 10.0.0.0 ~ 10.255.255.255 → 10.0.0.0 /8
    • 클래스B : 172.16.0.0 ~ 172.31.255.255 → 172.16.0.0 /12
    • 클래스C : 192.168.0 ~ 192.168.255.255 → 192.168.0.0 /16

- IPv6

  • 16진수 8부분으로 구성➔2001:0230:abcd:ffff:0000:0000:ffff:1111

IP 주소 클래스(Classful)

- CLASS-A

  • Class 중 크기가 가장 크다(2^24개 호스트 수용)
  • 국가나 글로벌기업이 사용하는 대형 네트워크
  • 시작 비트는 항상0
  • 네트워크ID : 1~126, 호스트 ID : 0.0.0~255.255.255
  • 네트워크ID 127은 예약주소(loopback (ex)127.0.01)

- CLASS-B

  • Class 중 두 번째로 크다(2^16개 호스트 수용)
  • 대기업등에서 사용하는 중대형 네트워크
  • 시작비트는 항상 10
  • 네트워크ID : 128.0~191.255, 호스트 ID : 0.1~255.254 (호스트 ID가 255.255일 경우 브로드캐스트)

- CLASS-C

  • 일반적으로 사용되는 Class 중 가장 작다(2^8개 호스트 수용)
  • 로컬영역 네트워크환경에서 할당되는 주소의 대부분이 CLASS-C
  • 시작비트는 항상 110
  • 네트워크ID : 192.0.0~223.255.255, 호스트 ID : 0~255

- CLASS-D

  • 시작비는항상1110, 멀티캐스트

- CLASS-E

  • 시작비는항상1111, 연구및실험용으로예약된주소

Net ID: 네트워크를 식별하는 부분으로, 해당 네트워크가 어떤 네트워크에 속하는지 나타냄
Host ID: 특정 네트워크 내의 개별 장치(호스트)를 식별하는 부분

차이가 나는 이유
네트워크 규모에 따른 유연한 할당: 각 클래스는 네트워크의 크기와 필요에 맞게 IP 주소를 할당하기 위해 설계됨. 대규모 네트워크는 하나의 네트워크에 더 많은 장치가 필요하므로 Host ID가 더 커야 하고, 작은 네트워크는 Net ID가 커서 더 많은 네트워크를 구분할 수 있어야 함 (효율성을 위해)
효율적인 주소 공간 사용: IPv4 주소 공간은 한정되어 있기 때문에, 네트워크의 필요에 따라 Net ID와 Host ID를 나눔으로써 IP 주소의 낭비를 줄이고 효율적으로 사용하기 위함


CIDR(Classless Inter-Domain Routing) – '사이더'

- IP 주소를 클래스로 나누다보니 모든IP를 사용하지 않아 낭비 발생

- 낭비를 줄이기 위해 비트단위로 쪼갬→서브넷마스크 사용(masking)

  • 필요한 네트워크ID 부분을 마스킹함(1로셋팅)
    ex) class-A : /8, class-B : /16, class-C : /24
  • CIDR 표기법 : 192.168.32.0 /24

- 서브넷팅

  • 하나의 네트워크를 여러 서브넷으로 구성 (세분화 관리)

  • (tip1) 필요한 네트워크의 수를 2진수로 계산하여 호스트 ID를 앞부터 1로 채워 네트워크 ID로 바꿈

  • (tip2) 필요한 호스트의 수를 2진수 계산하여 호스트 ID의 뒷자리를 채우고 나머지 앞을 네트워크 ID로 바꿈

  • (예) class-c의 네트워크를 2개의 서브 네트워크로 구성한다


서브넷팅예시


라우팅(Routing)

- 라우팅프로토콜

  • 라우팅: 데이터 패킷을 출발지에서 목적지까지 전달
  • 효율적인 전송로를 선택
  • 주기적으로라우팅테이블을갱신함으로써목적지까지패킷전달
  • IP 헤더 정보를 읽어목적지IP를알아낸뒤, 목적지까지최적경로를제공
  • 확인
    • tracert www.google.com
    • route PRINT
  • 정적 라우팅(Static Routing)
    • 관리자가고정적으로설정한경로사용
  • 동적 라우팅(Dynamic Routing)
    • 네트워크 상황에 따라 인접한 라우터끼리 정보교환하여 최적의 경로 찾음

ex) google까지 접속하는데 14번 정도의 IP를 거침


네트워크환경(기존vs 클라우드)

구조와 동작 방법은 동일함


AWS 네트워킹

• AWS의IP 주소
• DNS / Route 53
• VPC
• 서브넷
• 라우팅(라우트) 테이블
• 인터넷게이트웨이
• NACL/보안그룹
• VPC Flow Logs
• VPC Peering
• VPC Endpoint
• VPC PrivateLink
• Site-to-Site VPN & Direct Connect
• Transit Gatewa

※ CCP 레벨에서는 각 네트워킹 서비스들의 개념과 동작 방법의 이해 필요(1~2문제 출제)
그러나 SSA 레벨 이상에서는 복잡한 개념을 묻는 문제가 출제


AWS의 IP주소

  • IPv4 (2^32개)
    - 공인 (Public) IP – EC2 생성 시 IPv4 부여, 중지하고 재시작하면 새로운 IPv4 받음
    - 사설 (Private) IP – EC2가 중지/재시작 되더라도 안 바뀜 (고정)
    - Elastic IP – 고정된 공인 IPv4를 EC2 인스턴스에 부여하는 것 (인스턴스를 중지했다가 재시작해도 동일한 공인 IPv4를 갖음)
    - 모든 공인 IPv4는 시간당 0.005달러 (EIP) 포함
        • 프리 티어 (Free Tier)에서는 한 달에 750시간 무료

  • IPv6 (2^128개 = 3.4 × 10^38개)
    - 모든 IP가 public (private 없음: 사설 IP 없음)
    - 2001:0230:abcd:ffff:0000:0000:ffff:1111
    - 무료


DNS / Route 53

- DNS : 사람이 읽기 쉬운 도메인네임을IP 주소로변환

  • (예) www.google.com → 142.250.207.100

- Amazon Route 53

  • 가용성과 확장성이 뛰어난 DNS 웹 서비스
  • Amazon VPC에 사용자 지정 도메인 이름을 할당하고 액세스
  • 다양한 라우팅 정책 제공
    - 단순 라우팅: example.com으로 이동
    - 가중치 라우팅: 지정 비율 (60:40)
    - 장애 대응 라우팅: 액티브-패시브 구성
    - 지연 시간 라우팅: 여러 리전 중 응답이 빠른 쪽
    - 지리 위치 라우팅: 사용자 최인접
    - 지리 근접 라우팅: 최인접 위치 & 위치 이동
    - 다중 응답 라우팅: 무작위로 8개 응답 요청

Amazon VPC

- Amazon Virtual Private Cloud (VPC)

- 리전(region) 단위

- 계정을 새로 만들면 기본 VPC(default VPC)를 할당받고, 별도 설정 없이 EC2 인스턴스를 배포할 수 있음

• 기본 VPC는 인터넷에 연결되어 있음 (원칙적으로 VPC는 인터넷에 연결되어 있지 않음)

• EC2 인스턴스는 IPv4를 할당받음

- VPC는 서브넷을 구성: 네트워크의 파티션 개념

  • Public Subnet
    - (인터넷 게이트웨이를 통해) 인터넷과 연결됨
    - EC2 등 웹 서버, 어플리케이션 서버로 사용자에게 노출되는 인프라 배치

  • Private Subnet
    - 인터넷과 연결되지 않음
    - 데이터베이스 등 외부 노출이 필요 없는 인프라 배치

- 서브넷들 간의 통신은 라우팅 테이블(Route Table)을 사용


서브넷(Subnet)

- 단일 네트워크를 논리적으로 분할한 영역

  • 하나의 서브넷은 하나의 가용 영역 AZ에 위치

- VPC에서 CIDR 블록으로 서브넷의 주소 범위를 설정

- CIDR 블록으로 IP 주소 지정

  • AWS는 5개의 IP 주소는 예약되어 있음 처음 4개 마지막 1개
    - 호스트 ID의 0번 네트워크 주소
    - 호스트 ID의 1번 VPC 라우터
    - 호스트 ID의 2번 Amazon이 제공하는 DNS 서버
    - 호스트 ID의 3번 사용하지 않지만 예약됨
    - 호스트 ID의 255번 브로드캐스트 주소 단 브로드캐스트는 지원하지 않음

  • ※ 기존은 2개가 예약되었음 네트워크 ID 0번 브로드캐스트 1번

- 만약 호스트 30개의 IP 주소가 필요하다면 /27은 사용 못함

  • /27의 호스트 개수는 32개 2^32−27 = 25 이지만 예약된 주소 5개를 빼면 27개만 쓸 수 있음

  • 따라서 /26을 사용해야 함 /26은 64개 2^32−26 = 26이므로 예약된 주소 5를 빼면 59개 쓸 수 있음


VPC & 서브넷 구조 예시

오타 : 10.0.0.1 ~ 10.0.1.3 까진 IP 주소가 예약 되어있기 때문에 사용 불가


라우팅테이블(Route Table)

- 트래픽 전송 규칙: 데이터 패킷을 전송하기 위한 정보를 포함

- 자동 제공: 기본적으로 VPC와 함께 자동으로 제공

- 라우팅 테이블 구성:

  • 대상 주소 (Destination): 트래픽이 이동할 대상 IP 주소 또는 CIDR 범위
  • 대상 (Target): 대상 트래픽을 전송할 때 사용할 게이트웨이, 네트워크 인터페이스 또는 연결

- 라우팅 우선순위: 가장 긴 접두사가 우선순위가 높음

  • 가장 긴 접두사 (10.10.2.15 /32는 10.10.2.0 /24보다 우선순위 높음)
  • 정적 경로

인터넷게이트웨이(IGW)

- VPC가 외부 인터넷과 연결되는 통로

  • Public 서브넷과 연결됨 (라우팅 테이블)
  • Private 서브넷은 NAT (사설 IP → 공인 IP)를 통해 인터넷 액세스 권한 부여
    - NAT gateway : AWS-managed (사용 권고) 시간당 0.059 달러 (서울 리전)
    - NAT Instances : self-managed
    - ※ NAT gateway를 통해 외부 인터넷 구간으로 나갈 수 있지만 반대로 외부에서 private 서브넷으로는 들어올 수 없음

    → public subnet에 Bastion Host를 구축함으로써 접속 가능 (실무에서는 잘 사용 안 함)

- 별다른 설정 없이 인터넷 게이트웨이 ID를 참조하는 방식으로 간단

- 확장성 중복성 고가용성을 지닌 VPC 구성 요소

- IPv4 IPv6 지원


NACL / 보안 그룹

- NACL (Network ACL)

  • 제어 대상: 서브넷으로 들어오고 나가는 트래픽 제어 (방화벽)

  • IP 주소에 대한 규칙을 정의할 수 있음 (허용 규칙/거부 규칙 모두 가능)

  • IPv4, IPv6의 인바운드, 아웃바운드 트래픽을 모두 필터링
    - 인바운드: 네트워크에 들어오는 정보, 클라이언트에서 서버로 들어오는 요청 정보
    - 아웃바운드: 네트워크에서 나가는 정보, 서버에서 클라이언트로 나가는 응답 정보

  • Stateless 접근 통제: 이전 상태 정보를 기억하지 않아 다음에 그 상태를 활용하지 않음
    - 인바운드 규칙에 따라 허용한 트래픽일지라도 아웃바운드 규칙 적용

- 보안 그룹 (Security Groups)

  • 제어 대상: 인스턴스에 대한 인바운드 및 아웃바운드 트래픽 제어 (방화벽)

  • 인스턴스 단위로 설정 (하나의 인스턴스에 하나 이상의 보안 그룹 설정)

  • 기본적으로 모든 Port는 비활성화
    - 필요한 port를 허용 → 허용 규칙만 가능 (거부 규칙 불가능)

  • IP 주소나 다른 보안 그룹 참조 가능

  • Stateful 접근 통제: 이전 상태 정보를 기억하고 다음에 그 상태를 활용
    - 인바운드 규칙에 따라 허용한 트래픽이라면 기억하고 아웃바운드 규칙에 자동 적용


NACL / 보안 그룹 Cont


NACL 규칙 순서

규칙 번호를 100 단위로 하는 것을 권고하고 있다


VPC 흐름 로그(Flow Logs)

- 인터페이스에 통과하는 모든 IP 트래픽을 기록

  • VPC Flow Logs
  • Subnet Flow Logs
  • Elastic Network Interface Flow Logs

- 모니터링 및 트러블슈팅 (troubleshoot)에 활용

  • 연결성 문제에 대한 근본 원인 파악 용이

- VPC 흐름 로그 데이터는 S3, CloudWatch Logs, Kinesis Data Firehose에 게시


VPC 피어링(Peering)

- 서로 다른 VPC 간의 일대일 연결을 통해 동일한 네트워크처럼 동작

- IP 주소 범위가 겹치면 안 됨

- VPC는 하나의 리전에 존재하는데, VPC 피어링을 통해 다수의 가용 영역에 분산된 VPC 연결 가능

  • 연결이 필요한 VPC 간에서 로 연결
  • 전이성 (transitive) 피어링 관계는 지원 안 됨 (건너서 연결은 안 됨)
    - (예) VPC A ↔ VPC B, VPC A ↔ VPC C가 피어링 되었지만,
    VPC B ↔ VPC C는 피어링 안 됨 (둘이 따로 연결해줘야 함)


VPC 엔드포인트(Endpoint)

- 사설 AWS 네트워크 사용 (Private Subnet과 연결)

- 공용 인터넷을 사용하지 않아 보안이 우수하며, 네트워크 지연 시간이 짧음

- VPC 밖에 존재하는 다른 서비스 연결

  • VPC 엔드포인트 게이트웨이: S3, DynamoDB (전용, 비공식 연결)
  • VPC 엔드포인트 인터페이스: 다른 모든 서비스 (예: CloudWatch)

AWS PrivateLink(엔드포인트 서비스)

- 다른 AWS 계정에서 호스팅하는 서비스 또는 AWS Marketplace 파트너 서비스와 연결

- 사설 IP 주소를 사용해 다른 VPC가 제공하는 서비스를 안전하게 사용

- VPC IP 주소가 겹치는 경우에 좋은 해결책

- Network Load Balancer와 ENI를 통해 전용망 (private network) 구축


Site-to-Site VPN & Direct Connect

- 하이브리드 클라우드 환경에서 AWS와 온프레미스 연결

- Site-to-Site VPN

  • 온프레미스 VPN을 AWS에 연결

  • VPN (가상 사설 네트워크) : 인터넷망을 통해 디바이스 간에 사설 네트워크 연결 생성
    - 터널링 프로토콜, 암호화 (IPSec) 수행

  • 빠르게 설정 (설치) 가능 (약 5분 소요)

  • 인터넷을 사용하므로 대역폭 및 보안 문제 발생 가능

  • (시험문제) 구축 속도 빠르게 요구

- Direct Connect

  • 물리적으로 AWS와 온프레미스 사이에 프라이빗 전용선 연결
  • 설치하는 데 한 달 이상 소요, 비용 증가
  • 비공개 연결, 안전하고 빠름
  • 사설망 사용
  • (시험문제) 사설 네트워크 사용

VPN

- Site-to-Site (S2S)

  • VPN을 구축하기 위해서 다음이 프로비저닝되어야 하는 것이 출제됨
  • 온프레미스: Customer Gateway (CGW)
  • AWS: Virtual Private Gateway (VGW)

- 클라이언트 VPN

  • 인터넷망에서 VPN 소프트웨어 (OpenVPN)를 이용해 간편히 AWS 네트워크에 연결
  • Private VPN의 EC2 인스턴스에 사설 IP를 사용해 연결 가능
  • 만약, VPC에서 온프레미스의 데이터 센터로 Site-to-Site VPN이 연결되어 있다면 클라이언트 접속 가능

Transit Gateway

• 방대한 인프라가 구성될 때 네트워크 구조가 복잡해지는 것을 해결한 솔루션

• 수많은 VPC와 온프레미스 네트워크를 연결하기 위한 전송 허브

• 스타 구조로 연결 (VPCs, Direct Connection, VPN 연결)

공식사이트 AI 요약
1. 중앙 관리: 허브 앤 스포크 구조로 리전 내 VPC 간 라우팅을 통합 관리.
2. 리전 간 연결: 글로벌 백본을 통한 리전 간 VPC 연결 지원, 인터넷 사용 불필요.
3. 하이브리드 지원: Direct Connect 및 VPN과 통합 가능.
4. 피어링 간소화: VPC 피어링보다 간단한 Transit Gateway 피어링으로 관리 부담 감소.
5. MTU: VPC/Direct Connect에 8,500바이트, VPN에 1,500바이트 지원.

0개의 댓글