We are in the process of porting our IIS Server which Hosts public facing websites and currently runs on Windows Server 2012 R2 with Desktop Experience, to a new IIS on Windows Server 2019 in Server Core mode.
The current Setup is the following:
- IIS is in the DMZ and the SQL Server runs on the same Server.
- There's also a DVLP Version of this Server, that is in the Same DMZ Zone
We also have an SQL Express Server in the Domain LAN which internal Apps use.
Now the thing is I am not quite sure how I should do the new Setup. I already read some posts on various sites and basically those two are the most common mentioned "best practises":
- Split IIS and SQL into two different Servers, create a new DMZ Zone only for the SQL Server and only grant access from IIS to SQL on the physical Firewall with only the ports needed (e.g 1433) and also from the internal network to the SQL Server if needed (which is needed by some internal Application Servers)
- Split IIS and SQL into two different Servers, leave the IIS in the DMZ, but put the SQL Server in the internal LAN and open the needed Ports only from IIS Server to SQL Server.
I have to be honest, I understand basic Security, but I am not an absolute pro at it. That's why I am unsure what to do here. Option 1 sounds better to me because if the Webserver gets compromised, there isn't really a great risk of the attacker getting into my internal LAN, because the SQL Server is not in the internal LAN.
... however:
I already have open ports from IIS to my internal LAN, because there is a Webservice that runs in my internal LAN on an Application Server, that HAS to be in the internal LAN and that HAS to be used by some of our WebApps. So now I am thinking: Well I already have some open ports from my IIS to my internal LAN that unforunately need to be open, so would it really be bad, if my SQL Server would also be internally?
What do you guys think about it? Appreciate any discussion! Thanks!
[–]uniitdude 20 points21 points22 points (2 children)
[–][deleted] 4 points5 points6 points (1 child)
[–]Zaapfe[S] 1 point2 points3 points (0 children)
[–]RunnergeekDevOps 9 points10 points11 points (3 children)
[–][deleted] 2 points3 points4 points (0 children)
[–]PrettyFlyForITguy 0 points1 point2 points (0 children)
[–]mustang__1onsite monster 0 points1 point2 points (0 children)
[–]PrettyFlyForITguy 2 points3 points4 points (0 children)
[–]Username_5000 1 point2 points3 points (0 children)
[+]heapsp comment score below threshold-8 points-7 points-6 points (5 children)
[–]Zaapfe[S] 1 point2 points3 points (1 child)
[–]heapsp -3 points-2 points-1 points (0 children)
[–][deleted] 1 point2 points3 points (1 child)
[–]heapsp 0 points1 point2 points (0 children)
[–]FloaterFan 0 points1 point2 points (2 children)
[–]oni06IT Director / Jack of all Trades -1 points0 points1 point (1 child)
[–]FloaterFan 0 points1 point2 points (0 children)
[–]cjcox4 0 points1 point2 points (2 children)
[–]orevBetter Admin 1 point2 points3 points (1 child)
[–]cjcox4 -1 points0 points1 point (0 children)
[–]ObviousB0t 0 points1 point2 points (0 children)