본문 바로가기
CSP (Cloud Service Provider)/AWS

AWS WAF & Shield

by BTC_티모 2023. 9. 7.

탑신병자 듀오 팀 티모입니다.

오늘은 AWS WAF, Shield에 대해서 알아보겠습니다.


AWS WAF(Web Application Firewall)는 웹에서 빈번히 발생하는 공격들을 탐지하고 차단하는 보안 솔루션입니다.

Layer 7(HTTP/HTTPS URL, SQL 명령어, 스크립팅 등) 단위에서의 공격으로부터 CloudFront, ALB, API Gateway 등의 AWS 리소스를 보호할 수 있습니다.

룰셋(ACL)을 적용해 그 요청에 대해 방어하는 것이 기본이며, 특정 요청을 제외한 모든 요청을 허용/차단하는 기능도 있습니다.

 

WAF를 사용하는 방법을 간단히 알아보겠습니다.

 

 

WAF 서비스 접속 후, Create web ACL를 누르면 나타나는 화면입니다.

WAF의 이름과 함께 ACL를 생성할 리전, WAF를 적용시킬 리소스 타입을 선택합니다.

페이지 하단에서는 연결할 AWS 리소스를 지정할 수 있습니다.

 

룰셋을 정의한 후 적용하는 곳입니다. 요청이 적용한 룰셋에 매칭되지 않는 경우 허용/차단 여부를 선택할 수 있습니다.

AWS가 제공해주는 룰셋을 골라 적용할 수 있으며 사용자가 직접 룰을 만들어 사용할 수도 있습니다.

 

우선 AWS가 제공하는 룰셋을 적용하는 방법입니다.

룰 중에는 비용을 지불해야 하는 것과 무료로 제공되는 것이 구분되어 있으니 상황에 맞게 선택하면 됩니다.

저는 여기서 Free rule groups - Anonymous IP List를 선택해보겠습니다.

 

다음은 사용자가 룰셋을 직접 만들어 적용하는 방법입니다.

저는 비주얼 에디터를 사용해 접근하는 요청이 대한민국이 아닌 경우 전부 차단하는 룰셋을 만들었습니다.

 

각각 세팅한 룰들이 적용되어 있는 것을 확인할 수 있습니다.

 

요청이 적용한 룰셋에 매칭되지 않는 경우 차단하고, 추가적으로 사용자가 응답을 지정할 수 있습니다.

 

WAF는 Cloudwatch과 연계해 요청에 대한 허용, 차단 결과를 확인할 수도 있습니다.


AWS Shield는 DDoS로부터 web app을 보호해주는 서비스이며, standard와 advanced로 나뉩니다.
standard는 기본적으로 적용되는 무료 서비스로 Layer 3,4에의 공격으로부터 보호해줍니다.

advanced는 추가 비용(최소 월 $ 3,000, 1년 약정)을 내야 하며, 리소스 별로 데이터 전송료를 받지만
Layer 7 단위의 공격을 보호할 수 있을 뿐 아니라, 관련 기록의 보고서를 제공받을 수 있습니다.

또한 공격이 발생했을 때 SRT라는 AWS DDoS 대응팀이 맡아 관리해줍니다.


지금까지 AWS의 WAF와 Shield에 대해 간단히 알아보았습니다.

감사합니다.

 

 

댓글