F5 iRules X-Forwarded-For 필터링 마이그레이션 RELIANOID WAF/IPDS

카테고리 보기

F5 iRules X-Forwarded-For 필터링 마이그레이션 RELIANOID WAF/IPDS

4 분 읽음

회사 개요 #

이 문서에서는 F5 BIG-IP에서 요청을 차단하는 데 사용되는 iRule을 마이그레이션하는 방법을 설명합니다. X-Forwarded-For HTTP 헤더를 RELIANOID 통합된 것을 사용하여 WAF/IPDS(침입 방지 및 탐지 시스템) ModSecurity/OWASP 규칙 세트와 호환됩니다.

원래 iRule은 다음을 검사합니다. X-Forwarded-For 헤더를 반환하고 HTTP를 반환합니다. 410 Gone IP 주소 목록과 일치하는 항목이 발견되면.

오리지널 F5 iRule #

HTTP_REQUEST가 발생하면 { [HTTP::header values ​​"X-Forwarded-For"]에 "31.192.108.123"이 포함되어 있거나, [HTTP::header values ​​"X-Forwarded-For"]에 "65.103.109.21"이 포함되어 있거나, [HTTP::header values ​​"X-Forwarded-For"]에 "193.90.12.87"이 포함되어 있거나, [HTTP::header values ​​"X-Forwarded-For"]에 "208.100.0.117"이 포함되어 있거나, [HTTP::header values ​​"X-Forwarded-For"]에 "100.113.150.102"이 포함되어 있거나, [HTTP::header values ​​"X-Forwarded-For"]에 "176.10.99.200"이 포함되어 있으면 [HTTP::헤더 값 "X-Forwarded-For"]에 "163.172.143.114"가 포함되어 있습니다 || [HTTP::헤더 값 "X-Forwarded-For"]에 "163.172.209.46"가 포함되어 있습니다 || [HTTP::헤더 값 "X-Forwarded-For"]에 "188.138.9.49"가 포함되어 있습니다 || [HTTP::헤더 값 "X-Forwarded-For"]에 "217.23.13.129"가 포함되어 있습니다 || [HTTP::헤더 값 "X-Forwarded-For"]에 "162.247.72.27"가 포함되어 있습니다 || [HTTP::헤더 값 "X-Forwarded-For"]에 "194.67.208.57"가 포함되어 있습니다 || [HTTP::header values ​​"X-Forwarded-For"] contains "41.216.186.114" } { HTTP::respond 410 } }

RELIANOID 이주 접근법 #

In RELIANOID이러한 논리는 다음을 사용하여 구현할 수 있습니다.

  • WAF/IPDS 모듈
  • ModSecurity/OWASP 사용자 지정 규칙
  • 외부 IP 일치 파일

이 접근 방식은 스크립트 내에 여러 IP 비교를 포함시키는 것보다 확장성이 뛰어나고 유지 관리가 더 쉽습니다.

추천 RELIANOID 아키텍처 #

이 마이그레이션에는 다음이 사용됩니다.

  • X-Forwarded-For HTTP 헤더 검사
  • IP 주소가 포함된 외부 블랙리스트 파일
  • ModSecurity/OWASP 규칙 세트 연산자를 사용한 동적 IP 매칭

장점:

  • 더 쉬운 IP 관리
  • 중앙 집중식 블랙리스트
  • IP 주소가 변경될 때마다 규칙을 수정할 필요가 없습니다.
  • 확장성 향상

WAF 규칙 구성 #

다음 ModSecurity/OWASP 규칙은 WAF/IPDS 모듈 내에서 Raw 모드로 구성할 수 있습니다.

SecRule REQUEST_HEADERS:X-Forwarded-For "@ipMatchFromFile /usr/local/relianoid/config/ipds/waf/sets/xff_blacklist.data" "\ id:1001,\ msg:'Custom Match',\ phase:1,\ deny,\ nolog"

규칙의 작동 방식 #

이 규칙은 다음과 같은 작업을 수행합니다.
REQUEST_HEADERS:X-Forwarded-ForX-Forwarded-For HTTP 헤더를 읽습니다.
@ipMatchFromFile헤더 값을 외부 파일과 비교합니다.
xff_blacklist.txt차단된 IP 주소 목록이 포함되어 있습니다.
phase:1요청 헤더 처리 중에 실행됩니다.
deny: 요청과 일치하는 블록
nolog일치하는 요청에 대한 로깅을 비활성화합니다.

블랙리스트 파일 구성 #

블랙리스트 파일을 생성하세요:

/usr/local/relianoid/config/ipds/waf/sets/xff_blacklist.data

예시 내용:

31.192.108.123
65.103.109.21
193.90.12.87
208.100.0.117
100.113.150.102
176.10.99.200
163.172.143.114
163.172.209.46
188.138.9.49
217.23.13.129
162.247.72.27
194.67.208.57
41.216.186.114

웹 UI를 통해 규칙을 구성하세요 #

IP 데이터 목록을 생성합니다. #

해당 섹션에 새 WAF 데이터 파일을 생성합니다. IPDS > WAF > 파일 IP 목록 내용을 포함하여:

렐라노이드 IPDS WAF 블랙리스트 데이터 파일

규칙 조건을 생성합니다 #

해당 섹션에서 새 WAF 규칙 세트를 생성합니다. IPDS > WAF > 규칙 세트 IP 주소 일치 조건 포함:

렐라노이드 ipds waf xff 블랙리스트 규칙 팜 활성화

농장에서 규칙을 활성화하세요 #

규칙 세트를 활성화하고 필요한 농장에 할당하십시오.

렐라노이드 ipds waf xff 블랙리스트 규칙 팜 활성화

중요 운영 참고 사항 #

블랙리스트 파일을 수정하려면 다음 사항이 필요합니다.

  • WAF 규칙 중지
  • WAF 규칙을 다시 시작합니다.

이렇게 하면 규칙이 다시 로드되고 업데이트된 IP 목록이 적용됩니다. 이는 영향을 받는 팜에서 검사되는 WAF 규칙에만 영향을 미치며, 로드 밸런서를 통과하는 실제 트래픽에는 영향을 미치지 않습니다.

검증 및 테스트 #

다음 명령어를 사용하여 규칙의 동작을 검증할 수 있습니다.

curl -k -H "X-Forwarded-For: IP_ADDRESS" https://LB_VIP -v

예:

curl -k -H "X-Forwarded-For: 31.192.108.123" https://192.168.1.100 -v

예상 결과 #

IP 주소가 블랙리스트와 일치하는 경우:

  • WAF에서 요청이 거부되었습니다.
  • HTTP 오류 응답이 반환됩니다.

선택적 개선 사항: HTTP 410 반환 #

원래 F5 iRule은 명시적으로 다음을 반환합니다.

HTTP 410 Gone

기본적으로 ModSecurity/OWASP 규칙 세트는 HTTP를 반환할 수 있는 작업을 거부합니다. 403 Forbidden.

정확한 행동적 동등성이 요구되는 경우, 규칙을 개선하여 다음을 반환하도록 할 수 있습니다. 410.

예:

SecRule REQUEST_HEADERS:X-Forwarded-For "@ipMatchFromFile /usr/local/relianoid/config/ipds/waf/xff_blacklist.txt" "\ id:1001,\ msg:'Custom Match',\ phase:1,\ deny,\ status:410,\ nolog"

문제해결 #

규칙이 실행되지 않음 #

확인:

  • 농장에서 WAF/IPDS가 활성화되어 있습니다.
  • 규칙이 올바르게 로드되었습니다.
  • 요청에 헤더가 있습니다
  • 파일 변경 후 규칙이 다시 시작되었습니다.

요청이 차단되지 않았습니다 #

검사:

  • 파일 내 IP 형식 지정
  • 추가 공백이나 숨겨진 문자가 없습니다.
  • 올바른 파일 권한

헤더가 누락되었습니다 #

일부 상위 프록시는 데이터를 전송하지 않을 수 있습니다. X-Forwarded-For다음 방법으로 유효성을 검사하십시오:

curl -k -H "X-Forwarded-For: 1.2.3.4" https://LB_VIP -v

문제 해결을 위해 로깅이 필요합니다 #

일시적으로 제거:

놀로그

이를 통해 디버깅 목적으로 ModSecurity/OWASP 규칙 세트 로깅이 가능합니다.

모범 사례 #

  • 블랙리스트 파일을 중앙에서 관리합니다.
  • 블랙리스트 업데이트에 자동화 기능을 활용하세요.
  • 차단된 IP 주소를 주기적으로 검토하세요
  • WAF 규칙 파일을 적절한 권한으로 보호하세요.
  • 확장성을 위해 하드코딩된 규칙보다는 외부 파일을 사용하는 것이 좋습니다.

제품 개요 #

F5 iRules 실행 중 X-Forwarded-For 필터링은 효율적으로 마이그레이션될 수 있습니다. RELIANOID 통합 WAF/IPDS 모듈과 ModSecurity 규칙을 사용합니다.

이 접근 방식은 다음을 제공합니다.

  • 중앙 집중식 IP 관리
  • 확장성 향상
  • 손쉬운 유지 관리
  • 네이티브 WAF 통합
  • 스크립팅 복잡성 감소

📄 이 문서를 PDF 형식으로 다운로드하세요 #

    이메일 : *

    에 의해 구동 더 나은 문서