Support de présentation de la conférence du 17 Novembre 2009, organisée chez Microsoft et animée par Blue acacia, portant sur les best practices en matière de sécurité sur le développement et l’hébergement de sites Internet.
17. LECON NUMERO 3 : Protéger les formulaires génériques des attaques JavaScript
18.
19.
20.
21. Contrôle de caractères interdits via une liste d’expressions surveillées (%, script, drop table, …) pour éviter l’injection SQL.
22.
23. Envoi d’une alerte e-mail à l’administrateur du site et au responsable sécurité de Blue acacia,
24.
25. LECON NUMERO 3 / Exemples de scripts BLUE ACACIA - Conférence Microsoft Web et Ateliers pratiques - Session sur la sécurité - Indice A 15 1) DEFINITION D’UNE LISTE DE CARACTERE INTERDITS (script, nvarchar, drop table, …) 2) CONTRÔLE SUR LEUR SYNTAXE (ascii, base 64, binaire, avec et sans espace, …) 3) ENCODAGE DES CARACTERES EN BASE DE DONNEES 4) RECUPERATION DE L’ADRESSE IP (même masquée derrière un proxy)
26.
27.
28.
29.
30. LECON NUMERO 4 : Verrouiller les formulaires d’identification
44. LECON NUMERO 5 / Contrôler son CMS BLUE ACACIA - Conférence Microsoft Web et Ateliers pratiques - Session sur la sécurité - Indice A 25 AUDITER LE CODE DU CMS METTRE DES SESSIONS SECURISES SUR TOUTES LES PAGES D’UN CMS 3) VERIFIER QUE LE CMS N’OUTREPASSE PAS LES DROITS SERVEURS (Navigation anonyme, arborescence libre, upload d’exécutables)
48. Vérification de l’emplacement de stockage des répertoires des dump. Un hébergeur très connu stocke ses dump MySQL sur un même répertoire intitulé /code&sql/ Le répertoire est accessible en navigation anonyme et que la syntaxe du dump est identique.
49. LECON NUMERO 6 / Protéger ses bases de données BLUE ACACIA - Conférence Microsoft Web et Ateliers pratiques - Session sur la sécurité - Indice A 28 A la différence de MySQL, SQL server ne peut pas être accédé depuis le port 80 avec un simple navigateur. Il faut une couche logicielle (SQL Server Management Studio) ou un connecteur Access. Toute connexion laisse donc des traces.
58. Plus embêtant : accès à la liste des inscrits de la base (nom, login, e-mail, mot de passe, …)
59. accès aux sessions (avec la possibilité de créer une session par exemple …)
60. Accès au code source avec la possibilité d’ « overwrite files ». On peut par exemple, directement modifier le code source de la page PHP qui ouvre les sessions des utilisateurs inscrits et sauvegarder les modifications de la page php : ce qui ferait planter le système d’authentification.
71. Utiliser de l’authentification sécurisée (le FMS récupère l’id de la session, la transmet au serveur qui vérifie son existence et donne en retour une nouvelle clé unique au FMS qui la diffuse à son tour au client).