WAF(Web Application Firewall)란?
WAF(Web Application Firewall)란?
비정상 트래픽을 탐지하고 차단하기 위한 방화벽입니다.
방화벽(FW)과는 차이점이 있는데, FW는 TCP/IP 레벨에 포함된 정보들을 기반으로 차단 룰을 설정합니다.
WAF는 웹 프로토콜 HTTP 정보를 바탕으로 차단 룰을 설정
웹 해킹 공격으로부터 보호하기 위해 탄생한 정보 보호 시스템.(IDS/IPS)와도 역할이 다릅니다.
FW, WAF, IDS/IPS의 역할을 정확히 구분하고 적절한 룰을 수립하여 운용하는 것이 중요합니다.
WAF가 웹 시장에서 주목받기 전에 웹 보안은 개발자의 보안 프로그래밍 능력에 의존되었습니다.
(이는 종종 침해사고로 이어졌습니다.)
또한, 서비스는 정기적으로 개편되거나 변화하면서 새로운 기능이 생기고 사라지면서 새로운 취약점이 나타날 수 있다.
아하, WAF는 모든 웹 보안 공격을 막는 솔루션이구나?? 땡, 그것은 틀렸습니다.
WAF가 탐지하지 못하는 공격영역이 있습니다. ==> 논리적 취약점!
- 권한부여
- 불충분한 세션 관리
- 서버 정보 노출
https://techblog.woowahan.com/2645/
머피의 법칙: 잘못될 수 있는 일은 반드시 잘못된다.
*잘못될 가능성이 있다면 미리미리 대비하자.
ex) 프로그래머로 산지 좀 오래됐지 후후,, 에이 설마,,? 라고 생각
클라우드 환경에서의 WAF 구성
VPC 프록시 구성 - VPC내 설지형 WAF
IDC 환경에서 Inline WAF구성과 유사한 구성
이 구성은 L7 패킷을 검증한 뒤 Origin LB로 보냅니다.
origin LB를 Private으로 숨길 수 있는 이점이 있습니다.
하지만 VPC내에 구성한 WAF 리소스 자체가 하나의 주요 장애 포인트 우려
if 이벤트와 같이 트래픽이 몰린다면?
각 서비스팀에 Origin 서버의 리소스는 스케일 아웃을 실시하였으나, 만약 WAF 리소스는 평소와 같은 수준으로 트래픽을 받게 된다면, WAF가 제대로 된 트래픽 처리를 하지 못하여 장애가 발생합니다.
이러한 WAF 장애 방지를 위해
Origin Private ELB (WEB, WAS 리소스)와 함께 Public ELB(WAF ELB)의 리소스도 상시 모니터링을 하면서
이벤트, 공격에 대비하여 확장성 정책 및 프로세스를 유연하게 적용해야 합니다.
예시
CSRF
file inclusion(파일 포함 취약점)
XSS(cross-site-scripting)
SQL INJECTION
WAF는 7계층 방어이며, 모든 유형의 공격을 방어하기 위해 설계되지는 않았습니다.
다양한 공격 벡터에 대한 종합적인 방어 기능을 하는 도구 일부분
WAF를 웹 애플리케이션 앞에 배치하면, 웹 애플리케이션과 인터넷 사이에 보호 장치입니다.
프록시 서버는: 중개 장치를 만들어 클라이언트 컴퓨터의 신원 보호 역할이라면
WAF는: 클라이언트가 서버에 도달하기 전에 WAF를 통과하게 만들어, 노출로부터 서버를 보호하는 역방향 프록시 유형
WAF는 "규칙 집합"을 통해 작동
목적: 애플리케이션 취약점을 보호
- 악의적인 트래픽 필터링
https://www.youtube.com/watch?v=HTjOj4qM4Xo
AWS WAF는
AWS Cloud 에서 제공하는 웹 어플리케이션 방화벽
- 웹 트래픽에 대한 가시성
- 서비스별로 설정된 보안정책에 따라 비인가접근을 탐지/차단
- 2015년부터 지속적인 기능 추가(2020년 WAFv2가 출시)
AWS WAF -> WAFv2
출시 직후 바로 WAFv2로 이전하지 못한 이유?
여러 보안 환경을 담당하는 관리자의 리소스 문제