Antes de mais nada, não tem ssh
em port 22
para reduzir a chance de sua porta ser encontrada por scanners automáticos.
Use também psad
para bloquear automaticamente os hosts que verificam seu computador por um período de tempo configurável (1 hora por padrão).
Uma solução muito simples é apenas alugar um 64 or 128 meg
openvz
container & configure openvpn
para que você tenha um fixed ip address
& em seguida, limite sua regra iptables
para --source vpn.ip.address
no host que você deseja proteger.
Uma solução melhor é proteger totalmente sua ssh
port com fwknop
. Não há necessidade de executar fail2ban
quando sua ssh
porta estiver fechada até você enviar um gpg
signed & pacote criptografado do fwknop-client
que abrirá seu firewall por um período de tempo configurável (30 segundos por padrão). Você também pode configurar fwknop
para aceitar apenas determinados endereços IP (como seu vpn
).
Eu tenho algumas notas extensas aqui para fwknop
.
Se você é sério sobre ssh
security, você também deve estar usando ed25519
keys. Mais notas aqui para usar cifras seguras com openssh
. Outra boa escolha é tinyssh
que tem não dependência em openssl
& é seguro por padrão .
Todo o software mencionado aqui existe em Alpine Linux , que também se beneficia de randomização do layout do espaço de endereço via PaX
em seu kernel Grsecurity .