A correctly functioning firewall is the most crucial part of the complete Linux system security. By default, Debian and Ubuntu distribution comes with a firewall configuration tool called UFW (Uncomplicated Firewall), is a most popular and easy-to-use command line tool for configuring and managing a firewall on Ubuntu and Debian distributions.
Neste artigo, explicaremos como instalar e configurar um firewall UFW nas distribuições Ubuntu e Debian.
Pré-requisitos
Antes de começar este artigo, certifique-se de ter acessado o seu servidor Ubuntu ou Debian com um usuário sudo ou com a conta root. Se você não tiver um usuário sudo, pode criar um usando as seguintes instruções como usuário root.
# adduser username # usermod -aG sudo username # su - username $ sudo whoami
Instale o Firewall UFW no Ubuntu e Debian
O UFW (Firewall Descomplicado) deve ser instalado por padrão no Ubuntu e Debian, caso contrário, instale-o usando o gerenciador de pacotes APT com o seguinte comando.
$ sudo apt install ufw
Verifique o Firewall UFW
Após a instalação ser concluída, você pode verificar o status do UFW digitando o seguinte.
$ sudo ufw status verbose
Na primeira instalação, o firewall UFW está desativado por padrão, a saída será semelhante ao abaixo.
Status: inactive
Ative o Firewall UFW
Você pode ativar ou habilitar o firewall UFW usando o seguinte comando, que deve carregar o firewall e habilitá-lo para iniciar no boot.
$ sudo ufw enable
Para desativar o firewall UFW, use o seguinte comando, que descarrega o firewall e desabilita sua inicialização no boot.
$ sudo ufw disable
Políticas Padrão do UFW
Por padrão, o firewall UFW nega todas as conexões de entrada e permite somente todas as conexões de saída para o servidor. Isso significa que ninguém pode acessar o seu servidor, a menos que você abra especificamente a porta, enquanto todos os serviços ou aplicativos em execução no seu servidor podem acessar a rede externa.
As políticas padrão do firewall UFW são colocadas no arquivo /etc/default/ufw
e podem ser alteradas usando o seguinte comando.
$ sudo ufw default deny incoming $ sudo ufw default allow outgoing
Perfis de Aplicativos UFW
Ao instalar um pacote de software usando o gerenciador de pacotes APT, ele incluirá um perfil de aplicativo no diretório /etc/ufw/applications.d
que define o serviço e mantém as configurações do UFW.
Você pode listar todos os perfis de aplicativos disponíveis no seu servidor usando o seguinte comando.
$ sudo ufw app list
Dependendo das instalações de pacotes de software no seu sistema, a saída será semelhante à seguinte:
Available applications: APACHE APACHE Full APACHE SECURE CUPS OpenSSH Postfix Postfix SMTPS Postfix Submission
Se você deseja obter mais informações sobre um perfil específico e as regras definidas, pode usar o seguinte comando.
$ sudo ufw app info 'Apache'
Profile: Apache Title: Web Server Description: Apache V2 is the next generation f the omnipresent Apache web server. Ports: 80/tcp
Ativar o IPv6 com UFW
Se o seu servidor estiver configurado com o IPv6, certifique-se de que o seu UFW está configurado com suporte IPv6 e IPv4. Para verificar, abra o arquivo de configuração do UFW usando o seu editor favorito.
$ sudo vi /etc/default/ufw
Em seguida, verifique se “IPV6” está definido como "yes"
no arquivo de configuração, conforme mostrado.
IPV6=yes
Salve e saia. Em seguida, reinicie o seu firewall com os seguintes comandos:
$ sudo ufw disable $ sudo ufw enable
Permitir Conexões SSH no UFW
Se você habilitou o firewall UFW até agora, ele bloquearia todas as conexões de entrada e se você estiver conectado ao seu servidor via SSH a partir de um local remoto, você não será mais capaz de se reconectar.
Vamos habilitar as conexões SSH para o nosso servidor para evitar que isso aconteça usando o seguinte comando:
$ sudo ufw allow ssh
Se você estiver usando uma porta SSH personalizada (por exemplo, a porta 2222), então você precisa abrir essa porta no firewall UFW usando o seguinte comando.
$ sudo ufw allow 2222/tcp
Para bloquear todas as conexões SSH, digite o seguinte comando.
$ sudo ufw deny ssh/tcp $ sudo ufw deny 2222/tcp [If using custom SSH port]
Habilitar Portas Específicas no UFW
Você também pode abrir uma porta específica no firewall para permitir conexões através dela para um determinado serviço. Por exemplo, se você deseja configurar um servidor web que escuta na porta 80 (HTTP) e 443 (HTTPS) por padrão.
Abaixo estão alguns exemplos de como permitir conexões de entrada para os serviços do Apache.
Abrir a Porta 80 HTTP no UFW
$ sudo ufw allow http [By service name] $ sudo ufw allow 80/tcp [By port number] $ sudo ufw allow 'Apache' [By application profile]
Abrir a Porta 443 HTTPS no UFW
$ sudo ufw allow https $ sudo ufw allow 443/tcp $ sudo ufw allow 'Apache Secure'
Permitir Intervalos de Portas no UFW
Supondo que você tenha algumas aplicações que deseja executar em uma faixa de portas (5000-5003), você pode adicionar todas essas portas usando os seguintes comandos.
sudo ufw allow 5000:5003/tcp sudo ufw allow 5000:5003/udp
Permitir Endereços IP Específicos
Se você deseja permitir conexões em todas as portas de um endereço IP específico 192.168.56.1, então você precisa especificar o “from” antes do endereço IP.
$ sudo ufw allow from 192.168.56.1
Permitir Endereços IP Específicos em Porta Específica
Para permitir a conexão em uma porta específica (por exemplo, porta 22) do seu computador doméstico com o endereço IP 192.168.56.1, então você precisa adicionar qualquer porta e o número da porta após o endereço IP conforme mostrado.
$ sudo ufw allow from 192.168.56.1 to any port 22
Permitir Sub-redes de Rede para Porta Específica
Para permitir conexões para endereços IP específicos variando de 192.168.1.1 a 192.168.1.254 na porta 22 (SSH), execute o seguinte comando.
$ sudo ufw allow from 192.168.1.0/24 to any port 22
Permitir Interface de Rede Específica
Para permitir conexões para uma interface de rede específica eth2 em uma porta específica 22 (SSH), execute o seguinte comando.
$ sudo ufw allow in on eth2 to any port 22
Negar Conexões no UFW
Por padrão, todas as conexões de entrada são bloqueadas, a menos que você tenha aberto especificamente a conexão no UFW. Por exemplo, você abriu as portas 80 e 443 e seu servidor web está sob ataque da rede desconhecida 11.12.13.0/24.
Para bloquear todas as conexões desta faixa de rede específica 11.12.13.0/24, você pode usar o seguinte comando.
$ sudo ufw deny from 11.12.13.0/24
Se você deseja bloquear conexões apenas nas portas 80 e 443, você pode usar os seguintes comandos.
$ sudo ufw deny from 11.12.13.0/24 to any port 80 $ sudo ufw deny from 11.12.13.0/24 to any port 443
Excluir Regras do UFW
Há 2 maneiras de excluir regras do UFW, por número da regra e pela regra real.
Para excluir regras do UFW usando o número da regra, primeiro você precisa listar as regras por números usando o seguinte comando.
$ sudo ufw status numbered
Saída de exemplo
Status: active To Action From -- ------ ---- [ 1] 22/tcp ALLOW IN Anywhere [ 2] 80/tcp ALLOW IN Anywhere
Para excluir a regra número 1, use o seguinte comando.
$ sudo ufw delete 1
O segundo método é excluir uma regra usando a regra real, por exemplo, para excluir uma regra, especifique o número da porta com o protocolo conforme mostrado.
$ sudo ufw delete allow 22/tcp
Executar Regras UFW em Modo de Teste
Você pode executar quaisquer comandos ufw sem realmente fazer quaisquer alterações no firewall do sistema usando a opção --dry-run
, isso simplesmente mostra as alterações que deveriam ter ocorrido.
$ sudo ufw --dry-run enable
Redefinir Firewall UFW
Por algum motivo, se desejar excluir / redefinir todas as regras do firewall, digite os seguintes comandos, isso reverterá todas as suas alterações e começará do zero.
$ sudo ufw reset $ sudo ufw status
Funcionalidades Avançadas do UFW
O firewall UFW pode gerenciar tudo o que o iptables faz. Isso pode ser feito com diferentes conjuntos de arquivos de regras, que são nada mais do que simples arquivos de texto do iptables-restore.
Ajustar o firewall UFW ou adicionar comandos iptables adicionais não é permitido via comando ufw, é apenas uma questão de alterar os seguintes arquivos de texto
- /etc/default/ufw: O arquivo de configuração principal com regras predefinidas.
- /etc/ufw/before[6].rules: Neste arquivo, as regras são calculadas antes de serem adicionadas via comando ufw.
- /etc/ufw/after[6].rules: Neste arquivo, as regras são calculadas após serem adicionadas via comando ufw.
- /etc/ufw/sysctl.conf: Este arquivo é usado para ajustar a rede do kernel.
- /etc/ufw/ufw.conf: Este arquivo habilita o ufw na inicialização.
É isso! UFW é um excelente front-end para o iptables com uma interface amigável para definir regras complexas com um único comando ufw.
Se tiver alguma dúvida ou pensamento para compartilhar sobre este artigo ufw, use o formulário de comentários abaixo para nos contatar.
Source:
https://www.tecmint.com/setup-ufw-firewall-on-ubuntu-and-debian/