Instale o UFW
O UFW é instalado por padrão no Ubuntu 18.04, mas você pode verificar o seguinte:
which ufw
Você deve receber a seguinte saída:
/usr/sbin/ufw
Se você não receber saída, isso significa que o UFW não está instalado. Você pode instalá-lo você mesmo se este for o caso:
sudo apt-get install ufw
Permitir conexões
Se você estiver executando um servidor Web, deseja que o mundo possa acessar seu (s) site (s). Portanto, você precisa garantir que as portas TCP padrão da Web estejam abertas.
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Em geral, você pode permitir qualquer porta necessária usando o seguinte formato:
sudo ufw allow <port>/<optional: protocol>
Negar conexões
Se você precisar negar acesso a uma determinada porta, use o denycomando:
sudo ufw deny <port>/<optional: protocol>
Por exemplo, você pode negar o acesso à sua porta MySQL padrão:
sudo ufw deny 3306
O UFW também suporta uma sintaxe simplificada para as portas de serviço mais comuns:
root@ubuntu:~$ sudo ufw deny mysql
Rule updated
Rule updated (v6)
É altamente recomendável que você restrinja o acesso à sua porta SSH (por padrão, essa é a porta 22) de qualquer lugar, exceto seus endereços IP confiáveis.
Permitir acesso a partir de um endereço IP confiável
Normalmente, você precisaria permitir acesso apenas a portas abertas publicamente, como porta 80. O acesso a todas as outras portas deve ser restrito ou limitado. Você pode colocar na lista branca o endereço IP de sua casa ou escritório (de preferência um IP estático) para poder acessar seu servidor por SSH ou FTP:
sudo ufw allow from 192.168.0.1 to any port 22
Você também pode permitir o acesso à porta MySQL:
sudo ufw allow from 192.168.0.1 to any port 3306
Ativar UFW
Antes de ativar (ou reiniciar) o UFW, você precisa garantir que a porta SSH tenha permissão para receber conexões do seu endereço IP. Para iniciar / ativar seu firewall UFW, use o seguinte comando:
sudo ufw enable
Você verá a seguinte saída:
root@ubuntu:~$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)?
Pressione Ye pressione ENTERpara ativar o firewall:
Firewall is active and enabled on system startup
Verifique o status do UFW
Imprima a lista de regras UFW:
sudo ufw status
Você verá uma saída semelhante à seguinte:
Status: active
To                         Action      From
--                         ------      ----
80/tcp                     DENY        Anywhere
443/tcp                    DENY        Anywhere
3306                       DENY        Anywhere
22                         ALLOW       192.168.0.1
3306                       ALLOW       192.168.0.1
80/tcp (v6)                DENY        Anywhere (v6)
443/tcp (v6)               DENY        Anywhere (v6)
3306 (v6)                  DENY        Anywhere (v6)
Use o verboseparâmetro para ver um relatório de status mais detalhado:
sudo ufw status verbose
Essa saída será semelhante ao seguinte:
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip
To                         Action      From
--                         ------      ----
80/tcp                     DENY IN     Anywhere
443/tcp                    DENY IN     Anywhere
3306                       DENY IN     Anywhere
22                         ALLOW IN    192.168.0.1
3306                       ALLOW IN    192.168.0.1
80/tcp (v6)                DENY IN     Anywhere (v6)
443/tcp (v6)               DENY IN     Anywhere (v6)
3306 (v6)                  DENY IN     Anywhere (v6)
Desabilitar / recarregar / reiniciar o UFW
Se você precisar recarregar as regras do firewall, execute o seguinte:
sudo ufw reload
Para desativar ou parar o UFW:
sudo ufw disable
Para reiniciar o UFW, será necessário desativá-lo primeiro e depois ativá-lo novamente:
sudo ufw disable
sudo ufw enable
Nota:  Antes de ativar o UFW, verifique se a porta SSH é permitida para o seu endereço IP.
Removendo regras
Para gerenciar suas regras UFW, você precisa listá-las. Você pode fazer isso verificando o status do UFW com o parâmetro numbered:
sudo ufw status numbered
Você verá uma saída semelhante à seguinte:
Status: active
     To                         Action      From
     --                         ------      ----
[ 1] 80/tcp                     DENY IN     Anywhere
[ 2] 443/tcp                    DENY IN     Anywhere
[ 3] 3306                       DENY IN     Anywhere
[ 4] 22                         ALLOW IN    192.168.0.1
[ 5] 3306                       ALLOW IN    192.168.0.1
[ 6] 80/tcp (v6)                DENY IN     Anywhere (v6)
[ 7] 443/tcp (v6)               DENY IN     Anywhere (v6)
[ 8] 3306 (v6)                  DENY IN     Anywhere (v6)
Agora, para remover qualquer uma dessas regras, você precisará usar esses números entre colchetes:
sudo ufw delete [number]
Para remover a HTTPregra ( 80), use o seguinte comando:
sudo ufw delete 1
Ativando o suporte ao IPv6
Se você usa o IPv6 no seu VPS, precisa garantir que o suporte ao IPv6 esteja ativado no UFW. Para fazer isso, abra o arquivo de configuração em um editor de texto:
sudo vi /etc/default/ufw
Depois de aberto, verifique se IPV6está definido como "sim":
IPV6=yes
Depois de fazer essa alteração, salve o arquivo. Em seguida, reinicie o UFW desativando e reativando-o:
sudo ufw disable
sudo ufw enable
Voltar às configurações padrão
Se você precisar voltar às configurações padrão, basta digitar o seguinte comando. Isso reverterá qualquer uma das suas alterações:
sudo ufw reset
Parabéns, você acabou de configurar algumas regras básicas de firewall. Para aprender mais alguns exemplos, consulte o UFW - Wiki de ajuda da comunidade .