Ferramentas de Usuário

Ferramentas de Site


pt:jessie:security:firewall:ufw

7.4.1 UFW

A instalação do UFW (sigla em inglês para “Uncomplicated Firewall” ou “firewall descomplicado”) permite definir políticas de segurança de rede criando limitações ou permissões para o acesso a diversos serviços ou aplicações.

Instalação

root@server:~# apt-get install ufw

Configuração

Atenção

A configuração incorreta do firewall pode bloquear completamente o acesso remoto a um servidor. Antes de inserir um comando verifique que o que escreveu é exatamente o que pretende e quais os possíveis “efeitos secundários” indesejados!

A configuração do ufw é feita através da linha de comandos.

A configuração por omissão do ufw autoriza o nosso servidor a iniciar comunicações com o exterior (DEFAULT_OUTPUT_POLICY=“ACCEPT”), mas ignora qualquer tentativa de acesso ao servidor a partir do exterior (DEFAULT_INPUT_POLICY=“DROP”). Esta configuração impossibilita, por exemplo, o acesso remoto a um servidor.

Em primeiro lugar deverá ser garantido o acesso remoto ao servidor via ssh:

root@server:~# ufw allow ssh/tcp

É também conveniente ativar o registo de eventos:

root@server:~# ufw logging on

Finalmente deverá ser ativado o firewall:

root@server:~# ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

A partir deste momento só será possível aceder remotamente ao servidor usando o protocolo ssh, que usa a porta 22. Será negado a acesso remoto a qualquer outro serviço existente no servidor.

Sugestão

Pode a qualquer altura desativar o ufw com o comando ufw disable.
Pode também apagar todas as regras do ufw com o comando ufw reset.

Verificação

Em qualquer altura é possível verificar o estado do firewall:

root@server:~# ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing)
New profiles: skip
 
To                         Action      From
--                         ------      ----
22/tcp                     ALLOW IN    Anywhere
22/tcp                     ALLOW IN    Anywhere (v6)

Neste caso o firewall apenas aceita ligações a partir do exterior pela porta 22 (protocolo ssh).

Exemplos de configuração

Apenas a título de exemplo são listadas algumas configurações possíveis para um servidor. Use-as por sua conta e risco: declino qualquer responsabilidade pela sua utilização! Fica o aviso!!!

Para mais detalhes da configuração sugerida, consulte 2.1.1 Diagrama da Rede.

Exemplo 1: Serviços abertos a todas as redes (Internet e Intranet)

Estes serviços poderão aceitar ligações a partir de qualquer endereço.

Porta Serviço / Descrição Configuração ufw Referência
22 SSH / Secure Shell ufw allow ssh/tcp 2.3.2 Servidor Ssh
25 SMTP / Simple Mail Transfer Protocol ufw allow smtp/tcp 5.2.1 Servidor SMTP, 5.2.2 Servidor SMTP com autenticação SASL (apenas se configurado com suporte SASL)
443 HTTPS / Hypertext Transfer Protocol over TLS/SSL ufw allow https/tcp 2.3.2 Servidor Ssh
993 IMAPS / Internet Message Access Protocol over TLS/SSL ufw allow imaps/tcp 5.1.1 Servidor IMAP/IMAPS

Exemplo 2: Serviços abertos apenas para a rede interna (Intranet)

Esta configuração aceita todo o tipo de ligações mas unicamente a partir do mesmo segmento de rede do servidor (192.168.1.0/24), como por exemplo no caso de uma rede interna ou Intranet. A rede deverá estar protegida do exterior através de outro firewall.

root@server:~# ufw allow from 192.168.1.0/24
Rules updated

Exemplo 3: Configuração mista (Intranet e Internet)

Neste exemplo é possível aceder a todos os serviços a partir da rede interna (192.168.1.0/24), mas do exterior só é possível aceder aos serviços ssh e https:

root@server:~# ufw allow from 192.168.1.0/24
Rules updated
root@server:~# ufw allow ssh
Rules updated
Rules updated (v6)
root@server:~# ufw allow https
Rules updated
Rules updated (v6)

A listagem da configuração é a seguinte:

root@server:~# ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing)
New profiles: skip
 
To                         Action      From
--                         ------      ----
Anywhere                   ALLOW IN    192.168.1.0/24
22                         ALLOW IN    Anywhere
80                         ALLOW IN    Anywhere
443                        ALLOW IN    Anywhere
22                         ALLOW IN    Anywhere (v6)
80                         ALLOW IN    Anywhere (v6)
443                        ALLOW IN    Anywhere (v6)

Referências

pt/jessie/security/firewall/ufw.txt · Última modificação em: 2024-02-15 01:05 por 127.0.0.1