Introdução
Uma das primeiras linhas de defesa para proteger seu servidor em nuvem é um firewall em funcionamento. No passado, isso geralmente era feito por meio de utilitários complicados e misteriosos. Há muita funcionalidade embutida nesses utilitários, sendo o iptables o mais popular atualmente, mas eles exigem um esforço decente em nome do usuário para aprendê-los e entendê-los. Regras de firewall não são algo que você mesmo quer adivinhar.
Para este fim, o UFW é uma alternativa consideravelmente mais fácil de usar.
O que é o UFW?
O UFW, ou Uncomplicated Firewall, é um front end para o iptables. Seu principal objetivo é tornar o gerenciamento do seu firewall simples e fornecer uma interface fácil de usar. É bem suportado e popular na comunidade Linux – e até instalado por padrão em várias distros. Assim, é uma ótima maneira de começar a proteger seu servidor.
Antes de começarmos
Primeiro, obviamente, você quer ter certeza de que o UFW está instalado. Ele deve ser instalado por padrão no Ubuntu, mas se por algum motivo não for, você pode instalar o pacote usando aptitude ou apt-get usando os seguintes comandos:
sudo aptitude install ufw
ou
sudo apt-get install ufw
Verifique o status
Você pode verificar o status do UFW digitando:
sudo ufw status
Neste momento, provavelmente lhe dirá que está inativo. Sempre que o ufw estiver ativo, você receberá uma listagem das regras atuais semelhantes a esta:
Status: active To Action From -- ------ ---- 22 ALLOW Anywhere
Usando o IPv6 com o UFW
Se o seu VPS estiver configurado para IPv6, verifique se o UFW está configurado para suportar o IPv6, de modo a configurar as regras de firewall IPv4 e IPv6. Para fazer isso, abra a configuração do UFW com este comando:
sudo vi /etc/default/ufw
Então altere o “IPV6” parao “yes”:
IPV6=yes
Salve, saia e reinicie com o s comandos:
sudo ufw disable
sudo ufw enable
Agora vamos cofigurar o UFW firewall para iniciar em IPv4 and IPv6.
Subindo configurações Padrão Default
Uma das coisas que facilitará a criação de qualquer firewall é definir algumas regras padrão para permitir e negar conexões. Os padrões da UFW são negar todas as conexões recebidas e permitir todas as conexões de saída. Isso significa que qualquer pessoa que tentasse acessar seu servidor em nuvem não seria capaz de se conectar, enquanto qualquer aplicativo dentro do servidor seria capaz de alcançar o mundo exterior. Para iniciar com as configurações padrões será necessário executar esses comandos:
sudo ufw default deny incoming
e
sudo ufw default allow outgoing
Nota: se você quiser ser um pouco mais restritivo, você também pode negar todos os pedidos de saída também. A necessidade disso é discutível, mas se você tem um servidor de nuvem voltado para o público, ele pode ajudar a prevenir contra qualquer tipo de conexão remota de shell. Isso torna o seu firewall mais complicado de gerenciar, porque você terá que configurar regras para todas as conexões de saída também. Você pode definir isso como o padrão com o seguinte comando:
sudo ufw default deny outgoing
Permitindo Conexões
A sintaxe é bem simples. Você altera as regras de firewall emitindo comandos no terminal. Se ligarmos nosso firewall agora, ele negaria todas as conexões recebidas. Se você estiver conectado por SSH ao seu servidor de nuvem, isso seria um problema, porque você estaria bloqueado fora do seu servidor. Vamos ativar conexões SSH ao nosso servidor para evitar que isso aconteça:
sudo ufw allow ssh
Como você pode ver, a sintaxe para adicionar serviços é bastante simples. O UFW vem com alguns padrões para usos comuns. Nosso comando SSH acima é um exemplo. É basicamente apenas adicionar para permitir:
sudo ufw allow 22/tcp
Este comando permite uma conexão na porta 22 usando o protocolo TCP. Se nosso servidor SSH estiver sendo executado na porta 2222, podemos habilitar conexões com o seguinte comando:
sudo ufw allow 2222/tcp
Outras conexões que podemos precisar
Agora é uma boa hora para permitir outras conexões que talvez precisemos. Se estamos protegendo um servidor web com acesso FTP, podemos precisar desses comandos:
sudo ufw allow www
ou
sudo ufw allow 80/tcp
ou
sudo ufw allow ftp
ou
sudo ufw allow 21/tcp
Vai variar em quais portas e serviços você precisa abrir. Provavelmente haverá um pouco de teste necessário. Além disso, você deseja ter certeza de deixar sua conexão SSH permitida.
Ranges de Portas
Você também pode especificar faixas de portas com UFW. Para permitir portas de 1000 a 2000, use o comando:
sudo ufw allow 1000:2000/tcp
Se você quiser UDP:
sudo ufw allow 1000:2000/udp
IP Addresses Endereço de IP
Você também pode especificar endereços IP. Por exemplo, se eu quisesse permitir conexões a partir de um endereço IP específico (digamos, meu trabalho ou endereço residencial), eu usaria este comando:
sudo ufw allow from 192.168.255.255
Negando Conexões
Nossa configuração padrão é negar todas as conexões recebidas. Isso torna as regras de firewall mais fáceis de administrar, uma vez que estamos apenas seletivamente permitindo que certas portas e endereços IP através. No entanto, se você quiser lançá-lo e abrir todas as portas do seu servidor (não recomendado), você pode permitir todas as conexões e, em seguida, negar restritivamente portas que você não queria dar acesso, substituindo “permitir” por “negar” nos comandos acima. Por exemplo:
Permitir acesso a porta 80:
sudo ufw allow 80/tcp
Negando acesso a porta 80.
sudo ufw deny 80/tcp
Apagando Regras
Existem duas opções para excluir regras. A mais simples é usar a seguinte sintaxe:
sudo ufw delete allow ssh
Como você pode ver, usamos o comando “delete” e inserir as regras que você deseja eliminar depois disso. Outros exemplos incluem:
sudo ufw delete allow 80/tcp
ou
sudo ufw delete allow 1000:2000/tcp
Isso pode ficar complicado quando você tem regras que são longas e complexas.
Uma alternativa mais simples, de dois passos, é digitar:
sudo ufw status numbered
Para o ufw listar todas as regras atuais em uma lista numerada. Então, digitamos o comando:
sudo ufw delete [number]
Quando o “[number]” é o número de linha do comando anterior.
Ligando o Firwall
Depois de obter a UFW para onde queremos, podemos ligá-lo usando este comando (lembre-se: se você estiver conectando via SSH, certifique-se de definir sua porta SSH, comumente porta 22, para ser autorizado a receber conexões):
sudo ufw enable
Você deveria ver o prompt de comando novamente se tudo correu bem. Você pode verificar o status de suas regras agora digitando:
sudo ufw status
ou
Para uma exibição mais completa digite:
sudo ufw status verbose
Para desligar o UFW, digite o comando:
sudo ufw disable
Resetando as Configurações
Se, por qualquer motivo, você precisar redefinir as regras do servidor de nuvem para suas configurações padrão, você pode fazer isso digitando este comando:
sudo ufw reset
Se deseja saber mais sobre os Sistemas Linux Clique Aqui!