This isn't specific to the book "ASP.NET Website Programming", but it's not a bad question. I don't want to address the issue of your firewall, because that's a local problem you have to work out. But it is good to discuss how to "mark a website down", so users will get a friendly message instead of an ugly error message.
I would do this with an XML configuration file. It would be a small file that just tells whether your website is "on" or "off". I'd read this XML file into the cache so it's available to all pages without doing any File I/O. Then I'd set a cache dependency on the actual file, so it will get reloaded automatically if you change the file. Before any page does any processing, they just check the XML in the cache to see if the website has been marked down. If it's down, they just redirect to a "I'm sorry, we're down for maintenance" page.
You should be able to put this code in the base class that all pages inherit from. This way it's only in one place.
See this thread for info on cache dependencies:
http://www.gotdotnet.com/Community/M...aspx?id=146256
Eric