242. WAF (Web Application Firewall) — 웹 서비스의 절대 수문장

⚠️ 이 문서는 해커가 교묘하게 평범한 고객인 척 포트 80(HTTP) 문을 열고 들어와, 일반 방화벽(L4)과 IPS 장비마저 무사통과한 뒤, 웹사이트 로그인 창에 해킹 코드를 갈겨넣어 DB를 통째로 털어가는 것을 막기 위해, **오직 웹 트래픽(HTTP/HTTPS, L7 계층) 하나만을 현미경처럼 뜯어보고 웹 공격(SQL 인젝션, XSS 등)의 지문과 냄새를 귀신같이 잡아내어 멱살을 잡고 차단하는 '웹 전용 방탄조끼'인 'WAF(웹 애플리케이션 방화벽)'**를 다룹니다.

핵심 인사이트 (3줄 요약)

  1. 본질: L3/L4(IP/포트)만 보는 기존 멍청한 방화벽을 버리고, 오직 **L7(애플리케이션 계층)의 HTTP 프로토콜(GET, POST, URI, Cookie 등)**의 속살을 까보고 분석하는 데 몰빵한 '웹 특화' 방어 장비다.
  2. 가치: 아무리 네트워크를 철통방어해도 80번, 443번 포트는 대국민 웹 서비스를 위해 무조건 열어둬야 한다. WAF는 이 '어쩔 수 없이 열어둔 대문'으로 들어오는 해커들의 OWASP Top 10 공격(SQLi, XSS)을 문턱에서 1초 만에 박살 내는 유일한 구원자다.
  3. 기술 체계: 해킹 패턴(블랙리스트)을 막는 것은 물론, 프록시(Proxy) 아키텍처로 동작하여 클라이언트와 서버 사이에 서서 암호화된 HTTPS 트래픽을 까서 검사(SSL Termination)하고 다시 포장해 넘겨주는 중간자(MITM) 역할을 완벽히 수행한다.

Ⅰ. 방화벽과 IPS가 뚫리는 이유: 왜 굳이 '웹' 방화벽인가?

성문을 아무리 높여도, 손님으로 위장해 들어오는 자객은 못 막는다.

  1. 기존 L4 방화벽의 장님 현상:
    • 일반 방화벽은 무식하다. "목적지 포트가 80번(HTTP)이면 다 통과시켜!"
    • 해커가 정상적인 크롬 브라우저를 켜고 80번 포트로 들어온다. 방화벽은 웃으며 문을 열어준다. 해커가 쇼핑몰 검색창에 ' OR 1=1 -- (SQL 인젝션)을 입력해 회사 DB를 다 지워버려도 방화벽은 꿀 먹은 벙어리다.
  2. IPS(침입 방지 시스템)의 넓고 얕은 한계:
    • IPS는 똑똑해서 패킷을 까본다. 하지만 IPS는 인터넷, 메일(SMTP), FTP 등 수만 가지 세상 모든 프로토콜을 다 감시해야 하므로 너무 바쁘다.
    • 웹(HTTP) 특유의 복잡한 헤더 변조 공격이나, 쿠키(Cookie)를 위조해서 세션을 탈취하는 고도로 정밀한 웹 전용 꼼수를 깊게 뜯어볼 시간적(CPU) 여력이 부족하다.
  3. WAF (Web Application Firewall)의 탄생:
    • 오직 HTTP/HTTPS (웹 통신) 딱 하나만 미친 듯이 깊게 파고드는 전문가가 등판했다.
    • WAF는 웹 서버 바로 앞단에 서서, 날아오는 HTTP GET, POST 요청의 뱃속(URI 파라미터, Body, JSON)을 국과수 부검하듯 샅샅이 파헤쳐, '웹 애플리케이션 취약점(OWASP Top 10)'을 노리는 독침을 0.001초 만에 차단(Drop)해 버린다.

📢 섹션 요약 비유: 일반 방화벽(L4)은 클럽 정문의 '기도'입니다. "성인(80번 포트) 맞네, 들어가!" 하고 통과시킵니다. IPS는 클럽 로비를 돌아다니는 '경찰'입니다. 대놓고 칼을 빼들면 잡지만, 사람이 너무 많아 주머니 속 독약은 못 봅니다. WAF는 오직 식음료 코너(웹 서버) 앞에만 서 있는 '마약 탐지견'입니다. 누군가 컵(HTTP 패킷)에 교묘하게 탄 무색무취의 마약(SQL 인젝션) 한 방울 냄새를 귀신같이 맡고 손목을 꺾어버리는 웹 공격 방어의 스페셜리스트입니다.


Ⅱ. WAF의 무기: OWASP Top 10 방어와 암호 해독(SSL)

블랙리스트를 넘어 화이트리스트로 옥죈다. 그리고 암호 상자를 강제로 뜯는다.

  1. 시그니처 기반 (블랙리스트) 방어:
    • WAF의 기본 소양이다. 전 세계 해커들의 바이블인 'OWASP Top 10(SQL 인젝션, XSS, CSRF 등)' 공격 패턴이 적힌 수만 개의 룰북(시그니처)을 들고 있다.
    • 게시판 입력창에 <script>alert('해킹')</script> (XSS 공격)을 치고 엔터를 누르는 순간, WAF가 그 텍스트를 잡아내어 웹 서버 대신 403 Forbidden(접근 금지) 에러 창을 해커 얼굴에 뱉어버린다.
  2. 화이트리스트 (Positive Security Model) 철벽 방어:
    • WAF가 비싼 이유는 이거다. 해킹 코드를 막는 걸 넘어, **"내가 허락한 정상적인 텍스트만 들어와!"**라고 룰을 짠다.
    • "나이(Age) 입력 칸에는 무조건 숫자 2자리만 들어올 수 있다. 만약 영어 알파벳이나 기호(')가 단 1개라도 섞여 들어오면 무조건 차단해버려!"
    • 이 화이트리스트 정책 덕분에 세상에 처음 나온 신종 해킹 공격(제로데이)마저 완벽하게 차단하는 기적의 방어망을 구축한다.
  3. 프록시(Proxy) 아키텍처와 SSL Termination (암호 해독) $\star$:
    • 요즘 웹은 100% HTTPS(암호화)로 꽁꽁 싸여 날아온다. 암호화된 박스를 엑스레이로 쏴봐야 안은 까맣게 안 보인다.
    • WAF는 웹 서버를 대신해서 클라이언트(해커)와 자기가 직접 암호화 통신을 맺어버린다(리버스 프록시).
    • WAF가 해커가 보낸 자물쇠를 풀고(복호화, SSL Termination), 알맹이를 생얼로 꺼내 샅샅이 검사한 뒤, 이상이 없으면 다시 깨끗한 박스에 담아 뒤에 숨은 진짜 웹 서버로 토스해 주는 위대한 중간자 역할을 수행한다.

📢 섹션 요약 비유: 해커가 티타늄 금고(HTTPS)에 뱀(XSS 공격)을 담아 보냈습니다. WAF는 그냥 검문소가 아닙니다. 왕(웹 서버)을 지키는 **기미상궁(리버스 프록시)**입니다. WAF는 왕을 대신해 자기가 금고 비밀번호를 풀고(SSL 복호화), 뚜껑을 열어 내용물을 은수저로 다 찔러봅니다. 뱀(블랙리스트)이 있거나, 왕이 먹는 쌀알 크기 규격에 안 맞으면(화이트리스트 위반) 그 자리에서 상을 엎어버립니다. 왕은 WAF가 안전하다고 검증을 끝내고 다시 예쁘게 담아준 깨끗한 수라상만 받아먹게 되는 절대 안전 보장 시스템입니다.


Ⅲ. WAF의 진화: 클라우드 WAF와 AI의 탑재

무거운 쇳덩어리를 버리고 클라우드 대기권 밖으로 전진 배치하라.

  1. 전통적 Appliance WAF의 한계:
    • 옛날 전산실에는 웹 서버 바로 앞 랙(Rack)에 1,000만 원짜리 WAF 기계를 꽂아놨다 (온프레미스 장비).
    • 치명적 단점: 블랙프라이데이 때 중국에서 디도스(DDoS)급 해킹 트래픽이 100Gbps로 밀려오면, 우리 회사 랜선을 타고 들어와 결국 사내 전산실의 WAF 기계 CPU가 100%를 치며 타버리고 회사 인터넷이 마비된다.
  2. Cloud WAF (AWS WAF, Cloudflare)의 우주 방어:
    • 이제 WAF는 사내 전산실이 아니라 **클라우드의 맨 끝단 대기권(CDN, Edge Location)**으로 전진 배치되었다.
    • 해커가 중국에서 공격을 쏘면, 그 트래픽이 한국의 우리 회사 서버로 오기도 전에, 아프리카나 미국에 떠 있는 Cloudflare의 10,000대짜리 거대한 클라우드 WAF(방패) 우주선이 공격을 1차로 다 흡수하고 분쇄해 버린다. 우리 회사 본진 서버에는 흠집 하나 나지 않는 우주방어가 완성된다.
  3. 차세대 WAF (WAAP)와 봇(Bot) 차단 AI:
    • 최신 클라우드 WAF는 단순한 글자 매칭을 넘어섰다 (WAAP, 웹 앱 및 API 보호).
    • "이놈 패킷 글씨는 정상인데, 보니까 1초에 1,000번씩 로그인 버튼을 누르고 마우스 움직임이 1도 없네? 이거 사람 아니고 콘서트 매크로 봇(Bot)이다!"
    • AI 엔진이 접속자의 행동 패턴(마우스 궤적, 클릭 속도)을 머신러닝으로 분석해 사람인 척하는 악성 스크래핑 로봇들을 0.1초 만에 캡차(CAPTCHA, "신호등 그림을 고르시오") 지옥으로 쫓아버려 서버의 평화를 수호한다.

📢 섹션 요약 비유: 과거의 WAF는 성문(전산실) 바로 앞에 서 있는 방패병이었습니다. 적 10만 명(DDoS)이 밀려오면 성문 앞에서 싸우다 짓밟혀 성문이 같이 무너집니다. Cloud WAF는 성문에서 1,000km 떨어진 국경선 최전방(Edge)에 10만 명의 용병을 고용해 세워둔 만리장성입니다. 적군은 우리 성문에 닿기도 전에 국경에서 궤멸당합니다. 게다가 이 국경 수비대는 인공지능 탐지기(WAAP)를 달고 있어서, 인간 탈을 쓰고 기어 들어오는 좀비 로봇(매크로 봇)들마저 눈동자의 흔들림(마우스 궤적)을 보고 족집게처럼 사살해 내는 궁극의 국경 방어막입니다.