“Firewall”
Grupo:
José Augusto Grassi
Leandro Cezario Leite
Luis Rafael de Souza
Disciplina deTópicos em Engenharia de Computação
Prof. Edmar Rezende
“Firewall”
Apresentação
> O que é?
> Como Funciona?
> Quais suas Aplicações?
> Para que Utilizar?
> Como Configurar? (Shell Script - Linux)
> Como Configurar? (Modo Visual - Windows)
“Firewall”
O Que é?
O Firewall Isola a rede interna de uma
organização da Internet pública,
permitindo que alguns pacotes
passem e bloqueando outros.
O firewall é um mecanismo que
atua como "defesa" de um
computador ou de uma rede,
controlando o acesso ao sistema
por meio de regras e a filtragem
de dados.
Um firewall pode ser um dispositivo software ou hardware
“Firewall”
Como Funciona
Firewall funcionam a partir de regras ou
valores(portas,ips,etc) que são configurados para que
este saiba o que deve ou não passar. A seguir será
explicado 2 funcionamentos de Firewall por Filtragem
de Pacotes e Firewall de Aplicação.
“Firewall”
Como Funciona - Valores
“Firewall”
Como Funciona – Regras sem estado
“Firewall”
Como Funciona – Regras com estado
“Firewall”
Suas Aplicações - Filtragem de pacotes (stateless)
> Conjunto de Regras
> Normalmente Usado em roteador de filtragem
> Filtragem Baseada
> Endereço IP de origem;
> Endereço IP de destino;
> Portas TCP/UDP de origem;
> Portas TCP/UDP de destino.
> Necessidade da rede
> Possiveis Acoes
> ACCEPT
> DROP
> REJECT
> MASQUERADE
> REDIRECT
> RETURN
“Firewall”
Suas Aplicações - Filtragem de pacotes (stateless) | Serviços e
protocolos
> Tftp
> X Windows, Open Windows
> RPC
> TELNET
> FTP
> SMTP
> DNS
“Firewall”
Suas Aplicações - Filtragem de pacotes (stateless) | Problemas
> Regras complexas
> Perda de Desempenho da rede
> não ser eficaz
“Firewall”
Suas Aplicações - Firewall de Aplicação (stateful)
> Exemplos de Aplicações:
> SMTP
> FTP
> HTTP
> Conhecidos como proxy Gateway
> Numero de Sessao do TCP
> Acompanhamento Preciso
> Log`s e ferramentas de auditoria
> Redes de médio e grande porte
“Firewall”
Suas Aplicações - Firewall de Aplicação (stateful) | Funcionamento
“Firewall”
Suas Aplicações - Firewall de Aplicação (stateful) | Problemas
“Firewall”
Suas Aplicações - Firewall de Aplicação (stateful) | Configuração
“Firewall”
Para que Usar
1 - o firewall pode ser usado para ajudar a impedir
que sua rede ou seu computador seja acessado sem
autorização. Assim, é possível evitar que informações
sejam capturadas ou que sistemas tenham seu
funcionamento prejudicado pela ação de hackers;
2 - o firewall é um grande aliado no combate a vírus e
cavalos-de-tróia, uma vez que é capaz de bloquear
portas que eventualmente sejam usadas pelas "pragas
digitais" ou então bloquear acesso a programas não
autorizados;
“Firewall”
Para que Usar
3 - em redes corporativas, é possível evitar que
os usuários acessem serviços ou sistemas
indevidos, além de ter o controle sobre as ações
realizadas na rede, sendo possível até mesmo
descobrir quais usuários as efetuaram
Com um Firewall você poderá evitar diversos tipos de
ataques. Veja abaixo uma lista de ataques que podem ser
evitados:
- Ataques DoS
- Bloquear serviços
- Bloquear acessos não-autorizados
- Controlar o acesso em sua rede
- Bloquear qualquer e todo tipo de conexão SYN
“Firewall”
Como Configurar? (Shell Script – Linux) | O que é preciso saber
Na configuração do firewall com o iptables, é preciso
saber quais são as regras a serem utilizadas para rodar
o Firewall:
Regras do firewall
-INPUT: É utilizada quando o destino final é a própria
máquina firewall.
-OUTPUT: Qualquer pacote gerado pela máquina
firewall e que deva sair para a rede será tratado pela
regra OUTPUT.
-FORWARD: Qualquer pacote que atravessa o firewall,
oriundo de uma máquina e direcionado à outra, será
tratado pelo chain Forward.
“Firewall”
Como Configurar? (Shell Script – Linux) | O que é preciso saber
As regras do firewall são compostas da seguinte
maneira:
#iptables [-t tabela] [opção] [chain] [dados] -j
[ação]
Principais operações de manipulação de chains:
-N Cria uma nova chain
-X Deleta uma chain [vazia]
-P Muda as regras para uma chain padrão
-L Lista as regras de uma chain
-F "Flush" as regras fora da chain
-Z Zera os pacotes e 'byte couters' de todas as
regras de uma chain
“Firewall”
Como Configurar? (Shell Script – Linux) | Exemplos de configuração do
Firewall
#iptables -A INPUT -P icmp -j DROP
Acima, um exemplo que cria uma regra que nega todos os pacotes ICMP vindos do
servidor, em que se encontra o firewall.
#iptables -D INPUT -p icmp -j DROP
Isso apaga a regra setada acima
#iptables -A INPUT -s 200.204.120.0/24 -j DROP
A regra citada faz com que todos os pacotes vindos de qualquer endereço da clase
de ip 200.204.120.0
#iptables -A OUTPUT -p icmp -d ! 200.201.120.0/24 -j ACCEPT
Esta regra só permitirá pacotes icmp para máquinas que estejam em qualquer
endereço ip, menos no citado acima.
-
“Firewall”
Como Configurar? (Shell Script – Linux) | Exemplos de configuração do
Firewall
>Configurando o firewall contra ataques
Abaixo, um exemplo de configuração de um firewall contra os ataques mais constantes
realizados pelos hackers em servidores da Web. Setando essas configurações, o servidor
configurado dificilmente será atacado, veja:
Proteção contra Syn-floods:
Ataques do tipo DoS - um usuário envia um grande núero de pacotes SYN ao servidor, que não
suportará a grande carga de pacotes enviados e cairá. Setando a configuração abaixo, isso
poderá ser evitado:
#iptables -A FORWARD -p tcp -syn -m limit -limit 1/s -j ACCEPT
Port scanners ocultos
Os famosos port scanners estão à solta. A configuração abaixo impede conexões executadas
pelos port scanners:
#iptables -A FORWARD -p tcp -tcp-flags SYN,ACK,FIN,RST RST -m zlimit -limit 1/s -j ACCEPT
Pings
Evita alguns tipos maliciosos de pacotes que podem ser enviados ao seu servidor:
iptables -A FORWARD -p icmp -icmp -icmp-type echo-request -m limit -limit 1/s -j ACCEPT
“Firewall”
Como Configurar? (Shell Script - Linux)
# Abre para uma faixa de endereços:
iptables -A INPUT -s 192.168.1.0/255.255.255.0 -j ACCEPT
# Aceita tudo na interface de rede local:
iptables -A INPUT -i eth0 -j ACCEPT
# Verifica tanto a interface quanto a faixa de endereços de origem:
iptables -A INPUT -s 192.168.1.0/255.255.255.0 -i eth0 -j ACCEPT
# Abre uma porta (inclusive para a Internet):
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# Abre um conjunto de portas:
iptables -A INPUT -m multiport -p tcp --dport 22,80,443 -j ACCEPT
# Abre uma porta para um IP específico:
iptables -A INPUT -p tcp -s 200.231.14.16 --dport 22 -j ACCEPT
“Firewall”
Como Configurar? (Shell Script - Linux)
# Abre um intervalo de portas:
iptables -A INPUT -p tcp --dport 6881:6889 -j ACCEPT
# Verifica tanto o endereço IP quanto o MAC antes de autorizar a
conexão:
iptables -A INPUT -s 192.168.1.100 -m mac --mac-source
00:11:D8:76:59:2E -j ACCEPT
# Abre para a faixa de endereços da rede local:
iptables -A INPUT -s 192.168.1.0/255.255.255.0 -j ACCEPT
# Faz a mesma coisa, só que especificando a interface. Pode ser
# usada em substituição à regra anterior:
# iptables -A INPUT -i eth0 -j ACCEPT
# Abre uma porta (inclusive para a Internet):
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
“Firewall”
Como Configurar? (Shell Script - Linux)
# Ignora pings:
iptables -A INPUT -p icmp --icmp-type echo-request -j
DROP
# Protege contra IP spoofing:
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
# Descarta pacotes malformados, protegendo contra
ataques diversos:
iptables -A INPUT -m state --state INVALID -j DROP
# Abre para a interface de loopback. Esta regra é
essencial para que
# o KDE e outros programas gráficos funcionem
adequadamente:
iptables -A INPUT -i lo -j ACCEPT
“Firewall”
Como Configurar? (Shell Script - Linux)
# Impede a abertura de novas conexões, efetivamente bloqueando
o acesso
# externo ao seu servidor, com exceção das portas e faixas de
endereços
# especificadas anteriormente:
iptables -A INPUT -p tcp --syn -j DROP
echo "Regras de firewall ativadas"
}
parar(){
iptables -F
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
echo "Regras de firewall desativadas"
}
“Firewall”
Como Configurar? (Shell Script – Linux) | Funcionamento
A receber qualquer conexão, vinda de qualquer
endereço, o firewall primeiro verifica todas estas
regras, seqüencialmente, para decidir se o pacote
passa ou não. Usando este script de exemplo,
teríamos o seguinte:
“Firewall”
Como Configurar? (Shell Script – Linux) | Funcionamento
- Se o pacote vier da rede local, ele é aceito.
- Se o pacote for para porta 22 (do SSH), ele é aceito.
- Se for um ping, ele é ignorado (de forma a dificultar um pouco para outros
descobrirem que você está online).
- Pacotes inválidos, que não façam parte de uma conexão aberta
anteriormente e que não correspondam à abertura de uma nova conexão
são ignorados, protegendo contra pacotes forjados e tentativas de ataque
diversas.
- Se o pacote vier da sua própria máquina (um programa tentando mostrar
alguma coisa na tela, por exemplo), ele é aceito.
- Se o pacote for uma resposta a uma conexão que você iniciou, como, por
exemplo, o servidor do guiadohardware.net enviando a página do site que
você está acessando, ele é aceito.
- Tentativas de conexão (toda conexão TCP é iniciada por um pacote syn)
fora das condições especificadas acima são descartadas pelo firewall. A
conexão nem sequer chega a ser estabelecida e o emissor não recebe
qualquer resposta (DROP).
“Firewall”
Como Configurar? (Modo Visual - Windows)
No mundo Windows, a presença de um firewall pré-instalado no
sistema é um fenômeno relativamente recente. Até o Windows 2000,
o sistema simplesmente não contava com firewall algum.
O Windows XP original trouxe um firewall simples batizado de ICF
(Internet Connection Firewall), que era destinado a oferecer um nível
mínimo de proteção a máquinas destinadas a compartilhar a conexão
com a rede local.
O ICF evoluiu bastante desde então, dando origem ao Windows
Firewall, incluído a partir do Windows XP SP2, que embora ainda
ofereça um conjunto modesto de recursos, já é bem mais utilizável
que o antecessor.
“Firewall”
Como Configurar? (Modo Visual - Windows)
O Windows Firewall é um firewall básico,
que não oferece grandes vantagens
sobre
outros
produtos
nem
é
particularmente seguro, mas que oferece
como vantagens o fato de já vir ativo por
padrão (a partir do Windows XP SP2) e
ser relativamente fácil de configurar. Ele
é o absoluto mínimo em termos de
proteção para uma máquina Windows
diretamente conectada à Internet.
Na tela de configuração você tem
apenas três opções: ativar o firewall
(usando exceções), ativar sem permitir
exceções ou desativá-lo:
“Firewall”
Como Configurar? (Modo Visual - Windows)
Na aba "Exceções" você tem acesso a
uma lista de programas e serviços que
podem receber conexões de entrada.
Por padrão, ficam marcadas as opções
"Área de trabalho remota", "Assistência
remota",
"Compartilhamento
de
Arquivos e Impressoras" e "Estrutura
UPnP”.
Você pode perceber que a aba
"Exceções"
mostra
apenas
os
programas detectados pelo firewall,
mas não as portas usadas por cada um
“Firewall”
Como Configurar? (Modo Visual - Windows)
Clicando sobre o aplicativo e usando o
botão "editar", pode ser visto a lista das
portas
usadas
por
ele.
O
"Compartilhamento
de
Arquivos
e
Impressoras", por exemplo, abre um total
de 4 portas.
“Firewall”
Como Configurar? (Modo Visual - Windows)
A opção "Qualquer computador (inclusive na Internet)" abre as portas para
qualquer um que tenha acesso à sua máquina. Ela deve ser usada apenas
no caso de programas de administração remota.
A opção "Minha rede (sub-rede) somente" abre
apenas para acessos provenientes da rede local.
A terceira opção, "Lista
personalizada",
é
destinada a situações
onde você quer que o
serviço fique acessível
apenas
para
alguns
endereços
específicos,
como VNC por exemplo.
Download

Como Configurar? (Shell Script