해당 실습에 앞서 Referer 설정의 경우 이전에 작성한 글을 참고하여 실습을 이어서 진행하시면 됩니다.
Apache Referer 설정
Referer이란?클라이언트의 요청 헤더에는 Referer라는 정보가 포함되어 있는 경우가 있습니다.이것은 어디서 링크가 되었는지에 대한 URL에 대한 정보가 포함되어 있다.⇒ 현재 요청이 오기 전에 사
bo-dam.tistory.com
[웹 ACL(WAF) 에 AWS 사용자 지정 규칙을 추가하는 방법]
AWS WAF 콘솔을 열고 Web ACL을 선택합니다.
리전에서 Web ACL을 생성한 AWS 리전을 선택합니다.
Web ACL을 선택 한 후 규칙(Rules)을 선택한 후 규칙 추가(Add Reules)를 선택합니다.
Add my own rules and rule groups을 선택합니다.
규칙 유형으로 규칙 빌더를 선택합니다.
유형으로는 일반 규칙을 선택하고 요청 조건(if a request)에서는 문과 일치함(matches a statement)을 선택합니다.
모든 헤더 검사를 선택하고 헤더의 일치 범위를 Values로 설정합니다.
검사할 콘텐츠의 경우 헤더의 키를 필터링하여 검사할 헤더의 하위 집합을 가져옵니다.
Include headers that have specified keys : 지정된 키가 있는 헤더 포함
Exclude headers that have specified keys : 지정된 키가 있는 헤더 제외
Key에서는 Referer 지정한 후 http://test.example.com 이라는 Referer이 문자열이 포함되어 있으면 Block 할 수 있도록 설정합니다.
지정된 값을 포함하여 아래 옵션(Action) 에서 차단(Block) 선택합니다.
정상적으로 지정한 Rule 동작하는지 테스트 해보겠습니다, 임의로 지정하지 않은 Referer 값을 넣을 경우 정상적으로 200이 호출되는 것을 확인할 수 있습니다.
curl -i -H "Referer: http://test.com" http://test-lb-1882864325.ap-northeast-2.elb.
amazonaws.com/
HTTP/1.1 200 OK
Date: Tue, 25 Mar 2025 13:40:52 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 79
Connection: keep-alive
Server: Apache/2.4.62 (Amazon Linux)
Last-Modified: Mon, 24 Mar 2025 18:02:10 GMT
ETag: "4f-6311a6738e31c"
Accept-Ranges: bytes
<html>
<body>
<h1>Referer Test</h1>
<img src="./img/test.png">
</body>
</html>
그러나 실습에서 지정한 http://test.example.com Referer이 포함되어 있는 경우 차단되어 403이 반환 되는 것을 확인할 수 있습니다.
curl -i -H "Referer: http://test.example.com" http://test-lb-1882864325.ap-northeast-2.elb.amazonaws.com/
HTTP/1.1 403 Forbidden
Server: awselb/2.0
Date: Tue, 25 Mar 2025 14:55:37 GMT
Content-Type: text/html
Content-Length: 118
Connection: keep-alive
<html>
<head><title>403 Forbidden</title></head>
<body>
<center><h1>403 Forbidden</h1></center>
</body>
</html>
'AWS > Security' 카테고리의 다른 글
AWS WAF Rate base 룰에서 IP 제외 (0) | 2025.03.26 |
---|---|
소스 IP를 바탕으로 AWS에 대한 액세스 거부 (0) | 2025.03.25 |