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 com este artigo, certifique-se de ter feito login no seu servidor Ubuntu ou Debian com 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
Instalar 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 usando o seguinte comando.
$ sudo apt install ufw
Verificar o Firewall UFW
Assim que a instalação estiver concluída, você pode verificar o status do UFW digitando o seguinte comando.
$ 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
Ativar o Firewall UFW
Você pode ativar ou habilitar o firewall UFW usando o seguinte comando, que deve carregar o firewall e ativá-lo para iniciar no boot.
$ sudo ufw enable
Para desativar o firewall UFW, use o seguinte comando, que descarrega o firewall e o desativa para iniciar 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 apenas todas as conexões de saída para o servidor. Isso significa que ninguém pode acessar seu servidor, a menos que você abra especificamente a porta, enquanto todos os serviços ou aplicativos em execução em seu servidor podem acessar a rede externa.
As políticas padrão de 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 UFW.
Você pode listar todos os perfis de aplicativos disponíveis em seu servidor usando o seguinte comando.
$ sudo ufw app list
Dependendo das instalações de pacotes de software em seu sistema, a saída será semelhante ao 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 IPv6 com UFW
Se o seu servidor estiver configurado com IPv6, certifique-se de que o seu UFW esteja 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 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 entrantes e se você estiver conectado ao seu servidor por SSH de um local remoto, você não será capaz de se conectar novamente.
Vamos habilitar as conexões SSH em nosso servidor para evitar que isso aconteça, usando o comando a seguir:
$ sudo ufw allow ssh
Se você estiver usando uma porta SSH personalizada (por exemplo, a porta 2222), então você precisará abrir essa porta no firewall UFW usando o comando a seguir.
$ 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 na firewall para permitir conexões via ela the um determinado serviço. Por exemplo, se você quiser 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 serviços do Apache.
Abrir 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 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
Suponha que você tem algumas aplicações que quer executar em um intervalo de portas (5000-5003), você pode adicionar todas essas portas usando os comandos a seguir.
sudo ufw allow 5000:5003/tcp sudo ufw allow 5000:5003/udp
Permitir Endereços IP Específicos
Se você quer permitir conexões em todas as portas de um endereço IP específico 192.168.56.1, então você precisará especificar de 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 conexões em uma porta específica (por exemplo, porta 22) a partir do seu computador pessoal com o endereço IP de 192.168.56.1, você precisará 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 Subredes de Rede em Porta Específica
Para permitir conexões para endereços IP particulares que variam de 192.168.1.1 até 192.168.1.254 para a 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ífico
Para permitir conexões para uma interface de rede específica eth2 para uma porta particular 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 entrantes 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 o seu servidor web está sob ataque da rede desconhecida 11.12.13.0/24.
Para bloquear todas as conexões desse intervalo de rede particular 11.12.13.0/24, você pode usar o seguinte comando.
$ sudo ufw deny from 11.12.13.0/24
Se você só quiser bloquear conexões em 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
Existem 2 maneiras de excluir regras do UFW, por número de regra e por regra real.
Para excluir uma regra do UFW usando número de regra, primeiro você precisará listar as regras por números usando o seguinte comando.
$ sudo ufw status numbered
Saída de amostra
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 Teste de UFW
Você pode executar quaisquer comandos ufw sem efetivamente fazer quaisquer alterações no firewall do sistema usando a opção --dry-run
, isso simplesmente mostra as alterações que deveriam acontecer.
$ sudo ufw --dry-run enable
Reiniciar o Firewall do UFW
Por algum motivo, se desejar excluir / redefinir todas as regras do firewall, digite os seguintes comandos, ele reverterá todas as suas alterações e reiniciará 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 apenas arquivos de texto iptables-restore simples.
Ajustar o firewall do 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 é uma excelente interface para iptables com uma interface amigável para o usuário definir regras complexas com um único comando ufw.
Se você tiver alguma dúvida ou pensamento para compartilhar sobre este artigo ufw, use o formulário de comentário abaixo para nos contatar.
Source:
https://www.tecmint.com/setup-ufw-firewall-on-ubuntu-and-debian/