Tl; Dr
Ho un'istanza di SQL Server (SQLSERVER01-i01) con un indirizzo IP e una porta dedicati (162.xxx.xxx.51: 1433) su un SQL Server multiistanza (ogni istanza di SQL Server su Windows Server ha il proprio indirizzo IP ) che sono tutti in esecuzione su un server Windows (SQLSERVER01 / 162.xxx.xxx.50).
Ho anche un'istanza di Reporting Services dedicata (SQLSERVERRS01-i01) con il proprio indirizzo IP e porta (168.xxx.xxx.71: 1433), che è in esecuzione su un altro server Windows (SQLSERVERRS01) con il proprio indirizzo IP (168 .xxx.xxx.70).
Il server dedicato di Reporting Services ha un'applicazione APPL1
che può essere raggiunta tramite http://SQLSERVERRS01-i01:80/Reports_APPL1
o tramite http://SQLSERVERRS01:80/Reports_APPL1
.
SSRS raccoglierà entrambe le richieste a causa della *:80
configurazione nella configurazione di Reporting Services per le intestazioni host.
Abbiamo più firewall tra ogni intervallo IP, il che significa che dobbiamo applicare una regola specifica per ogni connessione IP-to-IP o IP-range-IP. Tuttavia, quando sono coinvolti due server, la sicurezza impone che debba sempre essere una regola da IP a IP nel firewall.
Domanda
(basato sulla schermata più in basso)
Quando il server Reporting Services si connette all'istanza di SQL Server (su 162.xxx.xxx.51) per recuperare i dati, creerà sempre una connessione con l'indirizzo IP sottostante del server Windows (168.xxx.xxx.70 / preferito ) su cui è in esecuzione SSRS o (a volte) utilizzerà l'indirizzo IP dell'istanza di SQL Server Reporting Services (168.xxx.xxx.71)?
Ciò è rilevante per la configurazione della regola firewall mediante un approccio IP-IP. Dovrò richiedere una regola che definisce una connessione da 168.xxx.xxx.71 a 162.xxx.xxx.51 tramite la porta 1433 o una connessione da 168.xxx.xxx.70 a 162.xxx.xxx.51 tramite porta 1433.
Attualmente vorrei applicare per entrambe le regole del firewall.
Domanda bonus
Posso configurare il server Reporting Services per comunicare con un indirizzo IP dedicato? In questo caso con l'indirizzo 168.xxx.xxx.71.
Risposte che non sto cercando
Non sto cercando consigli su come ottimizzare la configurazione del firewall o su come implementare un concetto di suddivisione in zone per le nostre reti. (È già in cantiere). Inoltre, non sono interessato al feedback che suggerisce che avere SQL Server e SSRS sullo stesso server risolverà i miei problemi. Lo so e lo farei volentieri, ma per il software di terze parti richiesto per funzionare insieme ai componenti SSRS.
Funziona
La configurazione che ho funziona se applico entrambe le regole del firewall tra l'istanza di SSRS e SQL Server.
168.xxx.xxx.71 --> 162.xxx.xxx.51 : 1433
168.xxx.xxx.70 --> 162.xxx.xxx.51 : 1433
Voglio ridurre in sicurezza con una regola del firewall e assicurarmi che tutto funzioni ancora. (Vedi lo screenshot più in basso)
Modifica: gli articoli che ho letto finora suggeriscono che ho solo bisogno della seconda regola, ma non c'è garanzia.
Articoli che ho già consultato
Considerazioni sulla sicurezza per un
articolo della Base di installazione di SQL Server .Configurare Windows Firewall per consentire l'accesso a SQL Server
Questo articolo rimanda a tutti gli altri articoli riguardanti la configurazione del firewall per SQL Server.Configurare un Windows Firewall per l'accesso al motore di database
Nessuna parola di indirizzi IP utilizzata.Configurare un firewall per l'accesso al server di report
Questo articolo è stato piuttosto interessante in quanto ha osservato:Se si accede a database relazionali di SQL Server su computer esterni o se il database del server di report si trova su un'istanza esterna di SQL Server, è necessario aprire le porte 1433 e 1434 sul computer esterno.
Selezione dell'indirizzo IP di origine su un computer Windows multihomed
Gli articoli 5 e 6 mi sono stati gentilmente forniti da James (dba.se). Attualmente sembrano essere le risposte più appropriate. Sono tuttavia un po 'scettico sul fatto che un articolo menzioni l'uso di più schede di rete mentre ho solo una scheda di rete con più IP assegnati ad essa. Tom (dba.se) ha anche contribuito con consigli e commenti generali.
Perché qui e non in dba.stackexchange.com
All'inizio ero riluttante a pubblicare questa domanda in serverfault.com a causa della natura complessa della domanda. La domanda ha entrambe le tendenze ad essere specifiche di SQL Server, ma anche specifiche di Windows Server. Alla fine ho deciso di pubblicarlo qui, perché penso che sia un IP di Windows Server che gestisce cose (per la perdita di parole migliori).
Se un moderatore pensa che otterrò una risposta migliore in dba.stackexchange.com, ti preghiamo di spostare la domanda lì.
La lunga spiegazione
Nel nostro ambiente abbiamo server Windows che ospitano più istanze di SQL Server e più impostazioni IP. Aggiungiamo configurazioni firewall complesse, server dedicati SQL Server Reporting Services (SSRS) e creiamo un ambiente un po 'simile a questo:
Fondamentalmente possiamo avere un Windows Server che esegue fino a 15 (quindici) istanze di SQL Server su singoli indirizzi IP. Lo stesso vale per l'istanza dedicata di Reporting Services.
Regole del firewall
I diversi intervalli IP non sono attualmente configurati come zone, il che significa che dobbiamo configurare ciascuna regola del firewall in modo indipendente come regola IP-to-IP o IP-range-IP. Quando sono coinvolti due server, la sicurezza impone che debba sempre essere una regola da IP a IP. Ogni istanza di SQL Server avrà il proprio set di regole per i firewall coinvolti nelle comunicazioni, sia esso un collegamento da server a server o da client a server. La richiesta di una regola firewall comporta attualmente un periodo di attesa di 4-6 settimane. Ridurre la quantità di regole del firewall ridurrà la pressione sul team di sicurezza della rete.
Configurazione IP dell'istanza di SQL Server
La configurazione di un'istanza di SQL Server per il rilevamento solo su un IP e una porta dedicati viene eseguita modificando alcune impostazioni nell'utilità Gestione configurazione SQL Server. Il primo passo è avviare SQL Server Configuation Manager e nella sezione sinistra selezionare la configurazione di rete di SQL Server | Protocolli per InstanceName . Nel riquadro sinistro fare clic con il pulsante sinistro del mouse sul nome del protocollo TCP / IP e abilitare il protocollo. Quindi fare nuovamente clic con il pulsante sinistro del mouse sul protocollo e visualizzare la finestra Proprietà per TCP / IP .
Quindi assicurarsi che le seguenti impostazioni siano impostate nel registro Protocollo :
Enabled : Yes
Listen All : No
Nel registro degli indirizzi IP verificare le seguenti impostazioni per l'indirizzo IP in questione (ad es. Per il server Reporting Services in questo esempio sarebbe per 168.xxx.xxx.71)
Active : Yes
Enabled : Yes
IP Address : 168.xxx.xxx.71
TCP Dynamic Ports :
TCP Port : 1433
Nota: è importante che l'impostazione per TCP Dynamic Ports sia vuota non solo a 0 (zero).
Ora hai un'istanza di SQL Server che raccoglierà le connessioni al database solo su 168.xxx.xxx.71 usando la porta 1433.
Riepilogo istanza di SQL Server
Il servizio SQL Server Browser non è in esecuzione e ogni singola istanza di SQL Server è configurata per utilizzare solo il proprio indirizzo IP sulla porta 1433. Data un'istanza di SQL Server denominata GENERAL, un server Windows con il nome host SQLSERVER01 e due indirizzi IP 162.xxx .xxx.50 (host) e 162.xxx.xxx.51 (istanza SQL) Concluderò con i seguenti elementi di configurazione:
Windows Server : SQLSERVER01
Windows Server IP : 162.xxx.xxx.50
SQL Server Instance : SQLSERVER01-i01 (DNS A record)
SQL Server Instance : GENERAL (can only be used on the host itself)
SQL Server IP/Port : 162.xxx.xxx.51:1433
SQL Server non raccoglierà richieste per 162.xxx.xxx.50: 1433, poiché nessuna istanza di SQL Server è configurata per l'ascolto su questo indirizzo IP nell'utilità Gestione configurazione SQL Server. SQL Server raccoglierà solo le richieste per SQLSERVER01-i01 (sulla porta 1433) o 162.xxx.xxx.51,1433.
Riepilogo istanza di SQL Server Reporting Services
Il servizio SQL Server Browser non è in esecuzione e ogni singola istanza di SQL Server Reporting Services è configurata per utilizzare solo il proprio indirizzo IP sulla porta 1433. Data un'istanza di SQL Server Reporting Services denominata GENERAL, un server Windows con il nome host SQLSERVERRS01, un'applicazione sul nome SSRS APPL1
e due indirizzi IP 168.xxx.xxx.70 (host) e 168.xxx.xxx.71 (istanza SQL) finirò con i seguenti elementi di configurazione:
Windows Server : SQLSERVERRS01
Windows Server IP : 168.xxx.xxx.70
SQL Server Instance : SQLSERVERRS01-i01 (DNS A record)
SQL Server Instance : GENERAL (can only be used on the host itself)
SQL Server IP/Port : 168.xxx.xxx.71:1433
Reporting Services : http://sqlserverrs01-i01/Reports_APPL1
http://sqlserverrs01/Reports_APPL1
SQL Server non raccoglierà richieste per 168.xxx.xxx.70: 1433, poiché nessuna istanza di SQL Server è configurata per l'ascolto su questo indirizzo IP nell'utilità Gestione configurazione SQL Server. SQL Server raccoglierà solo richieste per SQLSERVER01-i01 (sulla porta 1433) o 162.xxx.xxx.71,1433.
SSRS raccoglierà le richieste per http: // sqlserverrs01-i01 / Reports_APPL1 o http: // sqlserverrs01 / Reports_APPL1 a causa della configurazione *: 80 nella configurazione di Reporting Services per le intestazioni host.
Spero di aver fornito informazioni sufficienti per chiunque sia disposto a trascorrere il proprio tempo a scrivere una risposta e non vedo l'ora di ricevere i tuoi dettagli tecnici e i tuoi collegamenti.
Scritto con StackEdit e successivamente modificato manualmente per essere compatibile con stackexchange.
Storia
Modifica 1 : versione iniziale
Modifica 2 : riformattata per essere leggibile. Spiegazione spiegata SF / DB verso il basso. Aggiunto nome host per Windows Server
Edit 3 : risolti indirizzi IP errati nell'elenco delle regole del firewall.
Modifica 4 : ha cambiato la parola hosting in esecuzione (è un ambiente non virtualizzato) in alcuni punti. Aggiunto indirizzo IP in una sola frase
Modifica 5 : aggiunto un elenco di articoli che ho già consultato e referenziato supporto
Modifica 6 : sezione Cronologia pulita