Cómo usar los filtros personalizados de Security Optimizer
Este tutorial abarca los siguientes temas:
En el ámbito de la administración de sitios web, la seguridad es primordial. Nosotros, en SiteGround, entendemos esto, y por eso ofrecemos la poderosa herramienta Solución de seguridad integral. Este plugin soporta filtros personalizados que te permiten mejorar la seguridad de tu sitio WordPress de innumerables formas.
Si necesitas revertir una URL de inicio de sesión personalizada a su valor predeterminado, borrar direcciones IP permitidas, ampliar Two-Factor Authentication a usuarios adicionales, o poner en lista blanca scripts específicos, los filtros personalizados de SiteGround tienen cubierto .
En este artículo, te mostraremos cómo aprovechar estos filtros personalizados para fortalecer la seguridad de tu sitio web y garantizar una experiencia segura para tus usuarios.
Revertir una URL de inicio de sesión personalizada a su valor predeterminado
Hay varios casos en los que puede que necesites revertir una URL de acceso personalizada de WordPress a su valor predeterminado. Por ejemplo, si has olvidado la URL personalizada, volver a la URL estándar de WordPress puede ayudarte a recuperar el acceso a tu panel de administración. Además, ciertos plugins pueden entrar en conflicto con una URL de inicio de sesión personalizada, lo que lleva a problemas de funcionalidad. En tales casos, cambiar de nuevo a la URL de inicio de sesión predeterminada puede ayudar en la resolución del problema.
Vuelve al tipo de inicio de sesión predeterminado usando el siguiente fragmento de código.
add_action( 'init', 'remove_custom_login_url' );
function remove_custom_login_url() {
update_option( 'sg_security_login_type', 'default' );
}
Borrar las direcciones IP permitidas para recuperar el acceso al panel de administración
Si no puedes acceder al panel de administración, añade la siguiente opción al archivo function.php de tu plantilla, recarga el sitio y recupera el acceso. Una vez restaurado el acceso, puedes eliminar la opción añadida. Sin embargo, ten en cuenta que esta acción también eliminará todas las direcciones IP previamente permitidas de acceder a la página de inicio de sesión. Por lo tanto, será necesaria una reconfiguración para restablecer los controles de acceso IP deseados:
add_action( 'init', 'remove_login_access_data' );
function remove_login_access_data() {
update_option( 'sg_login_access', array() );
}
Extender la verificación en 2 pasos a usuarios adicionales
Puedes extender la protección de la verificación en 2 pasos a roles de usuario adicionales también. Una vez habilitada, puedes aplicar fácilmente esta medida de seguridad mejorada empleando el siguiente filtro en tu configuración:
add_filter( 'sg_security_2fa_roles', 'add_user_roles_to_2fa' );
function add_user_roles_to_2fa( $roles ) {
$roles[] = 'your_role';
return $roles;
}
Cambiar la ubicación del archivo de la clave de cifrado 2FA
Puedes cambiar la ubicación del archivo de la clave de cifrado 2FA usando la constante SGS_ENCRYPTION_KEY_FILE_PATH definida en el archivo wp-config.php. Asegúrate de usar la ruta completa al archivo. Ejemplo:
// Custom path to SG Security Encryption key file.
define ( 'SGS_ENCRYPTION_KEY_FILE_PATH', '/home/fullpathtofile/sgs_encrypt_key.php');
Borrar datos de direcciones IP bloqueadas
En el caso de que involuntariamente bloquees el acceso al panel de administración, puedes añadir la siguiente opción al archivo function.php de tu plantilla y volver a cargar el sitio. Luego elimina el código añadido una vez que hayas recuperado el acceso. Ten en cuenta que esta acción también eliminará el bloqueo de IP para intentos fallidos de inicio de sesión desde todas las direcciones IP:
add_action( 'init', 'remove_unsuccessfull_attempts_block' );
function remove_unsuccessfull_attempts_block() {
update_option( 'sg_security_unsuccessful_login', rray() );
}
Incluir en la lista blanca un script específico de Bloquear y proteger carpetas del sistema
Lock and Protect System Folders te permite bloquear cualquier script malicioso o no autorizado para que no se ejecute en las carpetas del sistema de tu aplicación.
Si la opción Bloquear y proteger carpetas del sistema bloquea un script específico usado por otro plugin en el sitio web, puedes fácilmente añadir el script específico a la lista blanca usando los fragmentos de código que se proporcionan a continuación.
- Usa este para lista blanca de un archivo en la carpeta wp_includes:
add_filter( 'sgs_whitelist_wp_includes' , 'whitelist_file_in_wp_includes' );
function whitelist_file_in_wp_includes( $whitelist ) {
$whitelist[] = 'file_name.php';
$whitelist[] = 'another_file_name.php';
return $whitelist;
}
- Usa esta para lista blanca de un archivo en la carpeta wp_uploads:
add_filter( 'sgs_whitelist_wp_uploads' , 'whitelist_file_in_wp_uploads' );
function whitelist_file_in_wp_uploads( $whitelist ) {
$whitelist[] = 'file_name.php';
$whitelist[] = 'another_file_name.php';
return $whitelist;
}
- Usa el siguiente snippet para lista blanca un archivo en la carpeta wp_content:
add_filter( 'sgs_whitelist_wp_content' , 'whitelist_file_in_wp_content' );
function whitelist_file_in_wp_content( $whitelist ) {
$whitelist[] = 'file_name.php';
$whitelist[] = 'another_file_name.php';
return $whitelist;
}
Establecer un tiempo de vida de registro personalizado
Para tu conveniencia, hemos proporcionado un filtro que te permite establecer una duración de registro personalizada (en días). Esto te da la flexibilidad de adaptar el período de retención de registros de acuerdo a tus necesidades específicas:
add_filter( 'sgs_set_activity_log_lifetime', 'set_custom_log_lifetime' );
function set_custom_log_lifetime() {
return 'your-custom-log-lifetime-in-days';
}
- Desactivar el registro de actividad
Si necesitas desactivar el registro de actividad, puedes usar el siguiente filtro. Ten en cuenta que esto también desactivará los correos electrónicos de registro de actividad semanal.
add_action( 'init', 'deactivate_activity_log' );
function deactivate_activity_log() {
update_option( 'sg_security_disable_activity_log', 1 );
}
- Solucionar el problema con los registros que no se limpian a tiempo
En caso de que tengas deshabilitado el Cron Job nativo de WordPress, y usando la configuración cron de UNIX en su lugar, puedes añadir la siguiente regla al archivo wp-config.php de tu sitio web para que los registros se borren a tiempo:
define( 'SG_UNIX_CRON', true );
Resumen
Esta guía detallada profundiza en los diversos filtros personalizados que ofrece la solución de seguridad integral de SiteGround para mejorar la seguridad de tu sitio WordPress. Te mostramos cómo revertir una URL de inicio de sesión personalizada a su valor predeterminado y limpiar las direcciones IP permitidas para la recuperación del acceso.
demás, la guía explica cómo extender la autenticación de 2 factores a los roles de usuario, incluir en la lista blanca scripts específicos o establecer una duración de registro personalizada. Cada sección incluye fragmentos de código para una fácil implementación. Al aprovechar estos filtros personalizados, puedes reforzar efectivamente la seguridad de tu sitio web, proporcionando una plataforma segura y confiable para tus usuarios.
All-inclusive Security Solution de SiteGround – Preguntas Frecuentes
¿Se pueden incluir otros roles de usuario en la verificación en 2 pasos?
Sí, es posible forzar la autenticación de doble factor para otros roles de usuario también. Una vez que la función esté habilitada, puedes añadir un filtro usando el siguiente fragmento de código:
add_filter( 'sg_security_2fa_roles', 'add_user_roles_to_2fa' );
function add_user_roles_to_2fa( $roles ) {
$roles[] = 'your_role';
return $roles;
}
Puedes añadir campos adicionales si deseas que se protejan más roles. Solo necesitas sustituir “your_role” con el rol de usuario exacto que te gustaría usar.
He habilitado una URL de inicio de sesión personalizada y una página de inicio de sesión para los clientes redirige a 404
Esto suele ocurrir si la página de inicio de sesión del cliente todavía redirige a wp-login.php. Cuando se establece una URL de inicio de sesión personalizada, cambia las URL de inicio de sesión predeterminadas de WordPress (/wp-admin, /wp-login.php) a la URL personalizada que elijas. Luego, todas las solicitudes a las direcciones de inicio de sesión predeterminadas serán redirigidas a 404 Not Found. Para resolver el problema, debes cambiar el enlace a la página de inicio de sesión del cliente para que coincida con la URL de inicio de sesión personalizada.