Você está na página 1de 11

29/08/2022 11:35 Como configurar um Firewall com o UFW no Ubuntu 18.

04 | DigitalOcean

DigitalOcean Kubernetes: new control plane is faster and free, enable HA for 99.95% uptime SLA --> Products Pricing Docs Sign in

Tutorials Questions Learning Tech Get Product Search Community Sign


Paths Talks Involved Docs /
Up

CONTENTS
Introdução
Pré-requisitos
Passo 1 — Usando o IPv6 com o UFW (Opcional)
Passo 2 — Configurando as políticas padrão
Passo 3 — Permitindo as conexões via protocolo SSH
Passo 4 — Habilitando o UFW
Passo 5 — Permitindo outras conexões
Faixas de portas específicas
Endereços IP específicos
Sub-redes
Conexões a uma Interface de Rede Específica
Passo 6 — Negando conexões
Passo 7 — Excluindo regras
Pelo número da regra
Pela regra
Passo 8 — Verificando o status e as regras do UFW
Passo 9 — Desabilitando ou redefinindo o UFW (opcional)
Conclusão
R E L AT E D

Como instalar o PostgreSQL no Ubuntu 20.04: [Guia de início rápido]


View
Como Instalar o Servidor Web Apache no Ubuntu 18.04 [Quickstart]
View

// Tutorial //

Como configurar um Firewall com o UFW no Ubuntu 18.04

Published on December 12, 2019


Security Ubuntu Firewall Networking Ubuntu 18.04

By Erika Heidi and Brian Boucheron Português

https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-with-ufw-on-ubuntu-18-04-pt 1/11
29/08/2022 11:35 Como configurar um Firewall com o UFW no Ubuntu 18.04 | DigitalOcean

Uma versão anterior deste tutorial foi escrita por Hazel Virdó
Introdução

O UFW, ou Uncomplicated Firewall (Firewall Descomplicado), é uma interface para iptables desenvolvida
para simplificar o processo de configuração de um firewall. Apesar da iptables ser uma ferramenta sólida
e flexível, pode ser difícil para os iniciantes aprender como usá-la para configurar corretamente um
firewall. Se você deseja começar a proteger sua rede, mas não tem certeza sobre qual ferramenta usar, o
UFW pode ser a escolha certa para você.
Este tutorial mostrará como configurar um firewall com o UFW no Ubuntu 18.04.
Pré-requisitos

Para seguir este tutorial, será necessário:


Um servidor Ubuntu 18.04 com um usuário sudo não raiz, que você pode configurar seguindo os
Passos 1–3 no Tutorial de Configuração Inicial de Servidor com o Ubuntu 18.04.
O UFW vem instalado por padrão no Ubuntu. Se ele tiver sido desinstalado por algum motivo, você pode
instalá-lo com sudo apt install ufw .
Passo 1 — Usando o IPv6 com o UFW (Opcional)

Este tutorial foi escrito tendo o IPv4 em mente, mas funcionará também com o IPv6, contanto que você o
habilite. Se seu servidor Ubuntu tiver o IPv6 habilitado, certifique-se de que o UFW esteja configurado
para dar suporte ao IPv6, para que ele gerencie as regras de firewall do IPv6, além das regras do IPv4.
Para fazer isso, abra a configuração UFW com o nano ou seu editor favorito.
$ sudo nano /etc/default/ufw Copy
Então, certifique-se de que o valor IPV6 seja yes . Deve se parecer com isto:
/etc/default/ufw excerpt
IPV6= yes

Salve e feche o arquivo. Agora, quando o UFW estiver habilitado, ele será configurado para escrever
regras de firewall para ambos IPv4 e IPv6. No entanto, antes de habilitar o UFW, nós vamos querer
garantir que seu firewall esteja configurado para permitir que você se conecte via SSH. Vamos começar
configurando as políticas padrão.
Passo 2 — Configurando as políticas padrão

Se você estiver apenas começando com seu firewall, as primeiras regras a definir são suas políticas
padrão. Essas regras controlam a maneira de lidar com tráfego que não seja claramente compatível com
quaisquer outras regras. Por padrão, o UFW é configurado para negar todas as conexões de entrada e
permitir todas as conexões de saída. Isso significa que qualquer um que tentasse acessar o seu servidor
https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-with-ufw-on-ubuntu-18-04-pt 2/11
29/08/2022 11:35 Como configurar um Firewall com o UFW no Ubuntu 18.04 | DigitalOcean

não conseguiria conectar-se, ao passo que os aplicativos dentro do servidor conseguiriam alcançar o
mundo exterior.
Vamos retornar as regras do seu UFW para as configurações padrão, para que possamos ter certeza de
que você conseguirá acompanhar este tutorial. Para definir os padrões usados pelo UFW, utilize estes
comandos:
$ sudo ufw default deny incoming Copy
$ sudo ufw default allow outgoing

Esses comandos configuram os padrões para negar as conexões de entrada e permitir as conexões de
saída. Esses padrões do firewall poderiam suprir as necessidades de um computador pessoal Porém, os
servidores normalmente precisam responder às solicitações que chegam de usuários externos. Vamos
verificar isso a seguir.
Passo 3 — Permitindo as conexões via protocolo SSH

Se nós habilitássemos nosso firewall UFW agora, ele negaria todas as conexões de entrada. Isso significa
que precisaremos criar regras que permitam de maneira explícita as conexões de entrada legítimas —
conexões SSH ou HTTP, por exemplo — se quisermos que nosso servidor responda a esses tipos de
pedidos. Se você estiver usando um servidor na nuvem, você provavelmente irá querer permitir conexões
de entrada via protocolo SSH para que você consiga se conectar e gerenciar o seu servidor.
Para configurar seu servidor para permitir as conexões de entrada via SSH, você pode utilizar este
comando:
$ sudo ufw allow ssh Copy
Esse procedimento criará regras do firewall que permitirão todas as conexões na porta 22 , que é a porta
na qual o SSH daemon escuta por padrão. O UFW sabe o que a porta allow ssh significa porque ela está
listada como um serviço no arquivo /etc/services .
No entanto, podemos realmente escrever a regra equivalente, especificando a porta em vez do nome do
serviço. Por exemplo, este comando funciona de forma semelhante ao anterior:
$ sudo ufw allow 22 Copy
Se você configurou seu SSH daemon para usar uma porta diferente, você terá que especificar a porta
apropriada. Por exemplo, se seu servidor SSH estiver escutando na porta 2222 , você pode usar este
comando para permitir as conexões naquela porta:
$ sudo ufw allow 2222 Copy
Agora que seu firewall está configurado para permitir as conexões de entrada via SSH, podemos habilitá-
lo.
Passo 4 — Habilitando o UFW

Para habilitar o UFW, utilize este comando:


$ sudo ufw enable Copy
Você receberá um aviso que diz que o comando pode interromper conexões via SSH existentes. Nós já
configuramos uma regra de firewall que permite conexões via SSH, então tudo bem continuar. Responda
ao prompt com y e tecle ENTER .
O firewall agora está ativo. Execute o comando sudo ufw status verbose para ver as regras que foram
definidas. O resto deste tutorial tratará de como usar o UFW em mais detalhes, como, por exemplo,
permitir ou negar diferentes tipos de conexões.
Passo 5 — Permitindo outras conexões

https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-with-ufw-on-ubuntu-18-04-pt 3/11
29/08/2022 11:35 Como configurar um Firewall com o UFW no Ubuntu 18.04 | DigitalOcean

Neste ponto, você deve permitir todas as outras conexões às quais seu servidor precisa responder. As
conexões que você deve permitir dependem das suas necessidades específicas. Felizmente, você já
sabe escrever regras que permitem conexões baseadas em um nome de serviço ou porta; já fizemos isso
para o SSH na porta 22 . Você também pode fazer isso para:
O HTTP na porta 80, que é a porta que os servidores Web não criptografados utilizam, usando sudo
ufw allow http ou sudo ufw allow 80
O HTTPS na porta 443, que é a porta que os servidores Web criptografados utilizam, usando sudo
ufw allow https ou sudo ufw allow 443

Há várias outras maneiras de permitir outras conexões, além de especificar uma porta ou serviço
conhecido.
Faixas de portas específicas

Você pode especificar faixas de portas com o UFW. Alguns aplicativos usam várias portas, em vez de
uma única porta.
Por exemplo, para permitir conexões via protocolo X11, que usam as portas 6000 - 6007 , utilize esses
comandos:
$ sudo ufw allow 6000 : 6007 /tcp Copy
$ sudo ufw allow 6000 : 6007 /udp

Ao especificar as faixas de porta com o UFW, você deve especificar o protocolo ( tcp ou udp ) para o qual
as regras devem aplicar-se. Nós não mencionamos isso antes porque não especificar o protocolo
automaticamente permite ambos os protocolos, o que é OK na maioria dos casos.
Endereços IP específicos

Ao trabalhar com o UFW, você também pode especificar endereços IP. Por exemplo, se quiser permitir
conexões de um endereço IP específico, como um endereço IP de trabalho ou domicílio de 203.0.113.4 ,
você precisa especificar from , então o endereço IP:
$ sudo ufw allow from 203.0.113.4 Copy
Você também pode especificar uma porta específica na qual o endereço IP tem permissão para se
conectar, adicionando to any port seguido do número da porta. Por exemplo, se quiser permitir que o
endereço 203.0.113.4 se conecte à porta 22 (SSH), utilize este comando:
$ sudo ufw allow from 203.0.113.4 to any port 22 Copy
Sub-redes

Se você quiser permitir uma sub-rede de endereços IP, você pode fazer isso usando uma notação CIDR
para especificar uma máscara de rede. Por exemplo, se você quiser permitir todos os endereços IP na
faixa de 203.0.113.1 a 203.0.113.254 , você pode usar este comando:
$ sudo ufw allow from 203.0.113.0 / 24 Copy
De maneira similar, você também pode especificar a porta de destino na qual a sub-rede 203.0.113.0/24
tem permissão para se conectar. Novamente, nós vamos usar a porta 22 (SSH) como um exemplo:
$ sudo ufw allow from 203.0.113.0 / 24 to any port 22 Copy
Conexões a uma Interface de Rede Específica

Se você quiser criar uma regra de firewall que se aplique apenas a uma interface de rede específica, você
pode fazer isso especificando “allow in on” seguido do nome da interface de rede.
Você pode querer verificar suas interfaces de rede antes de continuar. Para fazer isso, utilize este
comando:
https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-with-ufw-on-ubuntu-18-04-pt 4/11
29/08/2022 11:35 Como configurar um Firewall com o UFW no Ubuntu 18.04 | DigitalOcean
$ ip addr
Copy
Output Excerpt
2: eth0 : <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state
. . .
3: eth1 : <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default
. . .

O resultado destacado indica os nomes de interfaces de rede. Normalmente, elas recebem nomes como
eth0 ou enp3s2 .

Então, se o seu servidor tiver uma interface de rede pública chamada eth0 , você pode permitir o tráfego
HTTP (porta 80 ) nela, usando este comando:
$ sudo ufw allow in on eth0 to any port 80 Copy
Fazer isso permitiria que seu servidor recebesse pedidos HTTP da internet pública.
Ou, se você quiser que seu servidor de banco de dados MySQL (porta 3306 ) escute conexões na
interface de rede privada eth1 , por exemplo, você pode usar este comando:
$ sudo ufw allow in on eth1 to any port 3306 Copy
Isso permitiria que outros servidores na sua rede privada se conectassem ao seu banco de dados
MySQL.
Passo 6 — Negando conexões

Se você não tiver mudado a política padrão para conexões de entrada, o UFW está configurado para
negar todas as conexões de entrada. Geralmente, isso simplifica o processo de criação de uma política
de firewall segura ao exigir que você crie regras que permitam explicitamente portas e endereços IP
específicos.
No entanto, algumas vezes você irá querer negar conexões específicas baseadas no endereço IP ou na
sub-rede da origem, talvez porque você saiba que seu servidor está sendo atacado a partir daí. Além
disso, se você quisesse alterar sua política de entrada padrão para permitir (allow) (o que não é
recomendado), você precisaria criar regras para negar (deny) quaisquer serviços ou endereços IP para os
quais você não quisesse permitir conexões.
Para escrever regras de deny, você pode usar os comandos descritos acima, substituindo allow por
deny.
Por exemplo, para negar conexões HTTP, você pode usar este comando:
$ sudo ufw deny http Copy
Ou se você quiser negar todas as conexões do endereço 203.0.113.4 você pode usar este comando:
$ sudo ufw deny from 203.0.113.4 Copy
Agora, vamos ver como excluir regras.
Passo 7 — Excluindo regras

Saber como excluir regras do firewall é tão importante quanto saber como criá-las. Há duas maneiras
diferentes para especificar quais regras excluir: pelo número da regra ou pela regra em si (semelhante ao
modo como as regras foram especificadas quando foram criadas). Vamos começar com o método
**excluir pelo número **da regra porque é mais fácil.
Pelo número da regra

https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-with-ufw-on-ubuntu-18-04-pt 5/11
29/08/2022 11:35 Como configurar um Firewall com o UFW no Ubuntu 18.04 | DigitalOcean

Se você estiver usando o número da regra para excluir regras do firewall, a primeira coisa que você vai
querer fazer é obter uma lista das regras do seu firewall. O comando status do UFW tem uma opção para
mostrar números ao lado de cada regra, como demonstrado aqui:
$ sudo ufw status numbered Copy

Numbered Output:
Status: active

To Action From
-- ------ ----
[ 1] 22 ALLOW IN 15.15.15.0/24
[ 2] 80 ALLOW IN Anywhere

Se decidirmos que queremos excluir a regra 2, aquela que permite conexões na porta 80 (HTTP),
podemos especificar isso em um comando delete do UFW desta forma:
$ sudo ufw delete 2 Copy
Isso mostraria um prompt de confirmação e então excluiria a regra 2, que permite conexões HTTP. Note
que se você tivesse o IPv6 habilitado, você iria querer excluir a regra correspondente ao IPv6 também.
Pela regra

A alternativa para os números das regras é especificar a regra propriamente dita a ser excluída. Por
exemplo, se quiser remover a regra allow http , você pode escrever desta forma:
$ sudo ufw delete allow http Copy
Você também poderia especificar a regra por allow 80 , em vez de pelo nome do serviço:
$ sudo ufw delete allow 80 Copy
Esse método irá excluir as regras do IPv4 e do IPv6, se houver.
Passo 8 — Verificando o status e as regras do UFW

A qualquer momento, você pode verificar o status do UFW com este comando:
$ sudo ufw status verbose Copy
Se o UFW estiver desabilitado - o que acontece por padrão, você verá algo como isso:
Output
Status: inactive

Se o UFW estiver ativo - o que deve ser o caso se você tiver seguido o Passo 3 - o resultado dirá que ele
está ativo e listará quaisquer regras que estejam definidas. Por exemplo, se o firewall estiver configurado
para permitir conexões via SSH (porta 22 ) de qualquer lugar, o resultado poderia parecer com este:
Output
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To Action From
-- ------ ----
22/tcp ALLOW IN Anywhere

Use o comando status , se quiser verificar como o UFW configurou o firewall.


https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-with-ufw-on-ubuntu-18-04-pt 6/11
29/08/2022 11:35 Como configurar um Firewall com o UFW no Ubuntu 18.04 | DigitalOcean

Passo 9 — Desabilitando ou redefinindo o UFW (opcional)

Se você decidir que não quer usar o UFW, você pode desativá-lo com este comando:
$ sudo ufw disable Copy
Quaisquer regras que você tenha criado com o UFW já não estarão mais ativas. Você sempre poderá
executar sudo ufw enable se precisar ativá-lo mais tarde.
Se você já tiver regras do UFW configuradas, mas decidir que quer começar novamente, você pode usar
o comando de redefinição:
$ sudo ufw reset Copy
Isso irá desabilitar o UFW e excluir quaisquer regras que tiverem sido definidas anteriormente. Lembre-se
de que as políticas padrão não irão voltar para suas configurações originais se, em algum momento, você
as tiver alterado. Isso deve dar a você um novo começo com o UFW.
Conclusão

Seu firewall agora está configurado para permitir (pelo menos) conexões via SSH. Certifique-se de
permitir outras conexões de entrada que seu servidor, ao mesmo tempo em que limita quaisquer
conexões desnecessárias, para que seu servidor seja funcional e seguro.
Para aprender sobre mais configurações comuns do UFW, verifique o tutorial Fundamentos do UFW:
regras comuns de firewall e comandos.

Want to learn more? Join the DigitalOcean Community!

Join our DigitalOcean community of over a million developers for free! Get help and share
knowledge in our Questions & Answers section, find tutorials and tools that will help you grow as a
developer and scale your project or business, and subscribe to topics of interest.
Sign up ->

About the authors

Erika Heidi Author


Developer Advocate
Dev/Ops passionate about open source, PHP, and Linux.

Brian Boucheron Author


Developer and author at DigitalOcean.

https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-with-ufw-on-ubuntu-18-04-pt 7/11
29/08/2022 11:35 Como configurar um Firewall com o UFW no Ubuntu 18.04 | DigitalOcean

Still looking for an answer?

Ask a question Search for more help

Was this helpful? Yes No

Comments
Leave a comment

Leave a comment...

This textbox defaults to using Markdown to format your answer.


You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace
offerings and insert the link!
Sign In or Sign Up to Comment

This work is licensed under a Creative Commons Attribution-NonCommercial- ShareAlike 4.0 International License.

Try DigitalOcean for free

Click below to sign up and get $100 of credit to try our products over 60 days!
Sign up ->

Popular Topics

Ubuntu
Linux Basics
JavaScript
React
Python
Security
Apache
https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-with-ufw-on-ubuntu-18-04-pt 8/11
29/08/2022 11:35 Como configurar um Firewall com o UFW no Ubuntu 18.04 | DigitalOcean

MySQL
Databases
Docker
Kubernetes
Ebooks
Browse all topic tags
All tutorials ->

Questions

Q&A
Ask a question
DigitalOcean Product Docs
DigitalOcean Support
Events

Tech Talks
Hacktoberfest
Deploy
Get involved

Community Newsletter
Hollie's Hub for Good
Write for DOnations
Community tools and integrations
Hatch Startup program
Congratulations on unlocking the whale ambience easter egg! Click the whale button in the bottom left of your screen to toggle
some ambient whale noises while you read.
Thank you to the Glacier Bay National Park & Preserve and Merrick079 for the sounds behind this easter egg.
Interested in whales, protecting them, and their connection to helping prevent climate change? We recommend checking out
the Whale and Dolphin Conservation.
Reset easter egg to be discovered again / Permanently dismiss and hide easter egg

GET OUR BIWEEKLY NEWSLETTER HOLLIE'S HUB FOR GOOD


Sign up for Infrastructure as a Working on improving health and
Newsletter. education, reducing inequality,
and spurring economic growth?
We'd like to help.

https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-with-ufw-on-ubuntu-18-04-pt 9/11
29/08/2022 11:35 Como configurar um Firewall com o UFW no Ubuntu 18.04 | DigitalOcean

BECOME A CONTRIBUTOR
You get paid; we donate to tech
nonprofits.

Featured on Community Kubernetes Course Learn Python 3 Machine Learning in Python Getting started with Go Intro to Kubernetes
DigitalOcean Products Virtual Machines Managed Databases Managed Kubernetes Block Storage Object Storage Marketplace VPC
Load Balancers

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the


cloud and scale up as you grow – whether you’re
running one virtual machine or ten thousand.
Learn More

Company Products Community Solutions Contact


About Products Overview Tutorials Web & Mobile Apps Support
Leadership Droplets Meetups Website Hosting Sales
Blog Kubernetes Q&A Game Development Report Abuse
Careers App Platform CSS-Tricks Streaming System Status
Customers Functions Write for DOnations VPN Share your ideas
Partners Managed Databases Droplets for Demos Startups
Referral Program Spaces Hatch Startup Program SaaS Solutions
Press Marketplace deploy by DigitalOcean Agency & Web Dev Shops
Legal Load Balancers Shop Swag Managed Cloud Hosting
Trust Platform Block Storage Research Program Providers
Investor Relations Tools & Integrations Currents Research Big Data
DO Impact API Open Source Business Solutions
Pricing Code of Conduct Cloud Hosting for
Blockchain
Documentation Newsletter Signup
Release Notes

https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-with-ufw-on-ubuntu-18-04-pt 10/11
29/08/2022 11:35 Como configurar um Firewall com o UFW no Ubuntu 18.04 | DigitalOcean
© 2022 DigitalOcean, LLC. All rights reserved.

https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-with-ufw-on-ubuntu-18-04-pt 11/11

Você também pode gostar