Ir directamente al contenido

Ajustes de cookies

Elija por tipo qué cookies permite. Puede cambiar su elección en cualquier momento en Ajustes de cookies, al pie de cada página. Declaración de privacidad

Necesarias

Siempre activadas

Necesarias para iniciar sesión, conservar su carrito y recordar sus preferencias. Siempre están activadas.

¿Qué cookies?
  • weboke_sessie, weboke_klant, weboke_remember: su sesión y mantener la sesión iniciada
  • weboke_basket: su carrito
  • wkBtwIncl: mostrar los precios con o sin IVA
  • wok_cookies: su elección de cookies, 12 meses

Mide qué anuncio lleva a una visita o a un pedido, para no pagar por anuncios que no sirven de nada.

¿Qué cookies?
  • Google Ads a través de Google Tag Manager (_gcl_au, _gcl_aw), hasta 90 días
  • OpenAI Ads, anuncios en ChatGPT
  • wok_aff: a través de qué socio llegó a nosotros (programa de afiliados), 60 días

4,6

País e idioma

Cada país tiene su propio sitio, con los precios y el IVA de ese país.

Ver

Módulo 10 · 10.4

Control final: su servidor a examen

Módulo 10: Mantener la seguridad · Tiempo de lectura: 10 minutos

Objetivo de aprendizaje: Después de esta lección podrá evaluar su propio servidor con una lista de comprobación y un control automático desde fuera, sabrá qué puntos tienen prioridad y contará con una rutina de mantenimiento fija y un breve expediente del servidor.

Conceptos clave: lista de comprobación, prioridad, control desde fuera, expediente del servidor, rutina de mantenimiento (semanal, mensual, trimestral, anual), fecha de fin de soporte de la versión, prueba de restauración

De lecciones sueltas a un conjunto

En este curso ha configurado un servidor paso a paso: inicio de sesión seguro, permisos, actualizaciones, firewall, servicios, un sitio web con https, copias de seguridad, monitorización y contenedores. En esta última lección lo reúne todo en una sola lista. Revisa su servidor, deja que el programa del curso lo examine desde fuera y establece cómo va a mantener el servidor en los próximos años.

Un servidor nunca está "terminado". El software se queda anticuado, los certificados caducan, los discos se llenan y las versiones llegan al final de su vida útil (end of life). Por eso una rutina fija es tan importante como la configuración inicial.

La lista de comprobación, por orden de importancia

No todo es igual de urgente. Recorra la lista de arriba abajo: los primeros bloques evitan la mayoría de los problemas.

Bloque 1: nadie entra sin más (módulos 2, 3 y 5)

  • Inicio de sesión solo con claves; PasswordAuthentication no y KbdInteractiveAuthentication no, comprobado con sudo sshd -T.
  • Root no inicia sesión con contraseña; usted trabaja como usuario normal con sudo.
  • Las bases de datos, cachés y clústeres de búsqueda escuchan en 127.0.0.1; los puertos 3306, 5432, 6379, 9200 y 27017 están cerrados desde fuera, tanto para IPv4 como para IPv6.
  • Un firewall que por defecto lo cierra todo en el tráfico entrante; solo están abiertos los puertos que necesita.
  • fail2ban está en funcionamiento para SSH (fail2ban-client status sshd).

Bloque 2: las vulnerabilidades se corrigen (módulo 4)

  • Actualizaciones de seguridad automáticas activadas y comprobadas (registro, apt list --upgradable).
  • Un plan de reinicios; /var/run/reboot-required no permanece ahí durante semanas.
  • La versión sigue teniendo soporte; la fecha de fin de soporte está en su agenda.

Bloque 3: puede volver atrás (módulo 8)

  • Copias de seguridad cifradas fuera del servidor, automáticas y con monitorización.
  • Ha hecho una prueba de restauración y sabe cuánto tarda restaurar.
  • Sabe cómo crear una instantánea (snapshot) y abrir la consola.

Bloque 4: el exterior es correcto (módulo 7)

  • Los registros A y AAAA apuntan a su servidor; el DNS inverso (PTR) apunta de vuelta al mismo nombre.
  • https con un certificado válido que se renueva automáticamente; http redirige a https.
  • HSTS y algunas cabeceras de seguridad; un security.txt con una dirección de contacto que funciona y una fecha de caducidad.

Bloque 5: ve lo que ocurre (módulos 6 y 8)

  • El journal es persistente; puede leer registros de antes de un reinicio.
  • Monitorización desde fuera (disponibilidad, certificado) y desde dentro (disco, servicios), con avisos que realmente llegan.
  • systemctl --failed está vacío.

Bloque 6: contenedores bajo control (módulo 9, si utiliza Docker)

  • Puertos de los contenedores en 127.0.0.1 o detrás del proxy inverso; nada de docker.sock en contenedores que no lo necesitan de verdad.
  • Los volúmenes están incluidos en la copia de seguridad; las imágenes se actualizan con regularidad.
  • Los secretos están en archivos .env con permisos estrictos, no en Git.

El control desde fuera

El programa del curso puede revisar parte de esta lista desde fuera, exactamente como cualquiera en internet ve su servidor. El ejercicio final (Z10.4) combina los controles de ejercicios anteriores:

ElementoQué hace el programaDe la lección
SSHLee el banner de versión y pregunta qué métodos de inicio de sesión ofrece su servidor para su nombre de usuario; no inicia sesión2.2
Puertos de bases de datosSolo intenta establecer una conexión con 3306, 5432, 6379, 9200 y 27017; no envía nada5.1
httpsComprueba el certificado (válido, de confianza, nombre correcto)7.3
CabecerasLee HSTS y las demás cabeceras de seguridad7.4
security.txtDescarga /.well-known/security.txt y comprueba Contact y Expires7.4
ContenedorBusca la cabecera con su código, añadida por su proxy inverso9.4

El programa no ejecuta nada en su servidor, no prueba contraseñas y no escanea otros puertos. Cada dirección solo puede comprobarse unas pocas veces por hora. Un resultado en verde significa que, desde fuera, no se detectan los errores más conocidos. No dice nada sobre lo que ocurre dentro de su servidor; eso corresponde al resto de la lista de comprobación, que debe revisar usted mismo.

El expediente del servidor

Redacte para cada servidor un documento breve y guárdelo fuera del servidor (por ejemplo, en su gestor de contraseñas o en una carpeta compartida):

  • nombre, direcciones IP, proveedor, versión y fecha de fin de soporte;
  • qué se ejecuta (servicios, contenedores, sitios web) y por qué;
  • qué puertos están abiertos y para qué;
  • dónde están las copias de seguridad, cómo se restauran y cuándo fue la última prueba;
  • qué secretos hay en el servidor (no los secretos en sí, sino cuáles son y dónde se sustituyen);
  • qué hizo deliberadamente de forma distinta al estándar (por ejemplo, una sugerencia de Lynis que omitió, lección 10.1);
  • quién tiene acceso (qué claves hay en authorized_keys).

Este expediente vale oro en caso de incidente (lección 10.3), en una actualización de versión (lección 4.3) y cuando otra persona se hace cargo de la administración.

Una rutina de mantenimiento

Sin rutina, la atención decae. Este es un ejemplo para un servidor pequeño; adáptelo a su propia situación.

CuándoQué
Cada semanaRevisar la monitorización y los avisos; systemctl --failed; reiniciar si aparece /var/run/reboot-required (o comprobar que el reinicio automático ha funcionado)
Cada mesapt list --upgradable (¿queda algo pendiente?); docker compose pull y up -d para sus contenedores, junto con las notas de la versión; espacio en disco; fail2ban-client status; revisar el registro en busca de errores llamativos (journalctl -p err --since "1 month ago")
Cada trimestrePrueba de restauración de una copia de seguridad; revisar authorized_keys y los usuarios (eliminar a quien ya no deba tener acceso); volver a ejecutar Lynis; repetir el control final desde fuera (ejercicio Z10.4)
Cada añoActualizar security.txt (Expires); consultar la fecha de fin de soporte de la versión y planificar una actualización; actualizar el expediente del servidor y el plan de emergencia

Anote estos momentos en su agenda. Gran parte también puede automatizarla con la monitorización de la lección 8.3, pero sigue siendo necesario revisarlo personalmente.

En la práctica

Tanto si su servidor está en WebOké como en otro proveedor: el proveedor se encarga del hardware, de la red y de la posibilidad de crear instantáneas y copias de seguridad, y usted de todo lo que ocurre dentro del servidor. Este curso es de autoayuda: nadie supervisa su servidor. Sin embargo, con esta lista de comprobación, el expediente y la rutina tiene todo lo necesario para realizar esa administración de forma autónoma y correcta.

Resumen

  • Revise su servidor por bloques: nadie entra sin más, las vulnerabilidades se corrigen, puede volver atrás, el exterior es correcto, ve lo que ocurre y los contenedores están bajo control.
  • El control desde fuera examina los métodos de inicio de sesión SSH, los puertos de bases de datos, https, las cabeceras, security.txt y la cabecera de su contenedor; el resto lo revisa usted mismo.
  • Mantenga un expediente del servidor, guardado fuera del servidor.
  • Trabaje con una rutina fija: semanal, mensual, trimestral y anual.

Cuestionario

1. Solo dispone de una hora. ¿Qué punto de la lista de comprobación aborda primero?



2. El control final desde fuera sale completamente en verde. ¿Qué significa?



3. ¿Por qué guarda el expediente del servidor fuera del servidor?



4. ¿Qué tarea corresponde a la rutina trimestral?



5. Su security.txt tiene una fecha Expires de mayo del año que viene. ¿Qué hace?



Ejercicio

Ejercicio Z10.4: Ejercicio final: su servidor visto desde fuera. Deje que el programa del curso controle su servidor desde fuera de una sola vez: los métodos de inicio de sesión SSH para su nombre de usuario, los cinco puertos de bases de datos, https y las cabeceras de su sitio, su security.txt y la cabecera X-Weboke-Cursus con su código en el nombre donde se ejecuta su contenedor. Además, complete la lista de comprobación de los bloques 1 a 6 para lo que el programa no puede ver.

Ejercicio Z10.4: Ejercicio final: su servidor visto desde fuera

No iniciamos sesión ni probamos ninguna contraseña o clave. Primero demuestre que el servidor es suyo: haga clic en "Mostrar mi código" y coloque un archivo /.well-known/weboke-cursus-<code>.txt que contenga solo ese código en el servidor web de su nombre de host. Lo obtenemos directamente de cada dirección IP que comprobamos (IPv4 e IPv6 por separado); un registro TXT no sirve aquí. La comprobación se realiza desde heavy.webawere.nl (185.158.167.16 y 2a07:ae80:100:0:185:158:167:16), no desde nuestro servidor web. Solo para alumnos registrados; como máximo 6 comprobaciones por hora y servidor. La comprobación final ejecuta seguidas las comprobaciones de Z2.2, Z5.1, Z7.3, Z7.4 y Z9.4. SSH, puertos y https deben estar en verde; las cabeceras, security.txt y la cabecera X-Weboke-Cursus son recomendaciones.








No guardamos lo que escriba ni lo que encontremos. Su navegador recuerda sus respuestas y si ha superado el ejercicio. Si ha iniciado sesión, en Mis cursos solo guardamos que el ejercicio estaba (casi) correcto; allí también puede eliminarlo.

Ejercicio O10.4: Su rutina de mantenimiento. Elabore su propio expediente del servidor y su rutina de mantenimiento: qué hace cada semana, cada mes, cada trimestre y cada año, y anote esos momentos en su agenda.

Ejercicio O10.4: Su rutina de mantenimiento

Este ejercicio lo hace usted mismo; nadie lo revisa. Marque lo que haya hecho y señale el ejercicio como realizado.




Sus marcas y notas se quedan solo en este navegador; no las enviamos a ningún sitio. Si ha iniciado sesión, en Mis cursos solo guardamos que ha realizado el ejercicio.

Para saber más

Un momento…

Configure sus dominios

Configure para cada dominio los servidores de nombres, la vinculación a su hosting y quién será el titular.

Cargando sus dominios…