Tips y recomendaciones de seguridad para PrestaShop.
Presentación utilizada en el evento I Meetup PrestaShop Málaga (http://www.meetup.com/es/PrestaShop-Malaga-Meetup)
#PrestaShopMLG - http://twitter.com/jruizcantero
2. Jose Antonio Ruiz Cantero
@jruizcantero
Trabajo con PrestaShop desde
2011 y cada día me gusta
aprender algo nuevo.
Contribuyo a la comunidad…
- Reportando bugs
- Organizando cursos y
eventos gratuitos sobre
PrestaShop
- Desarrollando módulos
(Módulo Yandex Metrica
en PrestaShop Addons)
- ...
3. ¿PrestaShop Actualizado?
Versiones obsoletas de cualquier software son un riesgo de seguridad.
Principalmente permanecen activas 3 ramas;
➔ PrestaShop v1.4.x
➔ PrestaShop v1.5.x
➔ PrestaShop v1.6.x
Exactamente, a día 16/09/2015, las últimas versiones estables
existentes para cada rama repectivamente son;
➔ PrestaShop v1.4.11.1
➔ PrestaShop v1.5.6.3
➔ PrestaShop v1.6.1.1
+Info;
https://www.prestashop.com/es/versiones-para-programadores
4. PrestaShop Security Release, Julio
2015
A finales de Julio, Vincent Herbulot (@us3r777) reportó a
security@prestashop.com un problema de seguridad relacionado con la
aleatoriedad del algoritmo para la generación de contraseñas que podría
permitir a un atacante obtener acceso al panel de administración de
PrestaShop (Back Office).
Versiones en riesgo;
➔ Inferior a PrestaShop v1.4.11.1
➔ Inferior a PrestaShop v1.5.6.3
➔ Inferior a PrestaShop v1.6.1
+Info:
https://www.prestashop.com/blog/en/prestashop-security-release/
https://redd.it/3fmmk5
5. Aplica el Parche de Seguridad de Julio 2015
Tienes varias opciones para solventar el problema de seguridad comentado
anteriormente;
➔ Actualizar PrestaShop a las últimas versiones estables (Módulo “1-Click
Upgrade - AutoUpgrade”)
➔ Instalar el módulo “Security Patch Module” (comprueba compatibilidad)
➔ Reemplazar manualmente los ficheros afectados o edita el código fuente:
https://gist.github.com/Shudrum/27fc534de69c96617280
6. Actualiza Módulos y Temas
No olvides mantener actualizados tus módulos y tema, incluidos los
desarrollados por terceros que no estén en PrestaShop Addons.
7. Aumenta la seguridad en PrestaShop
Cambia el acceso al panel de
Administración (Back Office)
Por defecto, para acceder al Back Office se
genera un directorio con el nombre “admin”
seguido de un número (por ejemplo; “admin42”).
Aunque el acceso al Back Office está protegido
por usuario/contraseña, sería mejor renombrar
dicho directorio por nombres más complejos (por
ejemplo; “g3$ti0n”) que dificulten a un posible
atacante localizar dicho acceso mediante
peticiones HTTP automatizadas utilizando
diccionarios o fuerza bruta.
8. Aumenta la seguridad en PrestaShop
Elimina la carpeta “install” totalmente tras instalar PrestaShop
Cuando se ha terminado de instalar PrestaShop, por seguridad no te deja
continuar administrando la tienda si detecta que existe la carpeta “install”.
Lo ideal es eliminar dicho directorio completamente pero algunos usuarios,
quizás por desconocimiento/rapidez, terminan simplemente renombrando
“install” por otro nombre fácilmente predecible y localizable mediante
peticiones HTTP automatizadas utilizando diccionarios o fuerza bruta.
9. Aumenta la seguridad en PrestaShop
Elimina “pistas”/archivos innecesarios tras instalar PrestaShop
Si tienes PrestaShop instalado en un servidor en producción, también es
aconsejable eliminar archivos innecesarios que puedan proporcionar
fácilmente información adicional a un atacante;
➔ Los archivos README.md, CONTRIBUTING.md y CONTRIBUTORS.md
➔ Todo el directorio /docs
Aún así podrían llegar a obtener más información de PrestaShop y la versión
instalada mediante “fingerprint” o diff de archivos CSS/JavaScript
10. Aumenta la seguridad en PrestaShop
Añade una contraseña adicional al Back Office o limita el acceso
por IP mediante .htaccess (Servidores Apache)
Puedes utilizar el archivo .htaccess de Apache para añadir una contraseña
adicional al la ruta de acceso del BackOffice o limitar el acceso a IPs
+Info: http://doc.prestashop.com/display/PS16/Making+your+PrestaShop+installation+more+secure
11. Pon pestillos a PrestaShop; Latch
¿Y si te han robado/averiguado tus contraseñas? Latch te permite establecer
pestillos a PrestaShop para acceder solo cuando lo habilites desde tu smartphone.
+Info: Preguntar al tipo sexy del gorro a rayas (@chemaalonso)
http://es.slideshare.net/elevenpaths/instalacin-de-latch-en-prestashop
https://www.youtube.com/watch?v=JSsL2RoY27U
12. Evita prefijos por defecto en tablas DB
Las tablas de la base de datos de PrestaShop se instalan con el prefijo ps_ por
defecto. Si lo cambias podrías evitar algo trivial ante una posible inyección SQL;
13. Backups Periódicos
➔ PrestaShop incluye nativamente el menú “Parámetros Avanzados ->
Copias de Seguridad DB”
➔ No olvides backups externos de todos los archivos de tu tienda (Hay
diversos módulos)
15. Y si puedes… Seguriza el Hosting / Server
➔ Mantén actualizado todo el software existente en el hosting/servidor.
➔ Activa herramientas de seguridad; Fail2ban, ModSecurity…
➔ Aplica el sentido común… aunque a veces es el menos común de los
sentidos