2024-03-19 11:20 (화)
[홍석범 보안칼럼] 클라우드 웹방화벽 도입시 필수 체크리스트…②
상태바
[홍석범 보안칼럼] 클라우드 웹방화벽 도입시 필수 체크리스트…②
  • 길민권
  • 승인 2020.05.18 13:31
이 기사를 공유합니다

‘대시보드’ 또는 ‘포털(portal)’에서 제공하는 다양한 기능 활용하기

지난 1회차에 이어 두번째 체크리스트는 모니터링 및 운영을 위한 핵심 구성요소인 ‘대시보드’ 또는 ‘포털(portal)’에서 제공하는 기능에 대해 좀 더 살펴보도록 하자.

◇이벤트 모니터링 기능

대시보드의 가장 기본적인 기능 중 하나는 운영자가 전체적인 공격 트렌드에 대한 이해를 쉽게 할 수 있도록 도움을 주어야 한다는 것이다. 이를 위해서는 지난 24시간 또는 1주일등 지정한 시간대별로 다음과 같은 기능을 제공하는 것이 필요하다.

-정상 요청 대비 탐지나 차단된 공격(attack) 트래픽의 비율

-SQLi, XSS등 주된 공격 타입 트렌드

-주요 공격을 유발한 IP나 국가별 트렌드

-복수개 도메인의 경우 대상 도메인별 트렌드

리포트에 기본적으로 포함되어야 할 내용들이며 pdf 등으로 다운로드도 제공한다.

[그림] WAF대시보드의 예. 출처: https://youtu.be/oAxHCGla44I
[그림] WAF대시보드의 예. 출처: https://youtu.be/oAxHCGla44I

◇다양한 조건에 따른 필터링 조회 기능

Overview에 이어 필요하다면 구체적인 이벤트에 대한 분석을 해야 할 필요가 있다. 대부분, WAF를 적용하게 되면 사이트의 특성에 따라 하루에도 수백~수천여 건의 탐지 이벤트가 발생하게 되는데, 어떠한 종류의 공격인지 또는 어떤 문자열 매칭에 의해 이벤트가 발생하였는지에 대해 한 건 한 건 체크하는 것은 사실상 불가능하기 때문에 주요한 이벤트에 대해 적절한 조건으로 필터링해 조회하는 기능이 필요하다. 이를테면 아래 첫번째 그림의 경우 헤더나 데이터의 어떤 부분에서 공격 패턴이 매칭되었는지에 대한 정보를 보여주는데, 어떠한 argument(파라미터)나 Cookie에서 패턴매칭이 발생하였는지를 정렬하여 보여주고 있다.

아래 두 번째 그림의 경우 실제로 패턴에 매칭된 공격 문자열이 무엇인지를 분류하여 보여주는데, 이를 근거로 탐지된 이벤트가 오탐인지 아니면 실제 공격인지를 쉽게 판단할 수 있을 것이다. 이를테면 “‘UNION A”나 “/../../” 등의 경우라면(%2F를 디코딩하면 / 이다) 전형적인 SQL injection이나 LFI(Local File Inclusion) 공격에서 사용되는 패턴이므로 실제 공격으로 판단할 수 있을 것이다.

이외에도 다음과 같은 필터링 기능은 자주 사용되므로, 대시보드에서 지원한다면 큰 도움이 되는데, “match” 뿐만 아니라 반대의 “not match” 기능도 함께 지원하여야 한다.

-특정 IP에서 발생한 이벤트

-특정 조직(AS Number), 특정 국가에서 발생한 이벤트

-특정 응답코드별(404,405,5xx) 이벤트

-특정 공격유형별 이벤트

-특정 URL path별 이벤트

◇전체 헤더 정보 제공

주요한 이벤트가 발생하였을 경우에는, 전체 헤더를 가지고 분석을 해야 할 경우가 있는데, 일부 벤더에서는 User-Agent 등 특정 헤더만 보여주는 등 제한된 정보만 제공하는 경우가 있다. 이는 Cookie등으로 인해 헤더의 사이즈가 커지면서 UI에 문제를 일으킬 수 있기 때문인데, 이러한 경우 csv로 다운로드 기능 등을 통해서라도 상세 헤더 정보를 제공하는지 여부를 확인하는 것이 좋다.

[그림] 이벤트내 헤더 정보. 출처: https://youtu.be/oAxHCGla44I
[그림] 이벤트내 헤더 정보. 출처: https://youtu.be/oAxHCGla44I

◇설정 변경 방식의 차이

WAF에서는 특정 룰에 대해 탐지를 차단 또는 차단에서 탐지 모드로 변경하거나, 예외 조건을 적용하는 등 수시로 정책 변경을 하여야 할 경우가 있다. 이를 위해 각 벤더에서는 크게 두 가지 방식의 정책 변경을 제공하고 있는데, 첫번째는 Cloudflare나 Oracle등과 같이 설정 하나를 변경할 때마다 각기 개별적으로 production에 적용되는 경우이고, 두 번째는 여러 개의 변경 사항을 하나의 버전으로 통합하여 일괄 적용되도록 하는 방식으로 Akamai등이 그 예이다.

[그림] Cloudflare의 경우 변경 사항이 즉시 적용된다.
[그림] Cloudflare의 경우 변경 사항이 즉시 적용된다.

전자의 경우는 변경 사항을 개별적으로 즉시 적용 가능하여 편리하다는 장점이 있지만, 후자의 방식에 비해 문제가 발생시 일괄적으로 롤백(roll-back)등을 해야 할 경우 불가능하거나 다소 번거롭다는 단점이 있다.

◇설정 변경시 적용 소요시간 및 version control

변경 사항을 적용할 때의 소요 시간도 벤더에 따라 다소의 차이가 있다. 즉, Cloudflare나 Fastly와 같이 수 초 이내에 변경 사항이 즉시 적용되는 경우도 있고, Akamai나 Oracle과 같이 10분에서 15분 정도 소요되는 경우도 있는데, 아무래도 즉시 적용이 가능하다면 적용 결과를 바로 확인할 수 있다는 장점이 있을 것이다. 아울러, 변경 사항을 적용시에 고려해야 할 주요 사항 중 하나는 바로 앞에서 잠시 언급한 “롤백(roll-back)”기능이다. 설정 변경시에는 언제든 예상하지 못한 경우가 있을 수 있으므로, 즉시 롤백할 수 있도록 누가, 언제, 무엇을 변경 하였는지에 대한 history audit 기능 및 이전 버전으로 쉽게 롤백 할 수 있는 방안이 준비되어 있어야 한다.

아래 그림은 두 버전 사이에 어떤 변경 사항이 있는지 조회할 수 있는 기능을 보여주고 있다.

[그림] 두 버전간 차이를 조회하는 기능
[그림] 두 버전간 차이를 조회하는 기능

◇룰에 대한 설명(Description) 기능

각 벤더에서는 많은 WAF 룰을 제공하고 있지만, Fastly나 Oracle등을 제외하고는 대부분 룰의 Signature를 유저에게 오픈하지 않기 때문에 실제 해당 룰이 어떤 문자열에 매칭되어 탐지하는지에 대해 이해하기는 쉽지 않은 것이 사실이다. 이를 위해서 탐지된 이벤트에 대해 단순히 XSS, SQL Injection과 같이 공격명으로만 끝나는 것이 아니라, 각 룰의 어떠한 Signature에 의해 탐지하고 또한 어떻게 대응하여야 하는지에 대한 상세한 description을 제공하면 도움이 될 것이다.

◇차단 페이지 커스터마이징 기능

특정 request가 룰에 의해 차단되었을 경우, 단순히 403과 같은 에러나 벤더가 기본 제공하는 차단 페이지를 출력하게 된다.

[그림] 벤더에서 제공하는 WAF에서의 기본 차단 화면 예제
[그림] 벤더에서 제공하는 WAF에서의 기본 차단 화면 예제

위는 특정 벤더에서 제공하는 기본 차단 화면인데, 이 보다는 custom page를 지정할 수 있다면 기업의 로고를 넣거나 오탐시 연락 가능한 방법을 명시하는등 회사의 기본 템플릿을 이용할 수도 있을 것이다. 아울러 차단시 응답 코드 역시 지정할 수 있는데, 404나 500등 일반적인 응답코드와는 구별되도록 별도의 응답코드를 설정하면 추후 분석시에 좀 더 편리하게 필터링하여 조회할 수 있다는 장점이 있다.

[그림] Custom page를 지정할 수 있는 기능
[그림] Custom page를 지정할 수 있는 기능

◇기타 재미있는 기능

앞에서 언급한 바와 같이 WAF를 운영하다 보면 적지 않은 이벤트가 발생하게 되는데, 정상적인 유저가 오탐으로 인해 차단되지 않도록 룰을 최적화하는 것이 매우 중요하다. 그러나 모든 이벤트를 매번 분석하는 것이 쉽지는 않은 것이 사실인데, 특정 벤더의 경우 아래와 같이 오탐으로 의심되는 이벤트나 정책에 대해 주기적으로 자동 분석해 주는 서비스가 있다. 어떤 원리인지 내부적인 로직은 알 수 없으나 오탐가능성을 %로 가이드하고 있어 오탐 여부의 판단에 도움을 주고 있다.

[그림] 오탐 가능성에 대한 WAF 튜닝 리포트 서비스
[그림] 오탐 가능성에 대한 WAF 튜닝 리포트 서비스

지금까지 대시보드의 주요한 기능들에 대해 살펴보았는데, 다음으로는 IP평판이나 rate-limit 등 WAF의 부가 기능에 대해 살펴보도록 하겠다.

[글. 홍석범 / antihong@gmail.com / 보안전문가. 정보보안 칼럼리스트]

★정보보안 대표 미디어 데일리시큐!★

◇상반기 최대 개인정보보호&정보보안 컨퍼런스 G-PRIVACY 2020 개최
-날짜: 2020년 5월 28일
-장소: 더케이호텔서울 2층 가야금홀
-참석: 공공·금융·기업 개인정보보호 및 정보보안 책임자·실무자
-교육이수: 7시간 인정
-사전등록: 사전등록 클릭
-보안기업 참가문의: 데일리시큐 길민권 기자 / mkgil@dailysecu.com

■ 보안 사건사고 제보 하기

▷ 이메일 : mkgil@dailysecu.com

▷ 제보 내용 : 보안 관련 어떤 내용이든 제보를 기다립니다!

▷ 광고문의 : jywoo@dailysecu.com

★정보보안 대표 미디어 데일리시큐 / Dailysecu, Korea's leading security media!★

관련기사