Professor: Edilmarcio Reis Linux Controle de Redes IP Tables - Protocolo Modelo de Referncia OSI Modelo de Referncia TCP/IP
IP Tables
IP Tables
IP Tables Protocolo TCP Caractersticas Estabelecimento e Trmino de conexes Multiplexao Controle de Fluxo Confiabilidade IP Tables Protocolo TCP Estabelecimento e Trmino da Conexo Estabelecimento de Conexo Trmino de Conexo
IP Tables Protocolo TCP Multiplexao Codifica informaes de uma fonte de dados em canal nico Ex: 192.168.0.1:1026-192.168.0.254:21 (TCP) 192.168.0.2:1027-192.168.0.254.21 (TCP) 192.168.0.1:1028-192.168.0.254:21 (TCP) IP Tables Protocolo TCP Controle de Fluxo Campo (Windows) do Cabealho Valor em Bits Mximo que o host poder receber a cada envio de dados
IP Tables Protocolo TCP Confiabilidade
IP Tables Protocolo UDP No orientado a conexo Destinados a dados menos sensveis udio e Vdeo
Protocolo IP Encaminhamento de dados entre hosts Datagramas no-confivel e desordenados TCP (D confiabilidade para a aplicao)
IP Tables Protocolo ICMP transportado dentro do pacote IP Auxilia o controle e administrao Tipo de ICMP 0 Echo reply 3 Destination unreachable 4 Source quench 5 Redirect 8 Echo request IP Tables - Firewall Conceitos bsicos Dispositivo de segurana com objetivo de filtrar os dados da rede Barreira que impe limites e controle todo trfego de dados
Tipos Hardware Software
IP Tables - Firewall Conceitos bsicos Dispositivo de segurana com objetivo de filtrar os dados da rede Barreira que impe limites e controle todo trfego de dados
IP Tables - Firewall Alguns Tipo de Firewall Packet Filtering Proxy Services Servidor Proxy (Squid) Cliente Proxy (Browser ou SSH) Circuit-Level Gateway Monitora o handshking
IP Tables - Firewall Arquitetura de Firewall Dual-Homed Host No so oferecidos servios para usurio fora da rede interna Ideal para pequeno trfego Menor custo e menor investimento em segurana Desvantagens na questo da segurana e interoperabilidade IP Tables - Firewall Arquitetura de Firewall Screened Host Bastion Host + Packet Filter atuando como Screened Router Duas camadas de segurana
IP Tables - Firewall Arquitetura de Firewall Screened Subnet Firewall Conhecida como DMZ (DeMeliratized Zone) Rede de permetro entre redes interna e externa
IP Tables - NetFilter NetFilter Mdulo do kernel do Linux (Framework no Linux) Atua a nvel de kernel Cadeias especficas PREROUTING INPUT FORWARD OUTPUT POSROUTING
IP Tables Roteamento
IP Tables Tabelas Filter Nat Mangle
IP Tables Comandos (Inserindo Regras) Iptables A : Insere uma nova regra Iptables I : Insere uma nova regra no comeo Iptables D : Deleta uma regra especifica Iptables F : Remove todas as regras Iptables L : Lista as regras Iptables N : Cria uma nova chain Iptables P : Altera a politica padro
IP Tables Parmetros Genricos -p : Protocolo -s : Origem -d : Destino -i : Interface de entrada -o : Interface de sada -j : Ao tomada -m : Estado da conexo
IP Tables Alvos Padres ACCEPT : Aceita os pacotes DROP : Dropa os pacotes e a origem no ser avisada REJECT : Rejeita os pacotes e retorna um erro ICMP RETURN : Retorna o processamento para a chain anterior LOG : Registra eventos no log do kernel
IP Tables Comandos iptables P INPUT DROP iptables P FORWARD DROP iptables P OUTPUT DROP
iptables A INPUT s 10.0.0.0/24 j ACCEPT iptables A OUTPUT d 200.200.x.x j LOG iptables A OUTPUT d 200.200.x.x j REJECT --reject-with icmp-host-unreachable
IP Tables Comandos
--sport : porta de origem iptables A INPUT p udp --sport ! 53 j REJECT
--dport : porta de destino iptables A INPUT s ! 192.168.0.0/24 p tcp --dport 22 j REJECT
IP Tables Log com IPTables iptables A INPUT j LOG iptables A OUTPUT j LOG iptables A FORWARD j LOG
iptables A INPUT p tcp --dport 22 --syn j LOG iptables A INPUT p tcp --dport 22 --syn j LOG
iptables A OUTPUT p tcp --dport 80 j LOG Iptables A OUTPUT p tcp --dport 80 j ACCEPT
IP Tables Comandos SNAD, DNAT e MASQUERADE Compartilhando Conexo com a Internet echo 1>/proc/sys/net/ipv4/ip_forward iptables t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j SNAT --to 200.0.0.1 iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
IP Tables Comandos SNAD, DNAT e MASQUERADE Usando o DNAT iptables -t nat -A PREROUTING -s 200.200.x.x -i eth1 -j DNAT --to 192.168.0.10 iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 3389 -j DNAT --to 192.168.0.2 DNAT para vrios Servidores iptables -t nat A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 192.168.0.2- 192.168.0.4
IP Tables Comandos SNAD, DNAT e MASQUERADE Usando o REDIRECT iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128 iptables -t nat -A PREROUTING s 192.168.0.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128 iptables -s ! 192.168.0.0/24 p tcp --dport 3128 --syn -j DROP
Balanceamento de Link
Balanceamento de Link Interfaces - Endereos eth0: 192.168.0.1 eth1: 200.0.0.2 200.0.0.1 eth2: 189.0.0.2 189.0.0.1
Criando as tabelas de roteamento echo 10 link1 >>/etc/iproute2/rt_tables echo 20 link2 >>/etc/iproute2/rt_tables
Balanceamento de Link Configurar links nas suas respectivas tabelas criadas ip route add 200.0.0.0/24 dev eth1src 200.0.0.2 table link1 ip route add default via 200.0.0.1 table link1 ip route add 189.0.0.0/24 dev eth2 src 189.0.0.2 table link2 ip route add default via 189.0.0.1 table link2 Configurar links na tabela padro do sistema ip route add 200.0.0.0/24 dev eth1 200.0.0.2 ip route add 189.0.0.0/24 dev eth2 189.0.0.2 Indicar rota-padro do sistema ip route add default via 200.0.0.1
Balanceamento de Link Acrescentando regras das rotas adicionadas ip rule add from 200.0.0.2 table link1 ip rule add from 189.0.0.2 table link2
Configurando as rotas internas nas tabelas criadas ip route add 192.168.0.0/24 dev eth0 table link1 ip route add 189.0.0.0/24 dev eth2 table link1 ip route add 127.0.00/8 dev lo table link1 ip route add 192.168.0.0/24 dev eth0 table link2 ip route add 200.0.0.0/24 dev eth1 table link2 ip route add 127.0.0.0/8 dev lo table link2
Balanceamento de Link Agora o balanceamento ip route add default nexthop via 200.0.0.1 dev eth1 weigth 1 nexthop via 189.0.0.1 dev eth2 weigth 1
Priorizar um link com maior velocidade ip route add default nexthop via 200.0.0.1 dev eth1 weigth 3 nexthop via 189.0.0.1 dev eth2 weigth 1
Balanceamento por porta Marcando os pacotes iptables t mangle A PREROUTING i eth0 p tcp dport 80 j MARK set-mark 100 iptables t mangle A PREROUTING i eth0 p tcp dport 443 j MARK set-mark 200 iptables t mangle A PREROUTING i eth0 p tcp dport 25 j MARK set-mark 200 iptables t mangle A PREROUTING i eth0 p tcp dport 110 j MARK set-mark 100 iptables t mangle A PREROUTING i eth0 p tcp dport 3389 j MARK set-mark 200 iptables t mangle A PREROUTING i eth0 p tcp dport 22 j MARK set-mark 100
Balanceamento por porta Indicando qual marcao sai por qual link ip rule add fwmark 100 table 10 ip rule add fwmark 200 table 20
Indicando GW de cada tabela ip route add default via 200.0.0.1 dev eth1 table link1 ip route add default via 189.0.0.1 dev eth2 table link2
iptables P INPUT DROP iptables P FORWARD DROP iptables P OUTPUT ACCEPT
iptables -t nat A POSTROUTING -o eth2 j MASQUERADE iptables -t nat A POSTROUTING -o eth0 j MASQUERADE
iptables -t nat A PREROUTING i eth1 p tcp dport 80 j REDIRECT to-port 3128
Exemplos iptables A INPUT i eth1 j ACCEPT iptables A INPUT p tcp --dport 21 iptables A INPUT p tcp --dport 80 iptables A INPUT p tcp --dport 3389 iptables A INPUT p tcp --dport 22 iptables A INPUT p tcp --dport 8080 #Camras iptables A INPUT p tcp --dport 9090 #Impressora
Exemplos
iptables t nat A PREROUNTING i eth2 p tcp --dport 3389 j DNAT to-destination 192.168.0.101
iptables t nat A PREROUNTING i eth2 p tcp --dport 9090 j DNAT to-destination 192.168.0.251:80
iptables t nat A PREROUNTING i eth2 p tcp --dport 8080 j DNAT to-destination 192.168.0.147:80
Exemplos
iptables A INPUT p tcp --syn j DROP
iptables A INPUT m state --state ESTABLISHED, RELATED j ACCEPT
iptables A INPUT p udp --dport 0:1023 j DROP
iptables A INPUT p icmp --icmp-type echo-request j DROP
QoS TOS usado para setar ou alterar o campo: Tipo de servio do pacote. Podendo ser usado para montar uma politica de prioridades em sua rede
Tipo de TOS Espera Minima = 16 ou 0x10 Mximo Processamento = 8 ou 0x08 Mxima Confiana = 4 ou 0x04 Custo Mnimo = 2 ou 0x02 Prioridade Normal = 0 ou 0x00
QoS TOS
Regra Iptables t mangle A TARGET j TOS set-tos prioridade
Exemplos SSH = Iptables t mangle A PREROUTING p tcp --dport 22 j TOS --set-tos 16 DNS = Iptables t mangle A OUTPUT -o eth1 p tcp --dport 53 j TOS --set-tos 0x10 HTTP = Iptables t mangle A OUTPUT -o eth1 p tcp --dport 80 j TOS --set-tos 16