Cela fait maintenant 15 jours que les ateliers Paris Web 2009, et le premier atelier que j’ai suivi concerné la sécurité des sites webs.
L’atelier avait un fort potentiel mais les différences de niveau des différents publics (intégrateurs, développeurs, décideurs, …) ont empêché de pousser un peu plus loin la réflexion. Cet atelier a donc été, pour moi, qu’une piqûre de rappel.
La sécurité
- Elle doit être prise en compte à toutes les étapes de la création, en gros la sécurité n’est pas une surcouche
- Il faut minimiser la surface d’attaque (ex: les plugins/modules supplémentaire d’un programme sont autant de nouvelles portes d’entrée pour le cracker)
- Limiter la portée des erreurs.
- Utiliser une gestion restrictive des droits
- Permettre une maintenance facile, ca permet de faciliter la correction d’un bug
- Choisir un niveau intermédiaire dans la verbosité des logs (trop -> illisible, trop peu -> inutilisable)
- Ne jamais croire les données non maitrisée (provenant de l’utilisateur, du navigateur et de la base de donnée en autre)
L’exploit
- Détection de faille, elle peut être automatiser
- Utilisation de la faille critique (injection SQL/ XSS / CSRF / RFI)†
- But : Prendre le contrôle du serveur, récuperer des données, DOS
Solution (liste non exhaustive)
- Valider toutes les données
- N’afficher les erreurs applicatifs (SQL/PHP/…) qu’en phase de développement
- Utiliser au max les procédures stockées ou paramétrées
- Pour contrer les XSS, utiliser des white-list
- Utilisation des tokens pour les CSRF
Le gros rappel important est surtout à ce niveau. MM. les décideurs
- veuillez former vos développeurs de manière continue, les techniques d’exploit évolues
- faites des audits de sécurité
Complément d’information :