Eu aconselharia jogar diretamente com iptables
se você não estiver pronto para aprender o básico sobre redes, TCP (ICMP / UDP / SCTP ...) / IP, o netfilter do Linux e como fazer o firewall apropriado primeiro.
Aqui, como você está no Debian, eu instalaria algo como ufw
, uma camada de gerenciamento muito simples em cima de iptables
.
Define uma política padrão de ACCEPT para o tráfego de saída e DROP para o tráfego de entrada ou de encaminhamento. Ele cuidará de não fotografar em seus pés, não bloqueando a necessidade de tipos de tráfego ICMP / DHCP / broadcast / multicast e lidará com IPv4 e IPv6 conforme necessário.
Então, tudo o que resta para você fazer é abrir os buracos para os serviços que você deseja. Alguns pacotes também instalam arquivos em /etc/ufw/applications.d/
para ajudá-lo a analisar por aplicativo, em vez de precisar especificar as portas manualmente (você também pode criar suas próprias).
ufw app list
fornece uma lista desses aplicativos suportados. Então você pode fazer:
ufw allow from 10.10.10.10 app OpenSSH
ufw allow from any app WWW
ufw allow ircd/tcp # by service name (from /etc/services...)
ufw allow 6697/tcp # by explicit port number
ufw enable
Você pode executar iptables-save
para ver quais regras ele gerou. Ele também ajustará algumas configurações da pilha de IP. Veja também a configuração extra em /etc/ufw
.