Quelles nouveautés dans ASP.NET 1.1 et windows server 2003 ?02/07/2002 Avant-Propos 1. Pourquoi migrer vers ASP.NET 1.1 ? 2. Installation d'ASP.NET 1.1 3. Les nouveautés au niveau de la sécurité dans ASP.NET 1.1 3.1. Les attaques par injection de scripts 3.2. Sécuriser les données des .config 3.3. Paramétrage des droits du process de votre application ASP.NET 4. ASP.NET 1.1 et windows 2003 server Conclusion Avant-Propos
Actuellement, beaucoup de sites faits en ASP.NET sont hébergés sous windows 2000 server avec le framework .NET 1.0.
Hors, depuis quelques mois, windows 2003 server, qui contient le framework .NET dans sa version 1.1 a vu le jour.
Curieux de savoir quels avantages pouvaient apporter une migration vers ASP.NET 1.1 sous windows 2003 server, j'ai donc assisté à
une conférence sur ce sujet lors des tech-ed 2003 qui se déroulent à Barcelone. Pourquoi et comment migrer son site ASP.NET vers
cette nouvelle plate-forme ? Voici les quelques éléments de réponse qui m'ont été fournis pendant cette conférence.
1. Pourquoi migrer vers ASP.NET 1.1 ?
2. Installation d'ASP.NET 1.1
L'installation du framework 1.1 et la migration de vos pages aspx vers cette nouvelle version du framework est très facile.
On peut toujours faire tourner certaines pages en ASP.NET 1.0 et d'autres en ASP.NET 1.1 côte à côte, sur un même site.
Sous windows 2000 et windows XP professionnel, vous trouverez le framework .NET 1.1 avec Visual Studio .NET 2003, avec windows update,
ou bien sur le site de Microsoft. Vous pourrez installer le framework .NET 1.1 en laissant le framework .NET 1.0
et faire tourner des sites en ASP.NET 1.0 et 1.1 sur le même serveur.
Pour windows 2003 serveur, le framework .NET 1.1 est installé par défaut, vous devrez néanmoins installer IIS 6 et l'activer. IIS 6 qui
est le serveur web de windows 2003 server ne supporte pas la version 1.0 du framework .NET pour vos pages aspx.
Avant d'installer le framework 1.1, vous devez savoir que :
Une fois le fichier dotnetfx.exe téléchargé, si vous l'exécutez, vous mettrez automatiquement vos sites à jour vers la nouvelle version
d'ASP.NET. Pour éviter cette mise à jour automatique, exécutez :
C:\Dotnetfx.exe /c:"install /noaspupgrade
Pour mettre vos pages à la nouvelle version, une fois le framework installé, si vous n'avez pas laissé la mise à jour automatique,
il vous faudra exécuter "aspnet_regiis".
Vous trouverez cet exécutable dans le répertoire d'installation du framework .NET :
Voici les quelques options les plus utilisées :
3. Les nouveautés au niveau de la sécurité dans ASP.NET 1.1 3.1. Les attaques par injection de scripts
Enormément d'attaques de sites sont faites par injections de scripts (très souvent javascript) afin de récupérer les logs qu'un
utilisateur a remplis dans un formulaire, ou divers paramètres à priori inaccessibles.
Afin de solutionner ce problème, en ASP.NET 1.1, IIS va détecter les scripts suspects et lever une exception s'il rencontre un
script "suspect" dans une de vos pages. Par exemple toutes les balises "<script>" qui en principe ne sont pas présentes dans vos pages.
Cette vérification est activée par défaut dans ASP.NET 1.1. On peut cependant la désactiver si besoin est (si l'application insère
dynamiquement des scripts dans la page).
On peut désactiver cette vérification au niveau :
3.2. Sécuriser les données des .config
Normalement, si votre serveur web est bien configuré, personne n'a accès aux .config à part l'administrateur du serveur. Mais,
en cas de hack ou de mauvaise administration de votre serveur, les données sensibles comme la chaîne de connexion à la base de
données ou les mots de passe d'identification sont écrits en clair dans le fichier.
Ces informations sensibles peuvent désormais être stockées et cryptées dans la base de registre du serveur. On passe ainsi par
la protection et le cryptage des données de L'API windows.
La mise en place de cette technique étant assez complexe, je vous renvois sur cet article msdn : (mettre le liens), en éspérant
vous proposer un tutoriel complet d'ici peu ;).
3.3. Paramétrage des droits du process de votre application ASP.NET
La version 1.1 d'ASP.NET permet une gestion avancée des droits du process qui exécute vos pages aspx. On peut ainsi améliorer la
sécurité de ses applications de manière évidente.
Il existe plusieurs niveaux de sécurité pour les process. De "full", qui laisse tous les droits de base au process, à minimal,
où le process n'a que des droits d'exécution.
La définition des droits du process qui exécute votre application se fait dans le .config. Par exemple :
<system.web>
<trust level="full" originurl="http://www.monsite.com/*" /> </system.web>
Le process qui exécute les pages de http://www.monsite.com à ses droits à "full".
Il faut cependant faire très attention lorsqu'on applique des restrictions sur le process :
Pour plus de détails, consultez la documentation msdn.
4. ASP.NET 1.1 et windows 2003 server
La caractéristique la plus intéressante de windows 2003 server est la mise en cache des pages aspx au niveau du noyau de windows 2003
server. Cette mise en cache de vos pages aspx est possible si :
Avec la petite démonstration que nous a proposée le speaker on a observé un gain de performances allant jusqu'à 30% avec cette mise en cache.
Conclusion
Avec windows 2003 sever et ASP.NET, on voit que Microsoft met l'accent sur la sécurité. En effet, cette nouvelle version d'ASP.NET semble
surtout apporter de nouvelles options au niveau de la sécurité. Cette première conférence des tech-ed fut ma fois fort intéressante.
L'autre point important de cette nouvelle version d'ASP.NET est la possibilité de développement de site sur pocket P.C., malheureusement
ce point fut très peu abordé dans cette conférence. Je compte assister à de nouvelles sessions sur ASP.NET, et notamment sur les pocket
PC, ce qui donnera lieu à un article dans les prochains jours.
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur.
La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
|