Plan security hardening for SharePoint Server

SI APPLICA A:yes-img-132013 yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint in Microsoft 365

Snapshot sicuri dei server

In un ambiente server farm, i singoli server hanno ruoli specifici. I consigli relativi alla sicurezza avanzata per tali server dipendono dal ruolo di ogni server. Questo articolo contiene snapshot sicuri per due categorie di ruoli dei server:

Gli snapshot sono divisi in categorie di configurazione comuni. Le caratteristiche definite per ogni categoria rappresentano lo stato di protezione avanzata ottimale per SharePoint Server. Questo articolo non include indicazioni sulla protezione avanzata per altri prodotti software presenti nell'ambiente.

Oltre ad adottare misure di protezione avanzata dei server per ruoli specifici, è importante proteggere la farm di SharePoint interponendo un firewall tra i server della farm e le richieste esterne. È possibile utilizzare le indicazioni in questo articolo per configurare un firewall.

Server SharePoint

Questa sezione identifica le caratteristiche di protezione avanzata per i server SharePoint. Alcune indicazioni riguardano applicazioni di servizio specifiche; in questi casi è necessario applicare le caratteristiche corrispondenti solo ai server che eseguono i servizi associati alle applicazioni di servizio specificate.

Categoria Caratteristica
Servizi elencati nello snap-in MMC Servizi
Attivare i servizi seguenti:
ASP.NET Servizio informazioni sullo stato (se si usa InfoPath Forms Services o Project Server 2016)
Visualizzare il servizio stato (se si usa InfoPath Forms Services)
Servizio Pubblicazione sul Web
Accertarsi che questi servizi non siano disattivati:
Attestazioni per il servizio token Windows
Amministrazione di SharePoint
Servizio timer di SharePoint
Servizio di traccia di SharePoint
SharePoint VSS Writer
Accertarsi che questi servizi non siano disattivati nei server che ospitano i ruoli corrispondenti:
Servizio di memorizzazione nella cache di AppFabric
Host codice utente di SharePoint
Controller host del servizio di ricerca di SharePoint
Servizio di ricerca di SharePoint Server
Porte e protocolli
TCP 80, TCP 443 (SSL)
Porte personalizzate per la ricerca per indicizzazione della ricerca, se configurata (ad esempio, la ricerca per indicizzazione di una condivisione file o un sito Web su una porta non predefinita)
Porte utilizzate dal componente di indicizzazione della ricerca - TCP 16500-16519 (solo all'interno della farm)
Porte necessarie per il Servizio di memorizzazione nella cache di AppFabric - TCP 22233-22236
Porte necessarie per le comunicazioni Windows Communication Foundation - TCP 808
Porte necessarie per la comunicazione tra server SharePoint e applicazioni di servizio (l'impostazione predefinita è HTTP):
Binding HTTP: TCP 32843
Binding HTTPS: TCP 32844
Binding net.tcp: TCP 32845 (solo se questa opzione è stata implementata da terzi per un'applicazione di servizio)
Se l'ambiente di rete del computer usa Windows Server 2012, Windows Server 2008, Windows Server 2008 R2, Windows 7 o Windows Vista insieme alle versioni di Windows precedenti a Windows Server 2012 e Windows Vista, è necessario abilitare la connettività su entrambi gli intervalli di porte seguenti:
Intervallo di porte di numero alto da 49152 a 65535
Intervallo di porte di numero basso da 1025 a 5000
Porte predefinite per la comunicazione SQL Server: TCP 1433, UDP 1434. Se queste porte sono bloccate nel computer SQL Server e i database vengono installati in un'istanza denominata, configurare un alias client SQL Server per la connessione all'istanza denominata.
Servizio codice utente di Microsoft SharePoint Foundation (per soluzioni sandbox) - TCP 32846. Questa porta deve essere aperta per le connessioni in uscita in tutti i front-end e front-end con server cache distribuita. Questa porta deve essere aperta per le connessioni in ingresso in Front-end e Front-end con server cache distribuita in cui il servizio è attivato.
Verificare che le porte rimangano aperte per le applicazioni Web accessibili all'utente.
Bloccare l'accesso esterno alla porta utilizzata per il sito Amministrazione centrale.
SMTP per l'integrazione della posta elettronica: TCP 25 o una porta TCP personalizzata se la posta elettronica in uscita è stata configurata per l'uso di una porta non predefinita.
Registro di sistema
Nessuna indicazione aggiuntiva
Controllo e registrazione
Se i file di log vengono spostati, verificare che i percorsi corrispondenti vengano aggiornati. Aggiornare inoltre gli elenchi di controllo di accesso alle directory (ACL).
Web.config
Attenersi ai consigli seguenti per ogni file Web.config creato dopo l'esecuzione del programma di installazione:
Non consentire la compilazione o la creazione di script di pagine di database tramite gli elementi PageParserPaths.
Assicurarsi <che SafeMode> CallStack="false" e AllowPageLevelTrace="false".
Verificare che i limiti delle web part relativi al numero massimo di controlli per area siano impostati su valori bassi.
Verificare che l'elenco SafeControls sia impostato sull'insieme minimo di controlli necessari per i siti.
Verificare che l'elenco SafeTypes del flusso di lavoro sia impostato sul livello minimo di SafeTypes necessari.
Assicurarsi che customErrors sia attivato (<customErrors mode="On"/>).
Considerare le impostazioni del proxy Web in base alle esigenze (<system.net>/<defaultProxy>).
Impostare il limite Upload.aspx sulle dimensioni più elevate che si prevede ragionevolmente verranno caricate dagli utenti. Le prestazioni possono essere influenzate da caricamenti che superano i 100 MB.

Ruolo del server di database

Nota

Con l'aggiunta della funzionalità MinRole in SharePoint Server 2016, il concetto di ruoli è cambiato. Per informazioni sui ruoli, vedere Pianificazione della distribuzione di un server MinRole in SharePoint Server 2016.

La raccomandazione principale per SharePoint Server consiste nel proteggere la comunicazione tra farm bloccando le porte predefinite usate per la comunicazione SQL Server e stabilendo invece porte personalizzate per questa comunicazione. Per altre informazioni su come configurare le porte per la comunicazione SQL Server, vedere Bloccare le porte SQL Server standard più avanti in questo articolo.

Categoria Caratteristica
Porte
Bloccare la porta UDP 1434.
Valutare la possibilità di bloccare la porta TCP 1433.

Questo articolo non descrive come proteggere SQL Server. Per altre informazioni su come proteggere SQL Server, vedere Protezione di SQL Server (https://go.microsoft.com/fwlink/p/?LinkId=186828).

Indicazioni specifiche su porte, protocolli e servizi

Il resto di questo articolo descrive in modo più dettagliato i requisiti di protezione avanzata specifici per SharePoint Server.

Contenuto della sezione:

Blocco delle porte standard di SQL Server

Le porte specifiche usate per connettersi a SQL Server sono interessate dal fatto che i database siano installati in un'istanza predefinita di SQL Server o in un'istanza denominata di SQL Server. L'istanza predefinita di SQL Server è in ascolto delle richieste client su TCP 1433. Un'istanza denominata di SQL Server è in ascolto su un numero di porta assegnato in modo casuale. Il numero di porta per un'istanza denominata può essere inoltre riassegnato in caso di riavvio dell'istanza, a seconda della disponibilità del numero di porta assegnato in precedenza.

Per impostazione predefinita, i computer client che si connettono a SQL Server prima di tutto si connettono tramite TCP 1433. Se questa comunicazione non riesce, i computer client eseguono query sul servizio di risoluzione SQL Server in ascolto su UDP 1434 per determinare la porta su cui è in ascolto l'istanza del database.

Il comportamento predefinito di comunicazione delle porte di SQL Server introduce diversi problemi che influiscono sulla protezione avanzata del server. In primo luogo, le porte usate da SQL Server sono porte ben pubblicizzate e il servizio di risoluzione SQL Server è stato il bersaglio di attacchi di sovraccarico del buffer e attacchi denial-of-service, tra cui il virus worm "Slammer". Anche se SQL Server viene aggiornato per attenuare i problemi di sicurezza nel servizio di risoluzione SQL Server, le porte ben pubblicizzate rimangono una destinazione. In secondo luogo, se i database vengono installati in un'istanza denominata di SQL Server, la porta di comunicazione corrispondente viene assegnata in modo casuale e può cambiare. Questo comportamento potrebbe impedire la comunicazione tra server in un ambiente con protezione avanzata. La possibilità di controllare quali porte TCP debbano essere aperte o bloccate è essenziale per la protezione dell'ambiente.

Nota

È consigliabile usare le porte SQL standard, ma assicurarsi che il firewall sia configurato per consentire la comunicazione solo con i server che devono accedere al SQL Server. Ai server che non richiedono l'accesso al SQL Server deve essere impedito di connettersi al SQL Server tramite la porta TCP 1433 e la porta UDP 1444.

Sono disponibili diversi metodi per il blocco delle porte. È possibile bloccare le porte utilizzando un firewall. Tuttavia, a meno che non si possa essere certi che non ci siano altre route nel segmento di rete e che non ci siano utenti malintenzionati che hanno accesso al segmento di rete, è consigliabile bloccare queste porte direttamente nel server che ospita SQL Server. A tale scopo, utilizzare Windows Firewall nel Pannello di controllo.

Configurazione di istanze di database SQL Server per l'ascolto su una porta non standard

In SQL Server è possibile riassegnare le porte utilizzate dall'istanza predefinita e da qualsiasi istanza denominata. In SQL Server riassegnare le porte usando Gestione configurazione SQL Server.

Configurazione di alias per client di SQL Server

In una server farm tutti i server Web front-end e i server applicazioni sono SQL Server computer client. Se si blocca UDP 1434 nel computer SQL Server o si modifica la porta predefinita per l'istanza predefinita, è necessario configurare un alias client SQL Server in tutti i server che si connettono al computer SQL Server. In questo scenario, l'alias client SQL Server specifica la porta TCP su cui è in ascolto l'istanza denominata.

Per connettersi a un'istanza di SQL Server, installare SQL Server componenti client nel computer di destinazione e quindi configurare l'alias client SQL Server usando Gestione configurazione SQL Server. Per installare SQL Server componenti client, eseguire il programma di installazione e selezionare solo i componenti client seguenti da installare:

  • Componenti di connettività

  • Strumenti di gestione (include Gestione configurazione SQL Server)

Per i passaggi di protezione avanzata specifici per bloccare le porte di SQL Server standard, vedere Configurare la sicurezza SQL Server per SharePoint Server.

Comunicazione con le applicazioni di servizio

Per impostazione predefinita, la comunicazione tra server SharePoint e applicazioni di servizio all'interno di una farm avviene tramite HTTP con un'associazione a TCP 32843. Quando si pubblica un'applicazione di servizio, è possibile selezionare HTTP o HTTPS con i binding seguenti:

  • Binding HTTP: TCP 32843

  • Binding HTTPS: TCP 32844

Le terze parti che sviluppano applicazioni di servizio possono inoltre implementare una terza opzione:

  • Binding net.tcp: TCP 32845

È possibile modificare il binding tra protocollo e porta per ogni applicazione di servizio. Nella pagina Applicazioni di servizio di Amministrazione centrale selezionare l'applicazione di servizio e quindi fare clic su Pubblica.

È anche possibile visualizzare e modificare le associazioni HTTP/HTTPS/net.tcp usando i cmdlet Di Microsoft PowerShell Get-SPServiceHostConfig e Set-SPServiceHostConfig .

La comunicazione tra applicazioni di servizio e SQL Server avviene tramite le porte di SQL Server standard o le porte configurate per la comunicazione SQL Server.

Connessioni a server esterni

È possibile configurare diverse funzionalità di SharePoint Server per accedere ai dati che si trovano nei computer server esterni alla server farm. Se si configura l'accesso a dati che si trovano in server esterni, assicurarsi di consentire le comunicazioni tra i computer appropriati. Nella maggior parte dei casi, le porte, i protocolli e i servizi utilizzati dipendono dalla risorsa esterna. Ad esempio:

  • Per le connessioni a condivisioni file viene utilizzato il servizio Condivisione file e stampanti.

  • Per le connessioni a database di SQL Server esterni si utilizzano le porte predefinite o personalizzate per le comunicazioni con SQL Server.

  • Per le connessioni a database Oracle si utilizza in genere OLE DB.

  • Per le connessioni a servizi Web si utilizzano i protocolli HTTP e HTTPS.

Nella tabella seguente sono elencate le caratteristiche che è possibile configurare per l'accesso a dati memorizzati in computer server all'esterno della server farm.

Caratteristica Descrizione
Ricerca per indicizzazione del contenuto
È possibile configurare regole di ricerca per indicizzazione per eseguire la ricerca per indicizzazione di dati che risiedono in risorse esterne, inclusi siti Web, condivisioni file, cartelle pubbliche di Exchange e applicazioni per dati business. Quando si esegue la ricerca per indicizzazione di origini dati esterne, il ruolo ricerca per indicizzazione comunica direttamente con tali risorse esterne.
Per altre informazioni, vedere Gestire la ricerca per indicizzazione in SharePoint Server.
Connessioni al servizio di integrazione applicativa dei dati
I server Web e i server applicazioni comunicano direttamente con i computer configurati per le connessioni al servizio di integrazione applicativa dei dati.

Requisiti del servizio per l'integrazione della posta elettronica

Per l'integrazione della posta elettronica è necessario utilizzare i due servizi seguenti:

Servizio SMTP

L'integrazione della posta elettronica richiede l'utilizzo del servizio SMTP (Simple Mail Transfer Protocol) in almeno uno dei server Web front-end della server farm. Il servizio SMTP è necessario per la posta in arrivo. Per la posta in uscita, è possibile utilizzare il servizio SMTP oppure instradare la posta in uscita attraverso un server di posta elettronica dedicato nell'organizzazione, ad esempio un computer che esegue Microsoft Exchange Server.

Servizio di gestione directory di Microsoft SharePoint

SharePoint Server include un servizio interno, Microsoft SharePoint Directory Management Service, per la creazione di gruppi di distribuzione di posta elettronica. Durante la configurazione dell'integrazione della posta elettronica è possibile attivare la caratteristica Servizio di gestione directory, che consente agli utenti di creare liste di distribuzione. Quando gli utenti creano un gruppo di SharePoint e quindi selezionano l'opzione per la creazione di una lista di distribuzione, il Servizio di gestione directory di Microsoft SharePoint crea la lista di distribuzione di Active Directory corrispondente nell'ambiente Active Directory.

Negli ambienti con protezione avanzata è consigliabile limitare l'accesso al Servizio di gestione directory di Microsoft SharePoint proteggendo il file associato a tale servizio, ovvero SharePointEmailws.asmx. Ad esempio, è possibile consentire l'accesso a questo file solo all'account della server farm.

Inoltre, questo servizio richiede le autorizzazioni nell'ambiente Active Directory per creare oggetti della lista di distribuzione di Active Directory. È consigliabile configurare un'unità organizzativa separata in Active Directory per gli oggetti di SharePoint Server. Solo questa unità organizzativa deve consentire l'accesso in scrittura all'account usato dal servizio di gestione directory di Microsoft SharePoint.

Requisiti del servizio per lo stato della sessione

Sia Project Server 2016 che InfoPath Forms Services mantenere lo stato della sessione. Se si distribuiscono queste caratteristiche o questi prodotti nella server farm, non disattivare il servizio informazioni sullo stato di ASP.NET. Inoltre, se si distribuisce InfoPath Forms Services, non disabilitare il servizio Visualizza stato.

Servizi prodotti SharePoint Server

Non disabilitare i servizi installati da SharePoint Server (elencati nello snapshot precedente).

Se l'ambiente in uso non consente servizi eseguiti come sistema locale, si può prendere in considerazione la disattivazione del servizio Amministrazione SharePoint solo se si è consapevoli delle conseguenze e si è in grado di gestirle. Si tratta di un servizio Win32 eseguito come sistema locale.

Questo servizio viene utilizzato dal servizio Timer di SharePoint per eseguire azioni che necessitano di autorizzazioni amministrative nel server, ad esempio la creazione di siti Web Internet Information Services (IIS), la distribuzione di codice e l'arresto e l'avvio di servizi. Se si disattiva questo servizio, non sarà possibile completare attività correlate alla distribuzione dal sito Amministrazione centrale. È necessario usare Microsoft PowerShell per eseguire il cmdlet Start-SPAdminJob o usare lo strumento da riga di comando Stsadm.exe per eseguire l'operazione execadmsvcjobs ) per completare distribuzioni a più server per SharePoint Server ed eseguire altre attività correlate alla distribuzione.

File Web.config

In .NET Framework e in particolare in ASP.NET vengono utilizzati file di configurazione in formato XML per la configurazione di applicazioni. I file di configurazione vengono utilizzati in .NET Framework per definire le opzioni di configurazione. Si tratta di file XML basati su testo. In genere, in un singolo sistema esistono più file di configurazione.

Le impostazioni di configurazione a livello di sistema per .NET Framework sono definite nel file Machine.config. Il file Machine.config si trova nella cartella %SystemRoot%\Microsoft.NET\Framework%VersionNumber%\CONFIG\. Le impostazioni predefinite contenute nel file Machine.config possono essere modificate in modo da influire sul comportamento delle applicazioni che usano .NET Framework nell'intero sistema.

Se si crea un file Web.config nella cartella radice dell'applicazione, è possibile modificare le impostazioni di configurazione di ASP.NET per una singola applicazione. Quando si esegue tale operazione, le impostazioni nel file Web.config sostituiscono le impostazioni incluse nel file Machine.config.

Quando si estende un'applicazione Web tramite Amministrazione centrale, SharePoint Server crea automaticamente un file di Web.config per l'applicazione Web.

Lo snapshot del server Web e del server applicazioni presentato in precedenza in questo articolo elenca le raccomandazioni per la configurazione dei file Web.config. Queste raccomandazioni devono essere applicate a ogni file Web.config creato, incluso il file Web.config per il sito Amministrazione centrale.

Per altre informazioni sui file di configurazione ASP.NET e sulla modifica di un file Web.config, vedere ASP.NET Configuration (https://go.microsoft.com/fwlink/p/?LinkID=73257).

Vedere anche

Concetti

Sicurezza per SharePoint Server