Configuración de Seguridad
Esta página describe la configuración de seguridad recomendada para operar Fess de manera segura en entornos de producción.
Peligro
La Seguridad es Extremadamente Importante
En entornos de producción, se recomienda encarecidamente implementar todas las configuraciones de seguridad descritas en esta página. Descuidar la configuración de seguridad aumenta los riesgos de acceso no autorizado, fugas de datos y compromiso del sistema.
Configuraciones de Seguridad Obligatorias
Cambio de Contraseña de Administrador
Asegúrese de cambiar la contraseña de administrador predeterminada (admin / admin).
Procedimiento:
Inicie sesión en la pantalla de administración: http://localhost:8080/admin
Haga clic en «Sistema» → «Usuario»
Seleccione el usuario
adminConfigure una contraseña fuerte
Haga clic en el botón «Actualizar»
Política de Contraseñas Recomendada:
Mínimo de 12 caracteres o más
Incluir letras mayúsculas, minúsculas, números y símbolos
Evitar palabras del diccionario
Cambiar periódicamente (se recomienda cada 90 días)
Habilitación del Plugin de Seguridad de OpenSearch
Procedimiento:
Elimine o comente la siguiente línea en
opensearch.yml:# plugins.security.disabled: trueConfiguración del plugin de seguridad:
plugins.security.allow_default_init_securityindex: true plugins.security.authcz.admin_dn: - CN=admin,OU=SSL,O=test,L=test,C=DE
Configuración de certificados TLS/SSL
Reinicie OpenSearch
Actualice la configuración de Fess para agregar credenciales de autenticación de OpenSearch:
SEARCH_ENGINE_HTTP_URL=https://opensearch:9200 SEARCH_ENGINE_USERNAME=admin SEARCH_ENGINE_PASSWORD=<strong_password>
Para más detalles, consulte OpenSearch Security Plugin.
Habilitación de HTTPS
La comunicación HTTP no está cifrada, lo que conlleva riesgos de escucha y manipulación. Asegúrese de usar HTTPS en entornos de producción.
Método 1: Uso de Proxy Inverso (Recomendado)
Coloque Nginx o Apache delante de Fess para realizar la terminación HTTPS.
Ejemplo de configuración de Nginx:
server {
listen 443 ssl http2;
server_name your-fess-domain.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Método 2: Configurar HTTPS en Fess Mismo
Agregue lo siguiente a system.properties:
server.ssl.enabled=true
server.ssl.key-store=/path/to/keystore.p12
server.ssl.key-store-password=<password>
server.ssl.key-store-type=PKCS12
Configuraciones de Seguridad Recomendadas
Configuración del Cortafuegos
Abra solo los puertos necesarios y cierre los puertos innecesarios.
Puertos que Deben Abrirse:
8080 (o 443 para HTTPS): Interfaz Web de Fess (si se requiere acceso externo)
22: SSH (solo para administración, desde direcciones IP confiables únicamente)
Puertos que Deben Cerrarse:
9200, 9300: OpenSearch (solo comunicación interna, bloquear acceso externo)
Ejemplo de configuración en Linux (firewalld):
$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https
$ sudo firewall-cmd --permanent --remove-service=opensearch # en caso de servicio personalizado
$ sudo firewall-cmd --reload
Restricción de direcciones IP:
$ sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port port="8080" protocol="tcp" accept'
Configuración de Control de Acceso
Considere restringir el acceso a la pantalla de administración a direcciones IP específicas.
Ejemplo de restricción de acceso con Nginx:
location /admin {
allow 192.168.1.0/24;
deny all;
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
}
Control de Acceso Basado en Roles (RBAC)
Fess admite múltiples roles de usuario. Siga el principio de mínimo privilegio otorgando a los usuarios solo los privilegios mínimos necesarios.
Tipos de Roles:
Administrador: Todos los privilegios
Usuario General: Solo búsqueda
Administrador de Rastreador: Gestión de configuración de rastreo
Editor de Resultados de Búsqueda: Edición de resultados de búsqueda
Procedimiento:
Haga clic en «Sistema» → «Rol» en la pantalla de administración
Cree los roles necesarios
Asigne roles a usuarios en «Sistema» → «Usuario»
Habilitación de Registros de Auditoría
Los registros de auditoría están habilitados por defecto para registrar el historial de operaciones del sistema.
Habilite el registro de auditoría en el archivo de configuración (log4j2.xml):
<Logger name="org.codelibs.fess.audit" level="info" additivity="false">
<AppenderRef ref="AuditFile"/>
</Logger>
Actualizaciones de Seguridad Periódicas
Aplique periódicamente actualizaciones de seguridad de Fess y OpenSearch.
Procedimiento Recomendado:
Verifique periódicamente la información de seguridad
Valide actualizaciones en entorno de prueba
Aplique actualizaciones en entorno de producción
Protección de Datos
Cifrado de Respaldos
Los datos de respaldo pueden contener información confidencial. Cifre y almacene los archivos de respaldo.
Ejemplo de respaldo cifrado:
$ tar czf fess-backup.tar.gz /var/lib/opensearch /etc/fess
$ gpg --symmetric --cipher-algo AES256 fess-backup.tar.gz
Mejores Prácticas de Seguridad
Principio de Mínimo Privilegio
No ejecutar Fess y OpenSearch como usuario root
Ejecutar con cuenta de usuario dedicada
Otorgar privilegios mínimos del sistema de archivos
Aislamiento de Red
Colocar OpenSearch en red privada
Usar VPN o red privada para comunicación interna
Colocar solo la interfaz Web de Fess en DMZ
Auditorías de Seguridad Periódicas
Revisar periódicamente los registros de acceso
Detectar patrones de acceso anormales
Realizar escaneos de vulnerabilidades periódicamente
Configuración de Encabezados de Seguridad
Según sea necesario, configure encabezados de seguridad en Nginx o Apache:
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
add_header Content-Security-Policy "default-src 'self'" always;
Lista de Verificación de Seguridad
Antes de implementar en entorno de producción, verifique la siguiente lista de verificación:
Configuración Básica
[ ] Contraseña de administrador cambiada
[ ] HTTPS habilitado
[ ] Número de puerto predeterminado cambiado (opcional)
Seguridad de Red
[ ] Puertos innecesarios cerrados en el cortafuegos
[ ] Acceso a pantalla de administración restringido por IP (si es posible)
[ ] Acceso a OpenSearch restringido solo a red interna
Control de Acceso
[ ] Control de acceso basado en roles configurado
[ ] Cuentas de usuario innecesarias eliminadas
[ ] Política de contraseñas configurada
Monitoreo y Registros
[ ] Registros de auditoría habilitados
[ ] Período de retención de registros configurado
[ ] Sistema de monitoreo de registros implementado (si es posible)
Respaldo y Recuperación
[ ] Programación periódica de respaldos configurada
[ ] Datos de respaldo cifrados
[ ] Procedimientos de restauración validados
Gestión de Actualizaciones y Parches
[ ] Sistema para recibir notificaciones de actualizaciones de seguridad implementado
[ ] Procedimientos de actualización documentados
[ ] Sistema para validar actualizaciones en entorno de prueba implementado
Respuesta a Incidentes de Seguridad
Procedimientos de respuesta en caso de incidente de seguridad:
Detección de Incidente
Verificar registros
Detectar patrones de acceso anormales
Verificar comportamiento anormal del sistema
Respuesta Inicial
Identificar alcance del impacto
Prevenir expansión del daño (como detener servicios relevantes)
Preservar evidencia
Investigación y Análisis
Análisis detallado de registros
Identificar ruta de intrusión
Identificar datos que pueden haber sido filtrados
Recuperación
Corregir vulnerabilidades
Recuperar sistema
Fortalecer monitoreo
Respuesta Posterior
Crear informe de incidente
Implementar medidas de prevención de recurrencia
Informar a partes interesadas
Información de Referencia
Si tiene preguntas o problemas relacionados con la seguridad, contacte:
Soporte Comercial: https://www.n2sm.net/