WAF
WAF(웹 애플리케이션 방화벽)는 웹사이트로 들어오는 요청의 내용을 검사해 SQL 주입·경로 탐색 같은 웹 공격을 서버에 닿기 전에 막는 장치예요. 포트만 보는 일반 방화벽과 함께 써요.
목차 보기
WAF(웹 방화벽)는 웹사이트로 들어오는 요청의 내용을 들여다보고, 공격처럼 보이는 요청을 서버에 닿기 전에 막는 장치예요. 일반 방화벽이 건물 입구에서 "몇 호실 손님인지"만 묻는 경비라면, WAF는 가방까지 열어 보는 공항 보안 검색대예요. 이름은 Web Application Firewall 의 앞 글자를 땄어요.
읽기 전에 알아 둘 말 3개
일반 방화벽과 무엇이 다른가요?
둘 다 "통과냐 차단이냐"를 정하지만, 보는 곳이 달라요.
| 항목 | 방화벽 | WAF |
|---|---|---|
| 보는 것 | IP 주소·포트·연결 상태 | 요청 주소·검색어·입력값·헤더·본문 |
| 비유 | 출입문 경비 | 가방 검색대 |
| 막는 예 | 열지 않은 포트로 오는 접속 | 열린 443번으로 들어오는 웹 공격 |
| 함께 쓰나요 | 네. 방화벽이 문을 줄이고, WAF가 남긴 문을 지켜요 | |
웹사이트는 443번 문을 모두에게 열어 둬야 해요. 일반 방화벽은 이 문으로 들어오는 건 다 손님으로 봐요. 그 열린 문으로 오는 나쁜 요청을 골라내는 게 WAF의 몫이에요.
WAF는 무엇을 막나요?
웹 보안 단체 OWASP는 웹 서비스에서 자주 터지는 위험 10가지를 정리해 발표해요. 최신판은 2025년판이고, 접근 통제 실패·설정 실수·인젝션 같은 항목이 들어 있어요. WAF가 주로 맡는 건 요청 안에 흔적이 남는 공격이에요.
- SQL 주입은 입력칸에 데이터베이스 명령을 섞어 회원 정보를 빼내려는 공격이에요.
- 크로스 사이트 스크립팅(XSS)은 게시글·댓글에 스크립트를 심어 다른 방문자 브라우저에서 돌리려는 공격이에요.
- 경로 탐색은 파일 이름 자리에 "상위 폴더로" 표시를 넣어 서버 안의 다른 파일을 열어 보려는 시도예요.
- 취약점 탐색은 /wp-login, /.env 처럼 흔히 노출되는 관리 화면이나 설정 파일을 차례로 두드려 보는 봇이에요.
WAF는 어떻게 판단하나요?
기본은 규칙이에요. "요청에 이런 모양이 있으면 막는다"는 줄이 수백 개 모여 있어요. 많이 쓰는 공개 규칙 모음으로 OWASP CRS 가 있어요. SQL 주입, XSS, 파일 끼워 넣기, 셸 명령 주입, 스캐너 탐지 같은 규칙이 묶여 있어요.
규칙만으로 애매한 요청은 허용 목록, IP 평판, 요즘은 AI 판단을 섞기도 해요. 처음 켤 때는 막지 않고 기록만 남기는 모드로 며칠 지켜보는 게 흔한 방법이에요. 내 사이트의 정상 요청이 걸리는지 먼저 보려는 거예요.
내 PC 안에서 장난감 WAF를 직접 돌려 봤어요
2026년 10월 29일, 사무실 PC 안(127.0.0.1)에서만 뜨는 연습용 WAF를 파이썬으로 만들어 봤어요. 규칙은 딱 두 개예요. 바깥 서버에는 요청을 하나도 보내지 않았어요.
# 규칙 ① 요청에 "../"(상위 폴더로) 가 있으면 막기
# 규칙 ② 요청에 select 라는 단어가 있으면 막기
curl "http://127.0.0.1:8099/download?file=report.pdf"
→ 200 ok
curl "http://127.0.0.1:8099/download?file=../../secret.txt"
→ 403 blocked: 경로 탐색
curl "http://127.0.0.1:8099/search?q=select box 추천"
→ 403 blocked: 단어 'select' 포함
첫 줄은 평범한 다운로드라 통과했어요. 둘째 줄은 다른 폴더의 파일을 노리는 모양이라 막혔어요. 여기까지는 WAF가 할 일을 잘했어요.
문제는 셋째 줄이에요. "select box 추천"은 평범한 쇼핑 검색어예요. 그런데 SQL 명령에 자주 나오는 단어라고 막아 버렸어요. 이게 오탐이에요. 실제 WAF 규칙은 훨씬 정교하지만, 같은 고민을 안고 있어요. 그래서 WAF를 켠 뒤에는 차단 기록을 보며 규칙을 다듬는 시간이 꼭 들어가요.
종류는 어떻게 나뉘나요?
| 종류 | 어디서 도나요 | 잘 맞는 경우 |
|---|---|---|
| 클라우드형 | 사이트 앞의 서비스 업체 망 | 설치 없이 바로 켜고 싶을 때 |
| 장비형·전용 서버형 | 서버 바로 앞의 별도 장비 | 보안 점검에서 "앞단 보안 장비"를 요구할 때 |
| 설치형 | 웹 서버 프로그램 안(ModSecurity·Coraza + CRS) | 직접 운영할 줄 알고, 비용을 아끼고 싶을 때 |
자주 하는 오해
- "WAF가 있으면 코드 보안은 신경 안 써도 돼요." WAF는 알려진 모양을 걸러 시간을 벌어 줄 뿐이에요. 입력값 검사와 패치 같은 근본 수리는 따로 해야 해요.
- "HTTPS 사이트는 WAF가 못 봐요." 그래서 WAF가 TLS 암호를 먼저 풀어 보고 서버로 넘기는 구조로 놓여요.
- "WAF가 대량 접속 공격도 다 막아요." 회선 자체를 가득 채우는 DDoS는 결이 달라요. 망 단계의 방어가 따로 필요해요.
퓨쳐인프라에서는
퓨쳐인프라 가상서버의 기본 방화벽은 "어느 포트를 열까"를 정해요. 요청 내용까지 보려면 방화벽(UTM) 부가서비스를 켜면 돼요. 여기에 WAF가 들어 있어서 SQL 주입·경로 탐색·알려진 취약점 탐색 같은 요청을 막아요.
/wp-login, /.env 같은 탐색은 규칙으로 바로 막고, 규칙으로 애매한 접속은 선택 기능인 AI 방화벽이 판단해요(켠 경우 AI 토큰 원가×2). 지킬 서버는 80번으로 웹만 열어 두면 되고, HTTPS(443)는 방화벽이 대신 받아요. 요금은 월 150,000원(부가세 포함, 분 단위)이고, 침입 IP 차단·국가 차단·VPN·백신까지 함께 들어 있어요. 회사 보안 점검처럼 요구 사항이 있을 때 맞는 선택이에요.
자주 묻는 질문
작은 사이트도 WAF가 필요한가요?
로그인·결제·개인정보를 다루거나, 워드프레스처럼 자동 탐색을 많이 받는 사이트라면 도움이 커요. 소개 페이지만 있는 정적 사이트라면 기본 방화벽과 업데이트로 시작해도 돼요.
WAF 때문에 정상 손님이 막히면 어떻게 하나요?
차단 기록에서 어떤 규칙에 걸렸는지 보고, 그 주소나 입력값만 예외로 두면 돼요. 규칙 전체를 끄는 건 피하세요.
무료로 쓸 수 있는 WAF도 있나요?
웹 서버에 ModSecurity 나 Coraza 를 깔고 OWASP CRS 규칙을 얹는 방법이 있어요. 비용은 없지만 설치와 규칙 다듬기를 직접 해야 해요.
이 글의 확인 출처
- WAF 정의 OWASP 커뮤니티 문서
- 웹 위험 10가지 2025년판 OWASP Top 10
- 공개 WAF 규칙 모음 OWASP CRS
- 퓨쳐인프라 방화벽(UTM) 기능·요금 부가서비스 페이지(2026년 10월 29일 확인)
관련 용어
- 글쓴이는 서순명(솔리드그루 이사)이에요. 솔리드그루는 국내 IDC 에서 클라우드 서버·앱 호스팅·AI API 서비스 퓨쳐인프라를 운영해요. 2026년 10월 29일에 썼어요.
- 운영사는 솔리드그루예요. 사업자등록번호 875-44-00335 · 서울특별시 구로구 디지털로29길 38, 7층 707호 · 전화 02-6933-6229 · support@futureinfra.ai · 고객센터 · 이용약관
- 한계도 있어요. 직접 해 보기는 2026년 10월 29일 사무실 PC 안(127.0.0.1)에서 규칙 2개짜리 연습용 프로그램으로 한 것이에요. 실제 WAF 제품이나 바깥 서버에는 시험 요청을 보내지 않았어요.
- 이해관계를 밝혀 둬요. 퓨쳐인프라는 이 글을 쓴 회사의 서비스이고, 글 안에 방화벽(UTM) 부가서비스(WAF 포함) 안내가 들어 있어요.
연관 서비스
많이 본 글
-
블로그
도메인 구매 사이트 추천 2026 — 가비아·후이즈 등 15곳 갱신·이전비 비교
같은 .co.kr 도 등록업체 15곳의 3년 값이 3.8만~8.6만 원이에요(11월 3일 KRNIC 표). 갱신가·이전비·해외 업체 조건, 11월 인상 뒤 가비아 실제 화면, 구매처 확인과 기관이전까지 정리했어요. -
블로그
무료 도메인 사이트 추천 2026 — 내도메인.한국·DuckDNS 발급 방법
내도메인.한국·DuckDNS 처럼 계속 무료인 주소 10곳을 11월 3일 서울에서 다시 재고(6곳 6ms 안), 발급 순서·구글·네이버 무료 주소·'첫해 무료'의 2년째 값까지 정리했어요. -
블로그
클로드 MCP·Gemini MCP 연동 방법 2026, MCP 서버 9곳
클로드 MCP(데스크톱·Claude Code)와 Gemini MCP 연동(Gemini CLI·안티그래비티·Gemini 앱·API) 등 9곳의 MCP 서버 연결법을 공식 문서로 정리했어요. 원격 57ms 실측과 오류 해결까지. -
블로그
Gemini 3.9 Flash 나왔나요? 지금 최신은 3.8 Flash — 3.7과 직접 잰 속도·비용
2026년 9월 22일 기준 Gemini 3.9 Flash는 미출시입니다. 최신 3.8 Flash의 사양·가격(2027년 2배 인상)과, 3.7 Flash와 같은 과제로 직접 잰 속도·비용·JSON 형식 준수 차이를 정리했습니다. -
블로그
서버비 한 달 얼마? 방문자 10만 명도 월 3만 2천 원(2026 계산)
월 방문자 1천·1만 명은 1만 4천 원, 10만 명은 3만 2천 원이에요. 요금제별 트래픽 기본 제공량까지 넣어 다시 계산하고 AWS·카페24·가비아·네이버클라우드 값과 숨은 비용을 비교했어요(2026-10-26 확인).
댓글
로그인하면 댓글을 남길 수 있습니다.