¿Qué tan difícil es proteger un sitio web del gobierno?
Si recibes un sitio vulnerable y sabes que hay credenciales expuestas, como es el caso del gobierno, esto es lo que se puede hacer.
El Ministerio de Finanzas es el ejemplo más reciente (que ya mejoró considerablemente). La semana pasada se señaló un evento en un portal que ellos gestionan. Ellos niegan el evento. Lo cierto es que llevaba años bajo el mismo escudo de ciberseguridad que tenía antes de que comenzara la crisis. No el de sus sistemas internos, que es otro tema. Hablo de su sitio web público, el que cualquier ciudadano visita cuando busca información sobre el presupuesto del Estado. Ese escudo según la categorización que hicimos cuando empezó la crisis tiene calificación D. Hoy ya tiene una calificación A.
Cuando ocurre un hackeo gubernamental, la conversación pública se centra en el daño: cuántos datos fueron expuestos, quién es el responsable, si habrá consecuencias legales, incluso si se pudo evitar. Esas preguntas son legítimas. Pero hay una que también es importante: ¿qué hay que hacer para evitar vuelva a ocurrir?
Para los sistemas internos, osea la infraestructura, bases de datos, APIs, políticas de seguridad la respuesta es compleja, porque es una combinación de acciones que pueden o no ser baratas, pero sin duda lleva tiempo implementarlas. Ahora, para la primera línea de defensa de un sitio web, la que cualquier ciudadano puede verificar desde su navegador, la respuesta es incómoda: toma minutos.
Lo que vimos al hacer el diagnóstico externo
GovScan v1.0 es la herramienta que desarrollamos para esta investigación. Hace algo muy específico: se conecta a un sitio web exactamente como lo haría cualquier navegador y analiza dos cosas:
A) Si el certificado SSL es válido. Ese candadito que aparece en la barra del navegador, la señal de que la conexión está cifrada. La mayoría de los sitios del gobierno ya tiene esto. El Ministerio de Finanzas también.
B) Los encabezados de seguridad HTTP. Son instrucciones que el servidor envía al navegador en cada visita, diciéndole cómo comportarse ante ciertos riesgos. Son invisibles para el visitante. Son configuración pura. Y la mayoría de los sitios del gobierno guatemalteco no los tiene.
No es que estén mal configurados. Es que no están.
El caso concreto: minfin.gob.gt
El sitio web del Ministerio de Finanzas usa Cloudflare. Cloudflare es uno de los servicios de seguridad web más usados del mundo. Al tener una opción gratuita es utilizado por millones de organizaciones desde gobiernos hasta pequeñas empresas. Protege contra ataques de denegación de servicio, oculta la IP real del servidor, y tiene un panel de control con decenas de opciones de seguridad adicionales.
Entre esas opciones está la posibilidad de activar, con un clic o pocas líneas de configuración, los encabezados de seguridad que le faltan al sitio del MINFIN. GovScan escaneó https://minfin.gob.gt en tres momentos distintos:
- 14 de abril de 2026 — 50 puntos sobre 100. Calificación D.
- 3 de mayo de 2026 — 52 puntos. Calificación D. (Mejoró, aunque mínimamente.)
- 14 de mayo de 2026 — 45 puntos. Calificación D. (Retrocedió.)
El promedio de los 134 sitios del gobierno guatemalteco en el último escaneo es 45.8. El ministerio que administra las finanzas del Estado está exactamente en la media de un sistema que, según nuestra auditoría, tiene el 64% de sus sitios con calificación D o peor.
¿Por qué no están los encabezados?
Esta es la pregunta que más incomoda, porque la respuesta no es técnica. Los encabezados de seguridad no requieren presupuesto adicional. El caso del Ministerio de Finanzas lo demuestra.
El Ministerio de Finanzas ya usa Cloudflare, que incluye la capacidad de configurarlos. No requieren contratar a una empresa externa. No requieren aprobación legislativa. No requieren semanas de trabajo. En una hora podría estar todo listo. Lo que requieren es que alguien los priorice.
En el caso de los sitios que mejoraron durante esta crisis el patrón fue exactamente ese: un administrador de sistemas recibió presión institucional suficiente para dedicar unas horas a una tarea que llevaba tiempo postergada. CONAMIGUA pasó de 11 a 60 puntos en un mes. El Ministerio de Salud, que sufrió un ataque de ransomware en abril, subió de 44 a 60. La presión generó acción.
El Ministerio de Finanzas, bajo el escrutinio de un posible ataque a su sistema de proveedores y durante el mes más intenso de cobertura periodística sobre ciberseguridad en la historia de Guatemala, subió de 45 a 69 en 9 días.
MINFIN antes y después:
nueve días, seis encabezados
Entre el 14 de mayo — cuando entregamos el reporte técnico y GordonFreeman publicó el ataque al RGAE — y el 23 de mayo, el Ministerio de Finanzas activó los seis encabezados de seguridad que tenía pendientes en todos sus subdominios simultáneamente. El sitio pasó de 45/100 D a 69/100 C. El sistema del RGAE, específicamente señalado en el ataque, llegó a 70/100 B.
Los cinco encabezados que no estaban
¿Qué le falta concretamente a los sitios del ministerio de finanzan? Cinco de los seis encabezados de seguridad estándar.
Cada uno de estos tiene un nombre técnico y una función específica. Pero todos comparten algo: se agregan en la configuración del servidor o del CDN, no requieren modificar el código de la aplicación, y la mayoría puede activarse en menos de cinco minutos por encabezado.
Content-Security-Policy (CSP)
Le dice al navegador qué contenido puede cargar y desde dónde. Si alguien logra inyectar código malicioso en la página, por ejemplo, a través de un campo de comentario o un formulario, el CSP puede evitar que ese código se ejecute o que cargue recursos externos sin autorización.
Sin CSP: un atacante que encuentre una vulnerabilidad de cross-site scripting tiene ejecución completa en el navegador del visitante.
Con CSP: el mismo ataque puede ser bloqueado antes de ejecutarse.
Tiempo de implementación en Cloudflare: 15 a 30 minutos para una política básica. Unas horas para una política robusta con pruebas.
X-Frame-Options
Evita que el sitio sea embebido dentro de un iframe en otra página. Esto previene los ataques de clickjacking: el usuario cree que está haciendo clic en un botón del sitio oficial pero en realidad está interactuando con una superposición invisible en una página maliciosa.
Tiempo de implementación: 5 minutos. Una línea de configuración.
X-Content-Type-Options
Evita que el navegador intente adivinar el tipo de contenido de un archivo si el servidor no lo especifica claramente. Sin este encabezado, un atacante podría subir un archivo de texto que el navegador interprete como JavaScript ejecutable.
Tiempo de implementación: 5 minutos. Una línea.
Referrer-Policy
Controla cuánta información sobre la página anterior se comparte cuando un usuario hace clic en un enlace. Sin este encabezado, visitar un enlace desde el portal del Ministerio de Finanzas podría revelar información sobre la sesión del usuario al sitio de destino.
Tiempo de implementación: 5 minutos.
HSTS (HTTP Strict Transport Security)
Este es el más importante y el que tiene la historia más extraña en el caso del MINFIN. El HSTS le indica al navegador que, para ese dominio, siempre use HTTPS y nunca acepte una conexión sin cifrar. Una vez activado, el navegador lo recuerda y lo aplica incluso si el usuario escribe la dirección sin el "https://".
El sitio del Ministerio de Finanzas sí tiene HSTS en su dominio principal. Lo que no tiene es HSTS en algunos de sus sistemas auxiliares, donde el encabezado aparece con el valor max-age=0 — lo que técnicamente lo desactiva. Es como poner un candado en la puerta principal y dejar la del patio trasero no solo sin llave, sino con el cerrojo retirado.
Tiempo de implementación de HSTS: 10 minutos. El valor correcto es Strict-Transport-Security: max-age=31536000; includeSubDomains.
Los encabezados son la capa más fácil.
No son la única.
Proteger un sistema de gobierno requiere acciones en múltiples niveles. Los encabezados HTTP son la capa más visible, más fácil de verificar, y más fácil de implementar. Pero son la base, no el techo. Tocá cada capa para ver qué implica. Gráfica interactiva: Abajo puedes darle clic a cada capa para ver información específica.
* El tiempo estimado es para una institución con equipo técnico competente y sin obstáculos burocráticos. En la práctica, los tiempos pueden extenderse por procesos de aprobación, adquisición o coordinación interinstitucional.
¿Qué puede hacer un ciudadano con esta información?
Verificar. Cualquier persona puede comprobar los encabezados de seguridad de un sitio web con herramientas gratuitas disponibles en línea. No hace falta ser técnico.
Sitios como securityheaders.com o observatory.mozilla.org analizan cualquier dominio y dan una calificación en segundos. Si un lector quiere saber cómo está la institución que le interesa (la que guarda sus datos fiscales, sus registros laborales, o su expediente de salud) puede comprobarlo ahora mismo.
Los datos de GovScan para los 134 sitios del gobierno guatemalteco están disponibles en cibercrisis.vectorcritico.com. Están actualizados con tres escaneos: el 14 de abril, el 3 de mayo y el 14 de mayo de 2026.
La transparencia funciona en dos sentidos. Las instituciones que saben que están siendo observadas tienden a mejorar. Los datos son públicos. Las herramientas son gratuitas. La presión, cuando existe, produce resultados.
Si te advierten de un hackeo lo ideal es analizar antes de responder
Luego de que el mismo atacante de otros sitios de gobierno asegurara haber exfiltrado datos del RGAE y, como es usual en los hackeos, mostraba una Prueba de Concepto (PoC) bastante abundante. Luego de varias consultas que no respondieron en el MINFIN publicaron un comunicado en redes sociales y debajo de cada tuit donde compartía la información. Tanto desde cuentas institucionales como desde cuentas particulares.
Como cortesía les envié un reporte detallado de nuestros hallazgos y solicité a la Directora de Comunicación Social me compartieran el informe en el cual se basaban para asegurar que no existió tal hackeo. Luego de unos días sin una respuesta lo volví a solicitar el martes 19 de mayo. Sigo sin recibirlo, lo cual me hace pensar que nunca hubo reporte, solo negaron el hecho sin entender que estaban negando.
En principio no es posible probar un negativo, por lo mismo salir airadamente y sin un análisis hecho por expertos a decir que nada paso es cuando menos, tonto.
a) Decir: estamos haciendo una auditoría profunda y les avisaremos pronto. Mientras les podemos mostrar b), c), d), y les ofrecemos e).
b) Se pueden mostrar gráficas de Uptime.
c) Logs anonimizados.
d) Se pueden mostrar los hashes SHA-256.
e) Que una firma externa haga una auditoría y que pueda dar certeza de la integridad del sitio y/o bases de datos, por ejemplo.
Lo positivo es que el sitio del MINFIN ya muestra una mejor calificación, lo cual significa un avance en los mecanismos de protección. Ojalá sigan adelante.