cur so zeros hell

39
Curso ZeroShell Página 1 CURSO ZEROSHELL

Upload: saul-lomn

Post on 30-Nov-2015

27 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Cur So Zeros Hell

 

Curso ZeroShell              Página 1  

  

 

 

 

 

 

CURSO ZEROSHELL  

 

   

Page 2: Cur So Zeros Hell

 

Curso ZeroShell              Página 2  

 

QUE ES ZEROSHELL 

Zeroshell es una distribución Linux para servidores y dispositivos embebidos, que provee de servicios 

de  red.  Es  un  Firewall  gratuito  que  tiene  las  características  de  los  de  los  equipos  complejos  de 

seguridad. 

Sus principales características son: 

Balanceo de líneas y tolerancia a fallos con conexiones multiples de internet 

Conexiones UMTS y HSDPA utilizando módems 3G 

Servidor de autentificación radius 

“Captative Portal”. Portal de validación web para redes. El usuario debe validarse antes de 

poder navegar. 

QoS (Calidad de servicio). Permite configurar el tráfico de la red para garantizar un ancho de 

banda mínimo 

HTTP Proxy transparente. 

Punto de acceso wireless 

Host to Lan VPN. VPN cliente 

Lan to Lan VPN. VPN entre servidores 

Router con rutas dinámicas y estáticas 

Soporte de lan Virtual 

Filtro de paquetes, incluido en tráfico P2P 

Traducción de direcciones (NAT) 

TCP/UPD Port Forwarding para la publicación de servidores internos 

Servidor DNS multizona 

Cliente PPPoE para la conexión xDSL 

Cliente DNS dinámico 

Autenticación Kerberos 5 

Autenticación LDAP, NIS y RADIUS 

Sincronización con Active Directory 

Entidad certificadora X509 

 

Zeroshell es una distribución “Live CD”. Esto significa que no es necesario instalarlo en el disco duro 

para que funcione, ya que es capaz de funcionar desde el CD‐ROM. Logicamente la base de datos de 

configuración, que contiene  los datos de  la red, puede ser almacenada en discos ATA, SATA, SCSI y 

USB. 

Dispone de un sistema de actualizaciones on‐line 

Se  puede  descargar  para  formatos  en  tarjetas  Compact  Flash  para  instalarla  en  dispositivos 

embebidos. 

 

Page 3: Cur So Zeros Hell

 

Curso ZeroShell              Página 3  

 

Zeroshell dispone de un  interfaz web para su configuración, pero  también puede ser administrado 

desde un terminal remoto (ssh) 

Zeroshell no está basado en ninguna distribución de Linux, como por ejemplo Ubuntu está basado en 

Debian. 

Se pueden descargar los diferentes paquetes que lo forman, para adaptarlo a nuestro hardware 

Que es Zeroshell. Características 

 

INSTALACIÓN DE ZEROSHELL 

Debemos introducir el CD de instalación descargado. Este manual recoge la distribución ZeroShell-

1.0.beta12.iso, pero instalada en una maquina virtual. 

Una vez iniciado el sistema con el CD dentro, accedemos a la pantalla de inicio de sesión. Por defecto 

Zeroshell se instala con la dirección ip 192.168.0.75. 

La pantalla inicial de configuración que veremos después de la instalación es: 

 

Lo primero que debemos hacer es cambiar la contraseña de acceso. EL nombre de usuario es admin 

y por defecto no tiene clave. 

Pulsamos sobre la letra P para introducir la contraseña. 

Una vez cambiada  la contraseña accedemos a  la pantalla de configuración via web, ya que es más 

amigable que la administración por línea de comandos. 

Page 4: Cur So Zeros Hell

 

Curso ZeroShell              Página 4  

 

Debemos de tener en cuenta que para administrar Zeroshell via web, debemos de tener en nuestro 

equipo una dirección IP del mismo rango. 

 

 

En la primera pantalla de administración, introducimos el usuario y la clave (usuario admin, clave la 

que hemos introducido) 

 

 

Page 5: Cur So Zeros Hell

 

Curso ZeroShell              Página 5  

 

GUARDAR CONFIGURACION 

Zeroshell permite su instalación en el disco duro, pero en este manual vamos a tratar la distribución 

Live  con  la  configuración  guardada  en  el  disco  duro.  Si  no  hiciésemos  esto,  cada  vez  que 

arrancásemos el sistema, iniciaría una nueva instalación de Zeroshell.  

Este sistema tiene grandes ventajas, ya que podemos guardar distintas configuraciones para realizar 

pruebas. 

Dado que nuestro sistema es una maquina virtual, y el disco duro esta creado pero no configurado, 

debemos  crear  una  partición  en  nuestro  disco  duro  virtual.  Esta  operación  no  es  necesaria  en 

aquellos equipos en los que veamos una partición en el menú “PROFILE” 

 

 

Para crear a partición, realizaremos las siguientes acciones 

Marcamos  la partición  con  la etiqueta  “Model: VMware, VMware virtual S  (SDA)”   para que nos 

aparezca el menú de acciones que podemos realizar. 

 

 

Page 6: Cur So Zeros Hell

 

Curso ZeroShell              Página 6  

A continuación hacemos clic en el botón “New Partition” para acceder a  la ventana de creación de 

partición en el disco duro virtual 

 

En esta pantalla vamos a crear una partición para almacenar nuestra configuración. EL formato de la 

partición, será Extended 3 y el tamaño el Máximo disponible. (Opciones por defecto). Una vez creada 

la partición, nos aparecerá la página  de “PROFILES” con la nueva partición creada. 

 

Page 7: Cur So Zeros Hell

 

Curso ZeroShell              Página 7  

 

Para crear un perfil, debemos de seleccionar la partición que hemos creado (sda1) y nos aparecerá el 

menú para crear nuestro perfil 

 

 

 

Pulsamos sobre el botón de “Create Profile” para que nos aparezca la ventana de creación de perfil, 

donde nos solicitará los datos necesarios. 

 

 

Los  datos  que  introduciremos  en  esta  pantalla  serán  los  datos  que  se  guardarán  en  el  perfil,  y 

nuestro sistema se iniciará con esa configuración. 

Description:   La descripción del perfil, por si  tenemos varios perfiles, poder  identificarlos 

correctamente 

Hostname:  El nombre DNS que  tendrá nuestra máquina.  Introduciremos  zX.demoX.es. 

Las X hay que sustituirla por el número de equipo del aula 

Page 8: Cur So Zeros Hell

 

Curso ZeroShell              Página 8  

Kerberos 5:    demoX.es 

LDAP Base:    dc=demoX,dc=es 

Admin password:  La clave de administrador que queramos 

Confirm password:  La confirmación de la clave introducida 

Ethernet interface:  Seleccionaremos el interface a utilizar en la red interna 

IP Adress/ Netmask  La configuración IP de nuestra tarjeta de red 

Default Gateway:  Puerta de enlace de nuestra conexión. 

Una vez  introducidos estos datos, pulsamos  sobre el botón “CREATE”  situado en  la parte  superior 

derecha, y nos aparecerá la pantalla de “PROFILES”, con la información del perfil creado 

 

Para activar este perfil debemos seleccionar _DB.001 

 

Y nos aparecerá el menú de activación de perfil.  

 

Page 9: Cur So Zeros Hell

 

Curso ZeroShell              Página 9  

Pulsaremos sobre el botón de “ACTIVATE” para activar el perfil que creamos. 

Nos aparecerá la pantalla de activación de perfil, indicándonos que no está activo. 

 

Pulsaremos sobre el botón “ACTIVATE”. 

El sistema se reiniciará con la configuración que hemos creado. 

 

INSTALACIÓN DE ZEROSHELL EN EL DISCO DURO 

Para la instalación en el disco duro, debemos bajar el fichero para tarjeta “IDE, SATA y discos USB” de 

la página web http://www.zeroshell.org. Este fichero se encuentra en la sección de downloads. 

 

 

Necesitamos  tener  instalado  un  cliente  ssh  para  acceder  al  sistema  y  poder  copiar  la  imagen  en 

nuestro disco duro. 

Page 10: Cur So Zeros Hell

 

Curso ZeroShell              Página 10  

 

Para  acceder  remotamente  a  nuestro  Zeroshell,  debemos  habilitar  la  opción  que  nos  permitirá 

administrarlo remotamente. Accedemos a la opción “SSH” del menú principal 

 

 

Y nos aparecerá la pantalla de activación del acceso remoto 

 

Por  defecto  nos muestra  que  el  acceso  está  concedido  para  la  red  en  la  cual  tenemos  instalado 

nuestro  Zeroshell.  Podemos  configurar  otras  redes  para  que  puedan  administrar  remotamente  el 

sistema. 

En esta pantalla debemos marcar la opción “Enabled” y después pulsar sobre el botón “SAVE” para 

guardar la configuración. 

A continuación podemos acceder con un cliente ssh (putty) a nuestro sistema. Debemos introducir el 

usuario y clave del sistema (usuario admin, y la clave introducida al crear el perfil). 

Al no tratarse de un sistema Linux convencional, una vez  introduzcamos el usuario y  la contraseña 

accederemos al menú de configuración basado en texto. 

Page 11: Cur So Zeros Hell

 

Curso ZeroShell              Página 11  

Una vez que nos aparece el menú, tecleamos la letra S para acceder a la Shell. Aunque Zeroshell no 

está basado en ninguna distribución Linux en concreto, soporta casi todos los comandos de cualquier 

sistema Linux. 

 

Introduciremos la llave usb con el fichero descargado en el sistema, y ejecutamos el comando fdisk –l 

para que nos muestre las particiones.  

 

En este ejemplo, Zeroshell está instalado en /dev/hda1 y la llave usb está en /dev/sda1 

A continuación debemos montar  la  llave USB en un directorio, para poder proceder a  la copia del 

archivo de imagen. Para ello ejecutaremos los siguientes comandos en la consola: 

Page 12: Cur So Zeros Hell

 

Curso ZeroShell              Página 12  

 

Una vez montada la llave USB, procederemos a la copia de la imagen 

 

Debemos extraer el CD del sistema, para que al arrancar utilice la imagen que hemos cargado en el 

disco  duro  del  ordenador.  AL  realizar  esta  acción,  si  habíamos  configurado  un  perfil,  este  se 

eliminará, ya que la imagen sobrescribirá toda la información del sistema. 

 

CONFIGURACIÓN DE LA RED 

En el siguiente esquema, mostramos una configuración de red típica, que vamos a realizar a través 

de un sistema con Zeroshell 

 

 

Page 13: Cur So Zeros Hell

 

Curso ZeroShell              Página 13  

 

En una red típica, tenemos una salida a internet, probablemente unida a un router xDSL o de Cable, 

por  lo  que  tendremos  que  configurar  la  correspondiente  tarjeta  de  red  del  equipo  que  tiene 

instalado Zeroshell para que se conecte al router de salida. 

Para ello accedemos al menú “NETWORK” y seleccionamos el interface ETH1 

 

Una vez seleccionado el interface, pulsamos sobre el botón “ADD IP” para añadirle una dirección IP 

que esté dentro de la red del router de salida. 

 

Se debe consultar la documentación adjunta para ver que direcciones IP tenemos que introducir 

Una vez guardados los campos, volvemos a la pantalla de NETWORK donde veremos nuestros dos 

interfaces de red con su correspondiente dirección IP.

 

Page 14: Cur So Zeros Hell

 

Curso ZeroShell              Página 14  

 

A continuación, configuraremos nuestro router para que nos permita  la salida a  internet realizando 

NAT (Traducción de direcciones) entre la red interna y la externa. Para ello debemos comprobar que 

el Gateway es el correcto. 

Accedemos  al  menú  del  Gateway  pulsando  sobre  el  botón    “GATEWAY”,  y  configuraremos  la 

dirección IP de nuestra salida a internet. Generalmente esta dirección suele ser la de nuestro router 

xDSL o de cable. 

 

 

A continuación configuraremos la traducción de direcciones de los interfaces de red. Como nuestra 

red interna está conectada al interfaz ETH00, debemos configurar nuestra red, para que haga NAT 

sobre el interface ETH01 

Accedemos al menú de la izquierda “ROUTER” y nos aparece la siguiente pantalla 

 

Page 15: Cur So Zeros Hell

 

Curso ZeroShell              Página 15  

 

Accediendo al menú “NAT” veremos una pantalla donde nos indica los interfaces de red de nuestro 

equipo, debiendo seleccionar el interface ETH01 

 

 

Guardamos  los cambios y a continuación comprobamos que desde nuestra red podemos acceder a 

alguna dirección de internet. 

CONFIGURACIÓN DEL SERVIDOR DHCP 

EL servidor DHCP es un servidor que asigna dinámicamente direcciones  IP a  los equipos de nuestra 

red, con todos  los datos necesarios para que no tengamos que configurar nada. Es muy útil ya que 

nos olvidamos de que cada vez que unamos un equipo a  la red, tengamos que configurarlo con su 

dirección IP, su puerta de enlace y  los servidores DNS. 

También podemos asignar a los equipos siempre la misma dirección IP, ya que el servidor DHCP nos 

permitirá asignarlas en función de las direcciones MAC de las tarjetas de red. 

Para  configurar el  servicio DHCP, accedemos al menú  “DHCP”  situado a  la  izquierda  y  veremos  la 

siguiente pantalla 

 

Page 16: Cur So Zeros Hell

 

Curso ZeroShell              Página 16  

 

 

En este momento no tenemos ningún rango de direcciones configurado para que el servidor las 

asigne a los equipos.  

Vamos a asignar las direcciones IP de la 50 a la 99, siguiendo las instrucciones de red que figuran en 

el manual, indicando también cual es la puerta de enlace (dirección IP interna de Zeroshell) y el 

servidor DNS (dirección IP interna de Zeroshell) 

 

Debemos crear una subred para poder asignar direcciones IP a nuestra red. Pulsamos sobre el botón 

“NEW” en la esquina superior derecha y seleccionamos el interface ETH00, que es el de nuestra red 

interna. 

 

 

Page 17: Cur So Zeros Hell

 

Curso ZeroShell              Página 17  

Pulsamos  sobre  el  botón  “OK”  para  configurar  los  rangos  de  direcciones  que  se  asignarán  a  los 

clientes 

 

 

Debemos marcar “Enabled” y pulsar sobre el botón “SAVE”  

A partir de este momento, cuando encendamos un equipo, nuestro router Zeroshell le asignará una 

dirección IP con los datos que hemos configurado en nuestro servidor. 

   

Page 18: Cur So Zeros Hell

 

Curso ZeroShell              Página 18  

SERVIDOR DNS 

No es necesario configurar el servidor DNS de Zeroshell, pero si activarlo, salvo que queramos tener 

un DNS propio en nuestra red y no utilizar el que nos facilita nuestro proveedor de internet. 

La creación de un servidor DNS no es una tarea sencilla, por lo que no está al alcance de este manual. 

De  todas  formas,  cualquier  usuario  que  esté  familiarizado  con  los  servidores  DNS  podrá  crear 

fácilmente las zonas necesarias y dar de alta los nombres a través del interfaz web de Zeroshell. 

 

CONFIGURACIÓN DE RUTAS ESTÁTICAS 

Supongamos  que  tenemos  que  en  nuestra  ubicación  hay  dos  redes  diferentes.    Lo  que  debemos 

configurar   es que  cualquier petición que no vaya a nuestra  red, adonde debe de  ir. Por defecto, 

cualquier conexión que hagamos a una dirección IP ajena a nuestra red interna, Zeroshell tratará de 

enviarla por el Gateway (puerta de salida) que le hemos indicado en la configuración. 

Si  debemos  acceder  a  otro  departamento,  cuyas  direcciones  IP  son  del  tipo  172.0.0.1,  debemos 

decirle a nuestro router que si alguien accede a alguna de estas direcciones IP, en vez de enviarla por 

el Gateway, la envíe a la red de destino. 

Lógicamente, para este supuesto, debemos de tener tres interfaces de red en nuestro sistema. No es 

necesario que sean tres interfaces de red físicos, si no que pueden ser dos interfaces de red físicos y 

una VPN entre servidores. 

Abordaremos la  creación de rutas estáticas en el capítulo de creación de VPN entre servidores, a que 

haremos un ejemplo práctico. 

 

CONFIGURACIÓN DEL PROXY TRANSPARENTE 

En este apartado, configuraremos un proxy transparente con antivirus para filtrar los contenidos que 

nuestros usuarios descargan de internet. 

Las páginas Web son cada vez más los medios más frecuentes por los que los gusanos y los virus se 

propagan  en  la  Internet.  Ya  sea  intencionalmente  o  porque  son  vulnerables  y  por  lo  tanto 

modificables  sin  el  conocimiento  de  sus  autores,  las  páginas Web  a  veces  tienen  referencias  de 

código ejecutable que puede  infectar a  los usuarios. Además,  la situación ha empeorado desde que 

una serie de vulnerabilidades en el sistema de visualización de las imágenes ha permitido a los virus 

portarse dentro de archivos JPEG.  

La mejor solución para este tipo de problema es proporcionar a todos los dispositivos cliente que se 

conectan a  Internet con un buen programa antivirus con protección en  tiempo  real, comprobando 

todos los archivos de entrada. Sin embargo, esto puede no ser suficiente por dos razones: 

ningún programa antivirus,  incluso  los que sí tienen  firma de mecanismos de actualización, 

puede proporcionar una garantía del 100% contra todos los virus 

Page 19: Cur So Zeros Hell

 

Curso ZeroShell              Página 19  

la  verificación  en  tiempo  real  del  contenido  entrante  es  bastante  pesada  en  términos  de 

cálculo  y  en  particular  en  los  dispositivos  cuyo  funcionamiento  no  es  demasiado  bueno, 

puede  ralentizar  el  sistema  hasta  el  punto  de  hacer  que  los  usuarios  deshabiliten  la 

protección en tiempo real del antivirus. 

Por estas razones, el chequeo de virus se realiza cada vez más en capas superiores, antes que virus 

potenciales puedan  llegar  los usuarios. En otras palabras,  los sistemas centralizados de antivirus se 

utilizan en los servidores que ofrecen un servicio en particular. El ejemplo más extendido es el de los 

servidores  de  correo  electrónico,  que  tienen  un  sistema  que  analiza  los  mensajes  entrantes  y 

salientes  a  través  de  SMTP  y  analizan  los  archivos  adjuntos  en  busca  de  virus.  En  este  caso,  la 

aplicación  de  verificación  de  antivirus  en  una  puerta  de  enlace  SMTP  es muy  natural,  ya  que  los 

correos electrónicos están obligados a pasar por ella, antes de llegar al buzón del usuario. 

Para el servicio HTTP, esto no es tan insignificante, ya que un cliente potencial de Internet se puede 

conectar directamente a cualquiera de los servidores Web disponibles en Internet. La solución a este 

problema consiste en la introducción de un nivel de aplicación de puerta de enlace a la red local para 

recoger  las  peticiones  HTTP  de  clientes  y  los  remitirá  a  los  servidores  Web  pertinentes.  Este 

aplicación de puerta de enlace se denomina Proxy Web y ya que es capaz de interpretar el protocolo 

HTTP,  no  sólo  filtra  sobre  la  base  de  las  URL  sino  que  también  puede  controlar  el  contenido 

transportado (HTML, JavaScript, Java Applet, imágenes,...) y los explora en busca de virus.  

Una de las funciones más comunes de los Proxy hasta el momento han sido las cachés Web, es decir, 

archivos  almacenados  de  las  páginas  Web  que  ya  han  sido  visitadas,  con  el  fin  de  acelerar  la 

visualización  de  las mismas  URL  para  las  solicitudes  posteriores.  El  objetivo  de  esto  es  también 

reducir  el  consumo  de  ancho  de  banda  en  Internet  y  uno  de  los más  conocidos  Proxy,  capaz  de 

realizar funciones de Web Cache es Squid, distribuido con licencia Open Source. 

Zeroshell no se  integra con Squid, ya que no recoge  las páginas Web. La  tarea de un programa de 

antivirus  centrada  en  la  red  y  el  filtrado  de  contenidos,  utilizando  las  listas  negras  de  URL,  es 

manejado  por  HAVP  como  sistema  de  representación  y  ClamAV  como  antivirus.  Ambos  se 

distribuyen bajo licencia GPL. 

Uno de los mayores problemas cuando se utiliza un servidor Proxy es la de la configuración de todos 

los navegadores Web para usarlo. Por  tanto, es necesario especificar  su dirección  IP o nombre de 

Host y el puerto TCP en el que responde (por lo general el puerto 8080). Esto podría ser una carga en 

el caso de redes de área  local con numerosos usuarios, pero peor aún, no se podría garantizar que 

los usuarios no eliminen esta  configuración para obtener acceso directo a  la Web, evitando así  la 

verificación de antivirus, el registro de acceso y listas negras. 

Para  resolver  este  problema,  Zeroshell  utiliza  el  modo  de  Proxy  transparente  que  implica 

automáticamente la captura de las solicitudes de cliente en el puerto TCP 80. 

Obviamente,  para  Zeroshell  poder  captar  estas  peticiones Web,  debe  ser  configurado  como  un 

Gateway de la red, de modo que el tráfico de Internet de los cliente pase a través de ella. Zeroshell 

automáticamente captura  las peticiones HTTP si se trata de un nivel 2 de puerta de enlace (puente 

entre Ethernet, WiFi o la interfaz VPN) o de la capa 3 de puerta de enlace (enrutador). Sin embargo, 

es importante especificar las interfaces de red IP o subredes a las que las solicitudes deben ser  

Page 20: Cur So Zeros Hell

 

Curso ZeroShell              Página 20  

 

redirigidas.  Esto  se  hace mediante  la  adición  de  las  llamadas  HTTP  Capturing  Rules  (Reglas  de 

Capturas de HTTP). 

Accedemos al menú “HTTP Proxy” que está situado a la izquierda. 

 

Vamos a configurar nuestro sistema para que  intercepte  las peticiones que pasan por  la  interfaz de 

red ETH00, que es nuestra red interna. 

Para ello pulsamos sobre el botón “+” 

 

 

Page 21: Cur So Zeros Hell

 

Curso ZeroShell              Página 21  

 

Dejamos en blanco el campo de “Source IP” y “Destination IP” ya que queremos que capture todas 

las peticiones de la red. Al guardar, accederemos a la pantalla  inicial del Proxy transparente 

 

Debemos  pulsar  sobre  el  botón  “SAVE”  para  activar  el  servicio.  Automáticamente  Zeroshell 

actualizará  la  base  de  datos  de  definiciones  de  antivirus  (se  puede  comprobar  pulsando  sobre  el 

botón “Update Log”. 

Si queremos ver las peticiones que hacen nuestros usuarios, debemos activar la opción “Any access” 

en el elemento “Access Logging  (check the law in your country)” 

 

Page 22: Cur So Zeros Hell

 

Curso ZeroShell              Página 22  

No es recomendable tener esta opción activada, ya que generaría mucha información en los logs de 

nuestro sistema, y lo volvería más lento. 

En  lo relativo al antivirus, nuestro sistema comprobará  las definiciones de virus cada 12 horas, y si 

hay alguna novedad  las actualizará. Debemos  seleccionar en  la  lista de  “Country of  the Mirror” a 

“Spain” (“España”) 

Para  probar  si  nuestro  antivirus  funciona  correctamente,  podemos  acceder    a  la  página 

http://www.eicar.org/anti_virus_test_file.htm  y  descargar  alguno  de  los  virus  de  ejemplo  que 

aparecen en la página y observaremos que nuestro sistema lo intercepta y nos avisa de él. 

Aparte  de  tener  nuestra  red  parcialmente  protegida  para  las  descargas  de  los  usuarios,  también 

podemos agregar listas negras y blancas.  

Una  lista negra son direcciones de páginas web que no queremos que nuestros usuarios vean. Una 

lista blanca son direcciones de páginas web que permitimos a nuestros usuarios que accedan.  Estas 

dos opciones aparecen deshabilitadas por defecto. 

Lo normal es configurar  las  listas negras con sitios web que sepamos que van a generar  tráfico no 

deseado (sitios de descargas P2P, youtube, etc) 

En el caso de que algún usuario acceda a un sitio web que este en nuestra  lista negra,  le aparecerá 

una pantalla como la que sigue: 

 

 

   

Page 23: Cur So Zeros Hell

 

Curso ZeroShell              Página 23  

 

CONFIGURACION DE LA AUTORIDAD CERTIFICADORA PARA LAS CONEXIONES REMOTAS 

Accedemos al menú de la izquierda “X509” y a continuación accedemos al menú “SETUP” 

Dentro de este apartado  introducimos  los datos de nuestra autoridad certificadora (CA) para poder 

emitir certificados de usuario validándose contra nuestra CA 

 

 

Si tuviésemos algún usuario creado, al crear una nueva autoridad certificadora,  los certificados que 

hubiésemos emitidos, no valdrían. 

 

CREACIÓN DE USUARIOS 

Vamos a crear un usuario para conectarnos vía VPN. 

Accedemos al menú “USERS” y a continuación al menú “ADD” para  introducir  los datos del usuario 

que vamos a crear. 

Al  crear  el  usuario,  nos  creará  automáticamente  el  certificado  de  usuario  en  base  a  la  autoridad 

certificadora que hemos creado. 

 

 

 

Page 24: Cur So Zeros Hell

 

Curso ZeroShell              Página 24  

 

 

A continuación, vamos a configurar un equipo Windows para acceder remotamente a nuestra red.  

 

ACCESO REMOTO. VPN CLIENTE L2TP/IPSEC 

Una vez hemos creado nuestro usuario, vamos a exportar el certificado de la CA y el certificado de 

usuario, ya que tenemos que instalarlos en Windows para poder realizar una VPN con este sistema 

operativo sin la necesidad de instalar software adicional. 

Debemos exportar el certificado en formato PEM (autoridad certificadora) y en formato 

PFX(certificado de usuario), guardándolos en nuestro equipo. 

 

 

   

Page 25: Cur So Zeros Hell

 

Curso ZeroShell              Página 25  

 

 

 

 

Una  vez  guardados  en  nuestro  equipo,  procedemos  a  la  configuración  de  Windows.  Debemos 

guardar los certificados en el almacén de certificados del equipo. 

Cargamos el complemento de certificados de Windows, ejecutando Inicio  Ejecutar  mmc 

 

Mediante esta aplicación vamos a cargar el complemento de certificados. 

 

Archivo  agregar o quitar complemento 

 

Page 26: Cur So Zeros Hell

 

Curso ZeroShell              Página 26  

 

 

 

 

 

Page 27: Cur So Zeros Hell

 

Curso ZeroShell              Página 27  

 

Pulsamos  sobre  el botón  aceptar de  las diferentes pantallas que  tenemos  abiertas hasta que nos 

quedemos en la siguiente pantalla. 

 

 

A  continuación  importaremos  los  certificados  en  el  almacén  “personal”.  En  el  caso  de  que  no 

funcione  la  VPN,  debemos  comprobar  que  estos  certificados  también  existen  en  la  carpeta 

“Entidades  emisoras  raíz  de  confianza”.  Si  no  existiesen,  debemos  importarlos  también  en  esta 

carpeta. 

Para  importar, nos posicionamos sobre  las carpetas  indicadas y con el botón derecho realizamos  la 

importación 

 

 

Page 28: Cur So Zeros Hell

 

Curso ZeroShell              Página 28  

 

 

 

Una vez importados los certificados, procedemos a la creación de la VPN.  

Accedemos al panel de control   Conexiones de red  crear una conexión nueva 

 

 

 

 

 

 

 

 

 

 

 

 

 

Page 29: Cur So Zeros Hell

 

Curso ZeroShell              Página 29  

 

 

 

Seleccionamos conectarse a la red de mi lugar de trabajo, siguiente y conexión de red privada virtual. 

 

 

Debemos introducir un nombre para identificar nuestra conexión y en la siguiente pantalla introducir 

la dirección IP, o el nombre DNS de la maquina a la que nos queremos conectar. En nuestro caso será 

la dirección IP externa de nuestra máquina Zeroshell. (Consultar la documentación) 

Page 30: Cur So Zeros Hell

 

Curso ZeroShell              Página 30  

 

 

Pulsamos sobre el botón siguiente para finalizar el asistente. 

A continuación debemos introducir los datos de usuario y contraseña que creamos para poder 

conectarnos, teniendo cuidado en que los datos que introduzcamos son sensitivos a las mayúsculas y 

minúsculas. 

 

Si la conexión es satisfactoria, deberíamos ver un globo informativo en la parte inferior derecha de 

Windows. 

 

A partir de ahora, podemos conectarnos a cualquier máquina de nuestra red de la oficina como si 

estuviésemos físicamente en ella. 

 

 

Page 31: Cur So Zeros Hell

 

Curso ZeroShell              Página 31  

 

ACCESO REMOTO. VPN CLIENTE OPENVPN 

Por defecto, en toda instalación de Zeroshell, existe un interfaz denominado VPN99. Esta interfaz se 

puede ver en el menú “NETWORK”. 

 

Este  interfaz está deshabilitada por defecto. Para activarla, debemos de configurar nuestro sistema 

para que acepte estas conexiones. 

Para activar las conexiones remotas accedemos al menú “VPN” y activamos esta funcionalidad 

 

 

A  partir  de  este momento,  nuestros  usuarios  podrán  conectarse  a  la  red  protegida  por  Zeroshell 

como si estuviese dentro de la red interna. 

En  función  del  tipo  de  autentificación  que  hayamos  seleccionado,  debemos  configurar  el  cliente 

OpenVPN de una forma u otra. 

 

Page 32: Cur So Zeros Hell

 

Curso ZeroShell              Página 32  

 

El  cliente  VPN  se  puede  descargar  de  http://www.openvpn.net,    o  una  versión  con GUI  (interfaz 

gráfico) desde http://openvpn.se/. Esta última es la que vamos a descargar y configurar. 

Una  vez descargado el  software  lo  instalamos en nuestro equipo. EL programa  creará un  interfaz 

virtual en nuestra configuración de red, que lo utilizará en nuestras conexiones de VPN. 

 

 

En la página de downloads de Zeroshell, tenemos la configuración para utilizar con Zeroshell. A este 

fichero, solo tenemos que decirle cual es nuestro método de autentificación, y si es con certificado 

de usuario, decirle donde está.  

Este  fichero  puede  descargarse  de  http://www.zeroshell.net/eng/download/zeroshell.ovpn  y 

guardarlo en la carpeta config con nuestros certificados. 

También  necesitamos  el  certificado  raíz  de  nuestro  Zeroshell.  Para    descargarlo  accedemos  a  la 

página  inicial del Zeroshell, y sin hacer  login, en  la parte superior derecha tenemos un enlace para 

descargar la CA. Este fichero debemos de guardarlo en la carpeta config. 

A continuación editamos el fichero Zeroshell.ovpn, y lo configuramos siguiendo las instrucciones que 

en él aparecen.  

 

Page 33: Cur So Zeros Hell

 

Curso ZeroShell              Página 33  

 

Debemos  configurar  la  dirección  remota  de  la maquina  Zeroshell,  el  tipo  de  autentificación  que 

vamos a utilizar, y en el caso de que sea exclusivamente con certificado, indicarle donde está nuestro 

certificado. 

Configuración con usuario y contraseña: 

Configurar Zeroshell para  que use autentificación solo con contraseña 

 

Modificar el fichero de conexión con los datos correspondientes 

 

 

   

Page 34: Cur So Zeros Hell

 

Curso ZeroShell              Página 34  

Configuración con certificado 

Configurar Zeroshell para que la autentificación sea solo con certificado X509 

 

Debemos seleccionar en “Autentication”  la CA de servidor con la que vamos a validar los 

certificados de los usuarios. 

Modificar el fichero de conexión con los datos correspondientes 

 

Page 35: Cur So Zeros Hell

 

Curso ZeroShell              Página 35  

VPN LAN TO LAN 

Otra de las características importantes de Zeroshell, es que nos permite unir dos sistemas remotos 

permanentemente. El caso más implementado es la de unir dos oficinas remotas, para que todas sus 

datos vayan encriptados a través de un túnel 

 

Menu VPN Lan to Lan  New Vpn 

 

 

En “Remote Host” introducimos la dirección IP del equipo remoto al que queremos conectar. EL 

puerto será el 1195 con protocolo TCP. Uno de los equipos actuará como “Server” y otro como 

“Client” 

Configuramos la VPN con autentificación “Pre‐Shared‐Key”. Generamos una clave con el botón 

“GenKey” y copiamos la clave en los dos equipos. 

Guardamos la configuración, y deberemos de ver que la conexión está activa 

Page 36: Cur So Zeros Hell

 

Curso ZeroShell              Página 36  

 

 

A continuación debemos añadir una dirección IP al interfaz VPN00. Esta dirección IP es una dirección 

cualquiera, teniendo que ser de los rangos específicos para las redes internas, pero que no se utilice 

en ningún interfaz de nuestro Zeroshell. Se utilizará para enrutar el tráfico entre las dos VPN. 

El paso más crítico es el de configurar la ruta estática para enrutar el tráfico por el túnel. 

Accedemos al menú “ROUTER”, y a continuación pulsamos sobre el botón “Add” para añadir una 

nueva ruta 

 

 

En “Destination” introducimos la red remota, en “Netmask” la máscara de red. En “Gateway” 

DEBEMOS INTRODUCIR LA DIRECCIÓN IP UTILIZADA EN EL INTERFAZ VPN00 DE LA RED REMOTA, y la 

métrica es 0. 

Una vez guardados los cambios, debemos de ver en la pantalla la ruta creada. A continuación 

realizamos un ping a una maquina remota para comprobar que responde a nuestra petición. 

Page 37: Cur So Zeros Hell

 

Curso ZeroShell              Página 37  

 

PUBLICACIÓN DE SERVIDORES INTERNOS 

Podemos publicar un servidor  interno de nuestra red, haciéndolo accesible desde  internet a través 

del menú “ROUTER” pulsando sobre el botón “Virtual Server” 

 

Debemos  indicar el  interfaz sobre el que capturar  las peticiones,  la dirección  IP que esperamos, el 

protocolo y el puerto. 

A su vez debemos de indicar cuál será la dirección IP de destino y el puerto. 

 

CONFIGURACIÓN DE MODEMS 3G 

Zeroshell soporta  la mayoría de módems 3G en dispositivo USB. En concreto  la marca Huawei, que 

son los que distribuyen las operadoras de telefonía en España, son reconocidos. 

Debemos  introducir el dispositivo USB en el  sistema, y a continuación acceder al menú “SETUP” y 

pulsando el botón “Network” accedemos a  los dispositivos de red. Debemos pulsar sobre el botón 

“New 3G Modem”. 

   

Page 38: Cur So Zeros Hell

 

Curso ZeroShell              Página 38  

 

 

 

En el campo “Modem connected to” debemos seleccionar el puerto en el que está el modem. Por 

desgracia,  los dispositivos USB comentados  tienen 4 puertos, y no se  identifican de ninguna  forma 

para saber sobre el cual está el modem 3G. La única manera es el método de Prueba y Error hasta 

conseguir que el dispositivo conecte. 

En el campo “APN” deberemos de poner el de nuestro operador. 

Buscando en google APN 3G movistar, encontramos que para movistar es “movistar.es”. Buscando 

Vodafone, encontramos que el APN de Vodafone es “ac.vodafone.es”. 

Si nuestra modem 3G nos pide PIN, podemos  introducirlo en  “optional AT  string” de  la  siguiente 

forma: 

AT+CPIN=XXXX donde XXXX es el PIN 

 

La opción más práctica es tener guardado el PIN en el módem 3G para que no nos lo pida. 

Al guardar la conexión, debemos de ver nuestro interfaz de red 3G como cualquier otro interfaz de 

red. 

   

Page 39: Cur So Zeros Hell

 

Curso ZeroShell              Página 39  

 

 

 

 

 

 

 

http://www.nomatch.es 

 

[email protected]