Académique Documents
Professionnel Documents
Culture Documents
comOpenVPN
RicardoKlberM.Galvo
(rk@ufrn.br)
HelderJeanBritodaSilva
(helder@info.ufrn.br)
http://naris.info.ufrn.br
NcleodeAtendimentoe
RespostaaIncidentesdeSegurana
ComunicaoSeguraemCanaisInseguroscomOpenVPN
RicardoKlber(rk@ufrn.br)
VPNs(RedesVituaisPrivadas)
Contextualizando
Tneisvirtuais
Interfacesvirtuaissobreinterfacesreais
ComunicaoSeguraemCanaisInseguroscomOpenVPN
RicardoKlber(rk@ufrn.br)
VPNs(RedesVituaisPrivadas)
Contextualizando
Geralmenteutilizadasemredespblicas(Internetp.ex.)
Emborapossaserutilizaentremquinasemumaredeprivada
ComunicaoSeguraemCanaisInseguroscomOpenVPN
RicardoKlber(rk@ufrn.br)
VPNs(RedesVituaisPrivadas)
Contextualizando
OutrasCaractersticas
Geralmenteusamcriptografia
Pormnonecessariamente(tneisnoencriptados)
Podemutilizar,ainda,compactao
Reduodotrfegotunelado(aconselhvelemlinkssaturados)
Necessrioavaliarretardodacompactao
ComunicaoSeguraemCanaisInseguroscomOpenVPN
RicardoKlber(rk@ufrn.br)
VPNs(RedesVituaisPrivadas)
Contextualizando
VantagensdeUtilizao
Redesfisicamenteseparadaspodemservistas
logicamentecomoumanicarede
Facilitandoaadministrao
Comousodacriptografia,tmsecanaisseguros,
mesmosobrecanaisinseguros
Reduodecustos(substituiodelinhasprivadasp.ex.)
Focodestaapresentao
ComunicaoSeguraemCanaisInseguroscomOpenVPN
RicardoKlber(rk@ufrn.br)
VPNs(RedesVituaisPrivadas)
CenriosdeImplementao
AcessoRemotoviaInternet
ComunicaoSeguraemCanaisInseguroscomOpenVPN
RicardoKlber(rk@ufrn.br)
VPNs(RedesVituaisPrivadas)
CenriosdeImplementao
ConexodeLANs
ComunicaoSeguraemCanaisInseguroscomOpenVPN
RicardoKlber(rk@ufrn.br)
VPNs(RedesVituaisPrivadas)
CenriosdeImplementao
ConexodeHostsemumamesmaIntranet
(semintermediao)
ComunicaoSeguraemCanaisInseguroscomOpenVPN
RicardoKlber(rk@ufrn.br)
VPNs(RedesVituaisPrivadas)
CenriosdeImplementao
ConexodeHostsemumamesmaIntranet
(comintermediao)
ComunicaoSeguraemCanaisInseguroscomOpenVPN
RicardoKlber(rk@ufrn.br)
SoftwaresparaImplementaodeVPNs
FreeSwan
(www.freeswan.org)
UsodoIPSecparatunelamento
NativonoIPv6,necessrioinstalarnoIpv4
ModificaonoscabealhosdosdatagramasIpv4
Apresentaproblemasparaestaesemmascaradas(NAT)
Descontinuado(ltimaverso(2.06)de22/04/2004)
SucedidopeloOpenSwan(www.openswan.org)
VoltadoparaVPNsentreLANs
ComunicaoSeguraemCanaisInseguroscomOpenVPN
RicardoKlber(rk@ufrn.br)
SoftwaresparaImplementaodeVPNs
PPTPPonttoPointTunnelingProtocol
(www.pptp.org)
CriadopelaMicrosoft
BaseadonoprotocoloGRE(nvelderede)
NativodesdeoWindows95
ProblemascomNATeliberaoemfirewalls
Criptografiade128bits
VersesanterioresaoWindows2000sempatch=40bits
ComunicaoSeguraemCanaisInseguroscomOpenVPN
RicardoKlber(rk@ufrn.br)
SoftwaresparaImplementaodeVPNs
OutrasOpes:
VtunVirtualTunnel(http://vtun.sourceforge.net)
CipeCryptoIPEncapsulation(http://sourceforge.net/projects/cipelinux)
VpndVirtualPrivateNetworkDaemon(http://vpnd.dotsrc.org)
Tinc(http://www.tincvpn.org)
SecvpnSecureVirtualPrivateNetwork(http://alioth.debian.org/projects/secvpn)
Yavipin(http://yavipin.sourceforge.net)
ComunicaoSeguraemCanaisInseguroscomOpenVPN
RicardoKlber(rk@ufrn.br)
OpenVPN
http://openvpn.net
PrincipaisCaractersticas
UtilizaosprotocolosSSL/TLS
Flexibilidade(usodeTCPouUDP)
Implementatodososcenriosapresentados
ClientestambmparaWindows(textoougrfico)
Usodechavesaoinvsdeusurio/senha
Plataformas:Linux,Windows(apartirdo2000),
OpenBSD,FreeBSD,NetBSD,MacOSXeSunOS/Solaris
ComunicaoSeguraemCanaisInseguroscomOpenVPN
RicardoKlber(rk@ufrn.br)
OpenVPN
Instalao
Instalaoapartirdofonte:
Baixarofonte(Verso2.0.9de01/10/2006):
http://openvpn.net/release/openvpn2.0.9.tar.gz
Descompactarem/usr/srceprocederinstalao:
./configure;make;makeinstall
InstalaonoLinuxDebian:
aptgetinstallopenvpn
ComunicaoSeguraemCanaisInseguroscomOpenVPN
RicardoKlber(rk@ufrn.br)
OpenVPN
ArquivosImportantes
Servidor
ArquivodeConfiguraodoServidor
CertificadodaEntidadeCertificadora(CA)
ChavePblicadaEntidadeCertificadora(CA)
CertificadodoServidor
ChavePblicadoServidor
Cliente
ArquivodeConfiguraodoCliente
CertificadodaEntidadeCertificadora(CA)
CertificadodoCliente
ChavePrivadadoCliente
ComunicaoSeguraemCanaisInseguroscomOpenVPN
RicardoKlber(rk@ufrn.br)
OpenVPN
ArquivosAuxiliares
ScriptsparaAutomatizarTarefas
Oprocessodeconfiguraoinicialeraomaistrabalhoso
GeraodosparmetrosDiffieHellman(utilizadoparaatrocade
chaves)
GeraomanualeassinaturadaschavesCA
Criaomanualdaschavesdoservidoredosclientes
Atualmente...
Scripts(/usr/share/doc/openvpn/examples/easyrsa)
Arq.Configurao(/usr/share/doc/openvpn/examples/sampleconfigfiles)
ComunicaoSeguraemCanaisInseguroscomOpenVPN
RicardoKlber(rk@ufrn.br)
OpenVPN
ProcedimentosIniciais
DiretrioPadroeCpiadeScriptseArquivos:
Criaodediretriopadro:
mkdir/etc/openvpn
Cpiadosscriptsparaodiretriopadro:
cd/etc/openvpn
cp/usr/share/doc/openvpn/examples/easyrsa.
cp/usr/share/doc/openvpn/examples/sampleconfigfiles/server.conf.
ComunicaoSeguraemCanaisInseguroscomOpenVPN
RicardoKlber(rk@ufrn.br)
OpenVPN
GeraodoCertificadoeChavedaCA
Editaroarquivovarsepersonalizarinformaes:
exportKEY_COUNTRY=BR
exportKEY_PROVINCE=RN
exportKEY_CITY=Natal
exportKEY_ORG=SINFOUFRN
exportKEY_EMAIL=naris@info.ufrn.br
CarregarvariveisegerarcertificadodaCA:
#../vars
#./cleanall
#./buildca
InformarCommonName:
CAOpenVPN
ComunicaoSeguraemCanaisInseguroscomOpenVPN
RicardoKlber(rk@ufrn.br)
ArquivosGerados:
ca.crt
ca.key
OpenVPN
GeraodeCertificadoeChavedoServidor
Executaroscriptparageraodosarquivos:
#./buildkeyserverserver
InformarcomoCommonName:server
InformarcomoCommonName:
Respondery
Responder nasolicitao:Signthecertificate?[y/n]
Arquivosgerados:
server.crt
server.key
ComunicaoSeguraemCanaisInseguroscomOpenVPN
RicardoKlber(rk@ufrn.br)
OpenVPN
GeraodeCertificadoseChavesdosClientes
Executarparacadacliente:
#./buildkeynome_do_cliente
InformarcomoCommonName:nome_do_cliente
InformarcomoCommonName:
CadaclientedeveterumCommonNamedistinto
Arquivosgerados:
nome_do_cliente.crt
nome_do_cliente.key
Comestesprocedimentososclientesseroautenticadosbaseandose
apenasemseuscertificados.Parautilizarautenticaobaseadaem
certificadoesenha,utilizaroscriptbuildkeypass
,utilizaroscript
ComunicaoSeguraemCanaisInseguroscomOpenVPN
RicardoKlber(rk@ufrn.br)
OpenVPN
GeraodosParmetrosDiffieHelmann
Executaroscriptparageraodoarquivo:
#./builddh
Arquivogerado:
dh1024.pem
Estageraogeralmentedemorada
Parautilizar2048bits,modificaroarquivovarsantesde
executaroscriptbuilddh.
ComunicaoSeguraemCanaisInseguroscomOpenVPN
RicardoKlber(rk@ufrn.br)
OpenVPN
ArquivosImportantes
Servidor
ArquivodeConfiguraodoServidor
CertificadodaEntidadeCertificadora(CA)
ChavePblicadaEntidadeCertificadora(CA)
CertificadodoServidor
ChavePblicadoServidor
server.conf
ca.crt
ca.key
server.crt
server.key
Cliente
ArquivodeConfiguraodoCliente
CertificadodaEntidadeCertificadora(CA)
CertificadodoCliente
ChavePrivadadoCliente
ComunicaoSeguraemCanaisInseguroscomOpenVPN
RicardoKlber(rk@ufrn.br)
client.conf
ca.crt
nome_do_cliente.crt
nome_do_cliente.key
OpenVPN
ArquivodeConfiguraodoServidor
Contedodoarquivoserver.conf:
local200.1.2.3(ipdoservidor)
port1194(portapadro,pormconfigurvel)
protoudp(usarprotocoloudp)
devtun(usartapsomenteemvpnsemnveldeenlace)
caca.crt(arquivodocertificadodoCA)
certserver.crt(arquivodocertificadodoservidor)
keyserver.key(arquivodachaveprivadadoservidor)
dhdh1024.pem(arquivocomparmetrosDiffieHelmann)
ComunicaoSeguraemCanaisInseguroscomOpenVPN
RicardoKlber(rk@ufrn.br)
OpenVPN
ArquivodeConfiguraodoServidor
Contedodoarquivoserver.conf(cont.):
server10.8.0.0255.255.255.0(subrededaVPN)
pushroute192.168.0.0255.255.255.0
(clientesreceberorotapararedeatrsdoservidor)
ComunicaoSeguraemCanaisInseguroscomOpenVPN
RicardoKlber(rk@ufrn.br)
OpenVPN
ArquivodeConfiguraodoCliente
Contedodoarquivoclient.conf:
client(informaqueatuarcomoclientenaconexo)
devtun(usartapsomenteemvpnsemnveldeenlace)
protoudp(protocoloutilizadonaVPN)
remote200.1.2.31194(endereoIPeportadoservidor)
caca.crt(certificadodoCA)
certnome_do_cliente.crt(certificadodocliente)
keynome_do_cliente.key(chaveprivadadocliente)
ComunicaoSeguraemCanaisInseguroscomOpenVPN
RicardoKlber(rk@ufrn.br)
OpenVPN
WindowsGUI
ComunicaoSeguraemCanaisInseguroscomOpenVPN
RicardoKlber(rk@ufrn.br)
OpenVPN
WindowsGUI
ComunicaoSeguraemCanaisInseguroscomOpenVPN
RicardoKlber(rk@ufrn.br)
OpenVPN
ConectividadeTotal
VisualizandomquinasatrsdeumclienteOpenVPN:
Noarquivodeconfiguraodoservidor(server.conf):
clientconfigdirccd
route192.168.100.0255.255.255.255(redeatrsdocliente)
Criarumarquivoparacadacliente(dentrodosubdiretrioccd):
mkdir/etc/openvpn/ccd/
touch/etc/openvpn/ccd/nome_do_cliente
Cadaarquivoinformaarotaparasuaredeinterna:
iroute192.168.100.0255.255.255.255(redeatrsdocliente)
ComunicaoSeguraemCanaisInseguroscomOpenVPN
RicardoKlber(rk@ufrn.br)
OpenVPN
ConectividadeTotal
VisualizandomquinasatrsdeumclienteOpenVPN(cont.):
Comisso,mesmoredesatrsdeclientesremotoscomconexono
permanenteficamdisponveisparaacessoenquantoaVPNestiver
ativa;
AsrotassoinseridassomentequandooclienteestabeleceaVPNe
soremovidasautomaticamentequandoaVPNdesfeita;
DestaformaumclienteremototornaseumgatewayVPNparaacesso
de/paraasuaredeinterna.
Umaopodeve,ainda.serhabilitadanoarquivodeconfiguraodo
servidorparapermitiracomunicaoentreclientesVPN:
clienttoclient
ComunicaoSeguraemCanaisInseguroscomOpenVPN
RicardoKlber(rk@ufrn.br)
OpenVPN
RevogaodeCertificados
Executaroscriptpararevogaodocertificado:
#.vars
#./revokefullnome_do_cliente
Verificarseoarquivocrl.pemgeradoestnodiretriode
configuraodoservidor
Adicionaralinhaabaixonoarquivoserver.conf:
crlverifycrl.pem
ComunicaoSeguraemCanaisInseguroscomOpenVPN
RicardoKlber(rk@ufrn.br)
OpenVPN
OutrosRecursos
VPNsemnveldeenlace(tnelethernet)
NoarquivodeConfiguraodoservidor(server.conf):
Trocaralinha:devtun
Trocaralinha:
pelalinha:devtap
pelalinha:
ManterIPsdeclientesnasprximasconexes:
NoarquivodeConfiguraodoservidor(server.conf):
Permitirmaisdeumclientecommesmocertificado:
NoarquivodeConfiguraodoservidor(server.conf):
ifconfigpoolpersistipp.txt
duplicatecn
ComunicaoSeguraemCanaisInseguroscomOpenVPN
RicardoKlber(rk@ufrn.br)
OpenVPN
OutrosRecursos
Limitandoonmerodeclientessimultneos
NoarquivodeConfiguraodoservidor(server.conf):
Registrandologsemarquivoespecfico:
NoarquivodeConfiguraodoservidor(server.conf):
maxclients100(nestecasolimitandoem100)
logopenvpn.log
ComunicaoSeguraemCanaisInseguroscomOpenVPN
RicardoKlber(rk@ufrn.br)
Concluindo...
ConsolidaodoOpenVPN
FlexibilidadeeRobustez
GPL(GeneralPublicLicense)
Noexigemudanasemnvelderede
PrincipalDesvantagem:NooferecesuporteaWin98
ConcorrenteDireto:PPTP(nativonoWindows)
Nadatosimplesquantoparece,
nemtocomplicadoquantodizomanual
(CorolriodasLeisdeMurph)
ComunicaoSeguraemCanaisInseguroscomOpenVPN
RicardoKlber(rk@ufrn.br)
Perguntas???
ComunicaoSeguraemCanaisInseguroscomOpenVPN
RicardoKlber(rk@ufrn.br)
ComunicaoSeguraemCanaisInseguros
comOpenVPN
RicardoKlberM.Galvo
(rk@ufrn.br)
HelderJeanBritodaSilva
(helder@info.ufrn.br)
http://naris.info.ufrn.br
NcleodeAtendimentoe
RespostaaIncidentesdeSegurana
ComunicaoSeguraemCanaisInseguroscomOpenVPN
RicardoKlber(rk@ufrn.br)