Como instalar e configurar o UFW – Um FireWall descomplicado no Debian/Ubuntu
Como os computadores estão conectados entre si, os serviços estão crescendo rapidamente. E-mail, Mídias Sociais, Loja Online, Chat até Webconferência são serviços que usado pelo usuário. Mas, por outro lado, esta conectividade é como uma faca de dois lados. Também é possível enviar mensagens maliciosas para esses computadores, como vírus, malware, trojan-apps são um deles.
A Internet, como a maior rede de computadores, nem sempre está repleta de gente boa. Para garantir que nossos computadores/servidores estejam seguros, precisamos protegê-los.
Um dos componentes obrigatórios em seu computador/servidores é o Firewall. Da Wikipedia, uma definição é:
Na computação, um firewall é um sistema de segurança de rede baseado em software ou hardware que controla o tráfego de entrada e saída da rede, analisando os pacotes de dados e determinando se eles devem ser permitidos ou não, com base no conjunto de regras aplicadas.
Iptables é um dos firewalls amplamente utilizados pelos servidores. É um programa usado para gerenciar o tráfego de entrada e saída do servidor com base em um conjunto de regras. Geralmente, apenas conexões confiáveis podem entrar no servidor. Mas IPTables está rodando no modo console e é complicado. Aqueles que estão familiarizados com as regras e comandos do iptables podem ler o seguinte artigo que descreve como usar o firewall do iptables.
- Guia básico de IPTables (Firewall Linux)
Instalação do Firewall UFW no Debian/Ubuntu
Para reduzir a complexidade de como configurar IPTables, há muitas frentes. Se você estiver executando o Ubuntu Linux, encontrará o ufw como uma ferramenta de firewall padrão. Vamos começar a explorar o firewall ufw.
O que é ufw
O ufw (Firewall Descomplicado) é um frontend para o firewall iptables mais amplamente usado e é bastante confortável para firewalls baseados em host. ufw fornece uma estrutura para gerenciar o netfilter, bem como fornece uma interface de linha de comando para controlar o firewall. Ele fornece uma interface amigável e fácil de usar para iniciantes em Linux que não estão muito familiarizados com os conceitos de firewall.
Enquanto, por outro lado, os mesmos comandos complicados ajudam os administradores a definir regras complicadas usando a interface de linha de comando. O ufw é um upstream para outras distribuições como Debian, Ubuntu e Linux Mint.
Uso básico ufw
Primeiro, verifique se o ufw está instalado usando o seguinte comando.
sudo dpkg --get-selections | grep ufw
ufw install
Se não estiver instalado, você pode instalá-lo usando o comando apt conforme mostrado abaixo.
sudo apt-get install ufw
Antes de usar, você deve verificar se o ufw está rodando ou não. Use o seguinte comando para verificar isso.
sudo ufw status
Se você encontrou Status: inativo, significa que não está ativo ou desativado.
NOVO! Um e-book indispensável para todo administrador Linux!Baixe gratuitamente o e-book de 696 páginas
Ativando/desativando ufw
Para habilitá-lo, basta digitar o seguinte comando no terminal.
sudo ufw enable
Firewall is active and enabled on system startup
Para desativá-lo, basta digitar.
sudo ufw disable
Liste as regras atuais do ufw
Depois que o firewall for ativado, você poderá adicionar suas regras a ele. Se quiser ver quais são as regras padrão, você pode digitar.
sudo ufw status verbose
Saída de amostra
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing)
New profiles: skip
$
Como adicionar regras ufw
Como você pode ver, por padrão, todas as conexões de entrada são negadas. Se você deseja conectar sua máquina remotamente, você deve permitir a porta adequada. Por exemplo, você deseja permitir a conexão ssh. Aqui está o comando para permitir isso.
Permitir acesso
sudo ufw allow ssh
[sudo] password for pungki :
Rule added
Rule added (v6)
$
Se você verificar o status novamente, verá uma saída como esta.
sudo ufw status
To Action From
-- ----------- ------
22 ALLOW Anywhere
22 ALLOW Anywhere (v6)
Se você tem muitas regras e deseja colocar números em todas as regras imediatamente, use o parâmetro numerado.
sudo ufw status numbered
To Action From
------ ----------- ------
[1] 22 ALLOW Anywhere
[2] 22 ALLOW Anywhere (v6)
A primeira regra diz que a conexão de entrada para a porta 22 de qualquer lugar, tanto pacotes tcp quanto udp, é permitida. E se você quiser permitir apenas pacotes tcp? Então você pode adicionar o parâmetro tcp após o número da porta. Aqui está um exemplo com saída de amostra.
sudo ufw allow ssh/tcp
To Action From
------ ----------- ------
22/tcp ALLOW Anywhere
22/tcp ALLOW Anywhere (v6)
Negar acesso
Os mesmos truques são aplicados à regra Deny. Digamos que você queira negar a regra FTP. Então você só precisa digitar.
sudo ufw deny ftp
To Action From
------ ----------- ------
21/tcp DENY Anywhere
21/tcp DENY Anywhere (v6)
Adicionando porta específica
Às vezes temos uma porta personalizada que não segue nenhum padrão. Digamos que mudamos a porta ssh em nossa máquina de 22 para 2290. Então, para permitir a porta 2290, podemos adicioná-la assim.
sudo ufw allow
To Action From
-- ----------- ------
2290 ALLOW Anywhere
2290 ALLOW Anywhere (v6)
Também é possível adicionar port-range à regra. Se quisermos abrir a porta de 2290 – 2300 com protocolo tcp, então o comando será assim.
sudo ufw allow 2290:2300/tcp
To Action From
------ ----------- ------
2290:2300/tcp ALLOW Anywhere
2290:2300/tcp ALLOW Anywhere (v6)
mas se você quiser usar udp, basta usar o seguinte comando.
sudo ufw allow 2290:2300/udp
To Action From
------ ----------- ------
2290:2300/udp ALLOW Anywhere
2290:2300/udp ALLOW Anywhere (v6)
Lembre-se de que você deve colocar ‘tcp’ ou ‘udp’ explicitamente, caso contrário você receberá uma mensagem de erro semelhante à abaixo.
ERROR: Must specify ‘tcp’ or ‘udp’ with multiple ports
Adicionando IP específico
Anteriormente adicionamos regras baseadas em serviço ou porta. O Ufw também permite adicionar regras com base no Endereço IP. Aqui está o comando de exemplo.
sudo ufw allow from 192.168.0.104
Você também pode usar uma máscara de sub-rede para ampliar o alcance.
sudo ufw allow form 192.168.0.0/24
To Action From
-- ----------- ------
Anywhere ALLOW 192.168.0.104
Anywhere ALLOW 192.168.0.0/24
Como você pode ver, o parâmetro from limitará apenas a fonte de conexão. Enquanto o destino – representado pela coluna Para – é Qualquer lugar. Você também pode gerenciar o destino usando o parâmetro ‘Para’. Vejamos o exemplo para permitir acesso àporta 22 (ssh).
sudo ufw allow to any port 22
O comando acima permitirá o acesso de qualquer lugar e de qualquer protocolo à porta 22.
Combinando parâmetros
Para regras mais específicas, você também pode combinar Endereço IP, protocolo e porta. Digamos que queremos criar uma regra que limite a conexão apenas do IP 192.168.0.104, apenas do protocolo tcp e da porta 22. Então o comando será como abaixo.
sudo ufw allow from 192.168.0.104 proto tcp to any port 22
A sintaxe para criar uma regra de negação é semelhante à regra de permissão. Você só precisa alterar o parâmetro de allow para deny.
Excluindo regras
Às vezes você pode precisar excluir sua regra existente. Mais uma vez com o ufw é fácil excluir regras. No exemplo acima, você tem uma regra abaixo e deseja excluí-la.
To Action From
-- ----------- ------
22/tcp ALLOW 192.168.0.104
21/tcp ALLOW Anywhere
21/tcp ALLOW Anywhere (v6)
Existem dois métodos para excluir regras.
Método 1
O comando abaixo irá excluir as regras que correspondem ao serviço ftp. Portanto, a porta 21/tcp que significa ftp será excluída.
sudo ufw delete allow ftp
Método 2
Mas quando você tentou excluir a primeira regra no exemplo acima usando o comando abaixo.
sudo ufw delete allow ssh
Or
sudo ufw delete allow 22/tcp
Você pode encontrar uma mensagem de erro como.
Could not delete non-existent rule
Could not delete non-existent rule (v6)
Então você pode fazer esse truque. Como mencionamos acima, você pode mostrar o número da regra para indicar qual regra queremos excluir. Deixe-nos mostrar para você.
sudo ufw status numbered
To Action From
-- ----------- ------
[1] 22/tcp ALLOW 192.168.0.104
[2] 21/tcp ALLOW Anywhere
[3] 21/tcp ALLOW Anywhere (v6)
Então você pode excluir a primeira regra usando. Pressione “y” para excluir permanentemente a regra.
sudo ufw delete 1
Deleting :
Allow from 192.168.0.104 to any port 22 proto tcp
Proceed with operation (y|n)? y
A partir desses métodos você verá a diferença. O Método 2 solicitará a confirmação do usuário antes de excluir a regra, enquanto o método 1 não solicitará.
Como redefinir regras
Em algumas situações, você pode querer excluir/redefinir todas as regras. Você pode fazer isso digitando.
sudo ufw reset
Resetting all rules to installed defaults. Proceed with operation (y|n)? y
Se você pressionar “y”, ufw fará backup de todas as regras existentes antes de redefinir seu ufw. A redefinição das regras também desativará seu firewall. Você precisa habilitá-lo novamente se quiser usá-lo.
Funcionalidade Avançada
Como afirmei acima, o firewall ufw pode fazer tudo o que o iptables pode fazer. Isso é feito usando vários conjuntos de arquivos de regras, que nada mais são do que arquivos de texto apropriados para iptables-restore. O ajuste fino do ufw e/ou a colocação de comandos iptables adicionais não permitidos através do comando ufw é uma questão de editar vários arquivos de texto.
- /etc/default/ufw: A configuração principal para políticas padrão, suporte IPv6 e módulos do kernel.
- /etc/ufw/before[6].rules: as regras nesses arquivos são calculadas antes de quaisquer regras adicionadas por meio do comando ufw.
- /etc/ufw/after[6].rules: as regras nesses arquivos são calculadas após quaisquer regras adicionadas por meio do comando ufw.
- /etc/ufw/sysctl.conf: ajustes de rede do kernel.
- /etc/ufw/ufw.conf: define se o ufw está ou não habilitado na inicialização e define o LOGLEVEL.
Conclusão
UFW como front-end para iptables certamente cria uma interface fácil para o usuário. O usuário não precisa se lembrar da sintaxe complicada do iptables. UFW também usa ‘inglês simples’ como parâmetro.
Permitir, negar, redefinir são um deles. Eu acredito que existem muito mais front-end do iptables por aí. Mas definitivamente o ufw é uma das melhores alternativas para usuários que desejam configurar seu firewall de forma rápida, fácil e, claro, segura. Visite a página de manual do ufw digitando man ufw para obter mais detalhes.