PDF de programación - VPN - VIRTUAL PRIVATE NETWORK REDES PRIVADAS VIRTUALES

Imágen de pdf VPN - VIRTUAL PRIVATE NETWORK REDES PRIVADAS VIRTUALES

VPN - VIRTUAL PRIVATE NETWORK REDES PRIVADAS VIRTUALESgráfica de visualizaciones

Actualizado el 26 de Octubre del 2020 (Publicado el 16 de Abril del 2017)
2.151 visualizaciones desde el 16 de Abril del 2017
49,3 KB
23 paginas
Creado hace 21a (04/02/2003)
vpn

VPN − VIRTUAL PRIVATE NETWORK

REDES PRIVADAS VIRTUALES

1. QUE ES UNA VPN?

El término VPN se refiere a una Red Privada Virtual (Virtual Private Network), la cual utiliza
Internet como mecanismo de transporte, manteniendo la seguridad de los datos en la VPN.

La configuración más común de VPN es a través de una red interna principal y nodos remotos
usando VPN para lograr el acceso completo a la red central. Los nodos remotos son comunmente
oficinas remotas o empleados trabajando en casa. También pueden vincularse dos redes más
pequeñas para conformar una red simple, incluso más grande.

2. COMO TRABAJA?

Para construir una VPN se crea un túnel seguro entre las dos redes y se realiza enrutamiento IP a
través de él.

\ \
−−−−−−−− / / −−−−−−−−
Remote ______| Client |______\ Internet \_____| Server |______ Private
Network | Router | / / | Router | Network
−−−−−−−− \ \ −−−−−−−−
/ /

Client
Router

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
| /−> 10.0.0.0/255.0.0.0
\ |
Remote | |−−> 172.16.0.0/255.240.0.0 |−−> Tunnel >−−−\ |
Network >−−−|−−|−−> 192.168.0.0/255.255.0.0 /
|−−|−−−−> Internet
192.168.12.0 |
| | |
| \−−−−−> 0.0.0.0/0.0.0.0 −−> IP Masquerade >−− / |

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

Server Router

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
| /−>

1/23

vpn

10.0.0.0/255.0.0.0 \ |
| /−−> Tunnel >−−|−−> 172.16.0.0/255.240.0.0
|−−|−−−−> Private
Internet >−−|−−| \−−> 192.168.0.0/255.255.0.0 /
| Network
|
| |
172.16.0.0/12
| \−−−−−> 0.0.0.0/0.0.0.0 −−−−−>
/dev/null | 192.168.0.0/16

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

El diagrama anterior muestra como debería configurarse la red. El enrutador cliente es una caja
Linux que actúa como gateway o firewall para la red remota. Como se observa, la red remota usa la
red local 192.168.12.0. Para un diagrama simple, se libera la información de enrutamiento local en
los enrutadores. La idea básica es enrutar el tráfico a todas las redes privadas (10.0.0.0, 172.16.0.0 y
192.168.0.0) a través del túnel. La configuración que se muestra aquí es sólo una opción. Esto hace
que aunque la red remota pueda ver la red privada, la red privada no necesariamente puede ver la
red remota. Con el fin de que esto ocurra se debe especificar que las rutas sean bidireccionales.

En el diagrama también se puede notar que todo el tráfico emergente del enrutador cliente sale de él,
es decir, todo desde una dirección IP. Se podrían enrutar números reales desde el interior de la red,
pero eso conlleva a toda clase de problemas de seguridad.

2.1 SSH y PPP

El sistema descrito para implementar VPN usa SSH y PPP. Básicamente se emplea SSH para crear
un túnel de conexión y después usa PPPD para correr tráfico TCP/IP a través de él (esto significa
que enmascara el túnel). Esto le permite a PPPD comunicarse a través del SSH como si fuera una
línea serial. En el lado del servidor, PPPD corre como el shell de los usuarios en la sesión SSH,
completando el enlace. Después de esto, todo lo que se necesita hacer es el enrutamiento.

Sistemas VPN alternativos

Otros mecanismos para configurar una VPN:

PPTP

PPTP es un protocolo de Microsoft para VPN. Está soportado bajo linux, pero se sabe que tiene
serios problemas de seguridad. Su uso está cubierto en Linux VPN Masquerade HOWTO.

IP Sec

IP Sec es un conjunto de protocolos diferente de SSH.

2/23

vpn

CIPE

CIPE es un sistema de encriptación de red a nivel de kernel que puede ser más apropiado para
instalaciones empresariales.

2.2 SERVIDOR

Seguridad

La seguridad es muy importante para una VPN. Se necesita mantener algunas cosas en mente
mientras se está configurando el servidor.

Adaptación de los demonios

Se puede utilizar un servidor web para descargar un par de archivos necesarios para configurar las
nuevas máquinas para accesar la VPN. Si realmente se quiere correr diferentes servidores en el
gateway, se deben tener en cuenta las restricciones de acceso solo para esas máquinas en la red
privada.

No deben permitirse passwords. Aunque suene ilógico, todas las autenticaciones en esta máquina se
deben hacer mediante el sistema de autenticación de claves públicas de ssh. Así, sólo con esas
claves se puede hacer acceso. Además es mucho más difícil recordar una clave binaria de 530
caracteres de longitud.

Cómo se hace?

Se debe editar el archivo /etc/passwd. El segundo campo contiene el password o alternativamente
'x', indicando que el sistema de autenticación se encuentra en el archivo /etc/shadow. Lo que se hace
es cambiar ese campo con '*'. Esto significa que el sistema de autenticación que hay no es con
password y que no se debe permitir ninguno. El archivo /etc/passwd debería verse así:

...
nobody:x:65534:100:nobody:/dev/null:
mwilson:x:1000:100:Matthew Wilson,,,:/home/mwilson:/bin/bash
joe:*:504:101:Joe Mode (home),,,:/home/vpn−users:/usr/sbin/pppd
bill:*:504:101:Bill Smith (home),,,:/home/vpn−users:/usr/sbin/pppd
frank:*:504:101:Frank Jones
(home),,,:/home/vpn−users:/usr/sbin/pppd
...

Acceso de usuarios

El acceso de los usuarios se hace a través del esquema de autenticación de ssh que indica cómo
pueden accesar los usuarios al sistema mientras se mantiene un alto nivel de seguridad.

Configuración de sshd

3/23

vpn

Se deben configurar las siguientes opciones. La idea es deshabilitar la autenticación de password y
la autenticación de rhosts. Las siguientes opciones se deben establecer en el archivo
/etc/sshd_config:

PermitRootLogin yes
IgnoreRhosts yes
StrictModes yes
QuietMode no
CheckMail no
IdleTimeout 3d
X11Forwarding no
PrintMotd no
KeepAlive yes
RhostsAuthentication no
RhostsRSAAuthentication no
RSAAuthentication yes
PasswordAuthentication no
PermitEmptyPasswords no
UseLogin no

Restricción de usuarios

Además de permitir a algunos usuarios acceder al sistema, también hay que asegurarse de que no
accedan recursos privados. Esto se puede hacer fácilmente sólo permitiéndoles correr el pppd.

Utilización de sudo

Existe un pequeño programa llamado sudo que permite la administración de un sistema Unix para
conceder a ciertos usuarios la capacidad de correr ciertos programas como root. Esto es necesario en
este caso ya que pppd debe correr como root. Se necesitará el uso de este método si se quiere
permitir que los usuarios accesen al shell.

Si se decide no permitir a los usuarios tener acceso al shell, entonces el mejor camino es lograr que
el shell sea el pppd. Esto se hace en el archivo /etc/passwd. El último campo del archivo /etc/passwd
es el shell de usuario. No hay que hacer nada especial para trabajar con el pppd, pues cuando un
usuario se conecta, éste se corre como root. Esta es la configuración más simple, así como la más
segura. Es ideal para sistemas corporativos y a gran escala.

Funcionamiento en red

Hay que asegurarse de que los usuarios no solo tengan acceso al sistema, sino también a la red. Esto
puede hacerse utilizando las reglas del uso de firewalls del kernel de Linux y las tablas de
enrutamiento. Utilizando la ruta y los comandos ipfwadm se puede configurar el kernel para
manejar el tráfico en la red en la forma apropiada.

Kernel

4/23

vpn

Con el fin de configurar correctamente el kernel se debe asegurar que las siguientes opciones están
activadas en adición al funcionamiento básico de la red.

Ejemplo para kernel 2.0:

CONFIG_FIREWALL
CONFIG_IP_FORWARD
CONFIG_IP_FIREWALL
CONFIG_IP_ROUTER
CONFIG_IP_MASQUERADE (optional)
CONFIG_IP_MASQUERADE_ICMP (optional)
CONFIG_PPP

Ejemplo para kernel 2.2:

CONFIG_FIREWALL
CONFIG_IP_ADVANCED_ROUTER
CONFIG_IP_FIREWALL
CONFIG_IP_ROUTER
CONFIG_IP_MASQUERADE (optional)
CONFIG_IP_MASQUERADE_ICMP (optional)
CONFIG_PPP

Reglas de filtro

Primero, se escriben la reglas de filtro del firewall que permita a los usuarios accesar a las redes
internas mientras se les restringe el acceso a Internet. Esto es lógico, pues ellos ya tienen acceso a
Internet y si se les permite usar el túnel para accesar la red, se estaría derrochando el ancho de banda
y el procesador.

Las reglas de filtro dependen de la red interna que se esté utilizando. Se debe permitir que el tráfico
entrante desde las VPNs a la red interna ingrese. Esto se puede hacer utilizando la herramienta
ipfwadm en kernel 2.0 o ipchains en kernel 2.2.

Para establecer las reglas con ipfwadm se debe utilizar las siguientes opciones:

# /sbin/ipfwadm −F −f
# /sbin/ipfwadm −F −p deny
# /sbin/ipfwadm −F −a accept −S 192.168.13.0/24 −D 172.16.0.0/12

Para establecer las reglas con ipchains se debe utilizar las siguientes opciones:

# /sbin/ipchains −F forward
# /sbin/ipchains −P forward DENY
# /sbin/ipchains −A forward −j ACCEPT −s 192.168.13.0/24 −d
172.16.0.0/12

Enrutamiento

A continuación hay que indicarle al kernel dónde enviar los paquetes.

5/23

vpn

Se enruta todo el tráfico destinado para las redes privadas en la interface interna, y los demás
tráficos en la interface externa. La especificación de comandos de enrutamiento depende de las
redes internas que se están utilizando
  • Links de descarga
http://lwp-l.com/pdf2952

Comentarios de: VPN - VIRTUAL PRIVATE NETWORK REDES PRIVADAS VIRTUALES (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad