57. AWS WAF 제공 기능
• 요청율 기반 규칙
• IP Match & Geo-IP 필터
• 정규식 및 문자열 탐지
• 크기 제한
• CloudWatch
메트릭/경보
• 샘플 로그
• 집계 모드
• SQLi
• XSS
• IP 블랙리스트
악의적인 트래픽 차단 웹 트래픽 필터링 모니터링 및 튜닝
61. CloudFront로 컨텐츠에
대한 HTTP/HTTPS요청
전달
WAF 요청을 검사하고
결과를 CF로 리턴
(allow/deny)
CF에서 WAF의
검사를 받아야
하는지를 판단
WAF는 Cloud
Watch로 메트릭 전송;
API를 이용하여 규칙
업데이트
CloudFront에 의해 요청된 컨텐츠
전송
CloudFront에 설정된 Error페이지
전송
AWS WAF: 동작 개요
63. 1. Web Access Control Lists (WebACL)
• ‘Rule’, Condition, Action들의 집합
• 각 Rule 별로 처리방법(Action) 설정
2. Rules
• condition들의 집합
3. Condition
• 문자열, 크기제한 정규식 패턴
• SQLi、XSS
• IP 주소대역, 지리적인 위치(국가)
4. Action
• Allow/Block/Count
5. Resource
• CloudFront Distribution
• ALB Endpoint
Web ACL
Rule A
Condition 1
Condition 2
Condition 3
Action
Rule B
Condition 1
Condition 4
Action
Order
・
・
・
필터링 구조
64. 1) WebACL 생성
2) 필요한 Conditions (IP, string, SQLi 등) 생성
3) 필요한 Rules 생성 및 Action/Order 설정
4) 생성된 WebACL을 CloudFront 혹은 ALB 리소스에 연계
5) 리뷰 및 적용
필터링 구조 : 구성 절차
65. Negative
• 주로 운영 환경에 적용
• 디폴트로 ALLOW 모드
• 알려진 위협에 대한 BLOCK
처리
Positive
• 주로 제한된 환경에 적용
• 디폴트로 BLOCK 모드
• 허용해도 되는 접근만 ALLOW
처리
Examples
• BLOCK MalwareIncIPRange
• BLOCK “{;}”
Examples
• ALLOW SeattleOfficeIPRange
• ALLOW referrer header “example.com”
AWS WAF: Rule 설정 방식 비교
67. AWS 콘솔
• 100% 셀프서비스
• WAF 구성내역1분 이내 글로벌로 전파
AWS WAF API
• http://docs.aws.amazon.com/waf/latest/APIReference/Welcome.html
WAF API 기반으로 리소스를 관리
Ex: 의심 IP 블랙리스팅
(“Update*Set” API)
$ aws waf
update-ip-set
--ip-set-id
--change-token d4c4f53b-9c7e-47ce-9140-0ee5765d6bff
--updates
[
{"Action": "INSERT",
"IPSetDescriptor":
{"Type": "IPV4",
"Value": "192.168.0.0/16"}
},
{"Action": "INSERT",
"IPSetDescriptor":
{"Type": "IPV4",
"Value": "192.168.5.0/24"}
}
]
필터링 규칙의 자동 변경 혹은
개발환경과의 통합
API 및 관리 콘솔
68. AWS WAF API를 이용하여 IP
Blacklist와 WAF rule 갱신
정상 사용자
악의적인 사용자
혹은 bot
CloudFront
AWS
WAF
위협 분석
보안 담당자
S3
Bucket
Access Logs
Lambda
Script
주기별 로그 분석
・HTTP Flood
・Bad Request
(4xx,5xx)
・Bots, Scrapers
Amazon
SNS
악성 IP 탐지
메일 통보
Rule Updater
Ex: AWS WAF API를 활용한 자동화
70. • CloudWatch Real-Time Metrics
• Blocked web requests
• Allowed web requests
• Counted web requests
• Rule의 실제 작동 결과를 용이하게
확인 가능
AWS WAF: Reporting
73. • The AWS WAF Security Automation 솔루션은 사전 정의된 AWS WAF의 방어 규칙을 고객이 쉽게 설정할 수 있도록
해주는 CoudFormation템플릿(아래 Rule들 중 선별 적용 가능)
• 적용후, AWS WAF는 바로 고객의 리소스(CloudFront 혹은 ALB)로 유입되는 웹 요청들을 검사하기 시작.
• 탑재된 Rule:
1. Bots and scrapers: robot.txt의 설정을 우회하는 bad bot과 컨텐츠 스크랩퍼를 식별하고 차단.
2. SQL injection: 어플리케이션의 DBMS를 침해할 수 있는 악성 SQL쿼리를 담고 있는 웹 요청을 차단.
3. Cross-site scripting (XSS): 유입되는 웹 요청들의 통상적으로 사용되는 HTML구성요소들 중 XSS공격을 식별/차단하여 클라이언트 측의
악의적인 스크립트로 부터 다른 일반 사용자들을 보호.
4. Known attacker origins (IP reputation lists): 파트너가 제공하는 IP평판 정보를 업로드하여 악성 IP들을 차단.
5. Scanners and probes: Creates an CloudFront의 Access Log를 AWS Lambda function을 이용하여 파싱해서 악의적인 스캐닝이나 침투
시도를 한 요청자 IP를 식별하고 WAF IP차단 Rule에 등록하여 차단.
6. HTTP floods: 지정된 임계치를 초과하는 양의 요청을 보내는 요청자 IP를 식별하고, WAF의 IP차단 Rule에 등록하여 더이상 요청을 받지
않도록 보호.
AWS WAF Security Automation이란
(* CloudFormation 템플릿을 적용할 때는 반드시 AWS Lambda 와 Amazon API Gateway가 지원되는 리전을 선택할 것.)
75. • bad bots 과scraper를 유인하기 위한 Honeypot(A): 이
구성요소는 Amazon API G/W의 Endpoint를 포함한
honeypot를 자동으로 구성하고, 이 링크를 고객의 웹사이트에
포함해서 bad bot과 Scraper를 유인하게 구성됨.
AWS Lambda의 Access Handler를 통해 Honeypot Endpoint
로 유입되는 요청들을 가로채서 요청 IP를 식별하고 WAF의
차단 규칙에 포함시킴.
• SQL injection (B) 과 cross-site scripting (C) 방어: 이 구성 요소는 AWS WAF의 2가지 기본 Rule을 이용하여
일반적인 SQL 인젝션 혹은 cross-site scripting pattern들을 웹 요청의 URI, query string 또는 body에서 찾도록
구성됨.
Honeypot 구성도
제공 기능
76. • Log parsing (D): AWS Lambda를 이용하여 Amazon CloudFront의 access log에서 비정상적인 요청양 이나 error 양을
식별하도록 구성됨. 식별된 요청자 IP는 지정된 시간동안 차단되도록 처리.
• Manual IP lists (E): 이 구성 요소는 AWS WAF의 Rule을 이용하여 수동으로 차단(blacklist)/허용 (whitelist)처리할 IP들을
담을 수 있도록 구성됨.
• IP-list parsing (F): 이 구성 요소는 AWS Lambda
function을 이용하여 아래 3개의 IP평판 정보의 업데이트
사항을 시간 단위로 확인하여 IP Rule에 반영하도록 구성됨:
Spamhaus Don’t Route Or Peer (DROP) and
Extended Drop (EDROP)
Proofpoint Emerging Threats IP list
Tor exit node list.
IP Lists Parser 구성도
제공 기능(continued)
77. 1. Click 2. Configure 3. Deploy
소개페이지 : https://aws.amazon.com/answers/security/aws-waf-security-automations/
적용 가이드 : http://docs.aws.amazon.com/solutions/latest/aws-waf-security-automations/welcome.html
AWS WAF Security Automation 적용
80. AWS WAF가 제공하는 장점
신속한 침해사고 대응 강력하고 유연한 규칙설정
저렴한 가격자동화된 대응 룰 템플릿
쉬운 적용
81. 여전히 존재하는 고객 요건들.
“규칙을 만들기 위해 비싼 Pro-Serv 참여를 원하기
않는다.”
“보안 규칙보다 웹 어플리케이션 코딩에
집중하고 싶다.”
“계속 진화하는 공격형태에 맞추어 규칙을
업데이트할 능력이 없다.”
82. 파트너 제공 룰셋을 AWS WAF에서 적용
• 선별된 보안 벤더들이 제공하는 AWS
WAF상에서 구동되는 관리형 규칙셋!
• AWS의 신뢰할 수 있는 공급자들이
작성하고 관리하는 규칙 셋
• AWS 마켓플레이스 또는 WAF콘솔에서
이용 가능
• AWS WAF 상에 적용
• 사용 시간 기준 과금
83. Managed Rule Set 이용 방법
WAF 콘솔 또는 AWS
마켓플레이스 상에서
원하는 룰 선택
클릭 및
subscribe
AWS WAF의 룰과
연계
84. Managed Rule Set의 5가지 장점
1. 보안 전문가가 관리해 주는 룰
2. 선택적인 적용
3. 자동 업데이트
4. 사용량 기반 과금
5. 손 쉬운 적용
85. 더 자세한 내용은 아래 싸이트를 방문하세요
https://aws.amazon.com/mp/security/WAFManagedRules/
86. AWS Cloud Security
AWS 연계성
인프라 구성을 변경
할 필요없이 디도스
방어 기능 적용 가능
적절성
비용과 가용성 간에
저울질할 필요없음
유연성
여러분의 어플리케
이션에 대한 맞춤식
보호
상시탐지 및 대응
어플리케이션
지연시간의 영향 최소화
87. AWS Cloud Security with Cloud Front
유해 트래픽의 근원지와 가장 가까운 곳에서 차단 가능
글로벌 분산 시스템을 필요시에 설정하여 즉시 사용 가능
Overprovisioning 및 Under utilization 고민이 필요 없음
CAPEX 및 OPEX 절감
Single Point of Failure에 서비스 단절없이 지속 가능
Efficiency
Agility
Elasticity
Cost Saving
Availability
124. Managed 룰셋의 가격 체계
2가지 가격 디멘션:
Rule 그룹 월간 사용료 ($/month)
백만 요청 건 당 처리 비용 ($/Million Request)
공급업체 별 자체 요금 체계(AWS Marketplace 확인 필요)
기존 WAF가격에 공급업체 룰셋 가격이 추가됨
132. Fortinet
3.
General+Known
취약점•고도화된 룰셋
•OWASP Top10의
일반적인 공격 유형
•알려진 취약점 기반
•FortiGuard Lab. 최신
탐지 내역 포함
•Injection 공격
•URL redirects
•HTTP response
splitting
2. BAD BOTS
•탐지 내역
•악성 봇
•컨텐츠 스크랩퍼
•취약점 스캐너
•특화된 보호
•알려진 허가되지
않은 자동화
클라이언트들로
부터 방어
1. SQLi+XSS
•기본 보호 규칙
•SQL Injection
•Cross Site
Scripting
•부가적으로 AWS
WAF의 XSS/SQLi
방어 규칙을 함께
적용 가능
4. OWASP Rules
• OWASP Top10의 모든
공격 유형들
• 왼쪽 3가지 룰셋을
전부 포함
• FortiGuard Lab. 최신
탐지 내역 포함
133. Imperva
• 평판 정보 기반 보호
• Spammer, 봇 감염 싸이트 등에 대한 Black
listing
• 구글, 빙, 바이두 등 검색엔진 싸이트 등에 대한
White listing
1. Managed Rules for IP Reputation 2. Managed Rules for WordPress
Protection
• WordPress를 기반으로 만들어진 웹
어플리케이션에 대한 보호
• WordPress 취약점들에 대한 탐지 및 요청 차단
• 수십년간의 보안 분야 경험과 모범 사례 – Imperva의 시장 선도적인 WAF 기술 기반
• 새롭게 발견되는 보안 위협들에 대한 보호 강화 – 정기적으로 Imperva 보안 연구팀이 모니터링,
룰 튜닝, 업데이트 등을 수행
134. Trend Micro
2. Content Management Servers (CMS)
Rules
WordPress, Joomla, Drupal 등의 CMS및
EMS환경을 알려진 취약점 기반
공격으로 부터 보호하고 PCI DSS 요건을
준수하는데 도움을 줌.
Trend Micro는 zero-hour 공격을
방어하기 위한 선제적인 글로벌 지능형
방어 체계를 제공.
1. Rules for Nginx and Apache servers
Protects web servers, including the
Apache Suite (Apache Httpd, Apache
Struts, Apache Tomcat)와 Nginx를
토대로 운영되는 웹 싸이트에 대해
알려진 취약점 기반 공격으로 부터
보호하고, PCI DSS요건을 준수하는데
도움을 줌.
135. Trustwave
2. CMS Virtual Patches1. ModSecurity Virtual Patches
Adobe, Apache, MS제품들, SAP 등의
환경들에 대한 총 150개 이상의 Virtual
Patch 기능 제공.
Trustwave Spider Lab.에서 계속해서
추가중임.
WordPress, Joomla, Drupal 등의 CMS
환경들에 대한 175개 이상의 Virtual
Patch 기능 제공.
Trustwave Spider Lab.에서 계속해서
추가중임.
136. Alert Logic
• 보안 전문가가 직접 작성한 보호 규칙
• 룰 튜닝 불필요.
• 최근 6개월 내의 알려진 WordPress
취약점 보완
1. WordPress 용 Virtual Patch
138. Marketplace Rulesets
• Alert Logic's Managed Rules for AWS WAF Virtual Patches for
WordPress
• Fortinet Managed Rules for AWS WAF - Malicious Bots
• Fortinet Managed Rules for AWS WAF - SQLi/XSS
• Fortinet Managed Rules for AWS WAF - General and Known
Exploits
• Fortinet Managed Rules for AWS WAF - Complete OWASP Top 10
• Imperva - Managed Rules for Wordpress Protection on AWS WAF
• Imperva - Managed Rules for IP Reputation on AWS WAF
• Trend Micro Managed Rules for AWS WAF - WebServer (Apache,
Nginx)
• Trend Micro Managed Rules for AWS WAF - Content Management
System (CMS)
• Trustwave Managed Rules for AWS WAF - ModSecurity Virtual
Patching
• Trustwave Managed Rules for AWS WAF - CMS Virtual Patches
139. Managed Rule Set 이용 유의점
• 웹 ACL당, AWS Marketplace 규칙 그룹 하나만 활성화할 수 있습니다(웹 ACL당 10개의
규칙 제한에 포함). 단일 웹 ACL에는 AWS Marketplace 규칙 그룹 1개와 최대 9개의
사용자 지정 규칙이 있을 수 있습니다.
• AWS Marketplace 규칙 그룹에서는 제공자의 지적 재산을 보호하기 위해 개별 규칙을
볼 수 없으며, 규칙 그룹 내에서 규칙을 편집할 수도 없습니다. 이러한 제한을 통해
악의적인 사용자가 게시된 규칙을 교묘하게 회피하는 위협을 설계하는 것을 방지할 수
있습니다.
• AWS Marketplace 규칙 그룹에는 [No override] 및 [Override to count]라는 두 가지
가능한 작업이 있습니다. 규칙 그룹을 테스트하려면 작업을 [Override to count]로
설정합니다. 이 규칙 그룹 작업은 그룹에 포함되어 있는 개별 규칙에서 지정된 모든
차단 작업을 재정의합니다. 즉, 규칙 그룹의 작업이 [Override to count]로 설정되면
그룹 내 개별 규칙의 작업에 따라 일치하는 요청을 잠재적으로 차단하는 대신 해당
요청의 처리건수만 계산됩니다. 반대로, 규칙 그룹의 작업을 [No override]로 설정하면
그룹 내 개별 규칙의 Action대로 수행됩니다.