Vous êtes sur la page 1sur 54

Projeto e Instalao de Servidores

Servidores Linux Aula 6 Firewall e Proxy


Prof.: Roberto Franciscatto

1 Firewall e Proxy
Introduo

FIREWALL

1 Firewall e Proxy
Introduo

Firewall Tem o objetivo de proteger um computador ou uma rede de computadores, seguindo regras estabelecidas

1 Firewall e Proxy
Introduo

O que faz um Firewall ? Um firewall examina o trfego enquanto ele entra em uma das suas interfaces e aplica regras ao trfego... Essencialmente: permitindo ou impedindo o trfego baseado nestas regras

1 Firewall e Proxy
Introduo

Portas mais usadas para servios de internet 22 = SSH 21 = FTP 25 = SMTP 53 TCP e 53 UDP = DNS 80 = HTTP 110 = POP3 143 = IMAP 443 = HTTPS 1194 UDP = OpenVPN 5901 = VNC

1 Firewall e Proxy
Implementando Firewall com IPTABLES

IPTABLES Servio de firewall nativo do linux Possui uma grande variedade de recursos Baseia-se no conceito de regras de entrada e saida

1 Firewall e Proxy
Implementando Firewall com IPTABLES

Entendendo as regras do firewall (Iptables) Escrever regras do firewall como que aprender um novo dialeto... Imagine que ao escrever uma nova regra, voc est explicando uma ideia, tente ser claro para que seja entendido...

1 Firewall e Proxy
Implementando Firewall com IPTABLES

Entendendo as regras do firewall (Iptables) Parmetros do Iptables: -A INPUT: especifica que a regra se aplica a pacotes de entrada, ou seja, pacotes recebidos pelo servidor, em qualquer interface -A OUTPUT: a regra se aplica a pacotes de sada, transmitidos pelo prprio servidor.

1 Firewall e Proxy
Implementando Firewall com IPTABLES

Entendendo as regras do firewall (Iptables) Parmetros do Iptables: -A FORWARD: este parmetro usado para compartilhar a conexo com a internet, permitindo que os micros da rede local acessem atravs do servidor. Os pacotes dos outros micros, encaminhados pelo servidor, so tratados como FORWARD, diferente dos pacotes transmitidos pelo prprio servidor, que so tratados como OUTPUT.

1 Firewall e Proxy
Implementando Firewall com IPTABLES

Entendendo as regras do firewall (Iptables) Parmetros do Iptables: -p tcp: especifica que a regra se aplica a pacotes TCP -p udp: especifica que a regra se aplica a pacotes UDP Ex.: iptables A INPUT p udp --dport 53 j ACCEPT Importante: necessrio sempre especificar o protocolo, caso contrrio, ERRO !

1 Firewall e Proxy
Implementando Firewall com IPTABLES

Entendendo as regras do firewall (Iptables) Parmetros do Iptables: Caso seja preciso bloquear os trs protocolos para um determinado endereo, pode-se usar: iptables A INPUT p ALL s 88.191.79.206 j DROP

1 Firewall e Proxy
Implementando Firewall com IPTABLES

Entendendo as regras do firewall (Iptables) Parmetros do Iptables: comum bloquear as portas 0 a 1023 UDP, autorizando apenas as portas que devem ficar abertas como: iptables A INPUT p udp --dport 53 j ACCEPT iptables A INPUT p udp --dport 0:1023 j DROP

1 Firewall e Proxy
Implementando Firewall com IPTABLES

Entendendo as regras do firewall (Iptables) Parmetros do Iptables: -p icmp: bloquear o pedido de pings Ex.: iptables A INPUT p icmp --icmp-type echo-request j DROP

1 Firewall e Proxy
Implementando Firewall com IPTABLES

Entendendo as regras do firewall (Iptables) Parmetros do Iptables: -i eth0: a opo -i permite definir a interface onde os pacotes devem ser recebidos ou enviados. Exemplos: iptables A INPUT p tcp j REJECT iptables A INPUT i eth2 p tcp j REJECT iptables A INPUT i eth0 p tcp --dport 22 j ACCEPT

1 Firewall e Proxy
Implementando Firewall com IPTABLES

Entendendo as regras do firewall (Iptables) Parmetros do Iptables: --dport ou --destination-port: especifica uma porta. O uso mais comum para esta opo para abrir portas de entrada e depois aplicar uma regra que feche as demais.

1 Firewall e Proxy
Implementando Firewall com IPTABLES

Entendendo as regras do firewall (Iptables) Parmetros do Iptables: -d (destiny): destinado ao endereo IP ou domnio citado. Bastante utilizado para bloquear o acesso a determinados sites a partir dos micros da rede local. Ex.: iptables A FORWARD d dominio.com j REJECT

1 Firewall e Proxy
Implementando Firewall com IPTABLES

Entendendo as regras do firewall (Iptables) Parmetros do Iptables: -m mac --mac-source 00:11:D8:76:59:2E: esta a regra que permite especificar endereos MAC dentro das regras do Iptables. Ex.: iptables A INPUT --dport 22 m mac --mac-source 00:11:D8:76:59:2E j ACCEPT

1 Firewall e Proxy
Implementando Firewall com IPTABLES

Entendendo as regras do firewall (Iptables) Parmetros do Iptables: --syn: cria uma regra vlida apenas para novas conexes, no impedindo que o outro micro responda a conexes iniciadas pelo servidor, como em: Ex.: iptables A INPUT p tcp --syn j DROP

1 Firewall e Proxy
Implementando Firewall com IPTABLES

Entendendo as regras do firewall (Iptables) Parmetros do Iptables: -j: usado no final de cada regra, especificando uma ao, que pode ser: -j ACCEPT: aceita o pacote. Ele encaminhado ao destino sem passar pelas demais regras. -j REJECT: rejeita educadamente o pacote, enviando um pacote de resposta ao emissor.
Ex.: connect to host 192.168.1.1 port 22: Connection refused

1 Firewall e Proxy
Implementando Firewall com IPTABLES

Entendendo as regras do firewall (Iptables) Parmetros do Iptables: -j DROP: o DROP mais enftico. O pacote simplesmente descartado, sem aviso. O emissor fica um longo tempo esperando, at que eventualmente recebe um erro de time-out. -j LOG: permite logar conexes. interessante usar estas regras principalmente em regras muito visadas, como a SSH.

1 Firewall e Proxy
Implementando Firewall com IPTABLES

Entendendo as regras do firewall (Iptables) Parmetros do Iptables: (continuao) -j LOG: para ativar o log, necessrio duplicar a regra que abre a porta, usando a opo -j LOG na primeira e -j ACCEPT na segunda, como em: iptables A INPUT p tcp --dport 22 j LOG iptables A INPUT p tcp --dport 22 j ACCEPT

1 Firewall e Proxy
Implementando Firewall com IPTABLES

Entendendo as regras do firewall (Iptables) Parmetros do Iptables: (continuao) -j LOG: as mensagens so gravados no arquivo /var/log/messages. possvel ver as mensagens com o comando dmesg

1 Firewall e Proxy
Escrevendo um script completo (IPTABLES)

Entendendo as regras do firewall (Iptables)


# Abre para a faixa de endereos 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: iptables A INPUT i eth0 j ACCEPT # Abre uma porta: iptables A INPUT p tcp --dport 22 -j ACCEPT # Ignora pings: iptables A INPUT p icmp-type echo-request -j DROP

1 Firewall e Proxy
Escrevendo um script completo (IPTABLES)

Entendendo as regras do firewall (Iptables)


(Continuao) # Protege contra IP spoofing: echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
# Descarta pacotes mal formados, protegendo contra ataques diversos:

iptables A INPUT m state --state INVALID j DROP # Abre para a interface de loopback: iptables A INPUT i lo j ACCEPT

1 Firewall e Proxy
Escrevendo um script completo (IPTABLES)

Entendendo as regras do firewall (Iptables)


(Continuao) # Protege contra IP spoofing: echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
# Descarta pacotes mal formados, protegendo contra ataques diversos:

iptables A INPUT m state --state INVALID j DROP # Abre para a interface de loopback: iptables A INPUT i lo j ACCEPT

1 Firewall e Proxy
Escrevendo um script completo (IPTABLES)

Entendendo as regras do firewall (Iptables)


(Continuao) # Impede a abertura de novas conexes, bloqueando acesso # externo ao servidor, com exceo das regras anteriores: iptables A INPUT p tcp --syn j DROP

1 Firewall e Proxy
Escrevendo um script completo (IPTABLES)

Entendendo as regras do firewall (Iptables)


(Continuao) Aps incluir todas as regras do firewall, necessrio salvar e dar permisso de execuo. Ex.: # cd /etc/init.d/ # chmod +x firewall

1 Firewall e Proxy
Escrevendo um script completo (IPTABLES)

Entendendo as regras do firewall (Iptables)


Para desativar o firewall e voltar a aceitar conexes, use o comando iptables F, que limpa as regras do Iptables: # iptables -F

1 Firewall e Proxy
Escrevendo um script completo (IPTABLES)

Forwarding de Portas
Ao compartilhar uma conexo via NAT, apenas o servidor recebe conexes vindas da internet. Os micros da rede local acessam atravs do servidor e recebem apenas pacotes de resposta. Entretanto existem casos em que voc realmente deseja que alguns dos hosts fique diretamente acessvel a internet

1 Firewall e Proxy
Escrevendo um script completo (IPTABLES)

Forwarding de Portas
Exemplo: Um servidor web, escutando na porta 80 do micro 192.168.1.3 da rede local, fique disponvel na internet. A nica forma de fazer isso o servidor passar a bola para este micro A limitao que continua existindo uma nica porta 80, uma nica porta 22, etc...

1 Firewall e Proxy
Escrevendo um script completo (IPTABLES)

Forwarding de Portas
Exemplo de Forwarding: # Redireciona uma nica porta para um micro da rede local echo 1 > /proc/sys/net/ipv4/ip_forward iptables t nat A PREROUTING p tcp i eth1 --dport 22 j DNAT --to 192.168.1.10 iptables t nat A POSTROUTING d 192.168.1.10 j SNAT --to 192.168.1.1

1 Firewall e Proxy
Escrevendo um script completo (IPTABLES)

Forwarding de Portas
possvel ainda indicar uma lista de portas (usando a opo m multiport), como em: # Redireciona um conjunto de portas echo 1 > /proc/sys/net/ipv4/ip_forward iptables t nat A PREROUTING p tcp i eth1 m multiport --dport 21,22,80 j DNAT --to-dest 192.168.1.10 iptables t nat A POSTROUTING d 192.168.1.10 j SNAT --to 192.168.1.1

1 Firewall e Proxy
EXERCCIOS

Exerccios Construa um firewall bsico para uso em um servidor web, contendo as seguintes regras: Abrir para a interface de loopback Bloqueie um determinado IP (hosts especficos) Abra as portas referentes aos seguintes servios usados: SSH, DNS, HTTP, HTTPS Bloqueie as conexes nas demais portas

1 Firewall e Proxy
EXERCCIOS

Exerccios (cont.) Construa um firewall bsico para uso em um servidor web, contendo as seguintes regras: Garanta que o firewall permitira pacotes de conexes j iniciadas Bloqueie as portas UDP de 0 a 1023 Crie este script na forma de um arquivo executvel Adicione este arquivo na inicializao do Linux

1 Firewall e Proxy
EXERCCIOS

Exerccios (cont.) Teste de um cliente linux se as regras esto funcionando Utilize o site (https://www.grc.com/x/ne.dll?rh1dkyd2) para verificar o que seu firewall est protegendo...

1 Firewall e Proxy
EXERCCIOS

Exerccios (2) Voc deve detectar possveis rootkits em seu servidor. Para isso faa os seguintes passos: Instale o software chkrootkit Execute o software Armazene os resultados em um arquivo teste Faa a anlise dos resultados e explique o que o software encontrou.

1 Firewall e Proxy
Proxy

PROXY

1 Firewall e Proxy
Introduo

Proxy
O Proxy um servidor que atende a requisies repassando os dados do cliente frente: um usurio (cliente) conecta-se a um servidor proxy, requisitando algum servio: como um arquivo, conexo, pgina web, ou outro recurso disponvel em outro servidor.

1 Firewall e Proxy
Introduo

Proxy
Servios providos por um proxy: Cache Proxy transparente Proxy aberto Proxy Annimo

1 Firewall e Proxy
Squid

Filtragem de pacotes via ACL Access Control


ACL => Lista de Controle de Acesso Soluo de Proxy para Linux => Squid

1 Firewall e Proxy
Squid

Filtragem de pacotes via ACL Access Control


Implementando um servidor proxy com o Squid

Para colocar em funcionamento:

# apt-get install squid # mv /etc/squid/squid.conf /etc/squid/squid.conf.orig

1 Firewall e Proxy
Introduo

Filtragem de pacotes via ACL Access Control


Arquivo /etc/squid/squid.conf contendo as seguintes linhas:

http_port 3128 visible_hostname servidor acl all src 0.0.0.0/0.0.0.0 http_access allow all

1 Firewall e Proxy
Introduo

Filtragem de pacotes
via ACL Access Control Implementando um servidor proxy com o Squid Ex.: permisses

1 Firewall e Proxy
Introduo

Filtragem de pacotes via ACL Access Control


Bloqueando por dominios ou palavras

Bloqueando por dominios ou palavras (com ou sem www)

1 Firewall e Proxy
Introduo

Filtragem de pacotes via ACL Access Control


E se a regra ficar muito grande ?

1 Firewall e Proxy
Introduo

Filtragem de pacotes via ACL Access Control


possvel nestes casos criar um arquivo externo, inserir os dominios, linha-a-linha e posteriormente fazer uma chamada a este arquivo Ex.: Problema: Cada novo endereo descoberto deve ser inserido na lista

1 Firewall e Proxy
Introduo

Filtragem de pacotes via ACL Access Control


Soluo: O Sarg pode ajudar bastante

1 Firewall e Proxy
Introduo

Filtragem de pacotes via ACL Access Control


possvel tambm inverter a regra, de forma que eu possa bloquear tudo e ir liberando acesso a determinados sites Ex.:

Nos proxys mais atuais tem-se o bloqueio de dominios associado aos respectivos Ips, evitando assim que o usuario digite diretamente o IP de um site...

1 Firewall e Proxy
Introduo

Filtragem de pacotes via ACL Access Control


possvel bloquear tambm por endereos IP

Descobrir o endereo IP associado a um dominio: # host (dominio)

1 Firewall e Proxy
Introduo

Filtragem de pacotes via ACL Access Control


Bloqueando por palavras (incluidas na URL de acesso) Criar um arquivo texto com as palavras a serem bloqueadas orkut, xxx, sexo, teens... Adicionar a regra contendo a localizao do arquivo

1 Firewall e Proxy
Introduo

Filtragem de pacotes via ACL Access Control


Mensagens de erro

Adicionar a seguinte linha no squid "error_directory /usr/share/squid/errors/Portuguese/ " possivel alterar os arquivos HTML de cada mensagem de forma personalizada...

1 Firewall e Proxy
EXERCCIOS

Instalar o squid Efetuar os seguintes bloqueios: lista de palavras inapropriadas (criar arquivo) lista de sites bloqueados pela instituio (criar arquivo) bloquear acesso durante o perodo da aula do prof. Roberto bloquear acesso a arquivos com a extenso (avi, exe, mp3, mov, wmv, etc...)

1 Firewall e Proxy
EXERCCIOS (2)

Ainda no squid... Configure uma cache de paginas e arquivos Tanto cache de RAM como de HD Proxy com autenticao Instalar pacote apache2-utils Cadastrar 5 usuarios diferentes Instalar o Sarg Gerar os relatorios e monitorar acessos

Dvidas, sugestes ou questionamentos

???
roberto.franciscatto@gmail.com

Vous aimerez peut-être aussi