tuneles fisl2005pt

28
G UYLUG http://www.uylug.org.uy      -      http://www.linux.org.uy Mario Bonilla                         -             [email protected]

Upload: john-clagget

Post on 02-Jul-2015

121 views

Category:

Education


5 download

TRANSCRIPT

Page 1: Tuneles fisl2005pt

Grupo de Usuarios Linux del Uruguay

UYLUG

http://www.uylug.org.uy            http://www.linux.org.uyMario Bonilla                                      [email protected]

Page 2: Tuneles fisl2005pt

Grupo de Usuarios Linux del Uruguay UYLUGhttp://www.linux.net.uy http://www.linux.org.uy

Mario “miope” Bonilla [email protected]ído bajo licencia FDL Versión. 1.2 http://www.gnu.org/licenses/fdl.html

Sin front cover text, sin invariant text, sin back cover text.

Tecnologias Livres para Tecnologias Livres para Túneis e VPNs.Túneis e VPNs.

FISL 6.0

Page 3: Tuneles fisl2005pt

Grupo de Usuarios Linux del Uruguay UYLUGhttp://www.linux.net.uy http://www.linux.org.uy

Mario “miope” Bonilla [email protected]ído bajo licencia FDL Versión. 1.2 http://www.gnu.org/licenses/fdl.html

Sin front cover text, sin invariant text, sin back cover text.

Agenda Introdução:

Descrição da situação

Conceitos gerais encripção e autenticação

Conceitos gerais túneis

Conceitos gerais VPNs

Túneis: ssh, stunnel, zebedee

VPNs: OpenVPN

Outros: pptp, cipe,vpnd, vtun, tunnelv

Túneis, VPNs e Firewalls

Page 4: Tuneles fisl2005pt

Grupo de Usuarios Linux del Uruguay UYLUGhttp://www.linux.net.uy http://www.linux.org.uy

Mario “miope” Bonilla [email protected]ído bajo licencia FDL Versión. 1.2 http://www.gnu.org/licenses/fdl.html

Sin front cover text, sin invariant text, sin back cover text.

Introdução

Por qué encriptar:

Confidencialidade, seguridade (passwords).

Não sempre tenho controle da conexão física (wireless, internet, etc.)

Não confiar no canal físico:

sniffers

equipos comprometidos

tempest

Page 5: Tuneles fisl2005pt

Grupo de Usuarios Linux del Uruguay UYLUGhttp://www.linux.net.uy http://www.linux.org.uy

Mario “miope” Bonilla [email protected]ído bajo licencia FDL Versión. 1.2 http://www.gnu.org/licenses/fdl.html

Sin front cover text, sin invariant text, sin back cover text.

Introdução

Por qué autenticar:

Não sempre os protocolos de aplicação autenticam cliente e servidor de forma confiável (nfs, aplicações legadas).

Atacantes podem personificar o servidor e o cliente.

Ataques podem ser feitos comprometendo elementos que não estão baixo meu controle (dns, roteamento na Internet, etc.)

Page 6: Tuneles fisl2005pt

Grupo de Usuarios Linux del Uruguay UYLUGhttp://www.linux.net.uy http://www.linux.org.uy

Mario “miope” Bonilla [email protected]ído bajo licencia FDL Versión. 1.2 http://www.gnu.org/licenses/fdl.html

Sin front cover text, sin invariant text, sin back cover text.

Introdução

Encripção e autenticação del tráfico:

Dois problemas diferentes:

Para uma aplicação específica,

Lo ideal é que a aplicação suporte encripção em forma nativa (smtp/tls, imaps, pops, ssh, https)

Quando não suporta encripção: túnel ou VPN

Para todo o tráfico da rede: VPN

Page 7: Tuneles fisl2005pt

Grupo de Usuarios Linux del Uruguay UYLUGhttp://www.linux.net.uy http://www.linux.org.uy

Mario “miope” Bonilla [email protected]ído bajo licencia FDL Versión. 1.2 http://www.gnu.org/licenses/fdl.html

Sin front cover text, sin invariant text, sin back cover text.

Introdução - Encripção

Encripção por chave simétrica:

As duas partes compartilham a mesma chave secreta.

A segurança depende do segredo da chave que eles compartilham.

É muito rápida.

Escala muito mal com maior número de participantes (((n-1) * n) / 2)

Exemplos: Blowfish, AES, RC5, 3DES

Page 8: Tuneles fisl2005pt

Grupo de Usuarios Linux del Uruguay UYLUGhttp://www.linux.net.uy http://www.linux.org.uy

Mario “miope” Bonilla [email protected]ído bajo licencia FDL Versión. 1.2 http://www.gnu.org/licenses/fdl.html

Sin front cover text, sin invariant text, sin back cover text.

Introdução - Encripção

Encripção por chave pública:

Tem duas chaves relacionadas entre si, uma é publica e a outra privada.

A chave pública se distribuí livremente.

A segurança depende da chave privada, que deve ser conhecida solo pelo dono.

É muito lento.

Escala muito bem com o número de participantes (n).

Exemplos: dsa, rsa

Page 9: Tuneles fisl2005pt

Grupo de Usuarios Linux del Uruguay UYLUGhttp://www.linux.net.uy http://www.linux.org.uy

Mario “miope” Bonilla [email protected]ído bajo licencia FDL Versión. 1.2 http://www.gnu.org/licenses/fdl.html

Sin front cover text, sin invariant text, sin back cover text.

Introdução - EncripçãoDiffie-Hellman:

Protocolo para intercâmbio de chaves.

Combina las vantagems da criptografia de chave pública com as velocidade da chave simétrica.

Permite gerar dinamicamente sobre uma conexão insegura uma chave simétrica compartilhada pelas duas partes.

El resto de la comunicação se realiza encriptando com estas chaves simétricas.

Usado em: TLS, IKE, etc.

Page 10: Tuneles fisl2005pt

Grupo de Usuarios Linux del Uruguay UYLUGhttp://www.linux.net.uy http://www.linux.org.uy

Mario “miope” Bonilla [email protected]ído bajo licencia FDL Versión. 1.2 http://www.gnu.org/licenses/fdl.html

Sin front cover text, sin invariant text, sin back cover text.

Introdução - Túneis Para encriptar o tráfico de aplicações individuais. El túnel encripta o tráfico para um protocolo e porta determinada. No funciona para aplicações que geram conexões por portas definidos

dinamicamente (ex. ftp) Como vantagem adicional, muitos túneis permitem comprimir o tráfico. A conveniência de usar compressão depende da relação entre a velocidade

da rede e a performance da cpu.

WAN/LAN

172.16.1.2:2510.1.1.1

10.1.1.10:1234172.16.1.1

Túnel: 10.1.1.10:1234 ==> 172.16.1.2:25

(vía 172.16.1.1)

telnet 10.1.1.10 1234

Page 11: Tuneles fisl2005pt

Grupo de Usuarios Linux del Uruguay UYLUGhttp://www.linux.net.uy http://www.linux.org.uy

Mario “miope” Bonilla [email protected]ído bajo licencia FDL Versión. 1.2 http://www.gnu.org/licenses/fdl.html

Sin front cover text, sin invariant text, sin back cover text.

Introdução - VPNs Rede Privada Virtual, simula uma conexão segura, através de uma rede

insegura (Internet, etc.). A VPN é um dispositivo de rede más, devem estabelecer rotas, etc. Comumente a VPN é em capa 3, mais também e possível fazer VPNs em

capa 2. Geralmente é possível comprimir o tráfico.

VPN es GW a:172.16.1.0/24

WAN/LAN

172.16.1.210.1.1.3

10.1.1.1

VPN es GW a:10.1.1.0/24

172.16.1.1

10.1.1.3 172.16.1.2

Page 12: Tuneles fisl2005pt

Grupo de Usuarios Linux del Uruguay UYLUGhttp://www.linux.net.uy http://www.linux.org.uy

Mario “miope” Bonilla [email protected]ído bajo licencia FDL Versión. 1.2 http://www.gnu.org/licenses/fdl.html

Sin front cover text, sin invariant text, sin back cover text.

Introdução - IPsec

Estándard opcional em IPv4, obrigatório em Ipv6.

Usando IKE e encripção oportunista é possível encriptar em forma transparente nodos que não se conhecem previamente.

É uma modificação do stack IP, requer modificação do kernel.

Não é portável, cada sistema operacional tem sua própria implementação.

É complexo de configurar em ambientes heterogêneos.

O protocolo é complexo: http://www.schneier.com/paper-ipsec.pdf

Page 13: Tuneles fisl2005pt

Grupo de Usuarios Linux del Uruguay UYLUGhttp://www.linux.net.uy http://www.linux.org.uy

Mario “miope” Bonilla [email protected]ído bajo licencia FDL Versión. 1.2 http://www.gnu.org/licenses/fdl.html

Sin front cover text, sin invariant text, sin back cover text.

Túneis - ssh

Interoperatibilidade:

Instalado na maioria dos equipos Unix.

Ideal para fazer túneis para resolver problemas pontuais.

Suportado baixo Windows com cygwin.

Algoritmos usados:

Chave pública: DSA, RSA (recomendado)

Chave simétrica: 3DES, Blowfish, CAST128, Arcfour, AES

Page 14: Tuneles fisl2005pt

Grupo de Usuarios Linux del Uruguay UYLUGhttp://www.linux.net.uy http://www.linux.org.uy

Mario “miope” Bonilla [email protected]ído bajo licencia FDL Versión. 1.2 http://www.gnu.org/licenses/fdl.html

Sin front cover text, sin invariant text, sin back cover text.

Túneis - sshVantagems:

Tuneliza em forma nativa e transparente conexões X11.

Comprime com gzip.

Inconvenientes:

Seu objetivo principal não é fazer túneis.

Cuidado na configuração!. Não dar privilegios a o usuário que vai criar o túnel.

O cliente do túnel não roda como demônio, é preciso fazer scripts para verificar que no morra, iniciarlo automaticamente, etc.

Não suporta UDP.

Tuneliza sobre TCP.

Page 15: Tuneles fisl2005pt

Grupo de Usuarios Linux del Uruguay UYLUGhttp://www.linux.net.uy http://www.linux.org.uy

Mario “miope” Bonilla [email protected]ído bajo licencia FDL Versión. 1.2 http://www.gnu.org/licenses/fdl.html

Sin front cover text, sin invariant text, sin back cover text.

Túneis - sshConfiguração:

Especificar o túnel pela línea de comandos (remoto/local?). Para túneis que devam ser criados em forma automática usar chave pública. Restringir privilégios da chave pública no servidor.

WAN/LAN

172.16.1.2:25

10.1.1.10:1234172.16.1.1

Túnel: 10.1.1.10:1234 ==> 172.16.1.2:25

(vía 172.16.1.1)

$ ssh -L 1234:172.16.1.2:25 [email protected]$ telnet 10.1.1.10 1234

Page 16: Tuneles fisl2005pt

Grupo de Usuarios Linux del Uruguay UYLUGhttp://www.linux.net.uy http://www.linux.org.uy

Mario “miope” Bonilla [email protected]ído bajo licencia FDL Versión. 1.2 http://www.gnu.org/licenses/fdl.html

Sin front cover text, sin invariant text, sin back cover text.

Túneis - stunnelInteroperatibilidad:

Depende só do openssl e tcpwrappers.

Compila em todos os unixes, freebsd, gnu/linux.

Compila baixo Win NT/2000/XP.

Algoritmos usados:

Autenticação X 509 , e todos os algoritmos suportados por openssl.

Page 17: Tuneles fisl2005pt

Grupo de Usuarios Linux del Uruguay UYLUGhttp://www.linux.net.uy http://www.linux.org.uy

Mario “miope” Bonilla [email protected]ído bajo licencia FDL Versión. 1.2 http://www.gnu.org/licenses/fdl.html

Sin front cover text, sin invariant text, sin back cover text.

Túneis - stunnel

Vantagems:

Permite dar suporte SSL a servidores que não tem SSL nativamente (imaps, https, etc.)

Uma sola instância do daemon pode atender vários túneis.

Suporta chroot em forma nativa.

Inconvenientes:

Um thread por conexão, usar só com kernel 2.6

Não suporta UDP.

Tuneliza sobre TCP (usar opção TCP_NODELAY=1).

Page 18: Tuneles fisl2005pt

Grupo de Usuarios Linux del Uruguay UYLUGhttp://www.linux.net.uy http://www.linux.org.uy

Mario “miope” Bonilla [email protected]ído bajo licencia FDL Versión. 1.2 http://www.gnu.org/licenses/fdl.html

Sin front cover text, sin invariant text, sin back cover text.

Túneis - stunnelConfiguração:

WAN/LAN

10.1.1.10 172.16.1.1:1234

Túnel:10.1.1.10:1234 ==> 172.16.1.2:1234

/etc/stunnel/stunnel.conf:

socket = r:TCP_NODELAY=1pid = /var/run/stunnel4/stunnel.pidclient = yes

[1234]accept = 127.0.0.1:1234connect = 172.16.1.1:5678

/etc/stunnel/stunnel.conf:

socket = l:TCP_NODELAY=1pid = /var/run/stunnel4/stunnel.pidcert = /etc/stunnel/stunnel.pem

[5678] accept = 5678 connect = 127.0.0.1:1234

:5678127.0.0.1:1234

Page 19: Tuneles fisl2005pt

Grupo de Usuarios Linux del Uruguay UYLUGhttp://www.linux.net.uy http://www.linux.org.uy

Mario “miope” Bonilla [email protected]ído bajo licencia FDL Versión. 1.2 http://www.gnu.org/licenses/fdl.html

Sin front cover text, sin invariant text, sin back cover text.

Túneis - zebedee

Interoperatibilidade:

Compila em todos os Unix, *BSD, GNU/Linux.

Compila baixo Win NT/2000/XP.

Algoritmos usados:

Zlib Blowfish Diffie-Hellman.

Autenticação mediante chave pública associada a Diffie-Hellman.

Page 20: Tuneles fisl2005pt

Grupo de Usuarios Linux del Uruguay UYLUGhttp://www.linux.net.uy http://www.linux.org.uy

Mario “miope” Bonilla [email protected]ído bajo licencia FDL Versión. 1.2 http://www.gnu.org/licenses/fdl.html

Sin front cover text, sin invariant text, sin back cover text.

Túneis - zebedeeVantagems:

Configuração simples.

Suporta UDP.

Permite compressão zlib, opcionalmente bzip2.

Inconvenientes:

Desenvolvimento estancado desde 2003.

Multithread, usar com kernel 2.6 .

Em UDP o limite por datagrama é de 16kb.

Tuneliza sobre TCP.

Não garantiza integridade dos datos (é possível introduzir barulho).

Page 21: Tuneles fisl2005pt

Grupo de Usuarios Linux del Uruguay UYLUGhttp://www.linux.net.uy http://www.linux.org.uy

Mario “miope” Bonilla [email protected]ído bajo licencia FDL Versión. 1.2 http://www.gnu.org/licenses/fdl.html

Sin front cover text, sin invariant text, sin back cover text.

Túneles - zebedee

/usr/local/etc/zebedee/zebedee.conf

detached true server false ipmode tcp listenip 127.0.0.1logfile /var/log/zebedee-clientserverhost 172.16.1.1tunnel 12300,12400:172.16.1.1:1230,1240compression zlib:9 keylength 256maxbufsize 16383keygenlevel 2 checkidfile '/usr/local/etc/zebedee-client_server-id.id'

/usr/local/etc/zebedee/zebedee.conf

detached true server true ipmode tcp logfile /var/log/zebedee-servercompression zlib:9 keylength 256keygenlevel 2 include '/usr/local/etc/zebedee-server.key'redirect nonetarget localhost:1230/tcp,1240/tcp

WAN/LAN

10.1.1.10

172.16.1.1:1230172.16.1.1:1240

Túneles:10.1.1.10:12300 ==> 172.16.1.2:123010.1.1.10:12400 ==> 172.16.1.2:1240

127.0.0.1:12300127.0.0.1:12400

172.16.1.1

Page 22: Tuneles fisl2005pt

Grupo de Usuarios Linux del Uruguay UYLUGhttp://www.linux.net.uy http://www.linux.org.uy

Mario “miope” Bonilla [email protected]ído bajo licencia FDL Versión. 1.2 http://www.gnu.org/licenses/fdl.html

Sin front cover text, sin invariant text, sin back cover text.

VPN - OpenVPNInteroperatibilidad:

Compila em GNU/Linux, *BSD, Mac OS X, Solaris.

Compila em Windows 2000/XP.

Algoritmos usados:

Os suportados pelo OpenSSL.

Certificados X509.

Autenticação por TLS.

Opcional chave simétrica compartilhada.

Page 23: Tuneles fisl2005pt

Grupo de Usuarios Linux del Uruguay UYLUGhttp://www.linux.net.uy http://www.linux.org.uy

Mario “miope” Bonilla [email protected]ído bajo licencia FDL Versión. 1.2 http://www.gnu.org/licenses/fdl.html

Sin front cover text, sin invariant text, sin back cover text.

VPN - OpenVPN

Vantagems:

Compressão adaptativa dependendo do tipo de dados.

Ethernet Bridge via VPN.

VPNs nas que ambos nodos tem IP dinâmica (adsl, dhcp, etc.)

Tuneliza sobre UDP, TCP opcional.

Simples de configurar y utilizar, ideal para ambientes heterogêneos.

Page 24: Tuneles fisl2005pt

Grupo de Usuarios Linux del Uruguay UYLUGhttp://www.linux.net.uy http://www.linux.org.uy

Mario “miope” Bonilla [email protected]ído bajo licencia FDL Versión. 1.2 http://www.gnu.org/licenses/fdl.html

Sin front cover text, sin invariant text, sin back cover text.

VPN - OpenVPNConfiguração:

/etc/openvpn/casa.conf :

dev tunremote 172.16.0.1ifconfig 10.1.0.2 10.1.0.1

## route add -net 10.0.0.0 netmask 255.255.255.0 gw $5:up ./home.up## openvpn --genkey --secret servidor.key :secret servidor.key

ping 15ping-restart 45ping-timer-rempersist-tunpersist-key

/etc/openvpn/servidor.conf :

dev tunifconfig 10.1.0.1 10.1.0.2

## route add -net 10.0.1.0 netmask 255.255.255.0 gw $5up ./office.up## La misma que en el cliente.secret servidor.key

ping 15ping-restart 45ping-timer-rempersist-tunpersist-key

Page 25: Tuneles fisl2005pt

Grupo de Usuarios Linux del Uruguay UYLUGhttp://www.linux.net.uy http://www.linux.org.uy

Mario “miope” Bonilla [email protected]ído bajo licencia FDL Versión. 1.2 http://www.gnu.org/licenses/fdl.html

Sin front cover text, sin invariant text, sin back cover text.

Outros - VPNCIPE: Requer módulo do kernel. Só funciona com kernel Linux (existe também um, porte a Windows). Segurança questionada: http://diswww.mit.edu/bloom-picayune/crypto/14238

pptp: Nativo em Windows NT, suportado em GNU/Linux, Solaris. Completamente inseguro: http://www.schneier.com/pptp.html Em vias de extinção.

vpnd: Usa SLIP. Sem desenvolvimento desde 2001.

Page 26: Tuneles fisl2005pt

Grupo de Usuarios Linux del Uruguay UYLUGhttp://www.linux.net.uy http://www.linux.org.uy

Mario “miope” Bonilla [email protected]ído bajo licencia FDL Versión. 1.2 http://www.gnu.org/licenses/fdl.html

Sin front cover text, sin invariant text, sin back cover text.

Outros - Túneis

tunnelv:

Usa ethertap (deprecated no kernel).

Desde 1999 sem desenvolvimento.

vtun:

Inseguro: http://diswww.mit.edu/bloom-picayune/crypto/14238

Desenvolvimento estancado em 2003.

Compila em quase todos os Unix, não compila no Windows

Page 27: Tuneles fisl2005pt

Grupo de Usuarios Linux del Uruguay UYLUGhttp://www.linux.net.uy http://www.linux.org.uy

Mario “miope” Bonilla [email protected]ído bajo licencia FDL Versión. 1.2 http://www.gnu.org/licenses/fdl.html

Sin front cover text, sin invariant text, sin back cover text.

Túneis, VPNs e firewalls

Fazendo um túnel, ou uma VPN, estou fazendo uma conexão direta entre duas redes que podem estar protegidas por varias camadas de firewalls.

Isto é especialmente perigoso numa VPN na que um dos nodos é comprometido.

Aplicar regras de firewall a os devices da VPN.

Restringir os túneis para que sejam só entre portas e clientes autorizados.

Muito cuidado si cada ponta da VPN está em zonas com distinto nível de segurança.

Page 28: Tuneles fisl2005pt

Grupo de Usuarios Linux del Uruguay UYLUGhttp://www.linux.net.uy http://www.linux.org.uy

Mario “miope” Bonilla [email protected]ído bajo licencia FDL Versión. 1.2 http://www.gnu.org/licenses/fdl.html

Sin front cover text, sin invariant text, sin back cover text.

Mario [email protected]

¿Perguntas?