Eu devo concordar com dunxd, IPTables não deve ser descontado como uma abordagem viável. Você está com sorte, no entanto, desde que você pode aproveitar tcpwrappers para o mesmo fim funcional. Embora mais complexo do que na superfície, o tcpwrappers essencialmente se resume a dois arquivos: /etc/hosts.allow e /etc/hosts.deny Se esses arquivos ainda não existirem, você poderá criá-los com segurança como arquivos vazios: sudo touch /etc/hosts.{allow,deny}
.
Agora é hora de as coisas ficarem um pouco mais complicadas. A "melhor" abordagem para proteger o acesso à rede é definir sua entrada padrão e única do hosts.deny como ALL:ALL
. No entanto, isso pode resultar em restrições de acesso não intencionais. Por este motivo, e os propósitos desta questão, deve ser suficiente inserir sshd:ALL
em /etc/hosts.deny, o que impedirá o acesso de ssh ao host.
Todas as entradas em /etc/hosts.allow, no que diz respeito ao sshd, substituirão a regra de negação padrão: sshd: 172.168.0.21
permitirá acesso somente ao host 172.168.0.21 e negará todas as outras.
Os arquivos tcpwrappers aceitam uma lista de entradas separadas por vírgula, para que você possa acrescentar endereços à primeira entrada acima. Os tcpwrappers também aceitam endereços IP parciais como sub-redes, então você pode permitir todo o 172.168.0.0/24 como sshd: 172.168.0.
Por favor, refira-se à página de manual para detalhes adicionais. O tcpwrappers é realmente muito completo e eu recomendo ler mais do que o meu breve exame acima.