Página desactualizada Esta página contém uma versão anterior deste guia que pode estar desatualizada. Para a consultar a versão mais recente clique aqui.

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.

[email protected]:~# aptitude install ufw
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:

[email protected]:~# ufw allow ssh/tcp

É também conveniente ativar o registo de eventos:

[email protected]:~# ufw logging on

Finalmente deverá ser ativado o firewall:

[email protected]:~# 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.

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

[email protected]:~# 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).

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.

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

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.

[email protected]:~# ufw allow from 192.168.1.0/24
Rules updated

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:

[email protected]:~# ufw allow from 192.168.1.0/24
Rules updated
[email protected]:~# ufw allow ssh
Rules updated
Rules updated (v6)
[email protected]:~# ufw allow https
Rules updated
Rules updated (v6)

A listagem da configuração é a seguinte:

[email protected]:~# 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)
  • pt/wheezy/security/firewall/ufw.txt
  • Última modificação em: 2020-08-02 20:10
  • (edição externa)