웹 방화벽
알려진 웹 공격은 사이트에 닿기 전에 걸러냅니다.
SQL 인젝션, XSS, Log4Shell, Spring4Shell, 웹쉘 업로드까지 사이트 앞단에서 검사하고, 새 취약점이 공개되면 차단 규칙을 추가합니다. (AI보안존 서비스 구성 요소)
모든 요청이 사이트에 닿기 전에 검사를 거칩니다
방문자의 요청은 웹 방화벽을 먼저 지나고, 공격으로 판단된 요청은 사이트에 전달되지 않습니다.
대표적인 공격 유형과 알려진 취약점
아래 공격은 실제 공격 요청을 보내 차단되는 것을 확인했습니다.
| 공격 | 무엇을 노리나 |
|---|---|
| SQL 인젝션 | 입력칸이나 주소에 SQL 구문을 끼워 넣어 DB의 회원·주문 정보를 빼내거나 조작합니다. 데이터를 합치는 방식과 시간 지연 방식 모두 차단합니다. |
| XSS (스크립트 삽입) | 방문자의 브라우저에서 악성 스크립트가 실행되게 해 로그인 정보를 훔칩니다. |
| 경로 탐색 | ../ 로 상위 폴더를 거슬러 올라가 서버의 설정 파일이나 비밀번호 파일을 읽으려는 시도입니다. |
| 명령 주입 | 입력값에 서버 명령어를 섞어 서버에서 직접 실행하려는 시도입니다. |
| 웹쉘 업로드 | 파일 업로드 기능을 이용해 .php 등 원격 조종 파일을 올리려는 시도입니다. |
| Log4ShellCVE-2021-44228 | Java 로그 라이브러리(Log4j)의 취약점. 요청 헤더나 주소에 심은 문자열로 서버를 원격 조종합니다. 문자를 쪼개 숨긴 변형 표기도 차단합니다. |
| Spring4ShellCVE-2022-22965 | Spring 프레임워크의 취약점. 폼 값을 통해 서버 내부 객체를 바꿔 웹쉘을 심습니다. |
| Apache Struts 원격 실행CVE-2017-5638 | Content-Type 헤더에 실행 구문을 넣어 서버를 장악하는 공격입니다. |
| Text4ShellCVE-2022-42889 | Apache Commons Text의 문자열 치환 기능을 악용해 코드를 실행합니다. |
| ShellshockCVE-2014-6271 | 요청 헤더에 심은 함수 정의로 서버의 셸에서 명령을 실행하는 오래된 공격이지만 지금도 스캔이 계속됩니다. |
| PHP 코드·래퍼 악용 | php://input 같은 래퍼나 요청에 섞인 PHP 코드로 서버에서 PHP를 실행하려는 시도입니다. |
| PHP2ShellCVE-2026-109618 / 109619 | PHP 자체의 원격 코드 실행 취약점. 공개된 공격 요청의 모양(업로드 진행률 필드를 악용한 요청, 공격 도구 표식, 비정상적으로 많거나 깊게 중첩된 업로드 필드)을 차단하는 규칙을 적용합니다. |
| 서버 내부 접근 시도 (SSRF) | 사이트를 경유해 클라우드 서버 내부 정보(메타데이터 주소 등)를 읽어내려는 시도입니다. |
| 공격 도구·스캐너 | 취약점을 자동으로 찾는 도구(예: sqlmap)의 접근을 걸러냅니다. |
웹 방화벽은 알려진 공격의 요청 모양을 보고 막는 방식입니다. 변형된 공격이나 아직 알려지지 않은 취약점까지 모두 막는다고 보증하지는 않으며, PHP·플러그인·프레임워크의 보안 패치를 대신하지 않습니다. 사이트가 쓰는 소프트웨어는 최신으로 유지하시고, 웹 방화벽은 패치하기 전의 공백과 반복되는 공격을 줄이는 방어층으로 함께 쓰시는 것이 좋습니다.
새 취약점이 공개되면 요청 모양을 분석해 규칙을 더합니다
취약점이 공개되면 공격 요청이 어떤 모양인지 분석하고, 정상 요청과 구분되는 특징을 골라 차단 규칙으로 추가합니다. PHP2Shell도 이 방식으로 규칙을 적용했습니다.
기본 규칙
널리 쓰이는 공개 보안 규칙 모음을 기반으로 SQL 인젝션·XSS·원격 코드 실행 등 주요 공격 유형을 폭넓게 막습니다. 규칙 모음은 정해진 버전을 검증해서 사용합니다.
추가 규칙
새 취약점의 공격 요청이 기본 규칙에 걸리지 않으면, 요청의 특징을 기준으로 추가 규칙을 만듭니다. 규칙마다 사이트별로 켜고 끌 수 있어서, 정상 기능을 쓰는 사이트는 해당 규칙만 예외로 둘 수 있습니다.
패치와 함께
추가 규칙은 패치가 적용되기 전까지의 임시 방어입니다. 취약한 소프트웨어는 패치 또는 업그레이드하도록 안내해 드립니다.
내 사이트에 맞춰 조정하며 운영합니다
방화벽을 켜 두기만 하면 정상 이용자가 막히는 일이 생길 수 있습니다. 사이트에 맞춰 단계적으로 적용합니다.
1탐지만 하며 관찰
처음에는 공격을 기록만 하고 차단하지 않습니다. 실제로 어떤 요청이 걸리는지 확인합니다.
2오탐 정리
정상 이용자의 요청이 걸리면 그 사이트에서만 해당 규칙을 예외로 둡니다. 다른 사이트에는 영향이 없습니다.
3차단으로 전환
정리가 끝나면 차단 모드로 바꿉니다. 모드는 사이트마다 따로 정합니다.
4추가 보호
봇·무차별 요청이 많은 사이트에는 의심스러운 접속에 한글 캡차 인증을 걸거나, 같은 곳에서 오는 요청 수를 제한할 수 있습니다. 믿을 수 있는 IP는 예외로 둡니다. 모두 사이트별 설정입니다.
AI보안존 서비스에 포함됩니다
웹 방화벽은 소스·DB 검사, 관리자 전용 VPN 접속과 함께 AI보안존 서비스로 제공됩니다.
요금은 사이트 이전과 보안 서비스 구축이 완료된 후 청구합니다. 웹 방화벽만 따로 이용하시려면 상담 후 구성과 요금을 안내해 드립니다.
자주 묻는 질문
최신 취약점 공격도 막을 수 있나요?
알려진 공격 요청의 모양을 기준으로 막습니다. Log4Shell, Spring4Shell처럼 공개된 취약점의 공격 요청은 차단을 확인했고, 새 취약점이 공개되면 요청 모양을 분석해 규칙을 추가합니다. 다만 변형된 공격이나 아직 알려지지 않은 취약점까지 막는다고 보증할 수는 없어서, 소프트웨어 패치와 함께 쓰시길 권합니다.
웹 방화벽을 쓰면 PHP나 플러그인을 업데이트하지 않아도 되나요?
아닙니다. 웹 방화벽은 패치를 대신하지 않습니다. 패치를 적용하기 전의 공백을 줄이고 반복되는 공격을 걸러내는 방어층이며, 취약한 소프트웨어는 업데이트하셔야 합니다.
정상적인 방문자가 막히는 일은 없나요?
방화벽은 오탐(정상 요청을 공격으로 판단하는 일)이 생길 수 있습니다. 그래서 처음에는 탐지만 하며 관찰하고, 정상 요청이 걸리는 규칙은 그 사이트에서만 예외로 둔 뒤 차단으로 전환합니다.
DDoS 공격도 막아 주나요?
웹 방화벽은 웹 요청의 내용을 보고 막는 방어로, 대량 트래픽으로 회선을 채우는 DDoS와는 역할이 다릅니다. 요청이 한도를 넘는 접속을 제한하는 기능은 있지만 대규모 DDoS 방어는 네트워크 보안 서비스가 맡습니다.
사이트를 바꿔야 하나요?
사이트의 소스를 고칠 필요는 없습니다. 도메인의 접속 경로가 웹 방화벽을 거치도록 연결하는 작업이 필요하며, 고객 환경에 맞춰 상담 후 진행 방식을 안내해 드립니다.
사이트 상황을 알려주세요
사이트 종류(워드프레스 등)와 사용 중인 소프트웨어를 알려주시면 적용 방식을 안내해 드립니다.