
특정 IP 세트에서 내 시스템으로 들어오는 모든 SSH를 차단하고 다음과 같은 일반적인 메시지를 보내고 싶습니다.
You don't have permissions to access this server as the specified user. Contact admin to get appropriate access".
방화벽 규칙을 사용하여 들어오는 ssh를 차단할 수 있다는 것을 알고 있지만 특정 세트를 어떻게 차단할 수 있습니까? 세트의 IP는 연속적이지 않을 수 있습니다. 예를 들어 세트에는 다음 IP 범위 또는 단일 IP가 포함될 수 있습니다.
{192.168.1.1-9, 192.168.15-20, 192.168.1.25, ...})
그런 다음 앞서 언급한 IP로 위 메시지를 보냅니다.
PS: 저는 ubuntu-14.04를 사용하고 있습니다.
답변1
sshd_config에서 Match 블록을 설정하여 사용자 지정 배너(파일 경로)를 내보내고 MaxAuthTries를 명시적으로 0으로 설정할 수 있습니다.
Match Address 192.168.1.?,192.168.1.15,192.168.1.4?
Banner /etc/ssh_refused_banner
MaxAuthTries 0
일치하는 패턴 목록이 범위를 지정할 수 있다고 생각하지 않지만 와일드카드는 가능합니까? 및 *는 192.168.1.0/24와 같은 서브넷뿐만 아니라 작동해야 합니다. 전체 서브넷에서 일치시키고 허용된 주소를 명시적으로 화이트리스트에 추가하는 것이 더 쉬울 수 있습니다(예: "192.168.1.0/24, !192.168.1.12, !192.168.1.35").