Tuneles fisl2005pt
Upcoming SlideShare
Loading in...5
×
 

Tuneles fisl2005pt

on

  • 119 views

 

Statistics

Views

Total Views
119
Views on SlideShare
119
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Tuneles fisl2005pt Tuneles fisl2005pt Presentation Transcript

  • G UYLUG http://www.uylug.org.uy      ­      http://www.linux.org.uy Mario Bonilla                         ­             miope@linux.org.uy
  • FISL 6.0 Tecnologias Livres para Túneis e VPNs. Grupo de Usuarios Linux del Uruguay http://www.linux.net.uy Mario “miope” Bonilla UYLUG http://www.linux.org.uy miope@linux.org.uy Distribuí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 Grupo de Usuarios Linux del Uruguay http://www.linux.net.uy Mario “miope” Bonilla UYLUG http://www.linux.org.uy miope@linux.org.uy Distribuí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 Grupo de Usuarios Linux del Uruguay http://www.linux.net.uy Mario “miope” Bonilla UYLUG http://www.linux.org.uy miope@linux.org.uy Distribuí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.) Grupo de Usuarios Linux del Uruguay http://www.linux.net.uy Mario “miope” Bonilla UYLUG http://www.linux.org.uy miope@linux.org.uy Distribuí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 Grupo de Usuarios Linux del Uruguay http://www.linux.net.uy Mario “miope” Bonilla UYLUG http://www.linux.org.uy miope@linux.org.uy Distribuí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 Grupo de Usuarios Linux del Uruguay http://www.linux.net.uy Mario “miope” Bonilla UYLUG http://www.linux.org.uy miope@linux.org.uy Distribuí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 Grupo de Usuarios Linux del Uruguay http://www.linux.net.uy Mario “miope” Bonilla UYLUG http://www.linux.org.uy miope@linux.org.uy Distribuí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 Diffie-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. Grupo de Usuarios Linux del Uruguay http://www.linux.net.uy Mario “miope” Bonilla UYLUG http://www.linux.org.uy miope@linux.org.uy Distribuí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. Túnel: 10.1.1.10:1234 ==> 172.16.1.2:25 (vía 172.16.1.1) 10.1.1.10:1234 172.16.1.1 WAN/ LAN 10.1.1.1 172.16.1.2:25 telnet 10.1.1.10 1234 Grupo de Usuarios Linux del Uruguay http://www.linux.net.uy Mario “miope” Bonilla UYLUG http://www.linux.org.uy miope@linux.org.uy Distribuí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. 10.1.1.3 VPN es GW a: 10.1.1.0/24 VPN es GW a: 172.16.1.0/24 172.16.1.2 WAN/ LAN 10.1.1.1 172.16.1.1 172.16.1.2 10.1.1.3 Grupo de Usuarios Linux del Uruguay http://www.linux.net.uy Mario “miope” Bonilla UYLUG http://www.linux.org.uy miope@linux.org.uy Distribuí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 Grupo de Usuarios Linux del Uruguay http://www.linux.net.uy Mario “miope” Bonilla UYLUG http://www.linux.org.uy miope@linux.org.uy Distribuí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 Grupo de Usuarios Linux del Uruguay http://www.linux.net.uy Mario “miope” Bonilla UYLUG http://www.linux.org.uy miope@linux.org.uy Distribuí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 Vantagems: 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. Grupo de Usuarios Linux del Uruguay http://www.linux.net.uy Mario “miope” Bonilla UYLUG http://www.linux.org.uy miope@linux.org.uy Distribuí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 Configuraçã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. Túnel: 10.1.1.10:1234 ==> 172.16.1.2:25 (vía 172.16.1.1) 10.1.1.10:1234 172.16.1.1 WAN/ LAN 172.16.1.2:25 $ ssh -L 1234:172.16.1.2:25 user@172.16.1.1 $ telnet 10.1.1.10 1234 Grupo de Usuarios Linux del Uruguay http://www.linux.net.uy Mario “miope” Bonilla UYLUG http://www.linux.org.uy miope@linux.org.uy Distribuí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 Interoperatibilidad: 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. Grupo de Usuarios Linux del Uruguay http://www.linux.net.uy Mario “miope” Bonilla UYLUG http://www.linux.org.uy miope@linux.org.uy Distribuí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). Grupo de Usuarios Linux del Uruguay http://www.linux.net.uy Mario “miope” Bonilla UYLUG http://www.linux.org.uy miope@linux.org.uy Distribuí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 Configuração: /etc/stunnel/stunnel.conf: /etc/stunnel/stunnel.conf: socket = r:TCP_NODELAY=1 pid = /var/run/stunnel4/stunnel.pid client = yes socket = l:TCP_NODELAY=1 pid = /var/run/stunnel4/stunnel.pid cert = /etc/stunnel/stunnel.pem [1234] accept = 127.0.0.1:1234 connect = 172.16.1.1:5678 [5678] accept = 5678 connect = 127.0.0.1:1234 127.0.0.1:1234 10.1.1.10 WAN/ LAN :5678 172.16.1.1:1234 Túnel: 10.1.1.10:1234 ==> 172.16.1.2:1234 Grupo de Usuarios Linux del Uruguay http://www.linux.net.uy Mario “miope” Bonilla UYLUG http://www.linux.org.uy miope@linux.org.uy Distribuí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. Grupo de Usuarios Linux del Uruguay http://www.linux.net.uy Mario “miope” Bonilla UYLUG http://www.linux.org.uy miope@linux.org.uy Distribuí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 Vantagems: 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). Grupo de Usuarios Linux del Uruguay http://www.linux.net.uy Mario “miope” Bonilla UYLUG http://www.linux.org.uy miope@linux.org.uy Distribuí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 /usr/local/etc/zebedee/zebedee.conf detached true server false ipmode tcp listenip 127.0.0.1 logfile /var/log/zebedee-client serverhost 172.16.1.1 tunnel 12300,12400:172.16.1.1:1230,1240 compression zlib:9 keylength 256 maxbufsize 16383 keygenlevel 2 checkidfile '/usr/local/etc/zebedee-client_server-id.id' 127.0.0.1:12300 127.0.0.1:12400 10.1.1.10 detached true server true ipmode tcp logfile /var/log/zebedee-server compression zlib:9 keylength 256 keygenlevel 2 include '/usr/local/etc/zebedee-server.key' redirect none target localhost:1230/tcp,1240/tcp WAN/ LAN 172.16.1.1:1230 172.16.1.1:1240 172.16.1.1 Túneles: 10.1.1.10:12300 ==> 172.16.1.2:1230 10.1.1.10:12400 ==> 172.16.1.2:1240 Grupo de Usuarios Linux del Uruguay http://www.linux.net.uy Mario “miope” Bonilla UYLUG http://www.linux.org.uy miope@linux.org.uy Distribuí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 Interoperatibilidad: 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. Grupo de Usuarios Linux del Uruguay http://www.linux.net.uy Mario “miope” Bonilla UYLUG http://www.linux.org.uy miope@linux.org.uy Distribuí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. Grupo de Usuarios Linux del Uruguay http://www.linux.net.uy Mario “miope” Bonilla UYLUG http://www.linux.org.uy miope@linux.org.uy Distribuí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 Configuração: /etc/openvpn/casa.conf : /etc/openvpn/servidor.conf : dev tun remote 172.16.0.1 ifconfig 10.1.0.2 10.1.0.1 dev tun ifconfig 10.1.0.1 10.1.0.2 ## 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 15 ping-restart 45 ping-timer-rem persist-tun persist-key ## route add -net 10.0.1.0 netmask 255.255.255.0 gw $5 up ./office.up ## La misma que en el cliente. secret servidor.key ping 15 ping-restart 45 ping-timer-rem persist-tun persist-key Grupo de Usuarios Linux del Uruguay http://www.linux.net.uy Mario “miope” Bonilla UYLUG http://www.linux.org.uy miope@linux.org.uy Distribuí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 - VPN CIPE: 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. Grupo de Usuarios Linux del Uruguay http://www.linux.net.uy Mario “miope” Bonilla UYLUG http://www.linux.org.uy miope@linux.org.uy Distribuí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 Grupo de Usuarios Linux del Uruguay http://www.linux.net.uy Mario “miope” Bonilla UYLUG http://www.linux.org.uy miope@linux.org.uy Distribuí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. Grupo de Usuarios Linux del Uruguay http://www.linux.net.uy Mario “miope” Bonilla UYLUG http://www.linux.org.uy miope@linux.org.uy Distribuí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.
  • ¿Perguntas? Mario Bonilla miope@linux.org.uy Grupo de Usuarios Linux del Uruguay http://www.linux.net.uy Mario “miope” Bonilla UYLUG http://www.linux.org.uy miope@linux.org.uy Distribuí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.