Un sistema de gestión de contenidos (CMS en sus siglas en inglés: Content Management System) es una aplicación de software que se ejecuta en un navegador. Proporciona a los usuarios una interfaz gráfica de usuario que les permite crear y administrar un sitio web sin necesidad de codificarlo desde cero.
Con un CMS, puedes personalizar el diseño del sitio web descargando y modificando plantillas, y extensiones preconstruidas. Algunas de sus funciones también incluyen la gestión y modificación de contenidos, el almacenamiento de imágenes y la creación de páginas web.
Este apartado señala las posibles soluciones a incidencias de seguridad
ERROR EN CORS
SOLUCION
se realizo lo siguiente para resolver
SOLUCION
Se modificó el archivo .htaccess para evitar ejecutar el archivo xmlrpc.php
# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
deny from all
allow from 127.0.0.1
</Files>
SOLUCION
Se activó el Plugin Disable REST API.
SOLUCION
Se generó un mensaje de error genérico ante intentos de autenticación fallidos de usuarios válidos e inválidos.
Agregar el siguiente código al archivo functions.php del tema gráfico:
function custom_login_error_message() {
// Este es el mensaje genérico que se mostrará para cualquier error de autenticación.
return '⚠️ **Error:** Usuario o contraseña incorrectos. Por favor, inténtelo de nuevo.';
}
// Aplicamos la función al filtro 'login_errors'
add_filter( 'login_errors', 'custom_login_error_message' );
SOLUCION
Instalar el plugin Limit Login Attempts Reloaded (https://www.limitloginattempts.com/) que limita el número de intentos fallidos de inicio de sesión, bloqueando temporalmente las IPs sospechosas para prevenir ataques de fuerza bruta.
En una instalación predeterminada de WordPress, existen varios métodos para enumerar los nombres de usuario de los autores. Estos usuarios pueden ser utilizados posteriormente en ataques de fuerza bruta contra la página de inicio de sesión de WordPress para intentar adivinar sus contraseñas.
Ejemplo:
https://tic2.unam.mx/?author=1
SOLUCION
Instalar el plugin Yoast SEO
Con este plugin es posible elegir desactivar páginas como: https://tic2.unam.mx/author/example/
Se pueden desactivar las páginas de autor directamente desde la configuración:
SOLUCION
Instalar el plugin Native Sitemap Customizer (https://es.wordpress.org/plugins/native-sitemap-customizer/)
Ofrece un control total sobre el mapa del sitio XML nativo de WordPress (wp-sitemap.xml).
Cuando la etiqueta autocomplete se encuentra habilitada, los navegadores pueden almacenar los datos introducidos previamente. Como resultado, en futuros accesos, el navegador completará automáticamente los campos del formulario con la información guardada.
SOLUCION
Agregar el siguiente código al archivo functions.php del tema gráfico
// Disable la propiedad autocomplete
function wpse_159462_login_form() {
echo <<<html
<script>
document.getElementById( "user_login" ).autocomplete = "off";
document.getElementById( "user_pass" ).autocomplete = "off";
</script>
html;
}
add_action( 'login_form', 'wpse_159462_login_form' );
Las aplicaciones no siempre protegen las funcionalidades administrativas adecuadamente. En ocasiones la protección a nivel de funcionalidad se administra por medio de una configuración interna en el servidor.
Ejemplo:
https://tic2.unam.mx/wp-admin/install.php
https://tic2.unam.mx/wp-cron.php
SOLUCION
Agregar el siguiente código al archivo .htacces
# Bloquear el acceso a archivos críticos como install.php
<FilesMatch "(^\.|wp-config(-sample)*\.php|install\.php|wp-cron\.php)">
Require all denied
</FilesMatch>