Cur So Zero Shell
Transcript of Cur So Zero Shell
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.
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.
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)
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.
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.
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
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.
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.
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.
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:
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
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.
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
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
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.
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.
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
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
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 “+”
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)”
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:
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.
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.
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
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
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
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)
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.
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.
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.
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
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
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
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.
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”.
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.