Applicazioni sicure basate su .NET Framework

Questo articolo descrive considerazioni importanti per la protezione delle applicazioni basate su Microsoft .NET Framework.

Versione originale del prodotto: .NET Framework
Numero KB originale: 818014

Riepilogo

Questo articolo è uno di una serie di articoli che forniscono informazioni dettagliate per le applicazioni basate su .NET Framework.

Gli articoli di questa serie includono i seguenti:

Modificare la sicurezza di .NET Framework in base a una zona per zona

.NET Framework assegna livelli di attendibilità agli assembly gestiti. Queste assegnazioni si basano, in parte, sulla zona in cui viene eseguito l'assembly. Le zone standard sono Risorse del computer, Intranet locale, Internet, Siti attendibili e Siti non attendibili. Potrebbe essere necessario aumentare o ridurre il livello di attendibilità associato a una di queste zone. .NET Framework include strumenti per modificare queste impostazioni.

Modificare il livello di attendibilità in un assembly .NET Framework

.NET Framework include molti modi per determinare il livello di attendibilità che è necessario concedere a un assembly. Tuttavia, è possibile fare eccezioni alle regole per consentire a un assembly specifico di ricevere un livello di attendibilità superiore a quello che in genere riceverebbe in base all'evidenza fornita a Common Language Runtime. .NET Framework fornisce uno strumento della procedura guidata specifico per questo scopo.

Ripristinare i livelli di criteri personalizzati

In qualità di amministratore, si ha il controllo completo sull'accesso concesso agli assembly eseguiti ai vari livelli di attendibilità. Se si personalizzano i livelli di attendibilità, potrebbero verificarsi problemi quando si esegue un'applicazione che in genere viene eseguita con un livello di attendibilità standard. Tuttavia, è possibile ripristinare rapidamente i livelli di criteri alle impostazioni predefinite.

Valutare le autorizzazioni concesse a un assembly

Quando si hanno criteri di configurazione di sicurezza aziendali, computer e utenti e livelli di attendibilità personalizzabili, può essere difficile valutare le autorizzazioni concesse a un assembly gestito. Lo strumento di configurazione di .NET Framework include un metodo semplice per valutare queste autorizzazioni.

Controllare la sicurezza di . Applicazioni connesse a NET

Durante gli aggiornamenti, i test e la risoluzione dei problemi, la configurazione dei sistemi di produzione può cambiare in modo non intenzionale. Ad esempio, un amministratore potrebbe concedere credenziali amministrative a un utente determinando se un errore è correlato ai diritti di accesso. Se l'amministratore dimentica di revocare le credenziali con privilegi elevati dopo aver completato il processo di risoluzione dei problemi, l'integrità del sistema viene compromessa.

Poiché la sicurezza del sistema può essere degradata nel tempo da questo tipo di azione, è consigliabile eseguire controlli regolari. A tale scopo, documentare gli aspetti principali di un sistema incontaminato per creare una misura di base. Confrontare queste impostazioni con la baseline nel tempo per determinare se sono stati sviluppati problemi che potrebbero ridurre significativamente il livello di vulnerabilità.

Configurare un oggetto . Applicazione connessa a NET e SQL Server usare un numero di porta alternativo per le comunicazioni di rete

Molti strumenti automatizzati identificano i servizi e le vulnerabilità disponibili eseguendo query su numeri di porta noti. Questi strumenti includono strumenti di valutazione della sicurezza legittimi e strumenti che potrebbero essere usati da utenti malintenzionati.

Un modo per ridurre l'esposizione a questi tipi di strumenti consiste nel modificare il numero di porta usato dalle applicazioni. È possibile applicare questo metodo a . Applicazioni connesse a NET che si basano su un database SQL Server back-end. Questo metodo funziona se il server e il client sono configurati correttamente.

Bloccare un'applicazione Web o un servizio Web ASP.NET

Esistono molti modi per aumentare la sicurezza delle applicazioni Web e dei servizi Web ASP.NET. Ad esempio, è possibile usare filtri di pacchetti, firewall, autorizzazioni di file restrittive, il filtro ISAPI (Internet Server Application Programming Interface) dell'ANALISI URL e privilegi di SQL Server attentamente controllati. È consigliabile esaminare questi diversi metodi per fornire una sicurezza approfondita per le applicazioni ASP.NET.

Configurare le autorizzazioni per i file NTFS per aumentare la sicurezza delle applicazioni ASP.NET

Le autorizzazioni per i file NTFS (New Technology File System) continuano a essere un livello importante di sicurezza per le applicazioni Web. ASP.NET applicazioni includono molti più tipi di file rispetto agli ambienti di applicazioni Web precedenti. I file a cui gli account utente anonimi devono avere accesso non sono ovvi.

Configurare la sicurezza SQL Server per le applicazioni basate su .NET Framework

Per impostazione predefinita, SQL Server non consente agli utenti di eseguire query o aggiornare i database. Questa regola si applica anche alle applicazioni ASP.NET e all'account utente ASPNET. Per consentire alle applicazioni ASP.NET di accedere ai dati archiviati in un database SQL Server, l'amministratore del database deve concedere diritti all'account ASPNET.

Per altre informazioni su come configurare SQL Server per consentire query e aggiornamenti da applicazioni ASP.NET, vedere Configurare le autorizzazioni per gli oggetti di database.

Configurare URLScan per aumentare la protezione delle applicazioni Web ASP.NET

Quando si installa URLScan in un server Internet Information Services 5.0 (IIS 5.0), viene configurato per consentire l'esecuzione di applicazioni ASP 3.0. Tuttavia, quando si installa .NET Framework, la configurazione di URLScan non viene aggiornata per includere i nuovi tipi di file ASP.NET. Se si vuole aggiungere la sicurezza del filtro ISAPI URLScan per le applicazioni ASP.NET, modificare la configurazione di URLScan.

Richiedere l'autenticazione per le applicazioni Web ASP.NET

Molte applicazioni ASP.NET non consentono l'accesso anonimo. Un'applicazione ASP.NET che richiede l'autenticazione può usare uno dei tre metodi seguenti: autenticazione basata su form, autenticazione .NET Passport e autenticazione di Windows. Ogni metodo di autenticazione richiede una tecnica di configurazione diversa.

Impedire a utenti specifici di ottenere l'accesso alle risorse Web specificate

ASP.NET include l'autenticazione basata su form. Si tratta di un modo univoco per autenticare gli utenti senza creare account Di Windows. ASP.NET include anche la possibilità di concedere o negare l'accesso di questi utenti a risorse Web diverse.

Per altre informazioni su come controllare l'accesso alle risorse Web per singolo utente, vedere Come limitare l'accesso di utenti specifici alle risorse Web specificate.

Limitare i protocolli dei servizi Web consentiti da un server

Per impostazione predefinita, ASP.NET supporta tre modi per i client dei servizi Web di inviare richieste ai servizi Web: SOAP, HTTP GET e HTTP PUT. Tuttavia, la maggior parte delle applicazioni richiede solo uno di questi tre metodi. È consigliabile ridurre la superficie di attacco disabilitando eventuali protocolli inutilizzati.

Non consentire l'accesso del browser a . Servizi Web connessi a NET

ASP.NET servizi Web offrono un'interfaccia intuitiva per i browser per semplificare la creazione di client di servizi Web da parte degli sviluppatori. Questa interfaccia intuitiva consente a chiunque possa raggiungere il servizio Web di visualizzare i dettagli completi dei metodi disponibili e dei parametri necessari. Questo accesso è utile per i servizi Web pubblici che includono solo metodi disponibili pubblicamente. Tuttavia, può ridurre la sicurezza dei servizi Web privati.

Per altre informazioni su come controllare l'accesso alle risorse Web per singolo utente, vedere Come limitare l'accesso di utenti specifici alle risorse Web specificate.

Usare ASP.NET per proteggere i tipi di file

La struttura delle applicazioni ASP.NET comporta l'archiviazione di molti file privati con file richiesti dagli utenti finali. ASP.NET protegge questi file intercettando le richieste per i file e restituendo un errore. È possibile estendere questo tipo di protezione a qualsiasi tipo di file usando le impostazioni di configurazione. Se l'applicazione include tipi di file insoliti che devono rimanere privati, è possibile usare ASP.NET protezione dei file per proteggere tali file.

Riferimenti

Per altre informazioni su come proteggere le applicazioni basate su .NET Framework, vedere Novità della distribuzione Windows 10.