SSH 로그인 시도 사이의 전역 간격을 설정하는 방법은 무엇입니까?

SSH 로그인 시도 사이의 전역 간격을 설정하는 방법은 무엇입니까?

클라이언트 IP 주소(신뢰할 수 있는 화이트리스트 주소 제외)에 관계없이 몇 초 내에 여러 번의 원격 로그인 시도를 불가능하게 만들고 싶습니다. 예를 들어, SSH 사용자가 잘못된 비밀번호를 입력한 경우 해당 시간 간격이 경과할 때까지 다른 원격 클라이언트는 로그인할 수 없습니다.

목적은 분산(봇넷) 무차별 암호화 공격으로부터 시스템을 보호하는 것입니다.

가능합니까?

추신: 인증서를 사용하고 비밀번호 전용 로그인을 비활성화할 수 있다는 것을 알고 있지만 여전히 궁금합니다.

답변1

사용실패 2 금지ssh특정 횟수의 시도 실패 후 방화벽을 사용하여 (선택적으로 다른 서비스)에 대한 액세스를 비활성화합니다 . 기본적으로 3번의 시도 실패 후 30분 동안 차단되지만 maxretry해당 값을 사용하여 구성할 수 있습니다.

답변2

해안벽을 방화벽으로 사용하는 경우 다음을 사용할 수 있습니다.연결 속도 제한.

다음은 샘플 구성 및 지침입니다.

############################################################################################################################
#ACTION         SOURCE           DEST            PROTO   DEST    SOURCE          ORIGINAL        RATE            USER/   MARK
#                                                        PORT    PORT(S)         DEST            LIMIT           GROUP
#SECTION ESTABLISHED
#SECTION RELATED
SECTION NEW

ACCEPT          net:192.168.1.11 $FW             tcp     ssh
ACCEPT          net              $FW             tcp     ssh     -               -               1/min:1

위의 두 가지 규칙이 있습니다.

첫 번째 규칙은 항상 허용 목록에 있는 IP 주소 192.168.1.11의 SSH 연결을 허용합니다.

두 번째 규칙은 모든 주소의 SSH 연결 속도를 제한합니다. 속도 제한은 분당 1개의 연결로 설정됩니다. 위 링크에서는 속도 제한을 구성하는 방법을 설명합니다.

~에 따르면안벽 규칙문서 및 규칙의 순서하다문제:

특정(소스, 대상) 영역 쌍의 경우 규칙은 이 파일에 나타나는 순서대로 평가되며 첫 번째 종료 일치 항목이 요청 처리를 결정합니다. LOG 및 COUNT 규칙을 제외한 모든 규칙이 종료됩니다.

즉, 첫 번째 규칙이 실행되면 두 번째(속도 제한) 규칙이 실행되지 않아야 합니다.

관련 정보