WordPress se ejecuta en PHP y es un componente básico para prestar atención al fortalecer su sitio de WordPress. Este artículo cubrirá algunas de las frutas más comunes que puede abordar cuando se trata de seguridad PHP para WordPress. Atención: tenga cuidado al cambiar su configuración de PHP. La configuración incorrecta y la sintaxis pueden dañar su sitio. Siempre pruebe los cambios en un entorno de desarrollo o una estadificación antes de realizar cambios en la producción. contenido
Use la última versión de PHP
Suprimir la versión PHP
Elimine cualquier archivo phpinfo ().
Suprimir los errores y advertencias de PHP
La restricción incluye
Deshabilitar archivos remotos incluidos
Deshabilitar o limitar las características peligrosas
Bloquear la ejecución de PHP en directores confidenciales
Conclusión
Use la última versión de PHP, además de asegurarse de corregir su sistema operativo, MySQL Server, Web Server (por ejemplo, NGINX, Apache, IIS …), también es crucial para asegurarse de ejecutar una versión totalmente aceptada de PHP 1 .
Debido a que PHP está expuesto a Internet (porque WordPress se ejecuta sobre el artista de PHP) está expuesto a un mayor riesgo de ataque si se descubre un exploit para la vulnerabilidad de PHP. Hasta tal punto, mantener el PHP actualizado (y más, para mantenerse alejado de las versiones PHP 5.x al final de la vida) es crucial no solo para evitar la ocurrencia de ataques, sino también para permitir que los atacantes suban los ataques si Se las arreglan para ingresar a su sitio de WordPress (por ejemplo, explotar la vulnerabilidad en un complemento de WordPress). Suprima la versión PHP al igual que la mayoría del software del servidor web, de forma predeterminada, PHP expone la versión que ejecuta a través de un encabezado HTTP X-Powered-by. Aunque esto en sí no es una vulnerabilidad de seguridad, como en cualquier otra situación, la lista de versiones de software es generalmente útil para los atacantes durante la fase de reconocimiento. Por lo tanto, al desactivar la versión PHP, haría un ataque ligeramente más duro. Por la felicidad, esto es fácil de desactivar usando la configuración Expose_Php. En el archivo de configuración php.ini, simplemente agregue el siguiente.expose_php = apagado
Elimine cualquier archivo phpinfo (). Crear un archivo PHP utilizando la función phpinfo () para ser utilizada para la resolución de problemas es un mal hábito común que tienen muchos administradores de sistemas PHP. Si un atacante cumple con un archivo “phpinfo” (generalmente no sorprendentemente llamado, phpinfo.php), se le da mucha información y detalles sobre la versión PHP que se ejecuta en el servidor, sino también sobre otros aspectos. Del sitio web, del sitio web, como como servidor web y bases de datos.
Si realmente tiene que ejecutar phpinfo (), es mucho más preferible hacerlo desde la línea de comando de la siguiente manera.
Si tiene más configuraciones de PHP en su sistema (muy frecuente), puede usar el siguiente comando para especificar qué archivo php.ini usa.php -c /etc/php/apache2/php.ini -i -i
Suprima los errores y advertencias de PHP, mientras que los errores, advertencias y excepciones son útiles durante el desarrollo, si se muestran en un entorno público, los atacantes a menudo usan esta información para obtener una perspectiva sobre el servidor, la apariencia de la aplicación y los componentes.
Los mensajes de error son algunas de las formas más comunes de divulgar información, a menudo filtrando información, como la instalación de la aplicación y los detalles de conectividad en la base de datos. En lugar de mostrar errores y advertencias, asegúrese de que esta información esté registrada. Se puede encontrar más información sobre este tema en la documentación oficial de PHP. Afortunadamente, esto es fácil de desactivar utilizando la configuración de display_errors. En el archivo de configuración php.ini, simplemente agregue el siguiente.display_errors = apagado
Log_errors = ON
La restricción incluye vulnerabilidades de inclusión de archivos permiten que un atacante controle una instrucción PHP incluye (). Si bien PHP ejecutará cualquier código PHP en un archivo incluido, imprimirá cualquier otra cosa (suponiendo que sea un texto simple). Esto significa que un atacante que toma el control de una vulnerabilidad de inclusión fósil puede obtener algo similar al siguiente, dándole acceso a archivos del sistema sensibles. Para leer más sobre la inclusión de archivos, eche un vistazo a este artículo.include ../../../../etc/paswd ”
Al configurar Open_BaseDir en Php.ini, puede capacitar a PHP para permitir solo inclinaciones en cierto directorio y debajo. Aunque esto no elimina las vulnerabilidades para incluir los archivos, ciertamente los hace más restringidos y también causa algunos ataques más avanzados que pueden conducir a la ejecución del código (cuando un atacante puede ejecutar pedidos en su servidor). Puede establecer la configuración PHP Open_Basedir de la siguiente manera en su archivo php.ini.
Open_Basedir = /var/www/html/example.com
Deshabilitar archivos remotos incluidos además de restringir las inclusiones locales a un directorio en particular utilizando Open_BaseDir, también es recomendable deshabilitar las inclusiones remotas. Los ataques de inclusión de archivos remotos (RFI) funcionan de manera similar a los ataques locales de inclusión de archivos, pero en lugar de que un atacante esté relacionado con los archivos del sistema, incluidos los archivos remotos permiten a un atacante incluir archivos de archivos. Esto es extremadamente peligroso y la mayoría de los ataques RFI terminan por el hecho de que un atacante puede ejecutar arbitrariamente el código en su servidor web (llamado distancia o RCA). Para deshabilitar las inclinaciones de archivos remotos, use las opciones PHP TOWN_URL_FOPEN y TOW_URL_INCLUDE de su PHP. archivo ini de la siguiente manera. Allow_url_fopen = apagado
Tampable_url_include = apagado

Desactive o limite las funciones peligrosas si un atacante, a pesar de todas sus medidas de seguridad, tiene éxito en encontrar con éxito una vulnerabilidad en la seguridad PHP de su WordPress, que puede explotar, lo último que desea es que pueda ejecutar el código arbitrario en su servidor. Si un atacante puede ejecutar un código arbitrario en su servidor, probablemente pueda instalar una red web o establecer un shell inverso para controlar su servidor y usarlo para hacer sus subastas malas (como la difusión de malware, el uso de su sitio para el phishing o la negativa. campañas). ataques de servicio o incluso la minería de la criptomoneda).
Al desactivar funciones como shell_exec () y system (), puede evitar que los usuarios y atacantes usen estas funciones peligrosas. Aunque puede haber razones legítimas para usar estas funciones, son muy pocas y están a una distancia entre ellas y, por lo general, hay una forma más segura de lograr el mismo resultado. Precaución prueba con cuidado lo siguiente en una prueba o medio de entrenamiento antes de ejecutar esto en producción, porque algunos software/complementos que realiza pueden depender (con suerte) de estas funciones. La siguiente es una colección potencialmente peligrosa de funciones que puede deshabilitar en PHP utilizando la configuración de Disable_Functions desde su php.ini.disable_functions = php_uname, getMyuid, getMypid, passthru, escucha, escucha, discapacita, disco -freespace,
tmpfile, link, ignore_use_abord, shell_exec, dl, exec, system, stop stopd_file, fuente,
Show_source, fphththru, virtual, POSAX_CMID, POSAX
Posix
Posix
Posax_getsid, posible
POSAX_SETGID, POSIX
PROC_OPEN, PROC_CLOSE, PROC_GET_STATUS, PROC_NICE, PROC_TERMINADA, PHPINFO
Bloquee la ejecución de PHP en directores confidenciales predeterminados, su director WP-Content/Supars, que se utiliza para cargar temas, complementos, imágenes, videos y otros archivos en su sitio web, tiene permiso para ejecutar el código PHP. Esto es bastante arriesgado, si un atacante puede aprovechar de alguna manera una vulnerabilidad de carga de archivo en un complemento o tema, podría cargar una red de web o una puerta trasera similar. Debido a que la ejecución de PHP se permitiría en el directorio de contenido/carga de WP, ese atacante puede ejecutar ese código PHP para que su licitación sea intencional. Preveniendo esto en realidad es una ejecución de PHP bastante simple en el contenido/cargas de WP y en El directorio. El modo ingenuo sería simplemente bloquear el acceso a los archivos *.php usando .htaccess.
Negar todo
Sin embargo, la configuración anterior es relativamente fácil de omitir: PHP en la mayoría de los casos disfrutará de archivos .phtml .php3. La forma más segura sería deshabilitar literalmente el motor PHP en el directorio. La siguiente configuración .htaccess debe colocarse en el contenido WP/cargas y las includes WP (otro director generalmente dirigido por los atacantes).
Motor PhP_Flag Off
La seguridad de PHP para los pensamientos de WordPress-Final, mientras que WordPress en sí mismo debe considerarse una plataforma resistente y segura, el entorno y la infraestructura que ejecutan su instalación de WordPress son muy importantes para garantizar la seguridad de su sitio en su conjunto. La implementación de los temas abordados en esta Guía de consolidación de seguridad PHP le dará una segunda línea de defensa, lo que hace que sea mucho más difícil para un atacante escalar un ataque después de abusar de una vulnerabilidad de su sitio de WordPress. Si desea obtener más información sobre cómo fortalecer su sitio de WordPress, lea nuestra guía definitiva sobre la seguridad y el fortalecimiento de WordPress en este artículo [+]
! Apoyado-versions.php
homefinance blog