IIS - Web hosting
Asked By Ale
13-Feb-07 08:23 AM
I am looking to set up a web hosting service first in small scale to serve
different coorporate domains, further on to supply partners and customers the
same service.
I want to plan from the beginning for a solution that will not become
dependant on our internal domain and namespace. Is it best to build a stand
alone webserver or connect it to a corresponding AD-domain? Is there a "best
practice" available somewhere?
Obviously our internal domain will lack integration benefits from a stand
alone solution but instead gain security.
Thanks
SQL Server
(1)
Active Directory
(1)
DMZ
(1)
DNS
(1)
AD
(1)
DisplayLang
(1)
WebDav
(1)
VLANS
(1)
Patrick replied...

I don't know if there is a best practices guide, but I would probably not
deploy a standalone webserver... though I suppose it depends on your budget,
how quickly you think you might grow, and your threshold for downtime.
In our situation with multiple servers, there is no question that active
directory is the way to go. It's a single location to store all user login
information. Each server on the domain uses AD to authenticate a user, so
they don't need one password to access the streaming server and another
password to upload to their webspace and another password to view their
account. When the user changes their password, you don't have to worry about
synchronizing the passwords, you change it in active directory and you're
done.
AD replicates account information between domain controllers so you don't
have to worry about losing changes if your standalone box goes down.
You will undoubtedly be deploying a SQL server now or in the near future,
using active directory with Windows authentication on the SQL box lets you
store the SQL logins in active directory as well.
You could certainly get away with a workgroup at first but I think you're
just asking for a scaling problem in the long run.
Ale replied...
Hello and thanks.
Would this be a good solution even if we want to host sites for external
partners and customers as well?
Patrick replied...

Sure, it's even more important to have layers of redundancy if your
customers and partners are trying to access the information.
I'm not sure I was completely clear here - I don't advocate connecting this
public webserver to your EXISTING domain, I would definitely create a new
domain. That way even if the public server is compromised, they're on your
separate web hosting domain and not your internal one. Segmenting the
network is also worth exploring if budget permits. Ideally you'd have a
firewall between the public webserver and the rest of your internal network,
so even if the public server is compromised they can't also launch attacks
on each machine in your local network. Many commercial firewalls have what's
known as a "DMZ" interface, a separate interface on the firewall for
public-facing servers such as what you're proposing. Doing it this way gives
you advantages such as directly mapping to a Windows share on the webserver
from your internal LAN.
[Public Internet]-----[Firewall]--[Switch]--[Public Web Server (DMZ)]
| |----[Public SQL
Server (DMZ)]
|
[Switch]
|
[Internal Servers]
This is a simple example, you can do all kinds of other things, some
firewalls have multiple DMZs so you might put the web server in one, the SQL
server in another, and only allow traffic on the SQL server ports
(1433-1434)to pass between the Web and SQL server. Doing this prevents the
attacker from going anywhere except the web server itself. You could also
accomplish the same thing with VLANS if your switch supports them, put the
web server and SQL server on separate Vlans, then configure your firewall to
only allow traffic from Web to SQL on 1433-1434.
Ale replied...
Hello and thanks again.
I think I got the answer I was looking for. We already have the "standard"
solution that you describe. What I wanted to know was if we should set up a
devoted hosting Dc together with the web server or just have a stand alone
web server so now I now.
So in conclusion we should set up a seperate hosting domain with at least
one dc (and db-servers etc in the future) on a seperate internal network and
a webserver in the dmz that connects to the dc. What would be the appropriate
way to connect the web server to the internal network? So far we have
utilized 2 nic´s on the web servers, on for the internal net and the other
for the dmz. Does that seem ok or should we simply connect one nic to the dmz
and set up access to the internal network via the firewall rules? If so, wich
ports in the firewall need to be open in order for the dc and web server to
communicate correctly.
Thanks!
Patrick replied...
Using the dual-nic scenario bypasses the protection of the DMZ... if the web
server is compromised, they have an open door to your internal network.
This document will help with the firewall config.
http://www.microsoft.com/downloads/details.aspx?FamilyID=c2ef3846-43f0-4caf-9767-a9166368434e&DisplayLang=en
Don't forget you probably want to have a secondary DC. It can be a little
desktop machine, it won't do much work but it will keep your AD information
synchronized.
Ale replied...

Ok, the document seems to mainly deal with ipsec and security between domains
and dc´s. Good to have a list of all ports involved though.
Since we have a hardware vpn for all the traffic between dc´s in our
differerent sites that should be adequate, right? In our firewall rules all
ports are allowed for all hosts within the vpn. As I see it the only real
security threat with that is if malicious users from the inside want to
attack servers due to client traffic allowed in the vpn.
So we should connect the web server in the dmz with only one nic to the dmz
switch. The internal users can then simply access web pages by a rule that
allows the from "the outside" as would an external visitor to th web place.
The question is what traffic needs to take place between a dc and a web
server that belongs to the domain. Which part of the "Operational Building
Blocks" in the document apply to this set up?
Also, should the web servers dns client be configured to point to the
internal or external dns namespace?
I did not completely understand if in your sceanario and sql server was
placed in the dmz or internal zone?
Thanks!
Patrick replied...

I didn't realize the document was 80 pages, it is quite verbose and most of
it doesn't apply to your situation. All I intended it for was the proper
open ports.
I'm not sure what you're asking about the hardware VPN. Are the DCs for the
hosting service going to be spread out across the VPN? It's probably not
necessary to do that unless you're planning on putting redundant hosting
servers elsewhere too. Otherwise, if the connectivity where the webserver is
located goes down, you've got an offsite domain controller with your
replicated data but that does you no good because the web server is down.
You are correct about internal/external browsing.
Building blocks: I would follow the Login and Authentication section, both
computer and user are the same.
The web server will be in a domain, so it should be pointing to the domain
controller for DNS. The domain controller can point wherever you want for
DNS helper resolution.
SQL server could be in either place. Inside the internal segment protects
the SQL server from attack if the web server is compromised, but it also
gives the attacker a valid SQL password and an open port to your internal
network. Leaving it in the DMZ makes it vulnerable to direct attack if your
web server is compromised.
I don't really think you gain too much by pushing the SQL Server into the
internal network. If somebody gains control over the web server, they have
all of the usernames & passwords in every connection string on the server
and could use that to do pretty much whatever they wanted to do with the SQL
Server data.
However, if your application was developed with strict security in mind and
compromise of the connection string username & password doesn't mean that
all of the data you're trying to protect is vulnerable, it might be worth
the extra protection to bring the SQL server inside.
Ale replied...
I think I got a bit confused when I read the document. I was referring to our
current setup with our own domain over different sites, not the future
hosting domain. Since the document discussed security between dc´s I menat
that our setup with vpn between different sites would be enough. The hosting
domain will reside in a single location.
So both the websevrer and sql server should be placed in the dmz. Login and
authentication for both users and computer should be applied in the firewall
rules and be sufficient for both sql and the web server. Does a public dns
server in the dmz require the same rules as above?
In this setup all servers but the dc should be in the dmz, right?
As for using WebDav instead of ftp for updating web sites nothing but port
80 is required, right?
When setting up permissions for different customers web sites, is it best to
use local groups, domain groups or domain local groups? Is there a best
practice guide for this?
Thanks a lot!
Patrick replied...
Hehe... OK hang on again...
The only ports the world needs to see for hosting are TCP 80/HTTP and TCP
443/HTTPS. For DNS, the world needs to see UDP 53/DNS. So regardless of
where you put the public DNS server, the world needs to see UDP port 53.
These other port openings are what the servers would need to send
communications between themselves. If they're all in the same DMZ segment,
they can all talk to each other. So if you put everything in the DMZ, they
can all talk amongst themselves and you don't have to play around with
opening up Netlogon ports. I had understood your original request to mean
that you wanted some of the hosting services to reside in the Internal zone.
I'd actually never heard about WebDav, but their site says it only uses port
80.
I would always create a domain group for your permissions.
User credentials passing from IIS to SQL Server IIS I am developing an ASP.NET (2.0) application and I want to use Integrated Windows Authentication. The application connects to a SQL Server 2000 database. I envisioned the application working this way: a user logs onto a Windows client (computer A) under his / her Active Directory account and opens a browser to the ASP.NET application which resides on server B (Windows 2003). The ASP.NET application in turn connects to a SQL Server 2000 database running on server C (Windows 2000). The SQL Server database has a listing
real-time which website are viewed? With Performance and Log Monitor? Thanks, Alex IIS Discussions SQL Server 2005 (1) SQL Server 2008 (1) SQL Server (1) IIS 6.0 (1) IIS (1) FTP (1) Alex (1) F0831c18 (1) Hi Alex You can use Performance Monitor (perfmon.msc, perfmon.exe) to monitor active Web and FTP Connections. The following TechNet article provides the necessary information: http: / / www.microsoft 4d13-99e7-8a32362ba4ff.mspx?mfr = true Cheers, Artemakis - - Artemakis Artemiou B.Sc., M.Sc., Microsoft SQL Server MVP, MCP, MCTS:SQL Server 2005, MCTS:SQL Server 2008 (Charter Member). http: / / aartemiou
IIS + SQL sever delegation woes IIS Hello, I am having trouble with SQL Server 2005 logins and delegation from a Workflow applicatio called via an ASP.NET app. Here is a detailed account of my setup: My IIS server 6.0 is on a different machine than my SQL Server, but they are on the same domain. Both machines are running Server 2003. I'm using .NET 3.5. In IIS the application has anonymous users allowed but the anonymous user is a domain user with db_owner role status set on the SQL database. For the heck of it I gave the domain user domain admin. Here is
Event ID: 5 Error IIS Dear all, We are having one web server containning HR website. That server having windows 2000 server SP4 OS with IIS 5.5 and SQL server 7.0. All security patches were updated. Configuration of the server is Pentium4 3.6 Ghz processor with 2 GB RAM. Last night the website in that server could not open. HTTP / 1.1 / 500 internal server error appeared. Untill the IIS server had restarted the site could not open. When we
to send an automated email each day (Member expiration notices). The data sits in an SQL Server but SQL Mail is not available. Building an .asp page that makes this happen isn't a to run. Any ideas on how to make this happen? Thanks Brett IIS ASP Discussions SQL Server (1) WScript.Shell (1) ASP.NET (1) Database (1) VBScript (1) CreateObject (1) WshShell (1 MVP ASP / ASP.NET Hi Brett, In Enterprise Manager expand the Management Tab, then the SQL Server Agent Tab and click on Jobs. Now right click on Jobs and create a new then click on the Steps tab. Click on New, name the step and then select Active X Script from the type list. Copy and paste the code into command text area