Toepassingen beveiligen die zijn gebouwd op de .NET Framework

In dit artikel worden belangrijke overwegingen beschreven voor het beveiligen van toepassingen die zijn gebouwd op Microsoft .NET Framework.

Oorspronkelijke productversie: .NET Framework
Origineel KB-nummer: 818014

Samenvatting

Dit artikel is een van een reeks artikelen met gedetailleerde informatie voor toepassingen die zijn gebouwd op de .NET Framework.

De artikelen in deze reeks bevatten de volgende artikelen:

.NET Framework beveiliging per zone aanpassen

De .NET Framework wijst vertrouwensniveaus toe aan beheerde assembly's. Deze toewijzingen zijn deels gebaseerd op de zone waar de assembly wordt uitgevoerd. De standaardzones zijn Mijn computer, lokaal intranet, internet, vertrouwde sites en niet-vertrouwde sites. Mogelijk moet u het vertrouwensniveau dat is gekoppeld aan een van deze zones verhogen of verlagen. De .NET Framework bevat hulpprogramma's voor het aanpassen van deze instellingen.

Het vertrouwensniveau in een .NET Framework assembly aanpassen

De .NET Framework bevat veel manieren om het vertrouwensniveau te bepalen dat u aan een assembly moet verlenen. U kunt echter uitzonderingen maken op de regels om een specifieke assembly in staat te stellen een hoger vertrouwensniveau te ontvangen dan normaal zou worden ontvangen op basis van het bewijsmateriaal dat is verstrekt aan de gemeenschappelijke taalruntime. De .NET Framework biedt een wizardhulpprogramma speciaal voor dit doel.

Aangepaste beleidsniveaus herstellen

Als beheerder hebt u volledige controle over de toegang die u verleent aan assembly's die worden uitgevoerd op de verschillende vertrouwensniveaus. Als u vertrouwensniveaus aanpast, kunnen er problemen optreden wanneer u een toepassing uitvoert die doorgaans wordt uitgevoerd onder een standaardvertrouwensniveau. U kunt beleidsniveaus echter snel herstellen naar de standaardinstellingen.

De machtigingen evalueren die worden verleend aan een assembly

Wanneer u een beveiligingsconfiguratiebeleid voor ondernemingen, machines en gebruikers en aanpasbare vertrouwensniveaus hebt, kan het lastig zijn om de machtigingen te beoordelen die zijn verleend aan een beheerde assembly. Het hulpprogramma .NET Framework Configuratie bevat een eenvoudige methode om deze machtigingen te evalueren.

Controleer de beveiliging van . Net-verbonden toepassingen

Tijdens upgrades, testen en probleemoplossing kan de configuratie van productiesystemen onbedoeld veranderen. Een beheerder kan bijvoorbeeld beheerdersreferenties verlenen aan een gebruiker tijdens het bepalen of een fout betrekking heeft op toegangsrechten. Als die beheerder vergeet deze verhoogde referenties in te trekken na het voltooien van het probleemoplossingsproces, wordt de integriteit van het systeem aangetast.

Omdat de systeembeveiliging na verloop van tijd kan worden verminderd door dit type actie, is het een goed idee om regelmatig controles uit te voeren. U kunt dit doen door belangrijke aspecten van een ongerept systeem te documenteren om een basislijnmeting te maken. Vergelijk deze instellingen met de basislijn in de loop van de tijd om te bepalen of er problemen zijn ontstaan die het beveiligingsniveau aanzienlijk kunnen verminderen.

Configureer een . Net-verbonden toepassing en SQL Server om een alternatief poortnummer te gebruiken voor netwerkcommunicatie

Veel geautomatiseerde hulpprogramma's identificeren beschikbare services en beveiligingsproblemen door een query uit te voeren op bekende poortnummers. Deze hulpprogramma's bevatten zowel legitieme hulpprogramma's voor beveiligingsevaluatie als hulpprogramma's die kwaadwillende gebruikers kunnen gebruiken.

Een manier om de blootstelling aan dit soort hulpprogramma's te verminderen, is door het poortnummer te wijzigen dat de toepassingen gebruiken. U kunt deze methode toepassen op . Net-verbonden toepassingen die afhankelijk zijn van een back-end SQL Server database. Deze methode werkt als zowel de server als de client correct zijn geconfigureerd.

Een ASP.NET webtoepassing of webservice vergrendelen

Er zijn veel manieren om de beveiliging van ASP.NET webtoepassingen en webservices te verbeteren. U kunt bijvoorbeeld pakketfiltering, firewalls, beperkende bestandsmachtigingen, het ISAPI-filter (URL Scan Internet Server Application Programming Interface) en zorgvuldig beheerde SQL Server bevoegdheden gebruiken. Het is een goed idee om deze verschillende methoden te bekijken om diepgaande beveiliging te bieden voor ASP.NET toepassingen.

NTFS-bestandsmachtigingen configureren om de beveiliging van ASP.NET toepassingen te verbeteren

Ntfs-bestandsmachtigingen (New Technology File System) blijven een belangrijke beveiligingslaag voor webtoepassingen. ASP.NET toepassingen bevatten veel meer bestandstypen dan eerdere webtoepassingsomgevingen. De bestanden waartoe anonieme gebruikersaccounts toegang moeten hebben, is niet duidelijk.

SQL Server beveiliging configureren voor toepassingen die zijn gebouwd op de .NET Framework

Standaard biedt SQL Server gebruikers niet de mogelijkheid om databases op te vragen of bij te werken. Deze regel is ook van toepassing op ASP.NET-toepassingen en het ASPNET-gebruikersaccount. Om ASP.NET toepassingen toegang te geven tot gegevens die zijn opgeslagen in een SQL Server database, moet de databasebeheerder rechten verlenen aan het ASPNET-account.

Ga naar Machtigingen voor databaseobjecten configureren voor meer informatie over het configureren van SQL Server om query's en updates van ASP.NET toepassingen toe te staan.

URLScan configureren om de beveiliging van ASP.NET webtoepassingen te verbeteren

Wanneer u URLScan installeert op een IIS 5.0-server (Internet Information Services 5.0), is deze geconfigureerd om ASP 3.0-toepassingen uit te voeren. Wanneer u de .NET Framework installeert, wordt de URLScan-configuratie echter niet bijgewerkt met de nieuwe ASP.NET bestandstypen. Als u de extra beveiliging van het URLScan ISAPI-filter voor uw ASP.NET toepassingen wilt, past u de URLScan-configuratie aan.

Verificatie vereisen voor ASP.NET webtoepassingen

Veel ASP.NET toepassingen staan geen anonieme toegang toe. Een ASP.NET-toepassing waarvoor verificatie is vereist, kan een van de volgende drie methoden gebruiken: Formulierverificatie, .NET Passport-verificatie en Windows-verificatie. Voor elke verificatiemethode is een andere configuratietechniek vereist.

Specifieke gebruikers beperken om toegang te krijgen tot opgegeven webresources

ASP.NET omvat formulierverificatie. Het is een unieke manier om gebruikers te verifiëren zonder Windows-accounts te maken. ASP.NET omvat ook de mogelijkheid om deze gebruikers toegang tot verschillende webresources te verlenen of te weigeren.

Ga voor meer informatie over het beheren van toegang tot webresources per gebruiker naar How to Restrict Specific Users from Access to Specified web Resources (Specifieke gebruikers beperken van toegang tot opgegeven webresources).

Beperk de webservicesprotocollen die een server toestaat

Standaard ondersteunt ASP.NET drie manieren waarop webserviceclients aanvragen kunnen verzenden naar webservices: SOAP, HTTP GET en HTTP PUT. Voor de meeste toepassingen is echter slechts een van deze drie methoden vereist. Het is een goed idee om de kwetsbaarheid voor aanvallen te verminderen door ongebruikte protocollen uit te schakelen.

Sta browsertoegang niet toe tot . Net-verbonden webservices

ASP.NET webservices bieden een browservriendelijke interface om het voor ontwikkelaars gemakkelijker te maken webserviceclients te maken. Met deze gebruiksvriendelijke interface kan iedereen die de webservice kan bereiken de volledige details bekijken van de beschikbare methoden en eventuele vereiste parameters. Deze toegang is handig voor openbare webservices die alleen openbaar beschikbare methoden bevatten. Het kan echter de beveiliging van privéwebservices verminderen.

Ga voor meer informatie over het beheren van toegang tot webresources per gebruiker naar How to Restrict Specific Users from Access to Specified web Resources (Specifieke gebruikers beperken van toegang tot opgegeven webresources).

Gebruik ASP.NET om bestandstypen te beveiligen

De structuur van ASP.NET-toepassingen zorgt ervoor dat veel privébestanden worden opgeslagen met bestanden die eindgebruikers aanvragen. ASP.NET beveiligt deze bestanden door aanvragen voor de bestanden te onderscheppen en een fout te retourneren. U kunt dit type beveiliging uitbreiden naar elk bestandstype met behulp van configuratie-instellingen. Als uw toepassing ongebruikelijke bestandstypen bevat die privé moeten blijven, kunt u ASP.NET bestandsbeveiliging gebruiken om deze bestanden te beveiligen.

Verwijzingen

Ga naar Wat is er nieuw in Windows 10 implementatie voor meer informatie over het beveiligen van toepassingen die zijn gebouwd op de .NET Framework.