내 서버는 내 SSH 포트에서 지속적으로 무차별 대입 공격을 받고 있습니다.
나는 비표준 SSH 포트, 포트 스캐너의 방화벽 블랙리스트를 사용하고 있으며, 또한 SSH 포트에서 문제가 되는 IP 주소를 금지하기 위해 사용자 정의 fall2ban과 유사한 스크립트를 사용하고 있습니다. 그런데 이러한 공격은 분산되어 있고, 공격 IP를 차단하더라도 새로운 공격 IP가 끝없이 쏟아지는 것 같습니다.
SSH 서버가 인증된 클라이언트에만 반응하도록 하는 인증 메커니즘이 있습니까?
Wireguard에도 비슷한 것이 있다고 생각합니다. 서버는 올바른 키를 사용하지 않는 모든 네트워크 트래픽을 완전히 무시합니다. 이렇게 하면 공격 프록시는 해당 포트에서 수신 대기 중인 항목이 있는지조차 알 수 없습니다.
SSH에도 비슷한 것이 존재합니까? 이렇게 하면 내 SSH 서버는 클라이언트가 연결하도록 승인된 경우에만 로그인 프롬프트로 응답합니다.
이것이 클라이언트 인증서 인증의 역할이 될 수 있습니까?
답변1
서버는 올바른 키를 사용하지 않는 모든 네트워크 트래픽을 완전히 무시합니다. 이렇게 하면 공격 프록시는 해당 포트에서 수신 대기 중인 항목이 있는지조차 알 수 없습니다.
SSH는 TCP 기반 프로토콜입니다. 인증은 TCP 연결 내부에서 수행됩니다. 즉, 먼저 TCP 핸드셰이크를 사용하여 TCP 연결을 설정해야 합니다. 이는 SSH 자체가 인증이 성공할 때까지 네트워크 트래픽에 전혀 반응하지 않는 메커니즘을 가질 수 없음을 의미합니다.
메커니즘이 있긴 하지만포트 노크또는 변형단일 패키지 인증이 단계를 통과한 소스 IP 주소만 SSH 서버에 연결할 수 있는 사전 인증 단계를 추가합니다.