1. 사용자 정의 룰 생성

Sevices - Nginx - Configuration - HTTP(S) - Naxsi WAF Rule - + 버튼 클릭

 

- Description: 룰 이름 명명

- Message: 탐지되었을 떄 발생할 문구

- ID: 룰 ID 정의(현재 다운로드한 룰은 1000 번대로 별도의 번호 지정)

- Rule Type: Main 룰은 Policy 점수를 증가시키고 Basic 룰은 Location 점수를 증가시킨다는데.. 잘 모르겠다.

- Use Regular Expressions: 정규표현식 사용 여부(작성한 테스트 정책은 미사용)

- Match Value: 탐지할 문자열

- Search in 여러 값: Match Value를 찾을 구간 지정

- 이외에도 탐지 URL을 제한하거나 특정 변수에서 찾도록 하는 설정 존재

- Score: Score는 Policy를 생각해서 지정(이번 테스트에선 8 부여)

 

 

- 생성한 룰을 Policy에 추가

Sevices - Nginx - Configuration - HTTP(S) - Naxsi WAF Policy - + 버튼 클릭

- Name: Policy 이름 명명

- Rules: 생성한 Rule 지정

- Value: 이벤트를 발생시킬 기준 정의

- Operator: 룰에서 발생한 점수가 Value를 기준으로 크거나 같거나 작으면 탐지하도록 정의

- Action: Policy가 Trigger되었을 때, 차단할지 탐지할지 세션을 차단할지 정의

 

- Location에서 생성한 Policy 추가

Sevices - Nginx - Configuration - HTTP(S) - Location + 특정 Location 수정

- Custom Security Policy에서 생성한 Policy 추가

 

- opnsense Nginx 재기동

Sevices - Nginx - Configuration - General Settings - Enable nginx 체크 - Apply

 

 

2. 탐지 테스트

- /phpmyadmin/ 경로 접근

 

- 정상 탐지 확인됨

- uri 확인 / 룰 ID로 지정한 3000도 확인

 

참고 사이트: https://docs.opnsense.org/manual/how-tos/nginx_waf.html#configuration

 

nginx: Web Application Firewall — OPNsense documentation

WAF Rules WAF rules are used to trigger an action if a condition evaluates to true or false (negated). The usual use case is increasing a score which can be checked afterwards, but a rule can for example also block instantly (the plugin only supports a sco

docs.opnsense.org

 

+ Recent posts