기초 보안 공부 1. NGFW
기초 보안 공부 1. NGFW — #기초보안용어 #네트워크보안기초 #클라우드보안 나의 경험(AWS Cloud 보안) AWS 클라우드를 다루며...
#기초보안용어 #네트워크보안기초 #클라우드보안
나의 경험(AWS Cloud 보안)
AWS 클라우드를 다루며 기본적인 보안에 대해서 배웠습니다.
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 + 방화벽 + 프록시 통합 서비스 |
| CASB | SaaS 앱 보안 중개자 | O365, Slack 등 사용 모니터링 |
| DLP | 민감 데이터 유출 방지 | Macie 비슷 |
OSI 7 layer preview
┌─────────────────────────────────────────────────────────────────┐
│ 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 공격이 들어올 수 있습니다.
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%
현재 (전부 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 방화벽의 필요성이 증가하였습니다.
- API 기반 통신이 표준이 되었습니다.
- 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:
- 아무도 믿을 수 없다! 항상 검증하자
- 모든 접근에 인증/인가
- 네트워크 위치와 무관
- 최소 권한만 부여한다.
원칙:
- Never Trust, Always Verify (절대 믿지 말고, 항상 검증)
- Least Privilege Access (최소 권한)
- Assume Breach (침해를 가정하고 설계)
NGFW란
NGFW(Next-Generation Firewall)란 네트워크 트래픽을 처리하고 잠재적으로 위험한 트래픽을 차단하는 규칙을 적용하는 보안 장치입니다. 기존 방화벽의 기능을 발전시키고 확장합니다.
팔로알토
1. App-ID (애플리케이션 식별)
- 기존 방화벽
- 포트 443이면 HTTPS로 인식하고 모두 통과
- NGFW App-ID
- 포트 443이네?
- 패킷 내용을 분석해보자
- 이건 Youtube
- 이건 Slack
- 이건 443으로 우회하는 패킷이다!
<식별과정>
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 = 김철수(마케팅 팀) 허용
- 사용자/그룹 기반 정책이 가능해집니다.
<사용자 정보 수집 방법>
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라는 클라우드 기반 샌드박스 서비스를 사용하기도 합니다.
출처
- Cluade Opus 4.5
- CloudFlare 공식문서
- https://www.cloudflare.com/ko-kr/learning/security/what-is-next-generation-firewall-ngfw/
