UFW

Differences between revisions 17 and 18
Revision 17 as of 2013-10-24 01:14:04
Size: 15662
Comment:
Revision 18 as of 2013-10-24 10:43:02
Size: 11147
Editor: rudineiw
Comment: Correção de formatação. Remoção de conteúdo antigo.
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
||<tablebgcolor="#f1f1ed" tablewidth="30%" tablestyle="margin: 0pt 0pt 1em 1em; float: right; font-size: 0.9em;"style="padding: 0.5em;">'''Conteúdo'''<<BR>><<TableOfContents(3)>> ||
Line 4: Line 2:

||<tablestyle="float:right; font-size: 0.9em; width:40%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;"><<TableOfContents(3)>>||

= Introdução =
Line 5: Line 7:
Line 9: Line 12:
Sua sintaxe de protocolo é:
{{{
sudo ufw <command> <port>/<optional: protocol>}}}
Leia mais pelo Terminal, digitando {{{man ufw}}}.


[[http://mcitp70-680.com | 70-680 exam]] [[http://mcitp70-620.com | 70-620]] [[http://mcitp70-640.com | 70-640 exam]] [[http://mcitp70-642.com | 70-642 dumps]] [[http://mcitp70-643.com | 70-643]] [[http://mcts70-680.com | 70-680]] [[http://mcts70-640.com | 70-640 dumps]] [[http://mcts70-620.com | 70-620 exam]] [[http://mcts70-642.com | 70-642]] [[http://mcts70-643.com | 70-643 exam]] [[http://www.gj-retouching.com | photo retouching]] [[http://ulcerstreatment.org | ulcer treatment]] [[http://hackfacebookid.com | how to hack facebook account]]


Friends across 50 different databases to identify where your child has online accounts, identify who your child is friends with, screen for posts with at-risk content, and view photos your child has posted or others have posted that include your child.[[http://www.mcitpmcts.com/mcitp.html | mcitp]] [[http://mcitp70-620.com | 70-620]] [[http://www.mcitpmcts.com/mcsa.html | mcsa]] [[http://mcitp70-640.com | 70-640]] [[http://www.mcitpmcts.com/mcts.html | mcts]] [[http://mcitp70-647.com | 70-647]] [[http://www.mcitpmcts.com/mcpd.html | mcpd]] [[http://mcitp70-646.com | 70-646]] [[http://www.mcitpmcts.com/mcse.html | mcse]] [[http://www.antisnoringdevicesstore.com/snoreless-pillow | snoreless pillow]] [[http://www.antisnoringdevicesstore.com/snoreless-pillow | Anti snoring pillow]]



== Como ativar o UFW ==
Essa é uma dica retirada do [[http://ubuntuforum-br.org/|Fórum Ubuntu Linux - PT]].

Abra o Terminal e digite:
|| $ sudo ufw enable '''- para habilitar o Firewall''' ||
|| $ sudo ufw disable '''- para desabilitar o Firewall''' ||

||<#fcfdad : tablewidth="100%" style="border:0;padding:0.6em;-moz-border-radius-topleft:15px;-moz-border-radius-bottomleft:15px;">{{attachment:Icones/importante.png}} ||<#fcfdad style="border:0;padding:0.6em;-moz-border-radius-topright:15px;-moz-border-radius-bottomright:15px;color:#000000;">'''NOTA:''' A menos que se tenha usado definir padrões para o ufw, negar ou permitir, entradas e saídas, ele permitirá um trafego normal em vários serviços. ||

Outras habilitações citadas na fonte da dica, podem ser vistas nessa tabela:
|| $ sudo ufw default allow – Permitir todas as conexões por padrão ||
|| $ sudo ufw default deny – Drop (bloqueia) todas as conexões por default ||
|| $ sudo ufw status – Regras e estado atual do Firewall ||
|| $ sudo ufw allow port – Permitir tráfego em determinada porta (necessário escolher qual) ||
|| $ sudo ufw deny port – Bloquear porta ||
|| $ sudo ufw deny from ip – Bloquear endereço ip ||
|| $ sudo ufw logging on - Ativando gravação de logs do ufw ||
|| $ sudo ufw logging off - Desativando gravação de logs do ufw ||

{{attachment:Icones/informacao.png}} '''Teste o firewall:''' http://wiki.ubuntu-br.org/Testandofirewall

== Configurando o ICMP ==
Por padrão o UFW não ativa o controle de filtragem para o protocolo [[http://pt.wikipedia.org/wiki/Internet_Control_Message_Protocol|ICMP]], prevenindo ataques de negação de serviço.

Mas seguindo essa dica postada pelo usuário linuser104, no [[http://ubuntuforum-br.org/|Fórum Ubuntu Linux - PT]], editando um arquivo de configuração do UFW:

{{{
sudo gedit /etc/ufw/before.rules }}}

Trocando a linha:

{{{
-A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT}}}

por:

{{{
-A ufw-before-input -p icmp --icmp-type echo-request -j DROP}}}

Depois reinicie o firewal UFW com o comando:

{{{
sudo restart ufw}}}

= Fonte e adaptação =
 * https://help.ubuntu.com/community/UFW
 * http://andregondim.eti.br/?p=229
 * http://ubuntuforum-br.org/index.php/topic,36331.msg216433.html#msg216433
 * http://ubuntuforum-br.org/index.php/topic,82016.msg454117.html#msg454117

= Créditos =
||'''Autor''': RicardoJorge ||'''Data''': 01/03/2010 ||'''Mantenedor(es)''': RicardoJorge ||
----
CategoryDocumentacao


#title Uncomplicated Firewall - UFW
||<tablestyle="float:right; font-size: 0.9em; width:40%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;"><<TableOfContents(2)>>||

= Introdução =
Line 136: Line 66:
'''exemplo:''' Permitir pacotes tcp e udp de entrada na porta 53
 {{{
'''Exemplo:''' permitir pacotes tcp e udp de entrada na porta 53:
{{{
Line 140: Line 70:
'''exemplo:''' Permitir pacotes tcp de entrada na porta 53
 {{{
'''Exemplo:''' permitir pacotes tcp de entrada na porta 53:
{{{
Line 144: Line 74:
'''exemplo:''' Permitir pacotes udp de entrada na porta 53
 {{{
'''Exemplo:''' Permitir pacotes udp de entrada na porta 53:
{{{
Line 154: Line 84:
'''exemplo:''' Rejeitar pacotes de entrada tcp e udp na porta 53
 {{{
'''Exemplo:''' rejeitar pacotes de entrada tcp e udp na porta 53:
{{{
Line 158: Line 88:
'''exemplo:''' Rejeitar pacotes de entrada tcp na porta 53
 {{{
'''Exemplo:''' rejeitar pacotes de entrada tcp na porta 53:
{{{
Line 162: Line 92:
'''exemplo:''' Rejeitar pacotes de entrada udp na porta 53
 {{{
'''Exemplo:''' rejeitar pacotes de entrada udp na porta 53:
{{{
Line 189: Line 119:
'''exemplo:''' permitir ssh por nome
 {{{
'''Exemplo:''' permitir ssh por nome:
{{{
Line 199: Line 129:
'''exemplo:''' recusar ssh por nome
 {{{
'''Exemplo:''' recusar ssh por nome:
{{{
Line 210: Line 140:
}}}

A saida será algo como:
{{{
Line 223: Line 156:
se o ufw não estivesse ativado a saída seria:

{{{
sudo ufw status
Se o ufw não estivesse ativado a saída seria:
{{{
Line 231: Line 162:
Para habilitar o registro, use: {{{ Para habilitar o registro, use:
{{{
Line 234: Line 166:
Para desabilitar o registro, use: {{{
Para desabilitar o registro, use:
{{{
Line 249: Line 183:
'''exemplo:'''Permitir pacotes de 207.46.232.182:
 {{{
'''Exemplo:''' permitir pacotes de 207.46.232.182:
{{{
Line 255: Line 189:

Você pode usar uma máscara de sub-rede :
Você pode usar uma máscara de sub-rede:
Line 267: Line 199:
'''exemplo:''' permitir acesso do endereço IP 192.168.0.4 à porta 22 para todos os protocolos
 {{{
'''Exemplo:''' permitir acesso do endereço IP 192.168.0.4 à porta 22 para todos os protocolos:
{{{
Line 277: Line 209:
'''exemplo:''' permitir acesso do endereço 192.168.0.4 à porta 22 usando TCP
 {{{
'''Exemplo:''' permitir acesso do endereço 192.168.0.4 à porta 22 usando TCP:
{{{
Line 314: Line 246:
'''exemplo:'''Para bloquear pacotes de 207.46.232.182:
 {{{
'''Exemplo:''' para bloquear pacotes de 207.46.232.182:
{{{
Line 324: Line 256:
'''exemplo:''' negar endereço ip 192.168.0.1 de acessar a porta 22 para todos os protocolos
 {{{
'''Exemplo:''' negar endereço ip 192.168.0.1 de acessar a porta 22 para todos os protocolos:
{{{
Line 331: Line 263:
Line 333: Line 264:
Line 352: Line 282:
'''Cenário:''' Você quer bloquear acesso à porta 22 dos IPs 192.168.0.1 e 192.168.0.7 mas permitir todos os outros 192.168.0.x IPs para ter acesso à porta 22 usando tcp '''Cenário:''' Você quer bloquear acesso à porta 22 dos IPs 192.168.0.1 e 192.168.0.7 mas permitir todos os outros 192.168.0.x IPs para ter acesso à porta 22 usando tcp:
Line 361: Line 291:
This puts the specific rules first and the generic second. Once a rule is matched the others will not be evaluated (see manual below) so you must put the specific rules first. '''As rules change you may need to delete old rules to ensure that new rules are put in the proper order.'''
Line 367: Line 296:
}}}

{{{
Line 378: Line 310:
'''Mudança de cenário:''' Você quer bloquear acesso à porta 22 para 192.168.0.3, 192.168.0.1 e 192.168.0.7. '''Mudança de cenário:''' Você quer bloquear acesso à porta 22 para 192.168.0.3, 192.168.0.1 e 192.168.0.7:
Line 382: Line 314:
}}}
{{{
Line 383: Line 317:
}}}

{{{
Line 391: Line 328:
}}}

{{{
Line 393: Line 332:
}}}
{{{
Line 394: Line 335:
}}}
{{{
Line 395: Line 338:
}}}

{{{
Line 413: Line 358:
 {{{ {{{
Line 416: Line 361:
Line 419: Line 365:
----
CategoryNetworking CategorySecurity

UFW - Uncomplicated Firewall

Introdução

O aplicativo padrão de firewall para do Ubuntu, a partir da versão 8.04LTS é UFW.

Por padrão UFW está habilitado, mas todas as portas estão abertas (caso contrário não haveria acesso à Internet após a instalação).

Apesar de ser um programa para ser acessado via Terminal, ele pode também ser prático mesmo para usuários inexperientes simplesmente ativarem ativarem o firewall. O Gufw é sua interface gráfica.

Para uma introdução a firewalls, por favor, acesse Firewall.

UFW - Uncomplicated Firewall

A ferramenta de configuração de firewall padrão para o Ubuntu é o ufw. Desenvolvido para facilitar a configuração do iptables, o ufw fornece um jeito fácil de criar um firewall IPv4 ou IPv6. Por padrão, o UFW é desativado.

Gufw é uma interface gráfica de usuário disponível para o UFW.

Sintaxe Básica e Exemplos

Regras padrão são boas para maioria dos usuários comuns

Quando você habilita o UFW, ele usa um conjunto de regras padrão (profile) que deve ser bom para a maioria dos usuários domésticos. Pelo menos isto é o objetivo do desenvolvedores do Ubuntu. Em suma, todos os pacotes de entrada ('incoming') estão sendo rejeitados, com algumas exceções para tornar as coisas mais fáceis para os usuários domésticos.

Habilitar e Desabilitar

Habilitar UFW

Para habilitar o UFW com o conjunto de regras padrão:

sudo ufw enable

Para verificar o estado do UFW:

sudo ufw status verbose

A saída deve ser assim:

youruser@yourcomputer:~$ sudo ufw status verbose
[sudo] password for youruser:
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing)
New profiles: skip
youruser@yourcomputer:~$

Note que por padrão, os pacotes de entrada estão sendo recusados. Existem exceções, as quais podem ser visualizadas com o comando:

sudo ufw show raw

Você também pode ler os arquivos de regras em /etc/ufw (os arquivos cujos nomes terminam em .rules).

Desabilitar o UFW

Para desabilitar o ufw, use:

sudo ufw disable

Permitindo e Recusando (regras específicas)

Permitindo

sudo ufw allow <porta>/<opcional: protocolo>

Exemplo: permitir pacotes tcp e udp de entrada na porta 53:

sudo ufw allow 53

Exemplo: permitir pacotes tcp de entrada na porta 53:

sudo ufw allow 53/tcp

Exemplo: Permitir pacotes udp de entrada na porta 53:

sudo ufw allow 53/udp

Rejeitar

sudo ufw deny <port>/<optional: protocol>

Exemplo: rejeitar pacotes de entrada tcp e udp na porta 53:

sudo ufw deny 53

Exemplo: rejeitar pacotes de entrada tcp na porta 53:

sudo ufw deny 53/tcp

Exemplo: rejeitar pacotes de entrada udp na porta 53:

sudo ufw deny 53/udp

Apagar Regra Existente

Para apagar uma regra, execute o comando original com a falavra 'delete' como prefixo. Por exemplo, se a regra original era:

ufw deny 80/tcp

Use o seguinte comando para apagá-la:

sudo ufw delete deny 80/tcp

Serviços

Você pode também permitir ou negar por nome de serviço visto que o ufw lê de /etc/service Para ver uma lista de serviços:

less /etc/services

Permitir por nome de serviço

sudo ufw allow <nome do serviço>

Exemplo: permitir ssh por nome:

sudo ufw allow ssh

Rejeitar por nome de serviço

sudo ufw deny <nome do serviço>

Exemplo: recusar ssh por nome:

sudo ufw deny ssh

Estado

Verificar o estado do ufw dirá a você se o ufw está habilitado ou desabilitado e também listará as regras ufw que são aplicadas ao seu iptables.

Para verificar o estado do ufw:

sudo ufw status

A saida será algo como:

Firewall loaded

To                         Action  From
--                         ------  ----
22:tcp                     DENY    192.168.0.1
22:udp                     DENY    192.168.0.1
22:tcp                     DENY    192.168.0.7
22:udp                     DENY    192.168.0.7
22:tcp                     ALLOW   192.168.0.0/24
22:udp                     ALLOW   192.168.0.0/24

Se o ufw não estivesse ativado a saída seria:

Status: inactive

Registrando

Para habilitar o registro, use:

sudo ufw logging on

Para desabilitar o registro, use:

sudo ufw logging off

Sintaxe Avançada

Você também pode utilizar uma sintaxe mais completa, especificando os endereços da fonte e do destino, portas e protocolos.

Permitir Acesso

Esta seção mostra como permitir acesso específico.

Permitir IP Específico

sudo ufw allow from <endereço ip>

Exemplo: permitir pacotes de 207.46.232.182:

sudo ufw allow from 207.46.232.182

Permitir Sub-rede Específica

Você pode usar uma máscara de sub-rede:

sudo ufw allow from 192.168.1.0/24

Permitir por Porta e IP Específicos

sudo ufw allow from <endereço IP> to <protocolo> port <número da porta>

Exemplo: permitir acesso do endereço IP 192.168.0.4 à porta 22 para todos os protocolos:

sudo ufw allow from 192.168.0.4 to any port 22

Permitir por Porta, Endereço IP e Protocolo Específico

sudo ufw allow from <endereço ip> to <protocolo> port <número da porta> proto <nome do protocolo>

Exemplo: permitir acesso do endereço 192.168.0.4 à porta 22 usando TCP:

sudo ufw allow from 192.168.0.4 to any port 22 proto tcp

Habilitar PING

Nota: Segurança por obscuridade talvez seja de um benefício real muito pequeno com os scripts cracker modernos. Por padrão, o UFW permite requisições ping. Você talvez deseje deixar requisições ping (icmp) habilitadas para diagnosticar problemas de rede.

Para desabilitar requisições ping (icmp), você precisa editar /etc/ufw/before.rules e remover as seguintes linhas:

# ok icmp codes
-A ufw-before-input -p icmp --icmp-type destination-unreachable -j ACCEPT
-A ufw-before-input -p icmp --icmp-type source-quench -j ACCEPT
-A ufw-before-input -p icmp --icmp-type time-exceeded -j ACCEPT
-A ufw-before-input -p icmp --icmp-type parameter-problem -j ACCEPT
-A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT

ou mudar "ACCEPT" para "DROP"

# ok icmp codes
-A ufw-before-input -p icmp --icmp-type destination-unreachable -j DROP
-A ufw-before-input -p icmp --icmp-type source-quench -j DROP
-A ufw-before-input -p icmp --icmp-type time-exceeded -j DROP
-A ufw-before-input -p icmp --icmp-type parameter-problem -j DROP
-A ufw-before-input -p icmp --icmp-type echo-request -j DROP

Negar Acesso

Negar por IP Específico

sudo ufw deny from <ip address>

Exemplo: para bloquear pacotes de 207.46.232.182:

sudo ufw deny from 207.46.232.182

Negar por portas e endereço IP específicos

sudo ufw deny from <endereço ip> to <protocolo> port <número da porta>

Exemplo: negar endereço ip 192.168.0.1 de acessar a porta 22 para todos os protocolos:

sudo ufw deny from 192.168.0.1 to any port 22

Trabalhando com regras numeradas

Listando regras com um número de referência

Para mostrar a ordem e o número de identificação das regras, você pode utilizar o seguinte comando:

sudo ufw status numbered

Editando regras numeradas

Apagando regras numeradas

Você pode então apagar regras utilizando o número. Isto apagará a primeira regra, as demais serão deslocadas para cima para preencher a lista.

sudo ufw delete 1

Inserir regra numerada

sudo ufw insert 1 allow from <endereço ip>

Exemplo Avançado

Cenário: Você quer bloquear acesso à porta 22 dos IPs 192.168.0.1 e 192.168.0.7 mas permitir todos os outros 192.168.0.x IPs para ter acesso à porta 22 usando tcp:

sudo ufw deny from 192.168.0.1 to any port 22
sudo ufw deny from 192.168.0.7 to any port 22
sudo ufw allow from 192.168.0.0/24 to any port 22 proto tcp

Isso coloca as regras específicas em primeiro e as genéricas em segundo plano. Uma vez uma regra é correspondida, as outras não irão ser validadas (veja manual abaixo). Portanto, você deve colocar as regras específicas primeiro.Conforme as regras mudam, você talvez precise apagar regras antigas para garantir que estas novas regras estão colocadas na ordem apropriada.

Para verificar a ordem das suas regras você pode verificar o estado; para o cenário, a saída abaixo é a saída desejada para que as regras funcionem apropriadamente:

sudo ufw status

Firewall loaded

To                         Action  From
--                         ------  ----
22:tcp                     DENY    192.168.0.1
22:udp                     DENY    192.168.0.1
22:tcp                     DENY    192.168.0.7
22:udp                     DENY    192.168.0.7
22:tcp                     ALLOW   192.168.0.0/24

Mudança de cenário: Você quer bloquear acesso à porta 22 para 192.168.0.3, 192.168.0.1 e 192.168.0.7:

sudo ufw delete allow from 192.168.0.0/24 to any port 22

sudo ufw status

Firewall loaded

To                         Action  From
--                         ------  ----
22:tcp                     DENY    192.168.0.1
22:udp                     DENY    192.168.0.1
22:tcp                     DENY    192.168.0.7
22:udp                     DENY    192.168.0.7

sudo ufw deny 192.168.0.3 to any port 22

sudo ufw allow 192.168.0.0/24 to any port 22 proto tcp

sudo ufw status

Firewall loaded

To                         Action  From
--                         ------  ----
22:tcp                     DENY    192.168.0.1
22:udp                     DENY    192.168.0.1
22:tcp                     DENY    192.168.0.7
22:udp                     DENY    192.168.0.7
22:tcp                     DENY    192.168.0.3
22:udp                     DENY    192.168.0.3
22:tcp                     ALLOW   192.168.0.0/24

Outros Recursos

  • Para instruções de utilização do ufw, primeiramente veja guia para servidores oficial.

  • A sintaxe e o manual mais recente podem ser obtidos através do comando:

man ufw
  • Firewall - wiki homepage for firewall related documentation.

  • Iptables - interface to the netfilter subsystem in the Linux kernel.

  • Gufw - Graphic User Interface for UFW.

UFW (last edited 2013-10-24 10:43:02 by rudineiw)