$ sudo ufw status
Status: active
To Action From
-- ------ ----
Nginx Full ALLOW Anywhere
22/tcp ALLOW Anywhere
Nginx Full (v6) ALLOW Anywhere (v6)
22/tcp (v6) ALLOW Anywhere (v6)
Como posso permitir solicitações SSH (22/tcp) somente de uma determinada região, país ou continente?
Esta questão não está relacionada a permitir apenas requisições do localhost, por exemplo, porque o IP do locahost já é conhecido. Eu quero algo como ter todos os intervalos de IP de um determinado país em um arquivo de texto e incorporá-los na regra de permissão do ufw.
Para adicionar uma lista de bloqueio de IP ao Uncomplicated Fire Wall (UFW), use as seguintes instruções deste script do Gihub, cujo conteúdo é reproduzido abaixo.
Com todos os agradecimentos a poddmo, autor do UFW-blocklist, que é uma extensão de lista de bloqueio de IP para o Ubuntu ufw.
INSTALAÇÃO
Instalar o pacote ipset
sudo apt install ipset
Faça backup do script de exemplo ufw after.init original
sudo cp /etc/ufw/after.init /etc/ufw/after.init.orig
Instale os arquivos ufw-blocklist
Baixe uma lista de bloqueio de IP inicial do IPsum
Iniciar ufw-blocklist
NOTA: Leva tempo para carregar as entradas da lista de bloqueio no ipset. Observe o progresso com:
USO
A lista de bloqueio é iniciada e parada automaticamente pelo ufw usando as opções enable, disable e reload. Página wiki do Ubuntu UFW
Existem 2 comandos adicionais after.init disponíveis: status e flush-all
sudo /etc/ufw/after.init flush-all
A partir deste estado, você pode adicionar manualmente endereços IP à lista assim:
sudo ipset add ufw-blocklist-ipsum a.b.c.d
Isso é útil para testes. Use
/etc/cron.daily/ufw-blocklist-ipsum
para baixar a lista mais recente e restaurar completamente a blocklist.STATUS
Chamar
after.init
com a opção status exibe a contagem atual das entradas na lista de bloqueio, as contagens de acertos nas regras do firewall (a coluna 1 é acertos, a coluna 2 é bytes) e as últimas 10 mensagens de log. Um exemplo de saída pode ser visto no post da extensão do Github vinculado.Outras referências:
Bloqueio geográfico
Bloqueio de países
Intervalos de endereços IP por país