고유 IP에 대한 Nginx 속도 제한

고유 IP에 대한 Nginx 속도 제한

우리는 인증 URL에 대한 지속적인 공격을 처리해 왔으며 하루에 수백만 건의 요청을 처리하고 있습니다. 제 생각에는 그들이 암호를 무차별 대입하려고 시도하고 있는 것 같습니다.

서버 방화벽으로 IP를 차단할 때마다 몇 초 후에 다른 IP에서 공격이 다시 시작됩니다.

우리는 랙 공격을 통한 조절과 방화벽에서 IP를 동적으로 차단하는 사용자 지정 코드의 조합을 구현했습니다. 그러나 우리가 소프트웨어의 보안을 개선함에 따라 공격자도 향상되었으며 이제 우리는 그들이 보내는 모든 요청이 다른 IP에서 이루어지고 IP당 하나의 호출이 여전히 초당 몇 번씩 발생하고 그다지 많지는 않지만 여전히 문제가 되는 것을 확인하고 있습니다.

이제 저는 이것을 방지하기 위해 무엇을 더 할 수 있는지 알아내려고 노력하고 있습니다. 우리는 recaptcha를 시도했지만 월별 할당량이 빨리 부족하여 아무도 로그인할 수 없습니다.

Nginx 속도 제한기를 조사하고 있지만 IP도 사용한다는 것을 알 수 있습니다. 이제 각 요청에 대해 IP를 회전한다는 점을 고려하면 이것이 작동할 수 있는 방법이 있습니까?

이 문제를 처리하는 방법에 대한 다른 제안이 있습니까? 여러분 중 한 명이 같은 일을 겪었을 수도 있습니다.

스택: Nginx 및 Rails 4, Ubuntu 16.

답변1

속도 제한을 사용하면 일부 대용량 암호 스프레이를 필터링하여 도움이 됩니다. 그러나 공격자가 많은 IP 주소를 갖고 있고 이를 빠르게 순환하며 요청을 사람의 속도로 제한하는 경우 IP 기반 속도 제한만으로는 작동하지 않습니다.

recaptcha를 시도했지만 월별 할당량이 빨리 부족하여 아무도 로그인할 수 없습니다.

CAPTCHA 서비스 비용을 지불하고 해당 월의 규모에 따라 서비스가 어떻게 작동하는지 관찰하세요. 가격이 마음에 안드시면 참고하세요대안.hCaptcha예를 들어 기본 무료 등급이 있습니다.

보다 근본적으로, 비밀번호를 하드웨어 보안 키나 생체 인식 등 더 나은 것으로 바꾸십시오. 또는 최소한 추가 인증 요소로 비밀번호를 보완하세요. 이를 수행하기 위한 표준, 즉 FIDO2가 존재합니다. 사용자가 아닌 대화형 자격 증명의 경우 SSH 키, x509 인증서 또는 생성된 API 키도 사용자가 선택한 비밀번호보다 낫습니다.

관련 정보