doctorlinux commited on
Commit
4c98cea
·
verified ·
1 Parent(s): 09595ec

Upload index.html

Browse files
Files changed (1) hide show
  1. index.html +39 -96
index.html CHANGED
@@ -195,39 +195,39 @@
195
  /* === CONFIGURACIÓN INICIAL === */
196
  const DOMAINS = [
197
  { id:'perimetro', name:'Perímetro / Firewall', qs:[
198
- {q:'¿Usas un firewall dedicado (Mikrotik/OPNsense/etc.) con reglas mínimas por servicio?', help:'Un firewall dedicado filtra el tráfico entrante y saliente. Reglas mínimas significa solo permitir los puertos y servicios estrictamente necesarios para operar.'},
199
- {q:'¿Tienes listas de acceso/geo-bloqueo/IPS/DoS activas?', help:'Listas de acceso bloquean IPs maliciosas, geo-bloqueo restringe países de riesgo, IPS detecta intrusiones, y DoS protege contra ataques de denegación de servicio.'},
200
- {q:'¿Los servicios expuestos están detrás de NAT o Port-Forward controlado?', help:'NAT oculta la red interna. Port-Forward controlado significa solo redirigir puertos específicos necesarios, no toda la red.'},
201
- {q:'¿Hay políticas VPN de acceso remoto con 2FA?', help:'VPN permite acceso remoto seguro. 2FA (autenticación de dos factores) añade una capa extra de seguridad además de la contraseña.'}
202
  ]},
203
  { id:'servers', name:'Servidores / Hardening', qs:[
204
- {q:'¿Cuentas con hardening básico (SSH seguro, usuarios/roles, auditoría)?', help:'Hardening significa configurar el sistema de forma segura: SSH sin root, solo claves, usuarios con privilegios mínimos, y logs de auditoría.'},
205
- {q:'¿Actualizaciones y parches aplicados regularmente?', help:'Aplicar actualizaciones de seguridad mensualmente para corregir vulnerabilidades conocidas en el sistema operativo y aplicaciones.'},
206
  {q:'¿Servicios innecesarios deshabilitados/controlados?', help:'Cada servicio activo es una posible puerta de entrada. Deshabilitar servicios como FTP, Telnet, servicios de impresión no usados, etc.'}
207
  ]},
208
  { id:'backups', name:'Backups y Recuperación', qs:[
209
- {q:'¿Aplicas la regla 3-2-1 (3 copias, 2 medios, 1 offsite)?', help:'3 copias totales, en al menos 2 tipos diferentes de medios (discos, cinta, cloud), y 1 copia fuera del sitio físico principal.'},
210
- {q:'¿Pruebas de restauración realizadas en los últimos 6 meses?', help:'Verificar periódicamente que los backups son recuperables restaurando datos de prueba en un ambiente controlado.'},
211
  {q:'¿Backups protegidos contra ransomware (inmutables/air-gap)?', help:'Backups inmutables no pueden ser modificados o eliminados. Air-gap significa almacenamiento físicamente desconectado de la red.'}
212
  ]},
213
  { id:'monitor', name:'Monitoreo y Alertas', qs:[
214
  {q:'¿Monitoreo centralizado (Zabbix/PRTG/Grafana) con alertas 24/7?', help:'Sistema que monitorea servidores, redes, servicios y envía alertas inmediatas cuando detecta problemas o anomalías.'},
215
- {q:'¿Métricas revisadas mensualmente?', help:'Analizar regularmente el rendimiento, capacidad, intentos de acceso fallidos, y otros indicadores de seguridad.'},
216
  {q:'¿Alertas integradas con soporte?', help:'Las alertas críticas deben notificar automáticamente al personal técnico mediante email, SMS, Telegram, etc.'}
217
  ]},
218
  { id:'network', name:'Red y Conectividad', qs:[
219
- {q:'¿Segmentación VLANs para aislar servicios críticos?', help:'Dividir la red en segmentos lógicos separados (VLANs) para aislar servidores críticos, usuarios, e invitados.'},
220
  {q:'¿Control de ancho de banda/Proxy/filtrado de contenidos?', help:'Limitar ancho de banda por servicio, filtrar contenido malicioso, y controlar acceso a internet mediante proxy.'},
221
- {q:'¿Wi-Fi empresarial con WPA2-Enterprise?', help:'WPA2-Enterprise usa autenticación individual por usuario en lugar de una contraseña compartida para toda la red WiFi.'}
222
  ]},
223
  { id:'endpoints', name:'Usuarios / Estaciones', qs:[
224
- {q:'¿Antimalware/EDR y políticas de actualización?', help:'EDR (Endpoint Detection and Response) detecta comportamientos sospechosos. Políticas de actualización automática para software y antivirus.'},
225
- {q:'¿Gestión de contraseñas y MFA?', help:'Password manager para contraseñas seguras y únicas. MFA (Multi-Factor Authentication) requiere código adicional además de la contraseña.'},
226
- {q:'¿Políticas de mínimo privilegio + bloqueo de USB?', help:'Usuarios solo tienen permisos necesarios para su trabajo. Bloqueo de puertos USB previene infecciones y fugas de datos.'}
227
  ]},
228
  { id:'webmail', name:'Web y Correo', qs:[
229
- {q:'¿Sitios con HTTPS válido y cabeceras seguras?', help:'HTTPS encripta comunicación web. Cabeceras de seguridad previenen ataques como XSS, clickjacking, y MIME sniffing.'},
230
- {q:'¿Correo con SPF, DKIM y DMARC publicados?', help:'SPF, DKIM y DMARC son protocolos que previenen suplantación de identidad (spoofing) en correos electrónicos.'},
231
  {q:'¿WAF/antispam/antiphishing activos?', help:'WAF protege aplicaciones web, antispam filtra correo no deseado, antiphishing detecta intentos de engaño.'}
232
  ]}
233
  ];
@@ -249,70 +249,6 @@ const RECS = {
249
  webmail:'Forzar HTTPS, cabeceras OWASP, SPF+DKIM+DMARC y WAF.'
250
  };
251
 
252
- // Contenido de ayuda detallado
253
- const HELP_CONTENT = {
254
- 'firewall-dedicado': `
255
- <h4>🚧 Firewall Dedicado - Explicación Completa</h4>
256
- <p>Un <strong>firewall dedicado</strong> es un dispositivo o software especializado que actúa como guardián entre tu red interna e Internet.</p>
257
-
258
- <div class="help-example">
259
- <h5>🔧 Qué buscar:</h5>
260
- <ul>
261
- <li>Reglas que <strong>deniegan todo por defecto</strong></li>
262
- <li>Solo puertos <strong>estrictamente necesarios</strong> abiertos</li>
263
- <li>Separación de redes (LAN, DMZ, WAN)</li>
264
- <li>Logs de conexiones sospechosas</li>
265
- </ul>
266
- </div>
267
-
268
- <div class="help-example">
269
- <h5>📋 Ejemplo de reglas seguras:</h5>
270
- <code>
271
- # DENEGAR todo por defecto<br>
272
- # PERMITIR solo SSH desde IPs admin<br>
273
- # PERMITIR HTTP/HTTPS desde cualquier lugar<br>
274
- # DENEGAR todo lo demás
275
- </code>
276
- </div>
277
-
278
- <p><strong>¿Por qué es importante?</strong> Sin firewall, todos tus servicios están expuestos directamente a Internet.</p>
279
- `,
280
-
281
- 'listas-acceso': `
282
- <h4>🛡️ Listas de Acceso y Protecciones - Explicación</h4>
283
- <p>Estas son <strong>capas adicionales de seguridad</strong> que complementan al firewall básico.</p>
284
-
285
- <div class="help-example">
286
- <h5>🎯 Componentes clave:</h5>
287
- <ul>
288
- <li><strong>Listas de acceso:</strong> Bloqueo de IPs maliciosas conocidas</li>
289
- <li><strong>Geo-bloqueo:</strong> Restricción por país (ej: bloquear Rusia, China)</li>
290
- <li><strong>IPS:</strong> Detección de patrones de ataque en tiempo real</li>
291
- <li><strong>Protección DoS:</strong> Limita conexiones simultáneas</li>
292
- </ul>
293
- </div>
294
-
295
- <p><strong>Beneficio:</strong> Previene el 80% de ataques automatizados y escaneos de red.</p>
296
- `,
297
-
298
- 'nat-portforward': `
299
- <h4>🌐 NAT y Port-Forward Controlado</h4>
300
- <p><strong>NAT (Network Address Translation)</strong> oculta tus IPs internas. <strong>Port-Forward</strong> redirige puertos específicos.</p>
301
-
302
- <div class="help-example">
303
- <h5>✅ Configuración segura:</h5>
304
- <ul>
305
- <li>NAT activado para toda la red interna</li>
306
- <li>Port-Forward solo para servicios esenciales</li>
307
- <li>Nunca redirigir rangos de puertos completos</li>
308
- <li>Registrar cada redirección con justificación</li>
309
- </ul>
310
- </div>
311
-
312
- <p><strong>Riesgo:</strong> Port-Forward incorrecto puede exponer servicios internos accidentalmente.</p>
313
- `
314
- };
315
-
316
  let current = 0, answers = {};
317
  const steps = document.getElementById('dlxSteps'),
318
  bar = document.getElementById('dlxBar'),
@@ -328,28 +264,35 @@ function showHelp(helpKey, questionText) {
328
  const title = document.getElementById('helpTitle');
329
  const content = document.getElementById('helpText');
330
 
331
- // Usar contenido específico si existe, sino genérico
332
- if (HELP_CONTENT[helpKey]) {
333
- content.innerHTML = HELP_CONTENT[helpKey];
334
- } else {
335
- // Contenido genérico basado en la pregunta
 
 
 
 
 
 
 
336
  content.innerHTML = `
337
- <h4>💡 Ayuda Contextual</h4>
338
  <p><strong>Pregunta:</strong> ${questionText}</p>
339
  <div class="help-example">
340
- <h5>🎯 Qué evaluamos:</h5>
341
- <p>Esta pregunta busca determinar si tienes implementadas las <strong>medidas básicas de seguridad</strong> para este dominio.</p>
342
  </div>
343
  <div class="help-example">
344
- <h5>📊 Cómo responder:</h5>
345
- <ul>
346
- <li><strong>Sí:</strong> Si tienes completamente implementado y documentado</li>
347
- <li><strong>Parcial:</strong> Si está implementado pero necesita mejoras</li>
348
- <li><strong>No:</strong> Si no está implementado o es inefectivo</li>
349
- <li><strong>No sé:</strong> Si no tienes certeza del estado actual</li>
350
- </ul>
351
  </div>
352
- <p><strong>💡 Tip:</strong> Responde con honestidad para obtener un diagnóstico preciso.</p>
 
 
 
 
 
353
  `;
354
  }
355
 
 
195
  /* === CONFIGURACIÓN INICIAL === */
196
  const DOMAINS = [
197
  { id:'perimetro', name:'Perímetro / Firewall', qs:[
198
+ {q:'¿Usas un firewall dedicado (Mikrotik/OPNsense/etc.) con reglas mínimas por servicio?', help:'Un firewall dedicado es un dispositivo/software que filtra todo el tráfico entre tu red e Internet. "Reglas mínimas" significa permitir SOLO los puertos y servicios estrictamente necesarios para operar, denegando todo lo demás por defecto.'},
199
+ {q:'¿Tienes listas de acceso/geo-bloqueo/IPS/DoS activas?', help:'Listas de acceso: Bloquean IPs maliciosas conocidas. Geo-bloqueo: Restringe tráfico de países de alto riesgo. IPS: Detecta y bloquea patrones de ataque en tiempo real. Protección DoS: Limita conexiones para prevenir saturación.'},
200
+ {q:'¿Los servicios expuestos están detrás de NAT o Port-Forward controlado?', help:'NAT oculta las IPs internas de tu red. Port-Forward controlado significa redirigir SOLO puertos específicos necesarios (ej: puerto 443 para web), no rangos completos.'},
201
+ {q:'¿Hay políticas VPN de acceso remoto con 2FA?', help:'VPN crea un túnel seguro para acceso remoto. 2FA (autenticación de dos factores) añade una capa extra de seguridad además de la contraseña (código SMS, app authenticator, etc.).'}
202
  ]},
203
  { id:'servers', name:'Servidores / Hardening', qs:[
204
+ {q:'¿Cuentas con hardening básico (SSH seguro, usuarios/roles, auditoría)?', help:'Hardening significa configurar el sistema de forma segura: SSH sin acceso root, solo autenticación por claves, usuarios con privilegios mínimos, y logs de auditoría activos.'},
205
+ {q:'¿Actualizaciones y parches aplicados regularmente?', help:'Aplicar actualizaciones de seguridad mensualmente para corregir vulnerabilidades conocidas en sistema operativo y aplicaciones.'},
206
  {q:'¿Servicios innecesarios deshabilitados/controlados?', help:'Cada servicio activo es una posible puerta de entrada. Deshabilitar servicios como FTP, Telnet, servicios de impresión no usados, etc.'}
207
  ]},
208
  { id:'backups', name:'Backups y Recuperación', qs:[
209
+ {q:'¿Aplicas la regla 3-2-1 (3 copias, 2 medios, 1 offsite)?', help:'3 copias totales de datos, en al menos 2 medios diferentes (discos, cinta, cloud), y 1 copia fuera del sitio físico principal.'},
210
+ {q:'¿Pruebas de restauración realizadas en los últimos 6 meses?', help:'Verificar periódicamente que los backups son recuperables restaurando datos de prueba en ambiente controlado.'},
211
  {q:'¿Backups protegidos contra ransomware (inmutables/air-gap)?', help:'Backups inmutables no pueden ser modificados o eliminados. Air-gap significa almacenamiento físicamente desconectado de la red.'}
212
  ]},
213
  { id:'monitor', name:'Monitoreo y Alertas', qs:[
214
  {q:'¿Monitoreo centralizado (Zabbix/PRTG/Grafana) con alertas 24/7?', help:'Sistema que monitorea servidores, redes, servicios y envía alertas inmediatas cuando detecta problemas o anomalías.'},
215
+ {q:'¿Métricas revisadas mensualmente?', help:'Analizar regularmente rendimiento, capacidad, intentos de acceso fallidos, y otros indicadores de seguridad.'},
216
  {q:'¿Alertas integradas con soporte?', help:'Las alertas críticas deben notificar automáticamente al personal técnico mediante email, SMS, Telegram, etc.'}
217
  ]},
218
  { id:'network', name:'Red y Conectividad', qs:[
219
+ {q:'¿Segmentación VLANs para aislar servicios críticos?', help:'Dividir la red en segmentos lógicos separados para aislar servidores críticos, usuarios, e invitados.'},
220
  {q:'¿Control de ancho de banda/Proxy/filtrado de contenidos?', help:'Limitar ancho de banda por servicio, filtrar contenido malicioso, y controlar acceso a internet mediante proxy.'},
221
+ {q:'¿Wi-Fi empresarial con WPA2-Enterprise?', help:'WPA2-Enterprise usa autenticación individual por usuario en lugar de contraseña compartida para toda la red WiFi.'}
222
  ]},
223
  { id:'endpoints', name:'Usuarios / Estaciones', qs:[
224
+ {q:'¿Antimalware/EDR y políticas de actualización?', help:'EDR detecta comportamientos sospechosos. Políticas de actualización automática para software y antivirus.'},
225
+ {q:'¿Gestión de contraseñas y MFA?', help:'Password manager para contraseñas seguras y únicas. MFA requiere código adicional además de la contraseña.'},
226
+ {q:'¿Políticas de mínimo privilegio + bloqueo de USB?', help:'Usuarios solo tienen permisos necesarios para su trabajo. Bloqueo de puertos USB previene infecciones y fugas.'}
227
  ]},
228
  { id:'webmail', name:'Web y Correo', qs:[
229
+ {q:'¿Sitios con HTTPS válido y cabeceras seguras?', help:'HTTPS encripta comunicación web. Cabeceras de seguridad previenen ataques como XSS, clickjacking, etc.'},
230
+ {q:'¿Correo con SPF, DKIM y DMARC publicados?', help:'Protocolos que previenen suplantación de identidad (spoofing) en correos electrónicos.'},
231
  {q:'¿WAF/antispam/antiphishing activos?', help:'WAF protege aplicaciones web, antispam filtra correo no deseado, antiphishing detecta intentos de engaño.'}
232
  ]}
233
  ];
 
249
  webmail:'Forzar HTTPS, cabeceras OWASP, SPF+DKIM+DMARC y WAF.'
250
  };
251
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
252
  let current = 0, answers = {};
253
  const steps = document.getElementById('dlxSteps'),
254
  bar = document.getElementById('dlxBar'),
 
264
  const title = document.getElementById('helpTitle');
265
  const content = document.getElementById('helpText');
266
 
267
+ // Encontrar la pregunta correspondiente para mostrar su ayuda
268
+ let helpContent = '';
269
+ DOMAINS.forEach(domain => {
270
+ domain.qs.forEach((item, i) => {
271
+ const currentHelpKey = `${domain.id}-q${i}`;
272
+ if (currentHelpKey === helpKey) {
273
+ helpContent = item.help;
274
+ }
275
+ });
276
+ });
277
+
278
+ if (helpContent) {
279
  content.innerHTML = `
280
+ <h4>💡 Explicación Técnica</h4>
281
  <p><strong>Pregunta:</strong> ${questionText}</p>
282
  <div class="help-example">
283
+ <h5>🔍 Qué significa esto:</h5>
284
+ <p>${helpContent}</p>
285
  </div>
286
  <div class="help-example">
287
+ <h5>🎯 Por qué es importante:</h5>
288
+ <p>Esta medida protege contra amenazas específicas y es considerada una práctica esencial de seguridad.</p>
 
 
 
 
 
289
  </div>
290
+ `;
291
+ } else {
292
+ content.innerHTML = `
293
+ <h4>💡 Ayuda Contextual</h4>
294
+ <p><strong>Pregunta:</strong> ${questionText}</p>
295
+ <p>Esta pregunta evalúa la implementación de controles de seguridad específicos para este dominio técnico.</p>
296
  `;
297
  }
298