Security발행일 2025. 12. 13.원본 https://blog.naver.com/jword_/224108274556 ↗

기초 보안 공부 1. NGFW

기초 보안 공부 1. NGFW — #기초보안용어 #네트워크보안기초 #클라우드보안 나의 경험(AWS Cloud 보안) AWS 클라우드를 다루며...

#Security#Naver Blog

#기초보안용어 #네트워크보안기초 #클라우드보안

​

나의 경험(AWS Cloud 보안)

AWS 클라우드를 다루며 기본적인 보안에 대해서 배웠습니다.

​

javascript 코드 예제
                                    AWS에서 이미 사용해본 것들:
┌────────────────────────────────────────┐
│  Security Group    → 인스턴스 레벨 방화벽 (L4)
│  NACL              → 서브넷 레벨 방화벽 (L4)
│  WAF               → 웹 애플리케이션 방화벽 (L7, HTTP만)
│  VPC Flow Logs     → 네트워크 트래픽 로그
└────────────────────────────────────────┘
         ↓
    여기서 확장되는 개념들

이 단계까지는 "네트워크 레이어별로 보안을 적용하는 구나" 정도를 느낄 수 있었습니다. 하지만 각 네트워크 보안이 구체적으로 어떻게 적용되는지 정확한 구조는 잘 이해하지 못하고 있는 상태입니다.

​

보안에 대한 기본기가 너무 없다보니, 핵심 용어라도 스스로 정리하면서 공부하고자 합니다.

​

보안 핵심용어 10가지

용어간단한 설명AWS 적용
NGFW앱까지 식별하는 방화벽Security Group + WAF + 앱 인식
IPS/IDS침입 탐지/차단 시스템GardDuty 비슷 (탐지) + 차단기능
SIEM모든 로그를 모아서 분석CloudWatch + SecurityHub
XDR엔드포인트~네트워크 위협 통합 탐지GardDuty + Inspector 확장판
SOAR보안 자동화 플레이북EventBrdige + Lambda
Zero Trust"아무도 믿지마"VPN 대체, 앱 단위 접근 제어
SASE네트워크 + 보안을 클라우드로VPN + 방화벽 + 프록시 통합 서비스
CASBSaaS 앱 보안 중개자O365, Slack 등 사용 모니터링
DLP민감 데이터 유출 방지Macie 비슷

OSI 7 layer preview

javascript 코드 예제
                                    ┌─────────────────────────────────────────────────────────────────┐
│  Layer 7 - Application   │ HTTP, HTTPS, DNS, Kafka, gRPC      │
├──────────────────────────┼─────────────────────────────────────┤
│  Layer 6 - Presentation  │ SSL/TLS, 암호화                     │
├──────────────────────────┼─────────────────────────────────────┤
│  Layer 5 - Session       │ 세션 관리                           │
├──────────────────────────┼─────────────────────────────────────┤
│  Layer 4 - Transport     │ TCP, UDP (포트 번호)                │
├──────────────────────────┼─────────────────────────────────────┤
│  Layer 3 - Network       │ IP 주소, 라우팅                     │
├──────────────────────────┼─────────────────────────────────────┤
│  Layer 2 - Data Link     │ MAC 주소, 스위칭                    │
├──────────────────────────┼─────────────────────────────────────┤
│  Layer 1 - Physical      │ 케이블, 전기 신호                   │
└──────────────────────────┴─────────────────────────────────────┘

OSI 7 Layer에서 중요한건 방화벽과 연계라고 생각합니다. 기존에는 보통 L3/L4 방화벽을 사용했는데 현재는 L7 방화벽을 많이 사용하는 추세인 것 같습니다.

​

L3/L4 방화벽의 한계

L3/L4 방화벽

AWS에서 가장 기본이되는 방화벽인 Security Group은 L4레이어 방화벽, NACL은 L3/L4 레이어 방화벼이라고 합니다.

​

L3 방화벽은 IP Header만 보고, L4 방화벽은 TCP Header까지만 봅니다. 이런 상황에서 서비스가 :443 포트를 열어두는 상태라면 HTTPS의 웹 요청을 모두 허용하게 됩니다. 이때 HTTPS를 통해 SQL injection 공격이 들어올 수 있습니다.

​

javascript 코드 예제
                                    SQL Injection?
- HTTP/HTTPS 요청에 악의적인 SQL 쿼리를 넣어 내부 데이터베이스의 결과를 가져오는 것

ex)
POST /api/login HTTP/1.1
Host: api.example.com
Content-Type: application/json

{
  "username": "admin'--",
  "password": "anything"
}

L7 방화벽이 필수가된 이유

1. HTTPS 통신 범용화

HTTPS 통신이 기본이 되면서 :443 포트를 범용적으로 사용하기 시작했습니다.

  • 2015년: 30% → 2025년: 95%
javascript 코드 예제
                                    현재 (전부 443):
┌────────────────────────────────────┐
│ 웹사이트       → 443              │
│ YouTube        → 443              │
│ Slack          → 443              │
│ Dropbox        → 443              │
│ AWS Console    → 443              │
│ Zoom           → 443              │
│ ChatGPT        → 443              │
│ 악성코드 C&C   → 443 (!)          │
│                                    │
│ → 포트만 봐서는 구분 불가          │
└────────────────────────────────────┘

L4 방화벽 사용시 :443만 열어두면 모든 트래픽이 허용됩니다.

​

2. SaaS 앱 사용량이 폭발적으로 증가

일반 기업들의 SaaS 사용 앱 수는 2015년 평균 8개에서 2024년 평균 130개 이상으로 증가하였습니다. SaaS는 인터넷을 통해 공급자가 서비스를 호스팅하고, 사용자는 웹 브라우저를 통해 서비스를 사용합니다. 이에 따라 자연스럽게 L7 방화벽의 필요성이 증가하였습니다.

​

  1. API 기반 통신이 표준이 되었습니다.
javascript 코드 예제
                                    - GET /api/users
- Post /api/admin/delete
- GET /api/users?id=1 OR 1=1 (SQL injection)

L7을 사용하면 요청 URL까지 검사하여 SQL injection 공격을 막을 수 있습니다.

​

4. Zero Trust

기존 방식

  • "회사 네트워크 안에 있으면 신뢰"
  • VPN 접속시 내부 리소스 접근 가능
  • 내부에서 공격을 안할거라는 보장이 없음

​

ZeroTrust:

  • 아무도 믿을 수 없다! 항상 검증하자
  • 모든 접근에 인증/인가
  • 네트워크 위치와 무관
  • 최소 권한만 부여한다.

​

원칙:

  1. Never Trust, Always Verify (절대 믿지 말고, 항상 검증)
  1. Least Privilege Access (최소 권한)
  1. Assume Breach (침해를 가정하고 설계)

​

NGFW란

NGFW(Next-Generation Firewall)란 네트워크 트래픽을 처리하고 잠재적으로 위험한 트래픽을 차단하는 규칙을 적용하는 보안 장치입니다. 기존 방화벽의 기능을 발전시키고 확장합니다.

이미지

팔로알토

1. App-ID (애플리케이션 식별)

  • 기존 방화벽
  • 포트 443이면 HTTPS로 인식하고 모두 통과

​

  • NGFW App-ID
  • 포트 443이네?
  • 패킷 내용을 분석해보자
  • 이건 Youtube
  • 이건 Slack
  • 이건 443으로 우회하는 패킷이다!

​

javascript 코드 예제
                                    <식별과정>

1. 프로토콜 디코딩 : HTTP, SSL, SSH 등 프로토콜 파악
2. 시그니처 매핑: 앱별 고유 패턴 비교
3. 휴리스틱 분석: 트래픽 행동 패턴
4. SSL 복호화 후 재분석: 암호화 풀고 다시 1-3단계

​

2. User- ID (사용자 식별)

기존 방화벽:

  • 10.0.1.50에서 온 트래픽을 허용한다고 가정
  • 해당 IP를 누가 사용하는지 모릅니다.

​

NGFW User-ID

  • 10.0.1.50 = 김철수(마케팅 팀) 허용
  • 사용자/그룹 기반 정책이 가능해집니다.

​

javascript 코드 예제
                                    <사용자 정보 수집 방법>

Active Directory: 로그인 이벤트에서 IP-사용자를 매핑

수집 방법:
1. WMI probing: AD 서버에서 로그인 정보 가져옴
2. AD agent: DC에 에이전트 설치해서 실시간 수집
3. Syslog: 인증 서버 로그 수신
4. GlobalProtect: VPN 클라이언트에서 직접 수정
5. Captive Protal: 웹 인증 페이지로 직접 로그인

example)
┌──────────────────────────────────────────────────────────┐
│ 사용자/그룹 기반 정책                                    │
├────────────────┬───────────────┬─────────────┬──────────┤
│ 사용자/그룹     │ 앱            │ 액션        │ 설명     │
├────────────────┼───────────────┼─────────────┼──────────┤
│ 개발팀         │ github        │ Allow       │ 업무용   │
│ 개발팀         │ stackoverflow │ Allow       │ 업무용   │
│ 마케팅팀       │ facebook      │ Allow       │ 업무용   │
│ 마케팅팀       │ github        │ Deny        │ 불필요   │
│ 전체           │ youtube       │ Deny        │ 대역폭   │
│ 임원진         │ Any           │ Allow       │ 예외     │
└────────────────┴───────────────┴─────────────┴──────────┘

3. Content-ID (콘텐츠 검사)

​

위협방지(Threat Prevention)

위협 방지는 네트워크를 통해 들어오는 공격을 실시간으로 탐지하는 기능입니다.

​

  • IPS: Intrusion Prevention System
  • SQL injection
  • XSS
  • 버퍼 오버플로우
  • 알려진 취야점 공격
  • Command Injection
  • 프로토콜 이상 탐지

​

URL 필터링

URL 필터링은 사용자가 접속하려는 웹사이트를 카테고리별로 분류하여 허용하거나 차단하는 기능입니다.

​

예를 들어, 기업에서 "malware" 카테고리와 "phishing" 카테고리를 차단으로 설정해두면, 직원이 실수로 악성 링크를 클릭하더라도 NGFW가 해당 사이트 접속을 막아줍니다.

​

파일 차단

파일 차단 기능은 특정 유형의 파일이 네트워크를 통해 전송되는 것을 막습니다.. 예를 들어 실행 파일(.exe), 스크립트 파일(.bat, .ps1), 압축된 실행파일 등 위험도가 높은 파일 유형을 업로드하거나 다운로드하지 못하게 설정이 가능합니다.

​

하지만, 파일 유형만으로 악성 여부 판단이 어렵습니다. 정상저인 PDF 파일로 보이지만 실제로는 악성코드가 숨겨져 있을 가능성도 존재합니다. 숨겨진 위협 가능성을 차단하기 위해 WildFilre라는 클라우드 기반 샌드박스 서비스를 사용하기도 합니다.

​

출처