Fail2Ban을 사용하여 ProxyPass(ed) 애플리케이션을 보호하는 방법

Fail2Ban을 사용하여 ProxyPass(ed) 애플리케이션을 보호하는 방법

그래서 최근에 WebSocket을 사용하는 애플리케이션을 구성했으며 Apache 프록시 패스를 사용하여 domain.com/application을 통해 애플리케이션을 전달하고 있습니다.

문제는 앱이 너무 허술하다는 것입니다. 로그인 화면이 함께 제공되지만 한 단계 더 나아가서 Proxypass 구성에서 Apache를 통해 htpasswd 로그인을 구현했습니다.

(이 글을 쓰면서 제 질문에 대한 답변이 된 것 같지만 다시 표현/요청하겠습니다)

<Location /application>
    AllowOverride AuthConfig
    AuthUserFile /home/[USERNAME]/.htpasswd
    AuthName "Authorization Required"
    AuthType Basic
    require user [USERNAME]
    ProxyPass wss://192.168.1.50:443/application
    ProxyPassReverse wss://192.168.1.50:443/application
</Location>

ProxyPass 서버에서 실제 애플리케이션 로그인 화면을 모니터링하도록 Fail2Ban을 구성할 수 있습니다. [애플리케이션은 Fail2Ban을 설치할 수 없습니다.]

--해결책? htpasswd 인증 페이지@를 구현함으로써 프록시 서버는 초기 Apache 인증 프롬프트를 통해 실패한 로그인 시도에 따라 실패2ban을 차단합니다.

답변1

순수 구성에서는 여러 가지 이유로 Proxypass failure2ban이 여기서 작동하지 않을 것이라고 확신합니다.

failure2ban은 실제로 로그를 보고 실패한 인증 시도를 차단할 수 있습니다. 인증 로그가 백엔드에 있기 때문에 인증할 시도가 없습니다.

알려진 프로토콜에 대한 정의 세트인 Fail2ban; 어떤 특정한 경우에는 그렇지 않을 수 있으며, 그런 일이 발생하면 플러그인을 개발해야 합니다.

pass2ban은 인증이 수행되는 동일한 시스템에서 실행되어야 합니다.

무엇보다도 도구를 선택할 때 해당 도구가 귀하의 특정 상황에 적합한지 알아보기 위해 약간의 조사를 수행하는 것이 좋습니다. 이러한 도구를 사용하는 것보다 더 중요한 것은 해당 도구가 귀하의 상황에 적용되는지 여부를 아는 것입니다.

이 링크에서 볼 수 있듯이, 실제로 Fail2ban을 사용하여 네트워크 기본 인증을 남용하는 것을 방지할 수 있습니다. 귀하의 프록시패스가 우선시되고 인증이 완료되지 않는다고 생각합니다. 인증을 위해 로그인 페이지가 필요할 수 있으며 해당 가상 호스트의 루트에서 프록시 패스를 수행하지 않을 수 있습니다.

https://ileriseviye.wordpress.com/2010/08/21/fail2ban-defending-apache-against-brute-force-attacks-to-digest-authentication-protected-pages/

나는 일반적으로 DoS/악성 요청을 제어하기 위해 적어도 Apache의 추가 보안 계층으로 mod_evasive를 사용합니다. 이 스레드에 대한 내 답변을 살펴보십시오. (정답으로 표시된 답변이 아닙니다.)내 /etc/hosts.deny를 편집하세요.Apache에서는 제한 요청을 평가할 수 있다는 점을 잊지 마십시오. 이는 비밀번호를 요청할 때뿐만 아니라 사람들이 서비스를 남용하는 것을 방지하는 데 실제로 많은 도움이 될 수 있습니다.

제한 답변을 평가하기 위한 레이어 7 측정값으로 CAPTCHA를 사용하는 것을 고려해보세요. 봇넷 조정 네트워크는 여러 다른 IP를 사용하여 조치를 우회하여 Fail2ban 규칙을 무효화합니다.

확인 해봐:

"Google reCAPTCHA - 실제 사람들이 쉽게 통과할 수 있도록 하면서 스팸과 악용으로부터 사이트를 보호하세요."

https://www.google.com/recaptcha/intro/index.html

관련 정보