카테고리 없음

WAF(web Application Firewall)이란?

sangwoon 2022. 2. 18. 09:59

WAF란 web application firewall 로 약자로 웹 애플리케이션 보안에 특화된 전용 방화벽

SAL Injection 공격,XSS공격,CSRF 공격 등과 같이 웹 서버스 취약점에 대한 공격을 탐지하고 차단하는 기능 수행

 

기본 용어

Web ACL

Web ACL은 AWS WAF의 최상위 컴포넌트로 하위 컴포넌트인 Rule을 추가하여 AWS 리소스를 보호합니다

WebACL을 사용하여 CloudFront배포 , API Gateway REST API또는 ALB가 응답하는 웹 요청을 세부적으로 제어할 수 있습니다.

 

Rule

Rule은 Web ACL의 하위 컴포넌트검사 기준을 정하고 기준을 충족할 경우 수행 작업을 포함합니다. Rule을 사용하여 일치 대상에 대해 요청을 하거나 차단하거나 허용할 수 있습니다 Rule의 하위 컴포넌트로 Statement가 있습니다.

 

statement

statement는 웹 필터링의 상세 조건을 정의하는 컴포넌트입니다. 상세 조건은 Inspect,Match Condition Transformation,Action으로 구분할 수 있습니다

 

inspect: 조사 대상정의하는 조건입니다

Match Condition: Inspection 대상에 대한 분류 방법을 정의합니다

Transformation(option):match Condition 의 추가적인 옵션을 부여합니다.

Action: 필터링 동작 방식을 정의하는 것으로 허용, 거부,카운트 중 선택합니다.

 

실습<ALB에 적용하기>)

일단 DVWA라는 Damn Vulnerable(취약한) Web app 의 약자로 보안에 취약한 무방비 상태의 웹 애플리케이션입니다. DVWA웹 서버를 통해 취약한 웹 서비스의 모의 해킹을 수행하는 용도로 사용합니다 

 

DVWA이 있어야한다

 

 

 

SQL Injection 공격

SQL Injection 공격이란 공격자가 취약점을 이용하여, 임의의 SAL 문을 주입해 데이터베이스 정보를 확인하거나 비정상 동작을 유발하는 공격입니다.(SQL 문들 주입해 데이터 베이스 정보를 탈취하는 SQL Injection 공격이다)

 

Cammand Injection 공격

Command Injection 공격이란 공격자가 취약점을 이용하여, 임의의 명령어를 주입해 웹 서버의 정보들을 탈취하는 공격 기법

 

XSS공격

xss 공격이란 공격자가 의도적으로 입력한 정보일반 사용자가 출력할 때 악성 스크립트가 실행되도록 하는 공격 기법입니다. 예) 공격자가 입력한 버튼을 눌렀는데 사용자의 token이 보이는 경우

 

 

좀 개념적인 부분이 있었지만 이제 본격적으로 WAF 생성!!

create web ACL로 들어간다

이름과 설명, metric 이름 , region을 지정해 준다 

여기서 우리가 아까 살펴봤던 공격을 막기위한 role들을 골라준다

추가적으로 사용자가 정의하는 own rules and rule groups를 선택한다

 

 

Anonymous IP list: 직접적인 연결이 아닌 VPN 이나 Proxy,Tor node에 의해 접근하는 대상을  차단합니다

Core rule set:OWASP 에서 정의한 웹 주요 취약점을 탐지하여 차단합니다

OWASP:오픈 소스 웹 애플리케이션 보안 프로젝트로 웹에 관한 정보 노출, 악성 파일 및 스크립트, 보안 취약점 등을 연구하며, 웹 애플리케이션의 취약점을 발표합니다

 

좀 더 많은 룰을 설명 해주도록 하겠다

룰 이름 설명
Core Rule Set 일반적으로 웹 애플리케이션에서 적용할 수있는 규칙을 포함합니다. 이는 OWASP 간행물에 설명된 것을 포함하여 광범위한 취약성의 악용으로 부터 보호합니다.
Known bad inputs 유효하지 않는 것으로 알려져 있고 취약성의 악용 또는 발견과 관련 요청패턴을 차단할 수있는 규칙을 포함합니다. 이를 통해 악의적 인 공격자가 취약한 애플리케이션을 발견 할 위험을 줄일 수 있습니다
Linux operaing system LFI 공격을 포함하여 Linux에 특정한 취약성 악용과 관련된 요청 패턴을 차단하는 규칙을 포함합니다. 이렇게 하면 파일 콘텐츠를 노출하거나 공격자가 액세스 할 수 없는 코드를 실행하는 공격을 방지할 수 있습니다
Admin protection Rule Set  노출 관리 페이지에 대한 외부 액세스를 차단할 수있는 규칙을 포함합니다
Anonymous IP list 여기에는 VPN, 프록시, Tor 노드 및 호스팅 공급자에서 시작된 요청이 포함될 수 있습니다. 이는 애플리케이션에서 신원을 숨기려고 할 수있는 뷰어를 필터링하려는 경우에 유용합니다.
Amazon IP reputation list Amazon 위협 인텔리전스를 기반으로하는 규칙이 포함됩니다. 이는 봇 또는 기타 위협과 관련된 소스를 차단하려는 경우 유용합니다.

 

 

SQL database: 허가되지 않는 SQL Injection 공격을 탐지하여 차단합니다

 

다음부터는 다 NEXT~~~ 완료!

 

이제 Associated AWS resources로 가서

add resource를 해준다음

자신의 로드 벨런서의 연결해주면 끝~~