doctorlinux commited on
Commit
74dbd0b
·
verified ·
1 Parent(s): 7af2ae8

Upload index.html

Browse files
Files changed (1) hide show
  1. index.html +336 -100
index.html CHANGED
@@ -3,7 +3,7 @@
3
  <head>
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>DoctorLinux - Análisis de Seguridad</title>
7
  <style>
8
  * {
9
  margin: 0;
@@ -16,16 +16,12 @@
16
  background: linear-gradient(135deg, #1a2a6c, #2a3a7c);
17
  color: #fff;
18
  min-height: 100vh;
19
- display: flex;
20
- flex-direction: column;
21
- align-items: center;
22
- justify-content: center;
23
  padding: 20px;
24
  }
25
 
26
  .container {
27
- max-width: 800px;
28
- width: 100%;
29
  background: rgba(255, 255, 255, 0.1);
30
  backdrop-filter: blur(10px);
31
  border-radius: 20px;
@@ -36,7 +32,7 @@
36
 
37
  header {
38
  text-align: center;
39
- margin-bottom: 30px;
40
  }
41
 
42
  .logo {
@@ -49,77 +45,149 @@
49
  .subtitle {
50
  font-size: 1.2rem;
51
  opacity: 0.8;
52
- margin-bottom: 20px;
53
  }
54
 
55
- .content {
56
- display: flex;
57
- flex-direction: column;
58
- gap: 30px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
59
  }
60
 
61
- .info-section {
62
  background: rgba(255, 255, 255, 0.05);
63
  padding: 25px;
64
  border-radius: 15px;
 
65
  border-left: 4px solid #4fc3f7;
66
  }
67
 
68
- .info-section h2 {
69
  margin-bottom: 15px;
70
  color: #4fc3f7;
 
71
  }
72
 
73
- .info-section ul {
74
- list-style-type: none;
75
- padding-left: 10px;
 
76
  }
77
 
78
- .info-section li {
79
- margin-bottom: 10px;
80
- padding-left: 25px;
81
- position: relative;
 
 
 
82
  }
83
 
84
- .info-section li:before {
85
- content: "•";
86
- color: #4fc3f7;
87
- font-size: 1.5rem;
88
- position: absolute;
89
- left: 0;
90
- top: -5px;
 
91
  }
92
 
93
- .download-section {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
94
  text-align: center;
95
- background: rgba(255, 255, 255, 0.05);
96
- padding: 30px;
97
- border-radius: 15px;
98
  }
99
 
100
- .download-section h2 {
101
- margin-bottom: 15px;
102
- color: #4fc3f7;
103
  }
104
 
105
- .download-section p {
106
- margin-bottom: 25px;
107
- opacity: 0.9;
108
- font-size: 1.1rem;
109
  }
110
 
111
  .download-btn {
112
  display: inline-block;
113
  background: linear-gradient(to right, #4fc3f7, #2979ff);
114
  color: white;
115
- padding: 15px 40px;
116
- font-size: 1.2rem;
117
  font-weight: 600;
118
  border: none;
119
  border-radius: 50px;
120
  cursor: pointer;
121
  transition: all 0.3s ease;
122
  text-decoration: none;
 
123
  box-shadow: 0 5px 15px rgba(41, 121, 255, 0.4);
124
  }
125
 
@@ -132,7 +200,7 @@
132
  display: grid;
133
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
134
  gap: 20px;
135
- margin-top: 20px;
136
  }
137
 
138
  .feature {
@@ -147,75 +215,243 @@
147
  margin-bottom: 10px;
148
  color: #4fc3f7;
149
  }
150
-
151
- footer {
152
- margin-top: 40px;
153
- text-align: center;
154
- font-size: 0.9rem;
155
- opacity: 0.7;
156
- }
157
-
158
- @media (max-width: 600px) {
159
- .container {
160
- padding: 25px;
161
- }
162
-
163
- .logo {
164
- font-size: 2rem;
165
- }
166
-
167
- .download-btn {
168
- padding: 12px 30px;
169
- font-size: 1.1rem;
170
- }
171
- }
172
  </style>
173
  </head>
174
  <body>
175
  <div class="container">
176
  <header>
177
  <div class="logo">DoctorLinux</div>
178
- <div class="subtitle">Soluciones de Seguridad Informática</div>
 
 
 
179
  </header>
180
-
181
- <div class="content">
182
- <div class="info-section">
183
- <h2>Análisis de Seguridad Completado</h2>
184
- <p>Hemos finalizado la evaluación de seguridad de tu infraestructura. El informe incluye:</p>
185
- <ul>
186
- <li>Evaluación de roles NAS y gestión de parches</li>
187
- <li>Análisis de configuración de firewalls</li>
188
- <li>Verificación de estrategia de backups 3-2-1</li>
189
- <li>Revisión de políticas de acceso y MFA</li>
190
- <li>Recomendaciones de hardening</li>
191
- </ul>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
192
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
193
 
194
- <div class="download-section">
195
- <h2>Descarga tu Informe Completo</h2>
196
- <p>Obtén tu análisis detallado en PDF al instante</p>
197
- <a href="#" class="download-btn">Análisis IA Detallado</a>
198
-
199
- <div class="features">
200
- <div class="feature">
201
- <div class="feature-icon">📊</div>
202
- <div>Análisis Detallado</div>
203
- </div>
204
- <div class="feature">
205
- <div class="feature-icon">🔒</div>
206
- <div>Evaluación de Seguridad</div>
207
- </div>
208
- <div class="feature">
209
- <div class="feature-icon">⚡</div>
210
- <div>Descarga Inmediata</div>
211
- </div>
212
  </div>
213
  </div>
214
  </div>
215
-
216
- <footer>
217
- <p>© 2023 DoctorLinux. Todos los derechos reservados.</p>
218
- </footer>
219
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
220
  </body>
221
  </html>
 
3
  <head>
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>DoctorLinux - Cuestionario de Seguridad</title>
7
  <style>
8
  * {
9
  margin: 0;
 
16
  background: linear-gradient(135deg, #1a2a6c, #2a3a7c);
17
  color: #fff;
18
  min-height: 100vh;
 
 
 
 
19
  padding: 20px;
20
  }
21
 
22
  .container {
23
+ max-width: 1000px;
24
+ margin: 0 auto;
25
  background: rgba(255, 255, 255, 0.1);
26
  backdrop-filter: blur(10px);
27
  border-radius: 20px;
 
32
 
33
  header {
34
  text-align: center;
35
+ margin-bottom: 40px;
36
  }
37
 
38
  .logo {
 
45
  .subtitle {
46
  font-size: 1.2rem;
47
  opacity: 0.8;
48
+ margin-bottom: 10px;
49
  }
50
 
51
+ .progress-bar {
52
+ width: 100%;
53
+ height: 8px;
54
+ background: rgba(255, 255, 255, 0.2);
55
+ border-radius: 4px;
56
+ margin: 20px 0;
57
+ overflow: hidden;
58
+ }
59
+
60
+ .progress {
61
+ height: 100%;
62
+ background: linear-gradient(to right, #4fc3f7, #2979ff);
63
+ width: 0%;
64
+ transition: width 0.3s ease;
65
+ }
66
+
67
+ .question-section {
68
+ display: none;
69
+ }
70
+
71
+ .question-section.active {
72
+ display: block;
73
  }
74
 
75
+ .question {
76
  background: rgba(255, 255, 255, 0.05);
77
  padding: 25px;
78
  border-radius: 15px;
79
+ margin-bottom: 25px;
80
  border-left: 4px solid #4fc3f7;
81
  }
82
 
83
+ .question h3 {
84
  margin-bottom: 15px;
85
  color: #4fc3f7;
86
+ font-size: 1.3rem;
87
  }
88
 
89
+ .options {
90
+ display: flex;
91
+ flex-direction: column;
92
+ gap: 12px;
93
  }
94
 
95
+ .option {
96
+ padding: 15px 20px;
97
+ background: rgba(255, 255, 255, 0.1);
98
+ border: 2px solid rgba(255, 255, 255, 0.2);
99
+ border-radius: 10px;
100
+ cursor: pointer;
101
+ transition: all 0.3s ease;
102
  }
103
 
104
+ .option:hover {
105
+ background: rgba(255, 255, 255, 0.15);
106
+ border-color: #4fc3f7;
107
+ }
108
+
109
+ .option.selected {
110
+ background: rgba(79, 195, 247, 0.2);
111
+ border-color: #4fc3f7;
112
  }
113
 
114
+ .text-input {
115
+ width: 100%;
116
+ padding: 15px;
117
+ background: rgba(255, 255, 255, 0.1);
118
+ border: 2px solid rgba(255, 255, 255, 0.2);
119
+ border-radius: 10px;
120
+ color: white;
121
+ font-size: 1rem;
122
+ margin-top: 10px;
123
+ }
124
+
125
+ .text-input::placeholder {
126
+ color: rgba(255, 255, 255, 0.6);
127
+ }
128
+
129
+ .navigation {
130
+ display: flex;
131
+ justify-content: space-between;
132
+ margin-top: 30px;
133
+ }
134
+
135
+ .btn {
136
+ padding: 15px 30px;
137
+ background: linear-gradient(to right, #4fc3f7, #2979ff);
138
+ color: white;
139
+ border: none;
140
+ border-radius: 50px;
141
+ font-size: 1rem;
142
+ font-weight: 600;
143
+ cursor: pointer;
144
+ transition: all 0.3s ease;
145
+ }
146
+
147
+ .btn:hover {
148
+ transform: translateY(-2px);
149
+ box-shadow: 0 5px 15px rgba(41, 121, 255, 0.4);
150
+ }
151
+
152
+ .btn-secondary {
153
+ background: rgba(255, 255, 255, 0.1);
154
+ border: 2px solid rgba(255, 255, 255, 0.3);
155
+ }
156
+
157
+ .btn:disabled {
158
+ opacity: 0.5;
159
+ cursor: not-allowed;
160
+ transform: none;
161
+ }
162
+
163
+ .results-section {
164
+ display: none;
165
  text-align: center;
 
 
 
166
  }
167
 
168
+ .results-section.active {
169
+ display: block;
 
170
  }
171
 
172
+ .results-section h2 {
173
+ color: #4fc3f7;
174
+ margin-bottom: 20px;
175
+ font-size: 2rem;
176
  }
177
 
178
  .download-btn {
179
  display: inline-block;
180
  background: linear-gradient(to right, #4fc3f7, #2979ff);
181
  color: white;
182
+ padding: 18px 50px;
183
+ font-size: 1.3rem;
184
  font-weight: 600;
185
  border: none;
186
  border-radius: 50px;
187
  cursor: pointer;
188
  transition: all 0.3s ease;
189
  text-decoration: none;
190
+ margin: 20px 0;
191
  box-shadow: 0 5px 15px rgba(41, 121, 255, 0.4);
192
  }
193
 
 
200
  display: grid;
201
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
202
  gap: 20px;
203
+ margin-top: 30px;
204
  }
205
 
206
  .feature {
 
215
  margin-bottom: 10px;
216
  color: #4fc3f7;
217
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
218
  </style>
219
  </head>
220
  <body>
221
  <div class="container">
222
  <header>
223
  <div class="logo">DoctorLinux</div>
224
+ <div class="subtitle">Cuestionario de Evaluación de Seguridad</div>
225
+ <div class="progress-bar">
226
+ <div class="progress" id="progress"></div>
227
+ </div>
228
  </header>
229
+
230
+ <!-- SECCIÓN 1: INFRAESTRUCTURA -->
231
+ <div class="question-section active" id="section-1">
232
+ <div class="question">
233
+ <h3>1. ¿Qué tipo de infraestructura utilizas principalmente?</h3>
234
+ <div class="options">
235
+ <div class="option" data-value="onprem">Servidores físicos on-premise</div>
236
+ <div class="option" data-value="cloud">Infraestructura en la nube (AWS, Azure, GCP)</div>
237
+ <div class="option" data-value="hybrid">Infraestructura híbrida</div>
238
+ <div class="option" data-value="virtual">Servidores virtualizados</div>
239
+ </div>
240
+ </div>
241
+
242
+ <div class="question">
243
+ <h3>2. ¿Cuántos servidores gestionas actualmente?</h3>
244
+ <div class="options">
245
+ <div class="option" data-value="1-5">1-5 servidores</div>
246
+ <div class="option" data-value="6-20">6-20 servidores</div>
247
+ <div class="option" data-value="21-50">21-50 servidores</div>
248
+ <div class="option" data-value="50+">Más de 50 servidores</div>
249
+ </div>
250
+ </div>
251
+
252
+ <div class="navigation">
253
+ <button class="btn btn-secondary" disabled>Anterior</button>
254
+ <button class="btn" onclick="nextSection(1)">Siguiente</button>
255
+ </div>
256
+ </div>
257
+
258
+ <!-- SECCIÓN 2: SEGURIDAD DE RED -->
259
+ <div class="question-section" id="section-2">
260
+ <div class="question">
261
+ <h3>3. ¿Cómo gestionas los firewalls en tu infraestructura?</h3>
262
+ <div class="options">
263
+ <div class="option" data-value="enterprise">Firewall empresarial dedicado</div>
264
+ <div class="option" data-value="cloud">Firewalls cloud nativos</div>
265
+ <div class="option" data-value="basic">Firewall básico del sistema</div>
266
+ <div class="option" data-value="none">Sin firewall configurado</div>
267
+ </div>
268
+ </div>
269
+
270
+ <div class="question">
271
+ <h3>4. ¿Qué políticas de acceso tienes implementadas?</h3>
272
+ <div class="options">
273
+ <div class="option" data-value="mfa">MFA (Autenticación de múltiples factores)</div>
274
+ <div class="option" data-value="vpn">Acceso solo por VPN</div>
275
+ <div class="option" data-value="ip">Restricción por IP</div>
276
+ <div class="option" data-value="basic">Usuario y contraseña básicos</div>
277
+ </div>
278
+ </div>
279
+
280
+ <div class="navigation">
281
+ <button class="btn btn-secondary" onclick="prevSection(2)">Anterior</button>
282
+ <button class="btn" onclick="nextSection(2)">Siguiente</button>
283
+ </div>
284
+ </div>
285
+
286
+ <!-- SECCIÓN 3: BACKUP Y RECUPERACIÓN -->
287
+ <div class="question-section" id="section-3">
288
+ <div class="question">
289
+ <h3>5. ¿Qué estrategia de backup implementas?</h3>
290
+ <div class="options">
291
+ <div class="option" data-value="321">Estrategia 3-2-1 (3 copias, 2 medios, 1 externa)</div>
292
+ <div class="option" data-value="cloud">Backup en la nube</div>
293
+ <div class="option" data-value="local">Backup local solamente</div>
294
+ <div class="option" data-value="none">Sin estrategia definida</div>
295
+ </div>
296
+ </div>
297
+
298
+ <div class="question">
299
+ <h3>6. ¿Con qué frecuencia realizas backups?</h3>
300
+ <div class="options">
301
+ <div class="option" data-value="daily">Diariamente</div>
302
+ <div class="option" data-value="weekly">Semanalmente</div>
303
+ <div class="option" data-value="monthly">Mensualmente</div>
304
+ <div class="option" data-value="rarely">Ocasionalmente</div>
305
+ </div>
306
  </div>
307
+
308
+ <div class="navigation">
309
+ <button class="btn btn-secondary" onclick="prevSection(3)">Anterior</button>
310
+ <button class="btn" onclick="nextSection(3)">Siguiente</button>
311
+ </div>
312
+ </div>
313
+
314
+ <!-- SECCIÓN 4: GESTIÓN DE PARCHES -->
315
+ <div class="question-section" id="section-4">
316
+ <div class="question">
317
+ <h3>7. ¿Cómo gestionas las actualizaciones de seguridad?</h3>
318
+ <div class="options">
319
+ <div class="option" data-value="auto">Actualizaciones automáticas</div>
320
+ <div class="option" data-value="manual">Actualizaciones manuales programadas</div>
321
+ <div class="option" data-value="testing">Testing antes de implementar</div>
322
+ <div class="option" data-value="rarely">Actualizaciones poco frecuentes</div>
323
+ </div>
324
+ </div>
325
+
326
+ <div class="question">
327
+ <h3>8. ¿Qué sistemas operativos utilizas principalmente?</h3>
328
+ <div class="options">
329
+ <div class="option" data-value="linux">Distribuciones Linux</div>
330
+ <div class="option" data-value="windows">Windows Server</div>
331
+ <div class="option" data-value="mixed">Mixed (Linux y Windows)</div>
332
+ <div class="option" data-value="other">Otros sistemas</div>
333
+ </div>
334
+ </div>
335
+
336
+ <div class="navigation">
337
+ <button class="btn btn-secondary" onclick="prevSection(4)">Anterior</button>
338
+ <button class="btn" onclick="nextSection(4)">Siguiente</button>
339
+ </div>
340
+ </div>
341
+
342
+ <!-- SECCIÓN 5: MONITOREO Y DETECCIÓN -->
343
+ <div class="question-section" id="section-5">
344
+ <div class="question">
345
+ <h3>9. ¿Qué sistema de monitoreo utilizas?</h3>
346
+ <div class="options">
347
+ <div class="option" data-value="siem">SIEM empresarial</div>
348
+ <div class="option" data-value="monitoring">Herramientas de monitoreo (Zabbix, Nagios)</div>
349
+ <div class="option" data-value="basic">Monitoreo básico del sistema</div>
350
+ <div class="option" data-value="none">Sin sistema de monitoreo</div>
351
+ </div>
352
+ </div>
353
+
354
+ <div class="question">
355
+ <h3>10. ¿Tienes políticas de respuesta a incidentes?</h3>
356
+ <div class="options">
357
+ <div class="option" data-value="documented">Políticas documentadas y probadas</div>
358
+ <div class="option" data-value="basic">Procedimientos básicos establecidos</div>
359
+ <div class="option" data-value="informal">Procedimientos informales</div>
360
+ <div class="option" data-value="none">Sin políticas definidas</div>
361
+ </div>
362
+ </div>
363
+
364
+ <div class="navigation">
365
+ <button class="btn btn-secondary" onclick="prevSection(5)">Anterior</button>
366
+ <button class="btn" onclick="showResults()">Generar Análisis</button>
367
+ </div>
368
+ </div>
369
+
370
+ <!-- SECCIÓN DE RESULTADOS -->
371
+ <div class="results-section" id="results-section">
372
+ <h2>Análisis de Seguridad Completado</h2>
373
+ <p>Hemos evaluado tu infraestructura basado en tus respuestas</p>
374
 
375
+ <a href="#" class="download-btn">Descargar Análisis IA Avanzado</a>
376
+
377
+ <div class="features">
378
+ <div class="feature">
379
+ <div class="feature-icon">📊</div>
380
+ <div>Evaluación Personalizada</div>
381
+ </div>
382
+ <div class="feature">
383
+ <div class="feature-icon">🔒</div>
384
+ <div>Recomendaciones de Seguridad</div>
385
+ </div>
386
+ <div class="feature">
387
+ <div class="feature-icon">🤖</div>
388
+ <div>Análisis con IA</div>
389
+ </div>
390
+ <div class="feature">
391
+ <div class="feature-icon">⚡</div>
392
+ <div>Plan de Acción</div>
393
  </div>
394
  </div>
395
  </div>
 
 
 
 
396
  </div>
397
+
398
+ <script>
399
+ let currentSection = 1;
400
+ const totalSections = 5;
401
+ const userAnswers = {};
402
+
403
+ // Inicializar opciones
404
+ document.querySelectorAll('.option').forEach(option => {
405
+ option.addEventListener('click', function() {
406
+ // Remover selección anterior en la misma pregunta
407
+ const question = this.closest('.question');
408
+ question.querySelectorAll('.option').forEach(opt => {
409
+ opt.classList.remove('selected');
410
+ });
411
+
412
+ // Seleccionar nueva opción
413
+ this.classList.add('selected');
414
+
415
+ // Guardar respuesta
416
+ const questionText = question.querySelector('h3').textContent;
417
+ userAnswers[questionText] = this.getAttribute('data-value');
418
+ });
419
+ });
420
+
421
+ function updateProgress() {
422
+ const progress = (currentSection / totalSections) * 100;
423
+ document.getElementById('progress').style.width = `${progress}%`;
424
+ }
425
+
426
+ function nextSection(current) {
427
+ if (current === currentSection) {
428
+ document.getElementById(`section-${currentSection}`).classList.remove('active');
429
+ currentSection++;
430
+ document.getElementById(`section-${currentSection}`).classList.add('active');
431
+ updateProgress();
432
+ }
433
+ }
434
+
435
+ function prevSection(current) {
436
+ if (current === currentSection) {
437
+ document.getElementById(`section-${currentSection}`).classList.remove('active');
438
+ currentSection--;
439
+ document.getElementById(`section-${currentSection}`).classList.add('active');
440
+ updateProgress();
441
+ }
442
+ }
443
+
444
+ function showResults() {
445
+ document.getElementById(`section-${currentSection}`).classList.remove('active');
446
+ document.getElementById('results-section').classList.add('active');
447
+ document.getElementById('progress').style.width = '100%';
448
+
449
+ // Aquí procesaríamos las respuestas y generaríamos el análisis
450
+ console.log('Respuestas del usuario:', userAnswers);
451
+ }
452
+
453
+ // Inicializar progreso
454
+ updateProgress();
455
+ </script>
456
  </body>
457
  </html>