• No se han encontrado resultados

Instala tu propio servidor VPN Outline

N/A
N/A
Protected

Academic year: 2022

Share "Instala tu propio servidor VPN Outline"

Copied!
22
0
0

Texto completo

(1)

Instala tu propio servidor VPN Outline Descripción

En este artículo os vamos a enseñar cómo crear una VPN de forma fácil, para ello crearemos un servidor con la imagen de Docker y usaremos Outline creado por Jigsaw (Google). Outline no es bien bien una VPN, pero hace su función mediante proxy socks5. La ventaja de usar una VPN es que protegemos nuestra conexión y no puede ser vista por otros usuarios que estén conectados a la misma red que nosotros. También usaremos las buenas prácticas para usar Docker desde países bloqueados por el mismo.

Outline es una herramienta de código abierto que le permite configurar su propio servidor VPN de forma rápida y sencilla. Esto significa que ya no tiene que confiar en un servicio VPN de terceros y tiene un control total sobre los datos que van y vienen de su servidor VPN.

Además, cuando instala Outline en su propio servidor, nadie más puede ver la configuración de su cliente. Solo usted tiene acceso al funcionamiento interno de cómo conectar un cliente de Outline a su servidor de Outline.

Mientras que en el pasado los beneficios que vienen con el control total sobre su servidor VPN requerían redes de computadoras

avanzadas y habilidades de administración de servidores, Outline le promete una experiencia de instalación más conveniente. Outline se destaca entre las VPN de código abierto como una de las más fáciles de instalar y administrar para un uso continuo.

(2)

Para esta instalación usaremos los servicios de clouding.io la instalacion empezamos primeramente creando un servidor con Linux, en este caso usaremos ubuntu 20.04

(3)

Outline usa 2 puertos uno para la administración y otro para los accesos mediante llaves, entonces configuraremos el el cortafuego, recomendamos abrir todos los puertos en el firewall y una vez instalado lo limitan a los puertos que usan para el mismo.

(4)

Una vez creados las reglas del firewall, vas al VPS y desvincular el que tienes puesto y vinculas el mismo que acabas de crear.

Preparación del servidor

Una vez iniciado el Servidor accedemos al mismo y preparamos los requerimientos mínimos que en este caso será docker

sudo -- sh -c 'apt-get update; apt-get upgrade -y; apt-get dist-upgrade -y; apt-get autoremove -y; apt-get autoclean -y' Instalamos Docker

apt-get install docker.io

Una vez instalado docker procedemos a configurar algunos mirror por si estas instalando desde un lugar donde docker no esta permitido libremente

nano /etc/docker/daemon.json {

"registry-mirrors": [

"https://rw21enj1.mirror.aliyuncs.com", "https://dockerhub.azk8s.cn",

"https://reg-mirror.qiniu.com", "https://hub-mirror.c.163.com",

"https://docker.mirrors.ustc.edu.cn", "https://1nj0zren.mirror.aliyuncs.com", "https://quay.io",

"https://docker.mirrors.ustc.edu.cn", "http://f1361db2.m.daocloud.io",

"https://registry.docker-cn.com"

] }

Si desea agregar un registro de mirror inseguro aquí les dejo el enlace de cómo hacerlo. Reiniciamos para que se vean los cambios.

(5)

systemctl daemon-reload systemctl restart docker

Este paso a continuación es para aquellos que están detrás de un proxy padre y es opcional.

Crear la carpeta docker.service.d

mkdir -p /etc/systemd/system/docker.service.d Creamos el fichero http-proxy.conf

nano /etc/systemd/system/docker.service.d/http-proxy.conf Dentro agregamos:

[Service]

Environment="HTTP_PROXY=http://user:password@proxyip:port/"

Environment="HTTPS_PROXY=http://user:password@proxyip:port/"

Environment="NO_PROXY= hostname.example.com,localhost,127.0.0.1"

Recargamos la config y reiniciamos el servicio:

systemctl daemon-reload systemctl restart docker

Ahora comprobaremos que todo está bien.

Usaremos el comando:

docker info

Nos dará una salida similar a la siguiente:

Client:

Context: default Debug Mode: false

(6)

Server:

Containers: 0 Running: 0 Paused: 0 Stopped: 0 Images: 0

Server Version: 20.10.2 Storage Driver: overlay2 Backing Filesystem: extfs Supports d_type: true Native Overlay Diff: true Logging Driver: json-file Cgroup Driver: cgroupfs Cgroup Version: 1

Plugins:

Volume: local

Network: bridge host ipvlan macvlan null overlay

Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog Swarm: inactive

Runtimes: io.containerd.runtime.v1.linux runc io.containerd.runc.v2 Default Runtime: runc

Init Binary: docker-init containerd version:

runc version:

init version:

Security Options:

apparmor seccomp

Profile: default

Kernel Version: 5.4.0-66-generic Operating System: Ubuntu 20.04.2 LTS OSType: linux

Architecture: x86_64 CPUs: 1

Total Memory: 981.2MiB Name: outline.syscu.net

(7)

ID: XAT3:I4L7:QJLM:5XKW:WAQ5:UGGD:LMHE:EMMF:GNC7:QSQI:ZWBL:UWK4 Docker Root Dir: /var/lib/docker

Debug Mode: false

Registry: https://index.docker.io/v1/

Labels:

Experimental: false Insecure Registries:

127.0.0.0/8

Registry Mirrors:

https://rw21enj1.mirror.aliyuncs.com/

https://dockerhub.azk8s.cn/

https://reg-mirror.qiniu.com/

https://hub-mirror.c.163.com/

https://docker.mirrors.ustc.edu.cn/

https://1nj0zren.mirror.aliyuncs.com/

https://quay.io/

http://f1361db2.m.daocloud.io/

https://registry.docker-cn.com/

Live Restore Enabled: false WARNING: No swap limit support WARNING: No blkio weight support

WARNING: No blkio weight_device support

Aquí solo deben fijarse si les reconoce el proxy(si se lo pusieron) y los mirrors alternos(Registry Mirrors).

Configuramos docker para que inicie automáticamente sudo systemctl enable docker

Comprobamos que docker este iniciado sin problema sudo sudo systemctl status docker

(8)

Instalación del Servidor Outline

Si todo esta corriendo bien procedemos a instalar entonces el Outline con el siguiente comando:

Nota: Si desean personalizar los puertos y el host mirar al final del artículo.

sudo wget -qO- https://raw.githubusercontent.com/Jigsaw-Code/outline-server/master/src/server_manager/install_scripts/install_server.sh | bash

(9)

De ahí tenemos que guardar los datos que nos dan, ya que son las llaves de acceso para el Outline Manager, es decir debe guardar la información siguiente:

CONGRATULATIONS! Your Outline server is up and running.

To manage your Outline server, please copy the following line (including curly brackets) into Step 2 of the Outline Manager interface:

{"apiUrl":"https://185.254.204.115:63058/lUcKsF3obk36qPLVUTB3bQ","certSha256":"85C84BA2BF7F44AC52216480AAAEF00B31F89743261CA704B1580A44029B0AC5"}

If you have connection problems, it may be that your router or cloud provider blocks inbound connections, even though your machine seems to allow them.

Make sure to open the following ports on your firewall, router or cloud provider:

- Management port 63058, for TCP

- Access key port 6972, for TCP and UDP

Como notaron en la imagen anterior ya tenemos las llaves de acceso para el manager de outline y los puertos que usará el mismo para cada cosa tanto manager como para los clientes.

(10)

Antes de seguir podemos cerrar ya en nuestro cortafuegos limitando a esos 2 puertos y desactivando las reglas que creamos permitiendo todos los puertos

(11)
(12)

Outline Manager

Ya una vez configurado el firewall en el cortafuego procedemos a descargar el Outline Manager:

Outline Manager para Windows Outline Manager para Linux Outline Manager para macOS

Una vez instalado procedemos a configurar la llave de acceso a la administración.

En la página de configuración, seleccione «Configurar esquema en cualquier lugar» y pegue la clave de administración del servidor, como mostramos a continuación:

(13)
(14)

Una vez que hayas configurado tu servidor, genera claves de acceso únicas directamente desde la aplicación Administrador para ordenadores. Esta aplicación te permite enviar invitaciones para conectarse a tu servidor a través de tu plataforma de comunicación

preferida. Las claves de acceso sirven para conectar dispositivos a Administrador de Outline y protegerlos mediante tu servidor. Cada clave de acceso es única, y todas se pueden gestionar o eliminar directamente desde el servidor. Puedes fijar límites de datos para controlar cuánto ancho de banda puede usar cada clave.

Para conectar la pc actual con la que estamos administrando a través del outline clientes damos click en el icono que mostramos acá y copiamos la llave de acceso

(15)
(16)

Si una persona quiere conectarse a tu servidor, basta con que acepte la invitación que le hayas enviado. Una vez que se haya conectado, podrá conectarse o desconectarse fácilmente desde la aplicación.

Outline Client

Pueden descargar el cliente de outline:

Cliente para Android Cliente para Windows Cliente para Chrome Cliente para Iphone Cliente para macOS Cliente para Linux

Cuando un cliente se conecta la app se pone en verde como ven

(17)

Probamos desde el sitio ifconfig.io que estemos saliendo por el ip del servidor

(18)

Estadisticas de los accesos, podemos verlo en el Outline Manager como les muestro aca

(19)
(20)

En el mismo podemos limitar llaves el consumo de datos que queremos que tengan

Actualizaciones a su servidor Outline VPN

Con Outline VPN, no tiene que hacer nada por su parte para mantener su servidor actualizado. Las últimas correcciones de errores y mejoras de seguridad se instalan automáticamente. Esto se logra mediante el contenedor de Docker denominado “Watchtower” en su servidor. Watchtower es una aplicación de código abierto que busca e instala actualizaciones en el contenedor Shadowbox.

Además de las actualizaciones del servidor de Outline, cuando configura su servidor usando el Administrador de Outline, se configurará un trabajo cron para actualizar automáticamente el sistema operativo del host y reiniciar cuando sea necesario.

Personalizar la Instalacion del Servidor Outline

sudo bash -c "$(wget -qO- https://raw.githubusercontent.com/Jigsaw-Code/outline-server/master/src/server_manager/install_scripts/install_server.sh)" --hostname=WGAPI --keys-port=443 --api-port=8080 Básicamente, api-port es para Outline Manager, donde simplemente puede agregar eliminar usuarios desde una aplicación simple

conectada al servidor

El keys-port es el puerto para cada usuario o clave de acceso creada en el administrador de esquemas El hostname es su nombre personalizado indicado en el esquema de usuario de VPN

Asegurar servidor con Cortafuegos

Después de la instalación, es posible que deba proteger Outline Server con UFW (cortafuegos sencillo):

– Cómo proteger Outline Server:

En primer lugar, instale UFW si no lo está.

sudo apt-get install ufw

(21)

después de instalar UFW, puede configurar el firewall sin habilitarlo.

sudo ufw allow /

sudo ufw allow 8080/tcp sudo ufw allow 8080/udp sudo ufw allow 443/tcp sudo ufw allow ssh

Nota: estas reglas de cortafuegos es en el servidor como tal y usando los puertos que pusimos en la personalización, el cual puede cambiarlo a los que su servidor requiera sino lo personalizo.

Habilitación de UFW:

sudo ufw enable

Esto tendrá la siguiente salida: Firewall is active and enabled on system startup

Aún así, no se establece la limitación de velocidad del usuario, lo que significa que sus conexiones dependiendo de su servidor y la velocidad de Internet del usuario pueden alcanzar hasta 150 MB por clave de acceso.

Categoría

1. Ciberseguridad 2. Docker

3. Redes

4. Software Libre 5. Virtualización 6. VPN

Etiquetas

(22)

3. Outline Server 4. ufw

5. VPN

Fecha de creación julio 2021

Autor armandof

Referencias

Documento similar

Quantitative Phase Analysis of Laboratory-Active Belite Clinkers by. Synchrotron Powder Diffraction Journal American Ceramic Society, 2007 ,

A partir de los resultados de este análisis en los que la entrevistadora es la protagonista frente a los entrevistados, la información política veraz, que se supone que

b) El Tribunal Constitucional se encuadra dentro de una organiza- ción jurídico constitucional que asume la supremacía de los dere- chos fundamentales y que reconoce la separación

Esta corriente dentro de la arquitectura, registra al Diseño como herramienta fundamental para mejorar la sustentabilidad en el hábitat.. Es más abarcativa que la corriente

De este modo se constituye un espacio ontológico y epistemológico a la vez, en el que cada elemento (cada principio) ocupa un lugar determinado en la totalidad, y desde ahí está

[r]

Residuos de industrias pesqueras. - Las conser- vas de pescados tienen como residuos las cabezas y tripas de estos. animales, que, cocidas para extraer las grasas, desecadas

Pero antes hay que responder a una encuesta (puedes intentar saltarte este paso, a veces funciona). ¡Haz clic aquí!.. En el segundo punto, hay que seleccionar “Sección de titulaciones