La lista de verificación de seguridad PHP definitiva de las mejores prácticas de WordPress

Publicado: 2017-11-03

mirsad / stock.adobe.com

El proceso de seguridad de su sitio web probablemente aborde cómo proteger su sitio de WordPress a nivel de servidor, así como proteger su sitio a nivel de archivos. ¿Pero necesitas proteger tu lenguaje de programación? ¿Existen mejores prácticas de seguridad de PHP que deba seguir? ¿Es necesario proteger PHP?

Sí, sí y sí.

Si ejecuta un sitio web de WordPress pero no se concentra en mantener seguro su código PHP, podría ser susceptible a un incidente importante.

Oh, no, Dios mío, GIF de amigos.

Hay muchos beneficios al usar PHP para desarrollar su sitio web de WordPress:

  • Es bastante fácil de usar para un principiante y lo suficientemente flexible para los profesionales de la programación.
  • Funciona muy bien en todas las plataformas (por ejemplo, Linux, Windows, etc.).
  • También es muy compatible con WordPress.
  • Puede mejorar la velocidad del sitio.

Dicho esto, PHP no está exento de defectos. Las aplicaciones programadas en PHP pueden correr el riesgo de:

  • inyecciones SQL
  • secuencias de comandos entre sitios
  • Credenciales de inicio de sesión expuestas
  • Secuestro de sesión
  • Formas falsificadas
  • Y otros riesgos de seguridad desagradables

Relacionado: Cómo verificar la versión PHP de su sitio de WordPress (y la compatibilidad de actualización)

Obviamente, esto no pretende disuadirle de utilizar PHP para programar su sitio web de WordPress. Es un lenguaje muy confiable y flexible y, cuando se protege adecuadamente, puede ser una herramienta increíblemente poderosa que también ayuda a agilizar su proceso.

La siguiente lista de verificación de seguridad de PHP le enseñará todas las mejores prácticas de seguridad de PHP que necesita conocer para mantener seguros su lenguaje de programación y sus aplicaciones creadas en PHP en el futuro.

Nuestro equipo en WP Buffs ayuda a los propietarios de sitios web, agencias asociadas y socios autónomos a seguir las mejores prácticas de seguridad de PHP. Ya sea que necesite que administremos 1 sitio web o admitamos 1000 sitios de clientes, lo respaldamos.

La lista de verificación de seguridad PHP definitiva para WordPress

¿Quiere asegurarse de que su sitio web de WordPress permanezca a salvo de los piratas informáticos? Luego, depende de usted asegurarse de que todas las herramientas que utiliza para crearlo (incluido su lenguaje de programación) cumplan con las mejores prácticas de seguridad. Específicamente cuando se trata de PHP, deberás prestar mucha atención a lo siguiente:

  • Mejores prácticas de codificación PHP
  • Restricciones de acceso al backend de su sitio
  • Gestión y seguimiento de cuentas de usuario.
  • Validación, desinfección y escape de datos.
  • Envío de datos de usuarios y seguimiento de cargas
  • Confiabilidad del servidor web

Si desea obtener más información sobre los puntos de control de seguridad de PHP anteriores y cómo usarlos en el desarrollo de WordPress, siga leyendo para conocer la lista de control de seguridad de PHP definitiva.

Mejores prácticas de PHP

  • Utilice PHP7 : utilice siempre la última versión de PHP. Lo mismo ocurre con las bibliotecas y aplicaciones de terceros que utilice junto con él.
  • Ocultar versión : la versión actual de PHP que estás usando puede permitir que los piratas informáticos sepan a qué tipo de vulnerabilidades has dejado abierto tu sitio, así que desactiva esta configuración en tu encabezado usando exponen_php.
  • Cambiar el nombre de phpinfo : también debe ocultarse información adicional sobre su instalación, así que asegúrese de cambiar el nombre del archivo phpinfo.php.
  • Cambiar código de error : cambie el mensaje de error predeterminado que se muestra a los usuarios cuando falla una conexión a su sitio. Esto evitará que vean información sobre su IP o ruta de archivo. En su lugar, simplemente registre esos errores por su parte.
  • Limitar los comandos del sistema : el consenso general es que no se deben utilizar funciones de shell en PHP. Sin embargo, si es necesario, no incluya datos de usuario.

Proteger el backend

  • Utilice SFTP : al transferir archivos en el backend, utilice siempre SFTP.
  • Restringir el acceso al directorio : cambie el nombre del directorio predeterminado para su aplicación PHP.
  • Configure la ruta de la sesión : si está utilizando alojamiento compartido para su sitio, es posible que otros usuarios del servidor puedan ver los datos de su sesión. Puede detener esto almacenando nuevas rutas de sesión debajo del directorio raíz.
  • Cree administradores separados : si está ejecutando más de un sitio web basado en PHP en un solo servidor, asegúrese de utilizar un administrador separado con credenciales de inicio de sesión completamente diferentes para cada uno. Esto evitará infecciones entre sitios.
  • Hacer que el directorio sea de solo lectura : proteja su directorio accesible desde la web configurándolo en solo lectura.
  • Almacenar archivos confidenciales fuera del directorio : los archivos de aplicaciones confidenciales (como los archivos de configuración) deben colocarse en un directorio al que no se pueda acceder desde la web. Luego puedes enrutarlos usando un script PHP.

Información segura del usuario

  • Cifrar todas las contraseñas : esta es obvia, pero asegúrese de aplicarla en todos los ámbitos, tanto para sus contraseñas como para todos los usuarios que hayan iniciado sesión.
  • Sesiones seguras : evite el secuestro de sesiones creando una ID de sesión compleja. También puedes agregar un token especial a cada URL.
  • Destruir sesiones antiguas : cuando alguien cierra sesión o si sus derechos de acceso han cambiado, elimine siempre las cookies de su sesión y fuerce una nueva ID de sesión.
  • Verificar nuevos usuarios : verifique siempre la identidad de los nuevos usuarios y otórgueles los privilegios de acceso correspondientes. Esto es especialmente importante si intentan acceder a una página restringida.
  • Utilice un acelerador : demasiados inicios de sesión fallidos deben bloquearse con un acelerador de contraseña.

Validar entradas y salidas de los usuarios

  • Validar y desinfectar la entrada : cualquier dato, archivo, URL, contenido incrustado, CSS o HTML enviado a través de su sitio por un usuario, conocido o desconocido, debe revisarse y desinfectarse. Esto significa que solo se deben permitir la entrada de los datos que esperaba recibir (p. ej., nombre de usuario por nombre de usuario, dirección de correo electrónico por dirección de correo electrónico, etc.). Mantenga las palabras "malas" como "DE" o "DÓNDE" o la puntuación como una comilla simple. en su radar , ya que pueden ser una señal de que alguien está intentando introducir código malicioso en su sitio .
  • Salida de escape : antes de publicar datos o archivos de usuario en su sitio, asegúrese de que también se hayan escapado para evitar que se transmitan caracteres y códigos potencialmente peligrosos (como comillas simples o <script>).
  • Limite los datos POST : si los piratas informáticos quieren atacar su sitio con una cantidad abrumadora de datos, puede mantenerlo a raya estableciendo límites a la cantidad de datos POST que se pueden enviar. También puede limitar el tiempo de entrada.
  • Desactivar Register_Globals : nunca debe haber libertad en cuanto al tipo de información que se puede enviar en los formularios de su sitio. Register_globals, lamentablemente, abre esa oportunidad a los piratas informáticos.
  • Desactivar Magic_Quotes : Magic_quotes en sí mismo no dañará su sitio, pero las personas que lo usan para escapar de sus datos generados podrían introducir una vulnerabilidad sin querer.

Monitorear cargas

  • Deshabilitar la carga de archivos : es posible que esto no siempre sea posible. Pero si no necesita recibir archivos o datos de los usuarios, elimine esta funcionalidad.
  • Verificar los archivos cargados : si necesita permitir que los usuarios carguen archivos en su sitio, deberá analizar el contenido del archivo en busca de inyecciones dañinas. Como acceso directo, puedes volver a guardar el archivo en un formato diferente. Si sigue siendo válido, entonces hay menos posibilidades de que haya un problema.
  • Utilice un escáner de virus : si su sitio acepta muchos archivos cargados, querrá instalar un escáner de virus.

Utilice alojamiento web seguro

  • Utilice un host confiable: no importa cuánto trabajo dedique a proteger su sitio web, sus archivos, su área de inicio de sesión o su lenguaje de programación, la seguridad debe comenzar en el nivel del alojamiento. Es por eso que debe asociarse con un servidor web confiable que priorice la seguridad y brinde soporte específicamente para PHP7.
  • Obtenga una CDN: otra forma de reducir las amenazas a la seguridad a nivel del servidor es obtener una red de entrega de contenido (CDN). Si bien estos suelen estar más asociados con la mejora del rendimiento de los sitios web trotamundos, las CDN también proporcionan una capa adicional de protección.
  • Obtenga un certificado SSL: esta es una buena práctica independientemente de si programa con PHP o no. Los certificados SSL añaden una capa cifrada adicional entre su servidor y los navegadores de sus visitantes.

Si bien cada uno de los puntos anteriores es válido, vale la pena enfatizar este punto en particular, ya que la calidad del alojamiento web en el que confíe puede, en última instancia, hacer o deshacer la estrategia de seguridad de su sitio.

Como a menudo es difícil distinguir lo bueno de lo malo, especialmente cuando se busca algo tan específico como soporte para PHP7, le sugerimos que comience con servidores web como WP Engine y Kinsta.

Relacionado: Alojamiento de WordPress totalmente administrado a través de WP Engine y Kinsta

WP Engine es un proveedor de alojamiento administrado de WordPress que incluye soporte para PHP7 en cada uno de sus planes de alojamiento. Además, WP Engine trata regularmente el tema de PHP7 en su blog con menciones especiales a su complemento PHP Compatibility Checker. Decir que esta empresa se dedica a la asistencia al usuario de PHP7 sería quedarse corto.

Kinsta, otra empresa de alojamiento de WordPress administrada, aloja todos los sitios web de sus clientes con PHP7. Esto es para garantizar un alto rendimiento y velocidad en todos los ámbitos. Kinsta también ofrece a sus usuarios la posibilidad de actualizar su motor PHP a la última versión de PHP.

Y, por supuesto, también hay que considerar el alojamiento de WordPress totalmente administrado de WP Buffs. WP Buffs siempre se mantiene a la vanguardia al mantener sus servidores y versiones de PHP actualizados con lo último y lo mejor, por lo que nunca tendrá que preocuparse por administrar esas actualizaciones usted mismo (lo cual es parte del placer de subcontratar la administración de WordPress). a otra persona, ¿verdad?)

Terminando

Al crear un sitio web de WordPress, la seguridad es siempre una preocupación principal. Es por eso que utiliza complementos y temas confiables y siempre mantiene su núcleo actualizado, entre otras mejores prácticas de seguridad. PHP no es diferente. Manéjelo como lo hace con sus otras herramientas de WordPress: manténgalo actualizado y cumpla siempre con las mejores prácticas de seguridad, y usted (y su sitio web) podrán dormir mucho más tranquilos por la noche.

¿Quieres dar tu opinión o unirte a la conversación?Añade tus comentarios en Twitter.

Guardar Guardar