Algumas distribuições de Linux utilizam o firewal UFW (chamado de firewall descomplicado, Uncomplicated Firewall) que é basicamente uma interface para o iptables.
Quando ele está ativo na sua distribuição, ele bloqueia praticamente tudo.
Para sabermos se está ativo, basta digitar o comando
$ ufw status
Sumário
Possíveis respostas do UFW
Status: active
Quando o firewall está ativo, em seguida temos a listagem das portas: Ex:
22/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere
No caso, as portas 22 e 443 estão liberadas para conexão.
Status: inactive
Quando o status está inativo, significa que você tem o UFW instalado, porém ele não está funcionando e, portanto, está tudo liberado.
Para ele entrar em funcionamento, você pode digitar o comando:
$ utf enable
Da mesma forma, o disable desabilita o UFW
-bash: ufw: comando não encontrado
Quando receber essa mensagem é que o UFW não está instalado. Logo logo colocarei aqui um tutorial de como instalar.
Adicionando regras no Firewall
Agora, vamos ao que interessa:
Exemplo 1: Aceitar conexões vindo da porta 80 TCP de qualquer host
$ sudo ufw allow from any to any port 80 proto tcp
Exemplo 2: Aceitar conexões vindo da porta 5900 UDP de qualquer host
$ sudo ufw allow from any to any port 5900 proto udp
Exemplo 3: Aceitar conexões vindo da porta 443 TCP da sub-rede 10.0.0.1/8
$ sudo ufw allow from 10.0.0.1/8 to any port 443 proto tcp
Exemplo 4: Aceitar conexões vindo das portas 20 e 21 TCP de qualquer host (abrir ftp e sftp)
$ sudo ufw allow from any to any port 20, 21 proto tcp
Exemplo 5: Aceitar conexões para servidores Web instalados na máquina
$ sudo ufw allow in "Apache Full"
$ sudo ufw allow in "Nginx Full"
Exemplo 6: Aceitar conexões para serviços específicos
$ sudo ufw allow in ssh
Com isso você abre as portas do seu firewall de acordo com sua necessidade. Lembrando que uma máquina exposta à internet sempre tem que ter um firewall para evitar maiores problemas.
Um abraço a todos.