Mostrando entradas con la etiqueta VPN. Mostrar todas las entradas
Mostrando entradas con la etiqueta VPN. Mostrar todas las entradas
martes, 17 de noviembre de 2015
Securizando nuestras conexiones: Instalando y configurarando OpenVPN
Como IT una parte importante es la seguridad y esta hay que tomársela bastante en serio y para el ámbito empresarial más aún. En el mundo empresarial son muchas las ocasiones en que sus empleados trabajan en remoto fuera de la intranet, ya sea por trabajo a pie de calle, porque su estructura empresarial no está centralizada en un lugar concreto en definitiva, a la hora de trabajar con sus sistemas y redes se tienen que vale de conexiones remotas que no son ni seguras ni estables y es aquí donde entra VPN.
Una VPN o red privada virtual nos permite tener una conexión estable, segura, fiable e incluso más rápida que otro tipo de conexiones remotas. Este tipo de conexión nos permite trabajar a través de la WAN como si estuviéramos en la propia LAN y esto lo permite creando un túnel de conexión desde nuestro cliente hasta la red interna permitiendo trabajar al cliente remoto de una manera local y segura.
Para poner en práctica todo esto nos vamos a valer de un servidor Debian y de OpenVPN. Antes de empezar la instalación recomiendo que visitéis los enlaces puestos a lo largo de la entrada y que os empapéis bien de los conocimientos previos, también es recomendable la web de OpenVPN que está en perfecto inglés como se ha de esperar. Vuelvo a repetir OpenVPN no es una instalación sencilla, requiere de conocimientos previos para poder llevar a cabo su correcta instalación, configuración y puesta en marcha.
1.- Instalación: Actualizamos el sistema e instalamos OpenVPN.
sudo apt-get update
sudo apt-get install openvpn
2.- Configuración: Comenzamos con la configuración de ficheros y generación de certificados necesarios.
Copiamos ficheros:
cp –r /usr/share/doc/openvpn/examples/easy-rsa/2.0 /etc/openvpn/easy-rsa
Nos movemos al directorio easy-rsa:
cd /etc/openvpn/easy-rsa
Editamos el fichero vars:
vim /etc/openvpn/easy-rsa/vars
Dejamos esta línea así:
export KEY_SIZE=2048
Ponemos los valores siguientes:
export KEY_COUNTRY="ES"
export KEY_PROVINCE="SE"
export KEY_CITY="Seville"
export KEY_ORG="TEST"
export KEY_EMAIL="mail.mydomain"
export KEY_EMAIL="mail@host.domain
export KEY_CN=changeme
export KEY_NAME=changeme
export KEY_OU=changeme
export PKCS11_MODULE_PATH=changeme
export PKCS11_PIN=1234
Generamos los certificados dentro del directorio easy-rsa, esto puede variar en el tiempo de exportación en función del tamaño del key:
source ./vars
./clean-all
./build-ca
Generamos el certificado del server:
./build-key-server saw
Ahora generamos el certificado del cliente:
./build-key
Generamos la clave HMAC:
openvpn --genkey --secret ta.key
cp ta.key keys
cp -r easy-rsa/keys/ .
Modificamos la configuración VPN para poner el servidor en funcionamiento:
vim /etc/openvpn/server.conf
Dejamos el archivo como aparece a continuación:
port 1194
proto tcp
dev tun
#Nuevos certificados
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/saw.crt
key /etc/openvpn/keys/saw.key
dh /etc/openvpn/keys/dh2048.pem
tls-auth /etc/openvpn/keys/ta.key 0
#rangos de direcciones
server 192.168.1.50 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
#DNS
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
client-to-client
keepalive 10 120
cipher AES-256-CBC # Triple-DES
comp-lzo
max-clients 5
user nobody
group nogroup
tcp-nodelay
persist-key
persist-tun
log /var/log/openvpn.log
status /var/log/openvpn-status.log
verb 3
mute 20
#client-config-dir ccd
Habilitamos el bit de forwarding:
echo 1 > /proc/sys/net/ipv4/ip_forward
Eliminamos decomentamos la linea "net.ipv4.ip_forward=1"en el fichero "/etc/sysctl.conf":
vim /etc/syscrl.conf
Cargamos el módulo tun:
modprobe tun
Después de esto habilitamos el servicio y lo arrancamos:
/etc/init.d/openvpn start
Añadimos la siguiente línea de comando para iptables:
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s "192.168.88.0/24" -j ACCEPT
iptables -A FORWARD -j REJECT
iptables -t nat -A POSTROUTING -s "192.168.1.0/24" -j MASQUERADE
Finalmente guardar las reglas:
iptables-save
Finalmente vuelvo a recordar que para montar un servidor de este tipo debemos de tener unos conocimientos previos, esta guía es una mera muestra de como montarlo. Para llevarlo a acabo se deben tener conocimientos preestablecidos sobre redes, sistemas operativos, VPN y OpenVPN.
Etiquetas:
autenticación,
cifrado,
debian,
encriptado,
linux,
OpenVPN,
redes,
seguridad,
servicios,
servidor,
sistema,
sistema operativo,
VPN
domingo, 10 de mayo de 2015
PPTD : Creando una VPN rápida, sencilla pero no tan segura.
Hoy veremos como crear una pequeña rápida y sencilla VPN sobre un servidor linux para tunelizar nuestras comunicaciones. Para ello usaremos el protocolo PPTP el cual ya os adelanto que no es muy seguro pero que nos sacará de algún que otro apuro para realizar tareas en los nuestros clientes ya que muchas veces para aplicaciones de pequeños negocios y grandes negocios se necesitan valer de una VPN para trabajar y hacer más productivo su trabajo. Para esto trabajaremos con un servidor debian o deribado.
Instalando pptpd: Comenzaremos instalando mediante la siguiente línea.
sudo apt-get install pptpd
Fichero de configuarión pptpd: Una vez instalado configuraremos el fichero pptpd
sudo vim /etc/pptpd.conf
Editamos en el los apartados localip (esta es la ip de nuestro servidor) y remoteip (el rango de IP que se dará a los cliente que conecten)
localip 192.168.1.200 (ejemplo)
remoteip 192.168.1.30-33 (ejemplo)
Fichero de opciones pptpd: Ahora editaremos las opciones de pptpd en el fichero "/etc/ppp/pptpd-options" donde editaremos las dns en mi caso usé para el ejemplo las google, pero en caso de necesidad de usar otro de la red interna sería elegir el adecuado.
vim /etc/ppp/pptpd-options
Editamos los siguientes valores
ms-dns 8.8.8.8
ms-dns 8.8.4.4
Creando un usuario para los clientes que van a conectar: Una vez realizado esto crearemos un usuario con su contraseña que será la que le valga al cliente para validarse, esto se realiza en el fichero "/etc/ppp/chap-secrets"
Aqui editaremos el fichero introduciendo en el usuario, servidor, contraseña y nos valdremos de la siguiente linea de comandos, la cual deberemos modificar en función de los valores que le queramos dar.
echo "usuario pptpd contraseña *" >> /etc/ppp/chap-secrets
Permitiendo redireccionamiento: Ahora debemos permitir el redireccionamiento para que el cliente pueda acceder a todos os dispositivos de la red interna para ello editaremos el fichero "/etc/sysctl.conf" y descomentaremos la linea "net.ipv4.ip_forward=1" y finalmente aplicamos los cambios "sudo sysctl -p".
Abriendo puertos: Ahora tendremos que abrir puertos en el router correspondiente para el correcto acceso del cliente, los puertos que tendremos que abrir seran el 1723 en el router de la red del servidor.
Finalmente nos queda contectar mediante un dispositivo cliente a nuestra VPN. Recordar finalmente como se comenta en el comienzo que nos es un tipo de tunelación muy seguro y que por lo tanto tendremos que optar por otras opciones en caso de necesitarlas
Etiquetas:
debian,
instalación,
Kali Linux,
linux,
pptpd,
seguridad,
VPN
Suscribirse a:
Entradas (Atom)