2011-04-07 5 views
1

저는 레일 애플리케이션을 작성 중이며 보안에 중점을 둡니다. 그 다음에는 임의의 로그인 요청이 실패한 후에 무차별 대입 공격을 줄이기 위해 취하는 한 가지 방법은 sleep 2입니다. 이것은 봇에 상당한 시간을 추가하여 무력에 거의 불가능하게 만듭니다. (IP 당 많은 요청 만 허용하고 있습니다.)레일 상태와 수면?

그러나 내가 sleep 2 일 때 다른 요청도 모두 2 초 동안 중단됩니까? 나는

가 더 나은 방법 및/또는 짐승 포서의 스레드 만 수면에 방법이 ... 레일을 설정 파일에 threadsafe!에 대한 주석 옵션이 비록 (전체 스레드 아직 알고?

답변

0

대신 2 초 자고, 나는 단지 무력의 기회를 제한하는 IP 주소 당 로그인 시도 횟수를 제한하는 게 좋을 것.

을 열은

에 상당히 좋은 타협처럼 보인다 주위에 한계를 설정
  1. 아니요. egitimate 사용자
  2. 정지 무력 공격

이 솔루션은 당신을 위해 너무 어려운 것 같으면, 같은 내장이 기능이 레일 인증 라이브러리 (구성)의 많음이있다 :

Devise

AuthLogic

+1

실제로 사실이 아닙니다. 요청 당 새로운 IP를 무작위로 생성하는 스크립트를 쉽게 작성할 수 있으므로 많은 도움이되지 않습니다. 합법적 인 응용 프로그램은 아니지만 학생들에게 침입 시도를 방지하고 대응하는 방법을 가르치기 위해 고안된 프로그램입니다. 또한, 나는 authlogic을 경멸하거나 심지어 정교한 auth를 고안합니다. SO는 사전 구축 된 인증을 사용하고 작동 방식을 모르는 사람들과 어울립니다. 정말 짜증나. – sethvargo

+1

미리 빌드 된 라이브러리에 100 % 동의하지만 구현하기에 완벽하게 좋은 방법이라고 생각합니다. 나는 이것이 유일하다고 주장하지는 않지만, 학생들을 가르치는 것은 학문적 아이디어가 아닙니다. 이 아이디어는 iptables와 같은 핵심 시스템 및 호스트 거부와 같은 대부분의 보안 시스템에서 구현되었습니다. –

관련 문제