안녕하세요 !
이번 글에서는 WAF 장비에 대해서 글을 써보려고 합니다.
WAF ( Web Application Firewall ) 장비는 웹 애플리케이션에 대한 공격을 탐지하고 차단하는 보안 장비입니다. WAF 는 일반적으로 HTTP/HTTPS 트래픽을 분석하여서 SQL 인젝션, XSS , 파일 업로드 공격 등 웹 애플리케이션을 대상으로 하는 다양한 공격을 방어하는 역할을 합니다.
1. WAF 의 주요 기능
1) 정책 기반 필터링 : 특정 패턴이나 규칙에 따라서 요청을 필터링하여서 공격성 트래핏을 차단합니다. 이것을 통해서 악의적인 공격 시도나 의심스러운 요청을 차단할 수 있다.
2) 사용자 정의 규칙 : 기본 제공되는 탐지 패턴 외에도 관리자나 보안 팀에서 사용자 정의 규칙을 설정할 수 있어서 특정 환경에 맞는 공격 탐지가 가능하다.
3) SSL/TLS 복호화 : HTTPS 트래픽의 암호화를 해제하여서 평문 상태에서 데이터를 분석할 수 있다. 이것을 통해서 암호화된 공격 시도를 탐지할 수 있다.
4) 악성 봇 탐지 및 차단 : 정상적인 사용자 요청과 악성 봇 요청을 구별하여서 웹 크롤러나 봇을 통한 자동화된 공격을 방어합니다.
5) 제로 데이 공격 방어 : 새로운 유형의 취약점을 이용한 제로 데이 공격에 대응할 수 있도록 AI 기반의 행동 분석 및 패턴 탐지 기능을 포함하기도 합니다.
6) 로그 및 리포팅 : 탐지된 공격 이벤트를 기록하고 리포트를 제공하여서 보안 팀이 웹 애플리케이션에 대한 위협을 파악하고 대응할 수 있도록 돕습니다.
7) IP 차단 및 리다이렉션 : 악의적인 IP를 차단하거나 의심스러운 트래픽을 특정 페이지로 리다이렉션하여서 공격의 효과를 줄인다.
WAF 는 웹 애플리케이션을 외부의 다양한 공격으로부터 보호하는 중요한 보안 장비이다. 기업의 웹 보안 및 개인정보 보호에 중요한 역할을 한다.
여기서 리다이렉션은 사용자가 요청한 웹 페이지를 다른 페이지로 자동 이동시키는 기능입니다. 보안에서는 의심스러운 트래픽을 안전한 페이지로 돌려서 공격자가 원하는 정보에 접근하지 못하게 하는데 사용됩니다.
8) 트래픽 검사 방식
- 인라인 모드 : 웹 서버와 클라이언트 간 트래픽을 직접적으로 중간에서 검사하고 제어하는 방식입니다. 모든 트래픽이 WAF 를 거치므로 즉각적인 차단이 가능하지만, 네트워크 성능에 영향을 줄 수 있다.
- 비인라인 모드 : 트래픽을 모니터링만 하고 차단은 하지 않은 방식입니다. 주로 WAF 정책을 테스트할 때 활용합니다. 실제로 차단 없이 탐지 기능만 작동하므로 서비스 중단 위험이 없습니다.
9) 탐지 기술
- 패턴 매칭 방식 : 사전에 정의된 공격 패턴과 일치하는 트래픽을 탐지하고 차단하는 방식으로 SQL 인젝션이나 XSS 같은 정형화된 공격을 막는데 유용하다.
- 행위 기반 탐지 : 비정상적인 사용자 행위나 요청 패턴을 분석해서 탐지하는 방식으로 기존 패턴에 없던 새로운 유형의 공격을 탐지할 때 효과적입니다.
- 기계 학습 기반 탐지 : AI/ML을 이용해서 비정상적 패턴을 스스로 학습하며 탐지한다. 정형화되지 않은 제로 데이 공격이나 미등록 패턴의 공격 탐지에 적합하다.
10 ) 보안 기능 확장
- DDoS 완화 기능 : 일부 WAF는 DDoS 방어 기능을 포하하여서 웹 서버를 대상으로 하는 대규모 트래픽 공격을 완화합니다. 특정 IP 주소에서 과도한 요청이 발생하면 자동으로 제한을 걸거나 차단하여서 서비스 안정성을 유지합니다.
- 악성 코드 검사 : 첨부 파일이나 코드 내 악성 스크립트를 탐지하여서 웹 사이트에 악성 파일이 업로드 되는 것을 방지합니다.
- 캡차 : 비정상적 활동이나 봇으로 추정되는 사용자에게 추가 인증을 요구하여서 실제 사용자인지 확인한다.
11) 연동 기능
- SIEM 연동 : WAF의 로그와 탐지 결과를 보안 정보 및 이벤트 관리 ( SIEM ) 시스템과 연동해서 통합 보안 모니터링을 할 수 있다. 이것을 통해서 웹 애플리케이션 공격에 대한 실시간 분석과 경고 기능을 강화할 수 있다.
- Threat Intelligence : 실시간으로 업데이트 되는 위협 정보를 반영하여서 최신의 공격 패턴을 인식하고 대응할 수 있도록 지원합니다.
12) 배포 형태
- 온프레미스 : 조직 내 데이터 센터에 설치하여서 물리적 장비를 관리하는 방식입니다. 대규모 트래픽이 발생하는 환경에서 주로 사용됩니다.
- 클라우드 기반 WAF : 클라우드 서비스에 웹 애플리케이션이 있는 경우, 클라우드 기반 WAF 를 통해서 외부에서 들어오는 트래픽을 보호할 수 있다. 클라우드 환경에서 빠른 설정과 유지보수의 장점이 있으며, 글로벌 확장이 쉬운 편입니다.
- 하이브리드 : 온프레미스와 클라우드 환경에서 동시에 사용하는 방식이다. 클라우드와 내부 네트워크를 모두 보호해야 하는 환경에서 사용된다.
13 ) 운영 관리
- 알림 및 보고 : 관리자에게 실시간 알림을 통해서 발생한 이벤트와 공격을 즉각 전달하며, 정기적인 리포트 기능으로 탐지된 공격 종류, 발생 빈도 등을 제공합니다.
- 정책 변경 이력 : WAF 정책 설정과 변경 내역을 기록하고 관리하여서 보안 설정의 변경 이력을 추적할 수 있게 합니다. 이것은 운영 중 발생한 문제를 원인 분석하는 데에도 도움이 된다.
- 테스트 및 검증 도구 : 설정된 탐지 규칙을 테스트 할 수 있는 기능을 제공하여서 실제 공격 시나리오에 따라서 WAF 의 방어 효과를 사전에 검증할 수 있습니다.
이와 같이 WAF 는 단순히 웹 공격을 막는 방어 장치뿐 아니라, 다양한 분석, 탐지 및 관리 기능을 통해서 기업의 웹 애플리케이션 보안에 핵심적인 역할을 하고 있습니다.
14 ) 필드 설명 필드 이름 설명 또는 예시
공격자(출발지) IP | src_ip | 218.93.105.32 |
공격 대상(목적지) IP | dest_ip | 192.168.29.121 |
공격 이름 | signature | ThinkPHP v5 RCE General |
이벤트 액션 | action | allowed 또는 blocked |
웹 서버 도메인 | domain | www.acornpub.co.kr |
메소드 | method | GET, POST 등 |
URL | url | s=index/\think\app\invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1]=1 |
URI Path | uri_path | /index.php |
공격자 평판 정보 | src_reputation | Malicious, Suspicious, Benign 등 |
공격자 국가 정보 | src_country | KR |
대상 정보 | dest_info | Web Server |
화이트리스트 여부 | whitelist_flag | Yes 또는 No |
기 차단 여부 | src_block_flag | Yes 또는 No |
SLA 시간 | SLA | 30 min |
인시던트 결과 | result | In Progress, Closed 등 |
15) 자동 업데이트
최신 공격 패턴에 맞춰서 WAF 가 자동으로 보안 규칙을 업데이트 하므로 새로운 유형의 공격에 대한 대응이 빠릅니다. 이것을 통해서 최신 위협에도 강력하게 대응할 수 있습니다.