Há para o Linux diversas opções de interfaces gráficas de firewall, e um dos mais notáveis até hoje é o Firestarter. Entretanto, este já conta com o peso da idade e a falta de atualizações, permitindo com que ele deixasse de ser 100% compatível com compartilhamento de rede via Network Manager, por exemplo. É só você desligar o notebook que está ligado via cabo cross-over no seu PC, que o Firestarter acusa uma interface de rede caída e se recusa a ficar ativado.
Se você acha o Firestarter uma coisa muito ‘newbie’, e não quer estragar suas unhas no cabeludo Iptables, não se preocupe: a equipe do Ubuntu se encarregou de desenvolver um firewall bem simples para você. Ele é o UFW, sigla de Uncomplicated Firewall, ou ‘firewall descomplicado’. Ele funciona via linha de comando, e possui uma série de opções disponíveis e e flexíveis, além de uma sintaxe muito simplificada no terminal que o Iptables.
Há ainda para os leigos a opção de usar o GUFW, que nada mais é do que uma interface gráfica para o UFW, os dois interagindo com as mesmas configurações. Só são dois modos diferentes de se ver a mesma coisa:
No Debian, você pode instalar através do Synaptic, procurando pelo pacote “gufw
“, ou usando o “apt-get
“:
$ sudo apt-get update $ sudo apt-get install gufw
Vale lembrar que o pacote gufw já ‘puxa’ como dependência o ufw. O UFW na verdade é o aplicativo de firewall padrão do Ubuntu desde a versão 8.04 LTS; ele é habilitado por padrão, mas todas as portas ficam liberadas até que se mexa do contrário.
A sintaxe básica do UFW é:
$ sudo ufw <command> <port>/<optional: protocol>
Para desativar e ativar, respectivamente, o UFW, os comandos são:
$ sudo ufw disable $ sudo ufw enable
Para saber o status, bem como as regras definidas:
$ sudo ufw status Estado: ativo Para Ação De ---- ---- -- Anywhere ALLOW 192.168.1.0/24 Anywhere ALLOW 192.168.1.100
Outros comandos úteis incluem:
$ 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
enable
“, ou “Habilitado
” na interface GUFW, ele já inicializa junto com o sistema e ficará sempre rodando em segundo plano, mesmo fechando o terminal ou a interface.Já a interface gráfica simplificada, o GUFW, fica disponível em: ‘Sistema > Administração > Configuração de Firewall’. Uma vez ativo, ele fica trabalhando em segundo plano mesmo se a interface for fechada.
Também é possível, através do GUFW, adicionar e remover regras (através dos botões na interface), de maneira pré-configurada, simples ou avançada, a seu gosto:
Ainda é possível, ao contrário que muitos pensavam, ativar o log e ainda exibir um relatório sobre as portas em uso no sistema:
Compartilhando a conexão com o UFW
Tenho uma só placa de rede, e precisava compartilhar a Internet usando o UFW, já que o Firestarter parava cada vez que o notebook ligado à placa de rede do meu PC se desligava. E não, eu não queria quebrar a cabeça com o Iptables.
Apesar de sofrer um pouco tentando sozinho, encontrei algum escasso material sobre isso na Internet. Então vamos colocar as mãos à massa para compartilhar a conexão entre os PCs da sua rede, ou seja, fazer o famoso NAT.
Com seu editor favorito, no meu caso o Gedit, abra o arquivo “/etc/default/ufw
“, como em:
$ sudo gedit /etc/default/ufw
Localize e altere o parâmetro “DEFAULT_FORWARD_POLICY
” para:
DEFAULT_FORWARD_POLICY="ACCEPT"
Salve o arquivo. Agora feche-o e abra o “/etc/ufw/sysctl.conf
“:
$ sudo gedit /etc/ufw/sysctl.conf
E, para habilitar o forwarding, descomente o parâmetro “net.ipv4.ip_forward
” (tirando o # de sua frente), e altere seu valor para 1, deixando-o como abaixo:
net.ipv4.ip_forward=1
Salve o arquivo. O penúltimo passo é adicionar o NAT à configuração do UFW. Para isso, abra o arquivo “/etc/ufw/before.rules
“:
$ sudo gedit /etc/ufw/before.rules
Adicione um conteúdo no início do arquivo, logo após o cabeçalho. Tal cabeçalho costuma ser assim:
# # rules.before # # Rules that should be run before the ufw command line added rules. Custom # rules should be added to one of these chains: # ufw-before-input # ufw-before-output # ufw-before-forward #
Não modifique outras linhas, apenas adicione estas abaixo logo após o cabeçalho, senão o firewall não funcionará corretamente.
# nat Table rules *nat :POSTROUTING ACCEPT [0:0] # Forward traffic through ppp0 - Change to match you out-interface -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE # don't delete the 'COMMIT' line or these nat table rules won't # be processed COMMIT
Não se esqueça de trocar o “192.168.1.0
” pelo IP do servidor, e “eth0
” pela sua placa da Internet, ou se você tem ADSL, para “ppp0
“.
O último passo é permitir que os micros da rede interna possam se comunicar com o servidor (compartilhamento de impressoras, NFS, etc), permitindo a entrada do tráfego da rede interna para o servidor:
$ sudo ufw allow from 192.168.1.0/24
E, para fechar, reinicialize o UFW para habilitar as alterações:
$ sudo ufw disable && sudo ufw enable
Vale lembrar que a política padrão do UFW é liberar todas as conexões de saída e bloquear as de entrada, o que é recomendado – vá liberando as entradas conforme necessário. Isso pode ser facilmente feito através da interface gráfica GUFW, em sua tela inicial.
Bloqueando Ping
Para que seu sistema seja 100% aprovado em testes de firewall online por aí, é necessário você desabilitar as respostas do comando Ping. Para isso, abra novamente o arquivo “/etc/ufw/before.rules
“, e comente a última linha referente ao ICMP:
# 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
Salve o arquivo e reinicie com o:
$ sudo ufw disable && sudo ufw enable
Você pode testar seu firewall em:
https://www.grc.com/x/ne.dll?bh0bkyd2
Boa diversão!
Referências:
http://gufw.tuxfamily.org/pt/
http://wiki.ubuntu-br.org/UFW
https://www.hardware.com.br/guias/ubuntu/firestarter-gufw.html
https://www.nowhere.dk/articles/ufw-blocking-outgoing-connections
https://www.nowhere.dk/articles/tip_nat_with_ubuntus_ufw_firewall
Deixe seu comentário