Quelles sont les meilleures pratiques pour sécuriser une page Web ColdFusion à partir d'utilisateurs malveillants? (y compris, mais sans s'y limiter, les attaques par injection SQL)ColdFusion Security
Est-ce que cfqueryparam est suffisant?
Quelles sont les meilleures pratiques pour sécuriser une page Web ColdFusion à partir d'utilisateurs malveillants? (y compris, mais sans s'y limiter, les attaques par injection SQL)ColdFusion Security
Est-ce que cfqueryparam est suffisant?
J'utilise une portcullis modifiée et filtre toutes les étendues var entrantes (URL, FORM, COOKIE) onRequestStart. http://portcullis.riaforge.org/
Pete Freitag a un blogue impressionnant, surtout ce post sur Hardening ColdFusion
Je dirais que les meilleures pratiques pour ColdFusion sont similaires à ceux pour les applications web de programmation dans toutes les langues.
J'ai récemment lu Essential PHP Security Chris Shiflett et la majorité des questions abordées affectent également ColdFusion, bien que la syntaxe pour les traiter puisse être légèrement différente. Je m'attends à ce qu'il existe d'autres livres agnostiques (éventuellement meilleurs) contenant des principes qui peuvent facilement être modifiés pour être utilisés dans ColdFusion.
Bien que l'utilisation d'une solution prédéfinie fonctionne, je recommande de connaître tous les problèmes possibles qui doivent être protégés. Consultez Hack Proofing ColdFusion au Amazon.
Je vous recommande l'excellente conférence par Justin McLean "ColdFusion Security et Gestion des risques". Il comprend une étude de cas.
présentation PDF http://cdn.classsoftware.com/talks/CFMeetupSecurity.pdf
streaming vidéo: http://experts.adobeconnect.com/p22718297
Ne faites jamais confiance au client. Le plus important «set and forget» de ColdFusion est de suivre les directives de renforcement de l'administrateur du serveur indiquées ci-dessus, de garder le serveur à jour et de suivre ColdFusion sur Twitter pour connaître immédiatement tout nouveau problème. Pour la sécurité de l'application, qui est commune à toutes les langues, vous devez valider chaque élément d'information qui touche votre serveur à partir du client. Les formulaires sont des zones évidentes de contrôle strict, mais n'oubliez pas les paramètres d'URL que vous pouvez utiliser pour la gestion ou le contrôle de l'état de l'application. Quelque chose comme & startRow = 10 & tag = sécurité qui n'est pas "supposé" être touché par l'utilisateur est l'entrée de l'utilisateur. Même si votre application ne peut jamais rompre avec des données invalides, vous ne saurez peut-être pas comment ces données seront utilisées dans le futur. La validation peut être aussi simple que de s'assurer que quelqu'un ne saisit pas un prénom long de 100 caractères et ne contient pas de caractères de programmation ou que & startRow est toujours un nombre. Ce sont les petites choses que les développeurs d'applications ignorent parfois car tout fonctionne correctement tant que vous utilisez le logiciel comme prévu.
Je crois que vous pouvez regarder le Sony Playstation piratage comme un exemple. Malheureusement, ils ne s'attendaient pas à ce que quelqu'un pirate le client (console Playstation) et manipule le logiciel de la console PlayStation pour pirater le serveur. Le serveur a fait confiance au client.
Ne faites jamais confiance au client.
CfQueryParam est très important, mais pas assez.
Il existe une solution en boîte que nous utilisons à mon travail: http://foundeo.com/security/. Il couvre la plupart des bases. Et même si vous ne voulez pas l'acheter, vous pouvez jeter un coup d'œil à ses fonctionnalités et avoir une idée des choses que vous devriez considérer.
Vous pouvez vous vérifier -
Un autre grand endroit pour en apprendre davantage sur la sécurité (et toutes sortes d'autres sujets) est de consulter la liste massive des présentations de groupes d'utilisateurs enregistrés Charlie Arehart: http://www.carehart.org/ugtv/
Voici des informations sur un bon outil qui peut être utilisé pour prévenir XSS.
https://www.owasp.org/index.php/Category:OWASP_AntiSamy_Project
http://www.petefreitag.com/item/760.cfm
Assez facile à mettre en œuvre et Java.
Qu'est-ce qui n'est pas constructif à ce sujet? la fermeture de ce fil n'a pas été constructive IMHO ... #moderatorfailagain C'est une question valide, sauf si vous êtes un brownoser Ruby. – Dawesi