Firewall: mudanças entre as edições
Sem resumo de edição |
|||
Linha 32: | Linha 32: | ||
:Cada '''Chain''' é um conjunto de regras utilizadas para '''filtrar pacotes'''. Por default há três grupos de regras ('''INPUT''', '''FORWARD''' e '''OUTPUT'''), todas com a política '''ACCEPT''' (aceitar) como padrão. Observa-se também o cabeçalho de cada coluna que formam as regras: '''target''' (alvo), '''prot''' (protocolo), '''opt''' (opções), '''source''' (fonte) e '''destination''' (destino). | :Cada '''Chain''' é um conjunto de regras utilizadas para '''filtrar pacotes'''. Por default há três grupos de regras ('''INPUT''', '''FORWARD''' e '''OUTPUT'''), todas com a política '''ACCEPT''' (aceitar) como padrão. Observa-se também o cabeçalho de cada coluna que formam as regras: '''target''' (alvo), '''prot''' (protocolo), '''opt''' (opções), '''source''' (fonte) e '''destination''' (destino). | ||
=== | ===Exemplos de filtros de pacotes=== | ||
Referência: <ref name=MORIMOTO>MORIMOTO, C. E. Seridores Linux: Guia prático, Sul Editores, Porto Alegre, 2013.</ref>. | |||
1) Exemplo de regra que pode ser utilizada em um computador desktop conectado a Internet para ignorar conexões vindas em qualquer porta TCP: | |||
:*Execute a regra no seu Servidor: | :*Execute a regra no seu Servidor: | ||
sudo iptables -A INPUT -p tcp --syn -j DROP | sudo iptables -A INPUT -p tcp --syn -j DROP | ||
Linha 46: | Linha 48: | ||
sudo iptables -D INPUT -p tcp --syn -j DROP | sudo iptables -D INPUT -p tcp --syn -j DROP | ||
:*Teste novamente o acesso ao '''servidor Web'''. | :*Teste novamente o acesso ao '''servidor Web'''. | ||
2) Exemplo de regra que permite aos computadores da rede interna de se conectar normalmente, mas bloqueia tudo que vem da Internet em qualquer porta TCP ou UDP: | |||
sudo iptables -A INPUT -p tcp --syn -s 192.168.0.0/255.255.255.0 -j ACCEPT | |||
sudo iptables -A INPUT -p tcp --syn -j DROP | |||
sudo iptables -A INPUT -p udp -j DROP | |||
3) Regra equivalente a anterior, mas aceita conexões SSH: | |||
sudo iptables -A INPUT -p tcp --destination-port 22 -j ACCEPT | |||
sudo iptables -A INPUT -p tcp --syn -s 192.168.0.0/255.255.255.0 -j ACCEPT | |||
sudo iptables -A INPUT -p tcp --syn -j DROP | |||
sudo iptables -A INPUT -p udp -j DROP | |||
;Sequência de análise das regras: O '''Iptables''' processa os comandos em sequência, regra por regra. Se um pacote vem para a porta 22 ele é aceito antes de ir para as demais regras. Se não passou pela primeira regra mas vem de um dos endereços da rede local é imediatamente aceito. Os demais vão para as duas últimas regras e acabam recusados <ref name=MORIMOTO/>. | |||
==Referências== | ==Referências== |
Edição das 20h54min de 23 de fevereiro de 2016
Firewall
Um Firewall tem por objetivo aplicar políticas de segurança no acesso a um rede ou servidor. O firewall pode ser do tipo filtros de pacotes, atuando no nível da camada IP, ou Servidor Proxy, atuando no nível das aplicações.
Firewall com Iptables
O Iptables é uma ferramenta que permite implementar regras para firewall, disponível em todas as distribuições Linux.
O Iptables normalmente já vem instalado no Ubuntu.
As páginas man fornecem referência para utilizar o comando iptables para construir regras para filtros de pacotes':
man iptables
Para verificar as regras existentes, pode utilizar o comando:
sudo iptables -L
Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
- Cada Chain é um conjunto de regras utilizadas para filtrar pacotes. Por default há três grupos de regras (INPUT, FORWARD e OUTPUT), todas com a política ACCEPT (aceitar) como padrão. Observa-se também o cabeçalho de cada coluna que formam as regras: target (alvo), prot (protocolo), opt (opções), source (fonte) e destination (destino).
Exemplos de filtros de pacotes
Referência: [1].
1) Exemplo de regra que pode ser utilizada em um computador desktop conectado a Internet para ignorar conexões vindas em qualquer porta TCP:
- Execute a regra no seu Servidor:
sudo iptables -A INPUT -p tcp --syn -j DROP
- Verifique o resultado com:
sudo iptables -L
Chain INPUT (policy ACCEPT) target prot opt source destination DROP tcp -- anywhere anywhere tcp flags:FIN,SYN,RST,ACK/SYN
- Teste o acesso ao servidor Web de seu servidor;
- Elimine a regra com o comando:
sudo iptables -D INPUT -p tcp --syn -j DROP
- Teste novamente o acesso ao servidor Web.
2) Exemplo de regra que permite aos computadores da rede interna de se conectar normalmente, mas bloqueia tudo que vem da Internet em qualquer porta TCP ou UDP:
sudo iptables -A INPUT -p tcp --syn -s 192.168.0.0/255.255.255.0 -j ACCEPT sudo iptables -A INPUT -p tcp --syn -j DROP sudo iptables -A INPUT -p udp -j DROP
3) Regra equivalente a anterior, mas aceita conexões SSH:
sudo iptables -A INPUT -p tcp --destination-port 22 -j ACCEPT sudo iptables -A INPUT -p tcp --syn -s 192.168.0.0/255.255.255.0 -j ACCEPT sudo iptables -A INPUT -p tcp --syn -j DROP sudo iptables -A INPUT -p udp -j DROP
- Sequência de análise das regras
- O Iptables processa os comandos em sequência, regra por regra. Se um pacote vem para a porta 22 ele é aceito antes de ir para as demais regras. Se não passou pela primeira regra mas vem de um dos endereços da rede local é imediatamente aceito. Os demais vão para as duas últimas regras e acabam recusados [1].
Referências
--Evandro.cantu (discussão) 10h01min de 23 de fevereiro de 2016 (BRT)