proxy squid iptable

46
Serviços de Redes oteamento (IPTABLES) e Proxy (Squi

Upload: aldo-mundim

Post on 13-Dec-2014

69 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Proxy Squid Iptable

Serviços de Redes

Roteamento (IPTABLES) e Proxy (Squid)

Page 2: Proxy Squid Iptable

ifconfig

• ifconfig Usado para exibir e configurar uma interface de rede.

• Uso:– ifconfig– ifconfig argumentos

Page 3: Proxy Squid Iptable

Exemplos do uso do ifconfig

• Ifconfig

• ifconfig eth0 down

• ifconfig eth0 192.168.0.111 netmask 255.255.0.0 broadcast 192.168.255.255 up

Page 4: Proxy Squid Iptable

route

• route Usado para exibir e configurar a tabela de roteamento.

• Uso:– route– route argumentos

Page 5: Proxy Squid Iptable

Exemplos do uso do route

• Route

• route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.0.1 dev eth0

• route add default gw 192.168.1.200

• route -n

Page 6: Proxy Squid Iptable

Configurando o arquivo interfaces

• Inclua uma entrada como essa:

iface eth0 inet static

address 192.168.0.123

netmask 255.255.255.0

gateway 192.168.0.1

Page 7: Proxy Squid Iptable

DNS no interfaces• Se você tiver o resolvconf instalado então

pode adicionar linhas que especifiquem informação de DNS. Por exemplo:iface eth0 inet static

address 192.168.0.123

netmask 255.255.255.0

gateway 192.168.0.1

dns-search meudominio.org

dns-nameservers 195.238.2.21 195.238.2.22

Page 8: Proxy Squid Iptable

Configurando uma interface usando DHCP

• iface eth0 inet dhcp

• É necessário que um clientes DHCP esteja instalado, como:– dhcp3-client (versão 3, Internet Software

Consortium)

Page 9: Proxy Squid Iptable

• As interfaces virtuais permitem configurar uma única placa Ethernet para ser uma interface para várias redes.

• Seu sistema está em uma rede 192.168.0.x/24 e você quer usar um endereço IP provido via DHCP usando a mesma placa Ethernet existente. Editando o /etc/network/interfaces :iface eth0 inet static

address 192.168.0.1

netmask 255.255.255.0

iface eth0:0 inet dhcp

Configurando Interfaces Virtuais

Page 10: Proxy Squid Iptable

ifup e ifdown

• ifup “Levanta” o dispositivo especificadoifup dispositivo

• ifdown “Derruba” o dispositivo especificadoifdown dispositivo

Page 11: Proxy Squid Iptable

• Na inicialização o script /etc/rcS.d/S40networking executa o comando ifup -a. Isso levanta todas as interfaces físicas listadas em entradas auto no etc/network/interfaces.

• Na maioria dos casos se deseja que pelo menos a interface de loopback lo seja levantada na inicialização.

• Assim, certifique-se de que o /etc/network/interfaces inclua as seguintes entradas.

auto loiface lo inet loopback

Configuração da Rede durante a Inicialização

Page 12: Proxy Squid Iptable

Fim Endereçamento Fim Endereçamento

Page 13: Proxy Squid Iptable

• O primeiro endereço em uma rede IP é o endereço da própria rede.

• O último endereço é o endereço de broadcast da rede.

• Todos os outros endereços podem ser alocados a sistemas na rede. – Desses, o primeiro ou o último endereço

normalmente é alocado para o gateway de Internet para a rede.

Fundamentos

Page 14: Proxy Squid Iptable

Definições

• Para que um pacote que está em uma rede local, com um determinado endereço, possa ir para um outra rede, ele precisa ser convertido para o endereçamento externo.

• Esta troca de rede, ocorre graças a um equipamento que tem acesso as duas redes.

Page 15: Proxy Squid Iptable

Gateway

Definição

Equipamento responsável pela conversão de protocolo

ou mídia ou aplicativo.

Page 16: Proxy Squid Iptable

Gateway

No caso de IPTABLES ou Proxy

Equipamento responsável pela conversão de redes (endereçamento e/ou protocolo).

Exemplo

Responsável por encaminhar o pacote de uma rede interna para a externa.

Page 17: Proxy Squid Iptable

Gateway

Rede Local

Rede Remota

Page 18: Proxy Squid Iptable

Compartilhamento de Conexão

Compartilhamento

Page 19: Proxy Squid Iptable

IPTables

Software responsável pela filtragem e encaminhamento de pacotes.

Trabalha a nível de redes, portanto consegue pegar pacotes da rede interna e encaminha para rede externa.

Page 20: Proxy Squid Iptable

IPTables•Um firewall, ou filtro de pacotes, é utilizado para proteger máquinas ou rede através da filtragem dos pacotes de dados. •No Linux esse recurso é implementado diretamente no kernel e recebe, nas versões de kernel >2.4, o nome de netfilter.

•O netfilter é capaz de manipular campos dos cabeçalhos de pacotes, fazer a tradução de endereços de rede (NAT), "marcar“ pacotes e fazer o acompanhamento de conexões e filtragem. •Estes recursos faz com o que o netfilter seja um firewall capaz de reconhecer o "estado" de uma conexão.

Page 21: Proxy Squid Iptable

IPTables (Tabelas)

• Tabela é o local utilizado para armazenar regras de filtragem.

• Existem três tabelas: – Filter (utilizada para aceitar ou rejeitar pacotes)– mangle (manipular alguns campos do cabeçalho IP –

TOS e TTL)– Nat (utilizada para fazer Traduções de Endereços de

Rede)

Page 22: Proxy Squid Iptable

IPTables (Chains)• chain conjunto de regras aplicadas sobre os

pacotes. Existem dois tipos:

– chains do kernel • PREROUTING, INPUT, FORWARD, OUPUT e POSTROUTING

– estão ligadas a pontos especiais no caminho que os pacotes

precorrem ao entrar e sair da máquina.

– chains criadas pelo usuário.• Não estão ligadas a ponto algum, logo, é necessário que uma

chain do kernel tenha como alvo uma chain de usuário para

que os pacotes percorram essa chain.

Page 23: Proxy Squid Iptable

IPTables (Chains)• PREROUTING é usada pelos pacotes que chegam à

interface de rede.

• INPUT quando o pacotes entra na máquina

• FORWARD quando pacote é enviado a outra máquina.

• OUTPUT quando o pacote está saindo da máquina.

• POSTROUTING chain consultada após a tomada de decisão de roteamento, quando os pacotes estão prestes a sair da máquina.

• A filtragem de pacotes é feita em basicamente 3 lugares: – chains INPUT e OUTPUT para pacotes com origem e destino na

máquina local– chain FORWARD para pacotes que atravessam o roteador.

Page 24: Proxy Squid Iptable

IPTables (Chains)Quando um pacote "entra" numa chain, cada regra

é avaliada, de maneira seqüencial, até que o pacote

case com uma regra, ou o pacote atinja o final da

chain. Quando um pacote atinge o final de uma

chain sem que tenha casado com alguma regra, é

aplicada então a política padrão da chain. Por

padrão a política padrão da chain é "ACCEPT“, mas

isso pode ser alterado.

Page 25: Proxy Squid Iptable

IPTablesCriando e Removendo Regras• A sintaxe geral para se criar ou remover uma regra é a

seguinte:

# iptables -[AID] CHAIN [N] [-t TABLE] MATCH -j TARGET

• -A é usada para se fazer o "append" de uma regra à uma

chain

• -I é usada para se inserir uma regra

• -D é usada para se deletar uma regra.

Page 26: Proxy Squid Iptable

IPTablesExemplos I:

• Dropa tudo que chegue ao roteador com destino ao host 192.168.0.3:

# iptables -A FORWARD -d 192.168.0.3/32 -j DROP

• Bloqueia o acesso a porta 23 da máquina local de acessos vindos pela interface eth0:

# iptables -A INPUT -i eth0 -p tcp --dport 23 -j REJECT

Page 27: Proxy Squid Iptable

IPTables

• # iptables –L Lista as regras

• # iptables –X remove regras de usuário

• #iptables - F chain -t table remove todas as regras de uma chain

Page 28: Proxy Squid Iptable

IPTablesMascaramento• O tráfico destinado de sua rede privada para a Internet deve ser

manipulado para obter respostas da máquina que fez o pedido, como em uma rota invertida.

• Para fazer isto, o kernel do Linux deve modificar o endereço IP da fonte de cada pacote e retornar respostas a ele, antes que o endereço privado IP faço o pedido de resposta, que é impossível através da Internet. O Linux usa Connection Tracking (conntrack) para acompanhar que conexões pertence a que máquinas e desviar cada pacote de retorno correspondente.

• O tráfico originado em sua rede privada é assim "mascarado" como tendo originado de seu gateway.

Isto Chama-se compartilhamento de conexão.

Page 29: Proxy Squid Iptable

Ativa gerencia do módulo iptable nat no kernel do Linux

IPTables

Compartilhamento com IPTables

modprobe iptable_nat

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

echo 1 > /proc/sys/net/ipv4/ip_forward

Habilita o iptable a realizar o roteamento NATHabilita o roteamento a realizar pelo Kernel do Linux

Page 30: Proxy Squid Iptable

IPTables Compartilhamentoiptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

Na tabela NAT (-t nat) adicionar a regra (-A) após o roteamento (POSTROUTING) para todos os pacotes saindo por ppp0 (-o ppp0), mascarar a conexão.

Page 31: Proxy Squid Iptable

Proxy

Page 32: Proxy Squid Iptable

Proxy (squid) x IPTables

Aplicação

Transporte

Inter-Rede

Interface de Rede

Intra-Rede

TCP/IP

IPTables

Squid

Page 33: Proxy Squid Iptable

Proxy

• Servidor Proxy é intermediário entre a rede interna e a rede externa

• Utilizado para realizar armazenamento de dados de certos tipos de serviços.

• Um servidor proxy pode realizar vários serviços, entre ele NAT, Caching e compartilhamento de conexão.

Page 34: Proxy Squid Iptable

Proxy

Page 35: Proxy Squid Iptable

Proxy

• Um proxy é um aplicativo trabalhando na camada de Aplicação.

• Trabalha com protocolos TCP/IP

• No proxy são definidas regras de encaminhamento de pacotes.

• Armazena página Web e arquivos FTP temporariamente

• Quanto maior a cahce maior o desempenho

Page 36: Proxy Squid Iptable

Proxy

Client Server

Internet

1º) Client pede acesso a uma Home Page

2º) Server verifica se tem a Home Page na sua Cache

3º) Se tem envia ao cliente, senão, faz NAT para Internet o pedido do Client

4º) Recebe a resposta e repassa ao Client

Page 37: Proxy Squid Iptable

Proxy

Para garantir que as páginas Web não

estejam desatualizadas, os dados do cache

expiram após um determinado tempo. No

squid, esta configuração é chamada de

tempo de renovação de objeto.

Page 38: Proxy Squid Iptable

ProxyUm dos benefícios dos servidores proxy é que o administrador do proxy pode acrescentar regras para filtrar conteúdo.

Page 39: Proxy Squid Iptable

Proxy

Vantagens

1. Custo reduzido com largura de banda

2. Melhor desempenho da rede

3. Melhor desempenho de rede nos picos

4. Equilíbrio de carga

5. Armazenamento de pedidos abortados

6. Funciona quando a conexão com a Internet

cai

Page 40: Proxy Squid Iptable

ProxyTradução de endereços de rede (NAT)

NAT permite que o endereço interno de uma empresa seja ocultado da Internet.

Page 41: Proxy Squid Iptable

Squid• Proxy-cache de alta performance para clientes web.

• Mantém meta dados e especialmente objetos armazenados na RAM, cacheia buscas de DNS.

• Suporta SSL, listas de acesso complexas e logging completo.

• Squid consiste em um programa principal - squid -, um sistema de busca e resolução de nomes - dnsserver - e alguns programas adicionais para reescrever, fazer autenticação e gerenciar ferramentas de clientes.

• Podemos executar o Squid nas principais plataformas do mercado, como Linux, Unix e Windows.

Page 42: Proxy Squid Iptable

SquidInstalação

• Red Hat# rpm -ivh squid.x.y.z.rpm

• Debian# apt-get install squid3

• Free BSD# cd /usr/ports/www/squid3/ # make # make all install

Page 43: Proxy Squid Iptable

Squid

Localização do squid.conf

O arquivo de configuração do squid é o squid.conf,

normalmente ele se encontra em

/etc/squid/squid.conf ou em

/usr/local/squid/etc/squid.conf.

Page 44: Proxy Squid Iptable

Squid

tag http_port

• Configura a porta HTTP onde o Squid ouve os clientes proxy.

• Porta padrão 3128 ou 8080

http_port 3128

Page 45: Proxy Squid Iptable

Squid

tag acl

• Define a lista de controle de acesso que pode conter:– Endereço IP– Endereço URL– Endereço de rede

Page 46: Proxy Squid Iptable

Squid

tag http_access

• Permite ou nega o acesso ao squid.http_access allow manager

http_access deny manager

http_access deny palavra

http_access deny block_site

http_access allow unblock_site

http_access allow mynetwork

http_access allow localhost