waf

aws-waf.ver2-review-2-test

Hostcenter 의 Acunetix 취약점 점검툴을 사용하였습니다.

https://www.hostcenter.co.kr/Security/security01.aspx

aws waf.ver2 관리형룰의 성능을 테스트 하고 싶었다.

마침 회사에 web 취약점 점검툴이 있었다. 그래서 테스트를 진행했다.

먼저 COUNT 모드로 점검을 진행했다.

총 점검시간 4시간 15000번의 리퀘스트가 있었다. 첫번째 테스트는 1월10일 두번째 테스트는 1월 30일 이었다.

빨리 진행하고 싶었는데 좀 바빳다.

1월10일 모니터링 모드 스캔 결과
1월 30일 차단모드 스캔결과

간략한 결과로만 봐도 high단계의 취약점이 사라리고 medium 단계의 취약점이 하나 사라졌다.

그럼 어떻게 막혔는지 리뷰를 해야하는데...

일단 테스트시간에 막힌 리퀘스트는 3000개 정도. 15000만건중 20%정도가 막혔다.

Description
Contains rules that are generally applicable to web applications. This provides protection against exploitation of a wide range of vulnerabilities, including those described in OWASP publications and common Common Vulnerabilities and Exposures (CVE).
Capacity: 700

룰중 가장 많은 Capacity 를 사용하는 AWS-AWSManagedRulesCommonRuleSet 룰에서 역시나 많은 지분을 차지했다.

분석결과를 설명하기 보단 waf 를 사용해서 확인한 취약점리포트의 일부를 공개하는쪽으로 블로깅을 마친다.

waf 사용전

waf 사용후

블로깅이 좀 애매한데 다음엔 로깅을 남겨서 다음 포스팅을 준비해보겠다.

aws-waf.ver2-review-1-setup

waf 가 리뉴얼 되어 ver2로 돌아왔다.

그동안엔 cloudformation을 이용하여 waf 사용했는데 이젠 그럴필요가 없어졌다.

https://github.com/aws-samples/aws-waf-sample
이전에 사용하던 방법

또한 매니지드 룰을 제공하여 어느정도 패턴까지 지원해서 아주 긍정적이고 사용이 간단하며, 비용 또한 여타 웹 방화벽들보다 굉장히 싼편이라 적극 추천을 한다.

미사여구는 여기까지. 먼저 설정하는 방법을 설명하겠다.

불편한 점은..

ACL 확인시에 페이지르 변경하게 되면 리전설정을 매번 다시해줘야한다는거..

overview 가 갱신이 느리다는거...완전 답답..그래도 거의 실시간으로 차단된부분을 보여주는거나

이렇게 그래프에서 드래그를 하면 그시간대에 발생한 로그만 따로 보여주는점 등은 매우 사용자 친화적이라 할수있다. 그리고.

이런식의 차단내용을 보여주는것을 보면 Waf 로의 역할을 다한거라 생각한다. 물론
로그설정을 하지 않으면 3시간 분의 로그만 보여주는점을 생각하면...좀 불편한 점도 있지만 가격이 모든것을 말해준다. 먼저 ACL 5$ rule 하나당 1$ 내가 사용하는 룰이 7개니까 12$ 100만건당 0.6$ 거의 13$면 한달동안 waf를 사용할수 있는거다.

셋팅은 두가지로 나뉜다.

Resource type를 cloudfront 로 설정하면 cf에 적용되고 regional 로 설정하면 리전기반 ALB 나 API gw에 연결된다.

acl을 생성하고 리소스를 연결하는 것을 추천한다. 가끔이 아니라 생성하면서 여러차례 연결에러가 발생했다. 생성은 잘되는데 연결하다 에러가 나서 단계별로 하자.

관리형 룰을 사용할수 있고 IP차단의 경우엔 own rule 로 설정할수 있다.

관리형룰은 4가지로 나눠지며 나는 aws 관리형 룰만 사용중이다.

Add to web ACL 을 활성화 하면 룰을 사용하게된다. 바로 차단모드로 작동한다. 그렇기에 모니터링을 진행한 후에 차단하고 싶다면 Set rules action to count 를 활성화해서 count 모드로 사용한다. 매우중요하다.

관리형룰은 WCUs라는 단위로 사용할수있다. 기본으로 1500을 사용가능하다. 사실 룰을 덕지덕지 발라서 테스트하려고 했으나...까였다..

증가 안해줬다ㅠㅠ

22일정도 사용중인데 심플한 사용법이 일반사용자도 편하게 만들어져서 긍정적이라 생각한다 또한 cloudwatch로 공격이나 룰의 사용지표를 확인할수 있다.

이건 사용후기고 이 다음 포스팅은 웹취약점 점검툴로 waf의 관리형 룰을 테스트한 내용을 포스팅 하겠다.