# Configuración de seguridad

Esta sección describe las medidas de seguridad obligatorias que el propietario del exchange debe realizar inmediatamente después de instalar Lara en el servidor, así como recomendaciones para una mayor protección de la cuenta, el panel de administración y el servidor.

## **Secuencia breve de acciones para el usuario**

1. Inicie sesión a través del enlace único y **cambie la contraseña del administrador**.
2. Configure **el proveedor SMTP** (correo electrónico).
3. Active **la autenticación de dos factores** (2FA por correo electrónico).
4. Configure **VPN**.
5. Agregue la dirección IP de su VPN a:
   * la lista blanca del panel de administración,
   * reglas de Cloudflare.
6. Configure los roles (si planea agregar personal).
7. Revise regularmente el registro de operaciones.
8. Realice la protección mínima del servidor.

### **1. Enlace único del panel de administración y autorización inicial**

Después de la instalación mediante el instalador automático el usuario recibe:

* **una URL única del panel de administración**,
* **inicio de sesión y contraseña de administrador**, generados por el sistema.

Estos datos se muestran en la consola después de la instalación. Copie y guarde el enlace al panel de administración del sitio, el correo electrónico y la contraseña de inicio de sesión. Después de eso puede abrir su sitio en un navegador.&#x20;

**Importante:**

* La URL única debe ser **guardada**, no compartida con terceros.
* Después del primer inicio de sesión debe **asegurarse de cambiar la contraseña del administrador,** en la esquina superior derecha haciendo clic en su perfil - Configuración de la cuenta - Cambiar contraseña.<br>

  <figure><img src="https://1953675968-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0ow3kIXHQDcl9DBdYiM%2Fuploads%2FJtKNEZWYxPNHVtWQ9GOH%2Fimage.png?alt=media&#x26;token=99664afb-5307-4369-a87f-548e392ca26c" alt="" width="375"><figcaption></figcaption></figure>

  <figure><img src="https://1953675968-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0ow3kIXHQDcl9DBdYiM%2Fuploads%2FtVptAZDapjZoecWXwNT9%2Fimage.png?alt=media&#x26;token=960dcd22-4759-4767-8f0a-6f7351c2ef66" alt="" width="367"><figcaption></figcaption></figure>

Siga las instrucciones descritas en la página de cambio de contraseña, también descritas en [**esta sección de la documentación.** ](https://lara-script.gitbook.io/docs/admin-panel-functionality/profile/change-password)\
Si también desea cambiar la URL del panel de administración - esto no puede hacerlo usted mismo, debe contactar con el soporte.

### **2. Configuración de un proveedor de correo (SMTP)**

Para que funcionen las funciones de seguridad, en particular la autenticación de dos factores, debe configurar previamente un proveedor SMTP. Esto es un protocolo (conjunto de reglas) utilizado para enviar correo desde un servidor de correo a otro. Es responsable de la entrega automática de mensajes y de confirmar su entrega. En términos simples: configuraremos el correo que se utiliza para las notificaciones automáticas al administrador y a los clientes sobre el estado de sus solicitudes y otras notificaciones, como cambios de contraseña, confirmaciones de registro y envíos masivos. Para que esto funcione, debe completar varios campos en la configuración.

Procedimiento:

1. Abra la configuración de correo en el panel de administración. \
   Vaya a Configuración - Ajustes SMTP en el panel de administración. Puede averiguar de qué es responsable cada campo en [**esta sección de la documentación.**](https://lara-script.gitbook.io/docs/admin-panel-functionality/settings/smtp-settings)
2. Complete los detalles del servidor SMTP. Un ejemplo detallado de configuración y obtención de los datos del servidor SMTP se puede encontrar [**en esta sección de la documentación.**](https://lara-script.gitbook.io/docs/admin-panel-functionality/settings/smtp-settings/smtp-service-settings) Aquí hay una instrucción paso a paso con ejemplos de configuración de dos servicios SMTP.
3. Guarde los cambios.

**Nota:** A nivel de lógica de negocio el sistema **no permitirá habilitar la autenticación de dos factores**hasta que se configure SMTP.

### **3. Autenticación de dos factores (2FA por correo electrónico)**

Actualmente en LARA-Script la autenticación de dos factores funciona solo por correo electrónico.\
Al intentar iniciar sesión el sistema envía un código de confirmación largo al correo electrónico del administrador configurado.&#x20;

Para habilitar 2FA:

1. Primero configure SMTP **(ver sección anterior)**.
2. Luego habilite la autenticación de dos factores en el perfil del administrador.\
   Sección Configuración del administrador - Autenticación de dos factores del panel de administración. Busque la opción "Autenticación de dos factores" y active el interruptor "Habilitar". \
   Puede leer más sobre la sección [**en esta sección de la documentación.**](https://lara-script.gitbook.io/docs/admin-panel-functionality/administrator-settings/two-factor-authentication)

Ahora en cada autorización, después de ingresar el usuario y la contraseña, el sistema enviará un código de un solo uso a su correo electrónico. Solo después de ingresar este código podrá acceder a la cuenta.

### **4. Lista blanca de IP**

El panel de administración tiene un mecanismo incorporado para restringir el acceso por direcciones IP.\
Esta es una capa adicional de protección a nivel de código. En otras palabras, incluso si alguien obtiene su usuario y contraseña, no podrá autorizarse si intenta iniciar sesión desde una dirección IP no permitida por usted.&#x20;

Se recomienda agregar:

* su IP personal,
* direcciones IP de empleados (operadores),
* direcciones IP de VPN si el acceso es a través de una VPN.

Necesita ir a la sección adyacente Administrador - Lista blanca de IP, hacer clic en el botón "+Agregar" para ingresar la dirección IP específica y un comentario, por ejemplo la dirección VPN actual de uno de sus empleados.\
Puede aprender más sobre la configuración de la lista blanca de IP [**en esta sección de la documentación.**](https://lara-script.gitbook.io/docs/admin-panel-functionality/administrator-settings/ip-whitelist)

#### **Recomendaciones para VPN**

Recomendamos:

* comprar una VPN ya hecha o configurar la suya propia,
* usar solo proveedores de confianza,
* si es necesario - contacte con nuestro soporte, que sugerirá servicios adecuados.

Después de configurar la VPN agregue **la IP de su VPN** a la lista blanca para un acceso estable y seguro.

### **5. Configuración de roles**&#x20;

El sistema permite la distribución de permisos de usuario entre diferentes roles. Para ello, vaya a la página que es el centro clave para la gestión de accesos, lo que le permite formar rápidamente un equipo, controlar los niveles de acceso y garantizar la seguridad de la parte administrativa del proyecto; esto es extremadamente conveniente si varias personas trabajan en su equipo y desea otorgar a algunos de ellos accesos especiales al panel de administración.

Para configurar un rol:

* Vaya a Administrador - Administradores, y [**siguiendo las instrucciones** ](https://lara-script.gitbook.io/docs/admin-panel-functionality/administrator/administrators)cree nuevos usuarios que puede asignar a sus colegas e incluso editar sus roles existentes

En el conjunto estándar de roles, ya tendrá 4 roles configurados como plantilla:

* Administrador — acceso completo, puede gestionar roles y la lista blanca de IP.
* Operador — todo excepto gestionar administradores e IPs.
* Financiero — acceso a informes y analíticas.
* Gestor de Contenido — gestionar noticias, páginas, banners.

También puede revisar la lista completa de permisos o incluso configurarlos en la siguiente sección - Gestión de Roles.&#x20;

<figure><img src="https://1953675968-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0ow3kIXHQDcl9DBdYiM%2Fuploads%2FVLSAH2IecdYIdCRrksQA%2Fimage.png?alt=media&#x26;token=6fd86a6a-49f1-4ab0-85d3-9c6b44e1ee32" alt="" width="563"><figcaption></figcaption></figure>

Puede aprender más sobre la configuración de la gestión de roles [**en esta sección de la documentación.**](https://lara-script.gitbook.io/docs/admin-panel-functionality/administrator/role-management)

**Importante:**\
1\. Su primer perfil tendrá el nivel de rol **Administrador**, y por la plantilla inicial solo un usuario con este rol puede editar otros roles.\
2\. Antes de agregar nuevos usuarios asegúrese de que se les asigne el rol correcto.

### **6. Registros de operaciones (registro de acciones de usuarios)**

La página de registros permite a los administradores rastrear todas las acciones realizadas en el sistema. Los registros se utilizan no solo para diagnosticar errores sino también para **auditoría** (vigilar quién realizó qué acciones), así como para analizar la actividad de los administradores. Esto ayuda a detectar acciones sospechosas, rastrear intentos de acceso no autorizados o el uso indebido de funcionalidades. Para cada registro se muestra una lista de parámetros que facilitan el seguimiento de las acciones.&#x20;

El diario de registro ayuda no solo a ver, **quién** y **qué hizo**, sino también **cómo** se hizo — a través de qué solicitudes API y con qué datos.\
Para abrir la página de registros, vaya a Administrador - Registros del panel de administración, y también [**revise la sección de documentación.**](https://lara-script.gitbook.io/docs/admin-panel-functionality/administrator/logs)

### **7. Configuración de seguridad en Cloudflare (nivel CDN)**

Dado que la instalación de LARA-script requiere el uso de Cloudflare, se recomienda configurar reglas de seguridad adicionales, una especie de segunda lista blanca de IP a nivel de lógica del servidor.&#x20;

Esto crea **protección doble**:

1. Restricción de IP en el lado de Cloudflare.
2. Restricción de IP en el propio panel de administración.

A continuación proporcionamos una instrucción detallada para configurar la seguridad en el lado de Cloudflare.<br>

### Configuración de seguridad a nivel de Cloudflare&#x20;

1\. Inicie sesión en su cuenta de Cloudflare y seleccione su dominio&#x20;

<figure><img src="https://1953675968-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0ow3kIXHQDcl9DBdYiM%2Fuploads%2FCCFCx7WfvFgUO10vMnfN%2FUnknown%20image?alt=media&#x26;token=c4d048e9-5864-4994-b27c-b1d7d9b3ded4" alt=""><figcaption></figcaption></figure>

2. Vaya a la pestaña **Seguridad** -> **Reglas de seguridad**

   <figure><img src="https://1953675968-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0ow3kIXHQDcl9DBdYiM%2Fuploads%2F7DjB9iHLM59lDBu8ciEx%2FUnknown%20image?alt=media&#x26;token=b9cd226b-9252-45c6-8969-b2b4e0f2132f" alt=""><figcaption></figcaption></figure>
3. Primero, debe agregar la IP de su servidor donde está alojado su sitio a la lista blanca. Haga clic en el botón Crear regla -> Reglas de acceso por IP

   <figure><img src="https://1953675968-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0ow3kIXHQDcl9DBdYiM%2Fuploads%2FYJzGWRzg0tX95CIhIx86%2Funknown.png?alt=media&#x26;token=7b0891e3-6e58-437f-8a90-c040087d39cc" alt=""><figcaption></figcaption></figure>

   Si no aparece el menú requerido, puede acceder al formulario de otra manera:

   * En la barra de direcciones de su navegador la ruta completa debe verse así:

   **<https://dash.cloudflare.com/\\>\<ZONE\_ID>/\<YOUR\_DOMAIN>/security/security-rules**<br>

   * Para abrir el formulario para agregar una IP a la lista blanca, agregue la siguiente ruta a su dominio:&#x20;

   **/security/security-rules/ip-access-rules/create**\
   \
   La URL final se verá así:

   **<https://dash.cloudflare.com/\\>\<ZONE\_ID>/\<YOUR\_DOMAIN>/security/security-rules/ip-access-rules/create**
4. En la ventana abierta verá un formulario para completar la lista blanca de su sitio. Ingrese la IP de su servidor. Elija Acción: **Permitir**. También recomendamos agregar un comentario a cada regla (**Notas**). Después de completar todos los campos haga clic en el **Crear**botón para guardar los cambios.

![](https://1953675968-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0ow3kIXHQDcl9DBdYiM%2Fuploads%2Fmx66zo14PisaOm8izQs2%2FUnknown%20image?alt=media\&token=0b1987ab-b0d7-4264-b7b8-cc068651aa9b)

5. Después de guardar será redirigido al menú de seguridad donde su regla ya debería aparecer&#x20;

   <figure><img src="https://1953675968-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0ow3kIXHQDcl9DBdYiM%2Fuploads%2FgMIrkweP8Tjpt1AWt08y%2FUnknown%20image?alt=media&#x26;token=1a7d9dc6-f2d7-4957-b3ee-cf0889040357" alt=""><figcaption></figcaption></figure>
6. El siguiente paso es restringir el acceso al panel de administración solo a través de su VPN. Para esto debe:

* Averiguar la dirección IP de su VPN.
* Asegurarse de que esta dirección IP sea estática (permanente), no dinámica.

Para ello necesita hacer clic en el **Crear regla** -> **Reglas personalizadas**

<figure><img src="https://1953675968-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0ow3kIXHQDcl9DBdYiM%2Fuploads%2FtnavbUHWZpMEdjpf0XSq%2FUnknown%20image?alt=media&#x26;token=e443eee4-1e95-4229-8876-1198d4f35b81" alt=""><figcaption></figcaption></figure>

7. Ingrese el nombre de la regla, luego en la primera condición escríbala así: Campo -**Nombre de host** Operador -**es igual a** Valor -\*\*Su dominio del panel de administración\*\* Luego haga clic en el botón \*\*Y\*\* para agregar otra condición

   <figure><img src="https://1953675968-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0ow3kIXHQDcl9DBdYiM%2Fuploads%2FhH2bJkOy9ssUWr138AQd%2FUnknown%20image?alt=media&#x26;token=c1b70ccd-148b-4836-ab1a-8d9a91f36a2b" alt=""><figcaption></figcaption></figure>

e ingrese los siguientes valores \*\*Campo -**Dirección IP de origen**Operador -**no está en**Valor -\*\*La IP de su VPN\*\*

y abajo seleccione **Elegir acción** - **Bloquear**, como en el ejemplo a continuación&#x20;

<figure><img src="https://1953675968-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0ow3kIXHQDcl9DBdYiM%2Fuploads%2FpMGUXVLxtADCv4RQRkZn%2FUnknown%20image?alt=media&#x26;token=bfe87590-a097-461a-9dee-2c85dabf4688" alt=""><figcaption></figcaption></figure>

esta regla permite el acceso a su panel de administración solo desde la IP que colocó en el **Dirección IP de origen**campo. Guarde esta regla haciendo clic en **Desplegar.**

### Configuraciones de seguridad a nivel de servidor.

1. Conexión al servidor vía SSH

* Abra una terminal (macOS / Linux) o PuTTY (Windows).
* Ejecute el comando: ssh usuario\@IP\_DEL\_SERVIDOR, donde usuario es el usuario en el servidor (normalmente root) IP\_DEL\_SERVIDOR es la IP de su servidor
* Ingrese la contraseña

1. Instalación y configuración básica de UFW

Ejecute los siguientes comandos a continuación para instalar los paquetes del cortafuegos

**sudo apt update**

**sudo apt install ufw -y**

1. Configure el acceso a través de UFW solo para la IP de su VPN

**IMPORTANTE:** Primero permita el acceso SSH desde la IP de su VPN,

y solo después de eso deniegue todas las demás conexiones en el puerto 22.

De lo contrario perderá el acceso al servidor.

Ingrese los siguientes comandos en el servidor

* Permitir la conexión SSH (puerto 22) solo desde la IP de su VPN:**sudo ufw allow from VPN-IP to any port 22**donde **VPN-IP**- es la IP de su VPN
* Denegar todas las demás solicitudes al puerto 22: **sudo ufw deny 22**
* Recargar UFW: **sudo ufw reload**
* Habilitar las reglas: **sudo ufw enable**
