Caray lo que estoy aprendiendo leyéndoos, sé algo de programación web (html, css y algo de javascriipt, he hecho alguna cosa apañada pero nada profesional, sin php no se puede mas) pero el tema de seguridad se me escapa totalmente. Por lo que decís me surgen dudas:
La seguridad frente a inyección de código (como por ej. mysql) la lleva el desarrollador de la web, porque es el que programa el código php, mysql y demás, correcto?
Si alguien toma el control de nuestra web por un error en la programación / cargar un módulo con vulnerabilidades en un CMS, o por poner la contraseña de admin por defecto, qué se puede hacer? Pedir al del hosting que borre todo y subir todo de nuevo mientras intentamos deducir cómo nos han quitado el control? El hosting nos puede ayudar en algo más?
La seguridad de los servidores depende del hosting? Osea, hay servidores más o menos seguros, o son todos iguales y la seguridad es cosa del programador?
Gracias a los que foreáis amigablemente, quería hacerme una página personal con la que intentar sacar algún durillo (para el hosting como mucho), nada de otro mundo, tal vez con joomla y cambiando el código a mi estilo, pero veo que el tema de seguridad se me escapa totalmente. Algún libro sobre qué cosas hay que tener en cuenta para hacer una web personal (no profesional)? Osea, desde contratar el dominio, servidores, seguridad... Abrazos!
De seguridad hay mucho tema. Los ataques más frecuentes van a ser de bot cuando descubran que tienes tal CMS con vulnerabilidades conocidas, por lo que hay que estar siempre actualizado. Hay que asegurarse que los ficheros de tu sitio tienen los permisos adecuados, nunca 777, que el fichero que guarda el acceso a la base de datos no es accesible fácilmente, que la carpeta de temporales/ caché está fuera de la carpeta www, etc.
Luego está el asunto de la configuración php del servidor, en la mayoría puedes cambiarla con un php.ini, si eso habla con tu proveedor de hosting. El caso es asegurarse que ciertas funciones no pueden generar vulnerabilidades, como el register_ globals que debe estar en off. Si el servidor va con .net u otra tecnología, ni idea.
En servidores, si usas uno propio simplemente pásale el scan de vez en cuando. Si es dedicado, en principio sin problema, y si es compartido parece ser que si infectan una partición sí que podría afectar a tu sitio, pero creo que esto es raro.
En cuanto a la base de datos, no pongas prefijos de tabla usuales ( por ejemplo jos_ en joomla ) .
En cuanto a contraseñas: si puede ser no utilizes admin como nombre de superadmin. En algún sitio mío he visto intentos de loguear con nombre admin y pass 123, admin, etc. Basta con no ser evidente. Si tienes mucha paranoia, puedes hacer un acceso a la zona de logueo con pass, o crearte un programilla que te avise de intentos de logueo fallidos, le baneas la ip y a otra cosa.
Para restablecer una web atacada: si han tomado el control, basta con restaurar l base de datos desde una copia, y luego asegurarte de cambiar el pass. Si es malware, google webmaster tools suele decirte dónde tienes el problema. Puedes buscar los archivos maliciosos, pero lo mejor es borrarlo todo y subir una version limpia del cms, de plugins o módulos y de plantilla. Luego la base de datos.
Empezar es muy fácil. Si sabes algo de html y css prueba con worpress antes que joomla, es mucho más sencillo para comenzar a trabajar.
Para conseguirte un hosting, hay hilos aquí mismo. Si vas a instalar un joomla o wordpress, necesitas un hosting con php y base de datos mysql/ mysqli.
El dominio lo compras junto o aparte, sólo es un atajo qu redirige a tu carpeta www del hosting.
Para crear tu web en servidor de hosting: vete al panel de control, asegúrate que el dominio apunta a la carpeta www/ public_ html de tu servidor. Busca phpmyadmin, entra y crea una base de datos. Apunta el nomre y el pass.
Ahora bájate el filezilla, conéctate a tu servidor con los datos que te dá tu hosting. Sube a la carpeta www el contenido del zip que te has descargado de joomla o wordpress.
Vete a tu navegador, escribe la direccion de tu sitio y sigue las instrucciones en pantalla. Voilà.
Otra alternativa nuy recomendable y gratuita es instalarte un servidor para localhost ( como si tuvieras el servidor sólo en tu màquina), wamp en windows o lamp en linux.
Sigue los mismos pasos usando el phpmyadmin del wamp y utilizando la carpeta www dentro de la instalación wamp, luego tu dominio serà simplemente http:// localhost.
Suerte.