SafeLine
Introducción
Instalación
Actualización de la imagen
Configuración
Permitir la IP publica de la empresa
Añadir una Aplicación
Gestión de certificados SSL
Introducción
Documentación Oficial
Instalación
SafeLine está especialmente pensado para trabajar con Docker, con
lo que su instalación es muy sencilla y queda aislada en un
entorno containerizado.
Todo el proceso aparece en la documentación oficial -> Despliegue
1. Preparación del entorno =>
1. Instalar las dependencias necesarias -> curl wget ca-
certificates
2. Instalar Docker ->
1. Instalar Docker Debian
2. Instalar Docker Ubuntu
2. Crear el directorio de trabajo -> mkdir -p
/docker/waf/data/safeline
3. Navegamos a la ruta -> cd /docker/waf/data/safeline
4. Descargamos el compose preparado por SafeLine. Es un compose
complejo y por eso viene ya preparado por los desarrolladores -
> wget "[Link]
5. Personalizamos las variables de entorno ->
SAFELINE_DIR=/docker/waf/data/safeline
IMAGE_TAG=latest
MGT_PORT=9443
POSTGRES_PASSWORD={postgres-password}
SUBNET_PREFIX=172.22.222
IMAGE_PREFIX=chaitin
ARCH_SUFFIX=
RELEASE=
REGION=-g
MGT_PROXY=0
6. Levantamos el Docker -> docker compose up -d
7. Recomendación -> Monitoreo con Lazydocker =>
1. Instalamos o actualizamos la aplicación -> curl
[Link]
ripts/install_update_linux.sh | bash
2. Convertimos la aplicación en ejecutable como comando ->
ln -s /root/.local/bin/lazydocker /usr/bin/
ln -s /root/.local/bin/lazydocker /usr/local/bin/
3. Usamos la monitorización con ejecutando lazydocker
8. Apertura de puertos -> Tenemos que dar acceso al puerto 9443.
Actualización de la imagen
Como en todos los entornos Docker ->
1. Accedemos a la ruta donde se encuentra el yml -> cd
/docker/waf/data/safeline
2. Detenemos el entorno -> docker compose down
3. Actualizamos las imágenes -> docker compose pull
4. Levantamos de nuevo los servicios -> docker compose up -d
Configuración
Una vez levantado el entorno Docker, podemos acceder a la interfaz
web de SafeLine. Como se trata de un servicio OpenSource,
deberemos aceptar la licencia de uso ->
1. Generamos las claves de acceso para el administrador mediante
el contenedor de Docker -> docker exec safeline-mgt resetadmin
2. Accedemos al dashboard de SafeLine ->
Permitir la IP publica de la empresa
1. Desde el Dashboard navegamos a Allow & Deny y seleccionamos
Custom Rules ->
2. Seleccionamos Add Rules ->
3. Configuramos la nueva regla para permitir el acceso a las IP
publicas de la empresa ->
4. Comprobamos que la regla se ha creado y está activa ->
Añadir una Aplicación
1. Desde el dashboard, navegamos a Applications y seleccionamos Add
Application ->
2. Configuramos el servicio web que queremos proteger ->
1. Dominio -> Podemos escoger subdominios, dominios, usar
wildcards, hostnames...
2. Podemos impedir el tráfico HTTP
3. Podemos configurar los puertos que en los que queremos
escuchar
4. SafeLine puede administras los certificados de forma interna
para gestionar el tráfico HTTPS
5. Por último, gestionamos el tipo de proxy que vamos a usar,
lo más común es un reverse donde indicaremos la IP del
servidor objetivo.
3. Comprobamos que se haya creado la aplicación correctamente ->
4. Escogemos el tipo de defensa =>
1. Defense mode -> Bloquea todo el tráfico que se considere un
ataque
2. Audited mode -> Audita en logs, pero no bloquea
3. Offline mode -> Permite todo el tráfico
5. Activamos las protecciones extra que consideremos ->
1. HTTP Flood -> Activa la protección contra ataques DDoS
2. Bot Protection -> Protección contra bots que permite activar
la protección mediante Captcha
3. Auth -> Activa el acceso mediante autenticación a la
aplicación, usar en casos muy específicos
4. Attacks -> Configura la protección básica contra los ataques
comunes, es importante tenerlo siempre activado
6. Activamos los logs de acceso y error =>
1. Acceso ->
2. Error ->
Gestión de certificados SSL
Para configurar el tráfico SSL a través del WAF, debemos crear o
cargar los certificados SSL necesarios.
1. Desde el dashboard, navegamos a Settings y seleccionamos Add
Cert ->
2. Podemos seleccionar subir certificados que ya tengamos al
servidor, o generar unos nuevos con Let's Encrypt como
autoridad ->
1. Subir certificados ->
1. Podemos subir el archivo o copiar y pegar el contenido
de este.
2. Una vez cargados, dispondremos de ellos para la
configuración HTTPS de la aplicación.
2. Añadir certificado ->
1. Deberemos especificar el dominio y una dirección de
contacto.
2. SafeLine genera automáticamente el script para la
autorenovación mensual del certificado.