Fail2ban은 동일한 IP에 대한 결과를 구별합니다.

Fail2ban은 동일한 IP에 대한 결과를 구별합니다.

서버 보안을 위해 Fail2ban을 구현해야 합니다. 로그를 검사하고 404 메시지를 많이 생성하는 호스트를 차단하고 싶습니다.

제가 가진 문제는 특정 NAT IP 뒤에 다수의 클라이언트가 있을 수 있으며 이들을 구별해야 한다는 것입니다. 각 클라이언트는 다음 형식으로 다른 URL을 요청합니다.

https://server.example.com/path/<uniqueid>/<mac_address>

IP당 404 오류 수를 보는 대신 정규식의 고유 ID를 고려하도록 fall2ban을 실행하고 싶습니다.

필요한 이벤트를 포착하는 것처럼 보이는 다음 정규식을 개발했습니다.

(?P<host>(\d{1,3}.){4})\ -\ -\ \[\d{1,2}\/\w+\/\d{4}[\:\d{2}]+\ \+\d{4}\] "GET \/path\/(?P<unique_id>.+)\/.+HTTP\/\d.\d" ".+" ".+" 404.+

이는 다음과 일치해야 합니다.

1.1.1.11 - - [29/Aug/2018:01:27:45 +0100] "GET /path/3B44444444483/ddddee37D4.cfg HTTP/1.1" "somestring" "otherstring" 404 - 2005 5 0.117

그리고 이는 일치해야 하지만 위와는 다른 인스턴스로 간주됩니다.

1.1.1.11 - - [29/Aug/2018:01:27:45 +0100] "GET /path/3B46666444483/ddddee37D4.cfg HTTP/1.1" "somestring" "otherstring" 404 - 2005 5 0.117

답변1

이 구성을 사용하면 서버는 보안상의 이점이나 X IP에 대한 404 응답을 제공하지 않는 CPU 이점을 찾는 로그에서 404 응답을 찾는 데 더 많은 CPU를 사용하게 됩니다.

이러한 응답을 보고 싶지 않다면 해당 응답에 대한 로그 항목을 생성하지 마세요.

관련 정보