4 Medidas de Seguridad en PHP que debes tener en cuenta

Obviamente se pueden implementar muchas reglas y protocolos de seguridad en PHP, pero comentaré algunos que considero son muy simples pero importantes. El artículo está abierto para que otros desarrolladores puedan comentar cualquier otra medida o protocolo de seguridad en PHP que consideren oportuna.

Para otro artículo tendría que comentar aspectos y medidas de seguridad sobre el servidor de páginas web, por ahora el más popular para servir páginas en PHP es Apache, aunque cada vez va tomando más fuerza Nginx.

Durante muchos años, PHP ha sido una plataforma estable, de bajo costo en el que operar aplicaciones basadas en web. Como la mayoría de las plataformas basadas en web, PHP es vulnerable a ataques externos. Los desarrolladores, arquitectos de bases de datos y administradores de sistemas deben tomar precauciones antes de desplegar las aplicaciones PHP en un servidor en producción. La mayoría de estas técnicas se puede lograr con unas pocas líneas de código o un ligero ajuste en los parámetros de la aplicación.

#1 Script de Instalación

Hoy en día hay muchas aplicaciones web Open Source donde podemos crear un blog, un foro, una tienda e-commerce, incluso una red social,etc.. muchos sino todos traen unos script de autoinstalación. Es muy aconsejable que después de instalar la aplicación web las carpetas de instalación se borren, yo no me complico y las borro sin pensarlo, pero otros desarrolladores prefieren mantenerlas, si alguien quiere hacer esto cuidado!

Esto es mi primera medida de seguridad, no parece tal, pero si lo es. Tengamos cuidado con los script de instalación porque si alguien consigue entrar en el autoinstalador después de que nuestra aplicación lleve funcionando un tiempo podría lanzar el autoinstalador nuevamente y borrar toda la base de datos.

Para los que quieran mantener la carpeta de instalación deben incluir una protección en el .htaccess para que controle sólo el acceso a usuarios administradores o permitidos

AuthType Basic
AuthName "Solo administradores"
AuthUserFile /usr/local/apache/passwd/passwords
Require valid-user

Para cualquier usuario que acceda a la carpeta protegida le aparecerá un aviso para introducir usuario y contraseña. Sólo se permitirá el acceso a los usuarios especificados en el archivo “passwords”. El path de este archivo se puede cambiar, pero siempre debe ser un path seguro.

Para crear un usuario permitido y añadirlo a nuestro archivo podemos utilizar el siguiente comando de linux

# htpasswd -c /usr/local/apache/passwd/passwords pedro

Más información: Tutorial proteger directorios con password en .htaccess

#2 Include de archivos

En muchos casos, los desarrolladores pueden utilizar un archivo individual en varias partes de una aplicación. Estas secuencias de comandos contendrá una directiva “include” que incorpora el código del archivo individual en el de la página de origen. Cuando archivo “include” contiene información confidencial, incluyendo nombres de usuario, contraseñas o claves de acceso de base de datos, el archivo debe tener una extensión “. php”, en lugar del típico “. inc”

Con la extensión “.php” nos aseguramos que el motor de PHP procesará el archivo y evitará los puntos de vista no autorizados.

# 3 Codificaciones MD5, SHA y algoritmo bcrypt

MD5 Y SHA están obsoletas. Aunque se sigan usando en algunos casos no es aconsejable usarlas. Por lo menos por sí solas.

Todas las páginas que tienen usuarios y contraseñas, éstas deben estar encriptadas. MD5 encripta las contraseñas con una cadena de 128 bits, mientras que SHA-1 lo hace con una cadena de 160 bits, pero ambas están obsoletas y no presentan una seguridad fiable.

La mejor opción es usar un algoritmo del tipo bcrypt y hay una librería que aporta una estupenda Clase para crear contraseñas o cualquier tipo de texto encriptado de una manera segura http://www.openwall.com/phpass/

Obviamente, hay que tener cuidado con las contraseñas y éstas no deben ser evidentes, secuenciales o muy simples. Muchas webs ya incorporan pequeños algoritmos para comprobar la existencia de números, letras y caracteres especiales  para “medir” la fuerza o seguridad de la contraseña.

Lectura recomendada: Seguridad en contraseñas. Como hacer una contraseña segura.

# 4 Captchas de Seguridad

Los captchas de seguridad nos ofrecen una barrera de seguridad contra scripts de fuerza bruta para probar masivamente contraseñas sobre un formulario, así como para verificar que quien está enviando el formulario es una persona y no una máquina o un bot con un script automático.

Los captchas de seguridad son usados en muchísimas páginas y algunas tan importantes como Facebook, Google, etc.. no debemos darle la espalda al uso de los captchas para añadir un nivel de seguridad a nuestros formularios.

Otros artículos sobre captcha de seguridad en este blog

Tags de búsquedas:

seguridad en php,seguridad php,php seguridad,seguridad con php,seguridad web php,que medidas de seguridad hay que tomar en cuenta sobre el servidor de internet,que medida de seguridad hay que tomar en cuenta sobre el servidor de internet,seguridad paginas php,seguridad en paginas php,que medidas de seguridad deben implementar en un servidor,que medidas de seguridadhay que tomar en cuentasobre el servidor de internet,como securizar una pagina php,agregar seguridad en php,que medidas de seguridad hay que tomar encuenta sobre el servidor,seguridad e codigo php

2 comentarios en 4 Medidas de Seguridad en PHP que debes tener en cuenta

  1. / Responder

    4 Medidas de Seguridad en PHP que debes tener en cuenta , es interesante, desde que os recibo no puedo parar de mirar todas vuestras sugerencias y me alegra cuando recibo uno más, sois lo mejor en español, me encata vuestra presentación y el curre que hay detrás. Un beso y abrazo,GRACIAS POR VUESTRO TRABAJO, nos alegrais la vida.

  2. Emma
    / Responder

    realizo investigacion sobre algoritmo de seguridad para sitios web,ademas de encriptacion, que algoritmos se pueden aplicar para que no tenga acceso a esta parte de Id, y claves cualquier persona?ver iinformacion publica si se permite pero existe otra parte privada donde se encuentra espacio para nombre de usiario y password…con que algoritmo damos seguridad a la parte pribada?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Sígueme en Twitter »


Hosting de este blog con: »

Y ahora, para todos mis lectores! 10$ para probar su cloud : www.digitalocean.com

  • Daván Palma (14 horas)
    creo que olvide poner mi código entre las etiquetas respectivas.…
  • Daván Palma (14 horas)
    Hola buenas tardes, espero me puedan dar una manito. "estoy…
  • sebastian (5 días)
    Me descargue nfs shift y me descargue el apk y…
  • marco (6 días)
    Hola compañero muy util tus comandos, te pido una ayudita…

Suscríbete al newsletter »

Proporciona tu correo electrónico a continuación y recibe las últimas noticias! Funciona con Feedburner de Google

Imágenes de noticias »

Stack Overflow »

Recientes »

Archivo »

Leer entrada anterior
malware
Cómo detectar y eliminar malware en tu web

Ya es conocido el uso de los virus, gusano, troyanos y el software espía que pueden dañar un equipo o...

Cerrar