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
1 | AuthType Basic |
2 | AuthName "Solo administradores" |
3 | AuthUserFile /usr/local/apache/passwd/passwords |
4 | Require valid-user |
Para crear un usuario permitido y añadirlo a nuestro archivo podemos utilizar el siguiente comando de linux
1 | # htpasswd -c /usr/local/apache/passwd/passwords pedro |
#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
- Captcha de seguridad en cakePHP con Securimage
- Instalar un captcha de seguridad
Tags de bĂşsquedas:
seguridad
php,seguridad en php,php seguridad,seguridad para acceso a mi
web,seguridad de acceso con php,que medidas preventivas se deben formar
en cuenta y no tener una leccion,que medidas de seguridad hay que tomar
en cuenta sobre servidor de internet,que
medidas de seguridad hay que tomar en cuenta sobre el servidor de
internet,Protocolos de seguridad a tener en cuenta Internet,programar un
administrador web seguro con php