Sunday, November 16, 2008

List of free email servers for Windows

http://www.donationcoder.com/Forums/bb/index.php?topic=11152.0;prev_next=next

Good article on relative merits of Security by Obscurity

http://technet.microsoft.com/en-us/magazine/cc510319.aspx

Tuesday, November 11, 2008

Kerio Mail server and authentication

To use Secure Password authentication make sure the Windows 2000/NT domain name e.g. myhome.lan -> myhome is included on the DOMAIN/ADVANCED tab below the Kerberos domain name (myhome.lan)


Another nice one on host headers

http://www.gafvert.info/notes/iis_multiple_websites.htm

 

Introduction

IIS 6.0 is capable of hosting multiple websites on one server. This is done by separating the websites with unique combinations of host header name, IP number and port. This article will explain the different ways of hosting multiple websites using IIS, and will guide you thru setting IIS 6.0 up to host multiple websites using the host header approach.

How IIS can host multiple websites

To distinguish between websites, IIS looks at three attributes:

  • The host header name
  • The IP number
  • The port number

For each website, the combination of these three attributes must be unique. This means that you can have two websites using two different IP numbers, two different ports, or two different host headers (and of course also any combination of the three). Whatever combination you select, it is stored in the metabase property called ServerBindings[1] in the string format IP:Port:Hostname, for example 192.168.0.1:80:www.gafvert.info. Luckily enough, you do not need to understand anything of the metabase nor the ServerBindings property to follow this article.

The host header name and IP number can be omitted and in that case the website accepts all host header names and/or (depending on if both attributes were omitted) IP numbers. This can of course only be done for one website (otherwise IIS would be confused and would not know which website should handle the request).

What is a host header?

A host header is a string part of the request sent to the web server (it is in the HTTP header). This means that configuring IIS to use host headers is only one step in the approach to host multiple websites using host headers to distinguish between the websites. A configuration of the DNS server (usually means that you need to add an (A) record for the domain) is also required, so the client can find the web server.

Setting up IIS for multiple websites

Now when we have some background and understand how IIS works in relation to hosting multiple websites, and that the DNS server (also known as name server) must be updated to include the new domain, we can start with the configuration of IIS.

Configuring IIS for this is actually not difficult at all. I will use a default installation of Windows Server 2003 Standard Edition, and a default installation of IIS (also see Install and configure IIS 6.0 to serve ASP, ASP.NET and static pages).

  • Open IIS Manager
  • Right click the "Web Sites" folder and click New->Web Site
  • Click Next when the "Web Site Creation Wizard" starts.
  • Type a description of the website and click Next. The description has nothing to do with how the clients access the website; it is only a description that you, the website administrator, use to know which website it is.

Web Site Creation Wizard - Set Description

  • Enter the IP Address or use "All unassigned", the port number and the host header name and then click Next. In this example I used "All unassigned", port 80 and a host header name of beta.gafvert.info.

Web Site Creation Wizard - Set Host Header

  • Enter the path to the home directory and click Next. This directory do not have to be in the Inetpub or wwwroot folder, it can be anywhere on the file system. In this example I placed it on the D: drive in the folder D:\webs\beta.

Web Site Creation Wizard - Set Home Directory

  • Set the access permissions for the new website and click Next. By default, only read access is allowed, and unless you need to, do not change.

Web Site Creation Wizard - Set Access Permissions

  • Click Finish.

You have now successfully configured IIS to host two websites, using a host header to distinguish the second website.

The next step is to add an (A) record for beta.gafvert.info (the example) in the DNS server. How to do this depends on the DNS server, and what user interface you have to configure the DNS server, so a step-by-step guide for this has been excluded. This step must however be done, or else your visitors will not be able to find the web server.

A DNS Server is not necessary. The hosts file can also be used, but that means the hosts file must be edited on each client. A CNAME can also be used instead of an (A) record. What is important however is that the client machine must find the web server by using the name you have chosen as host header name, and how the client does this is not related to IIS.

Troubleshooting

The most critical part of this is actually outside of IIS – it is the name resolution. So most problems when setting up multiple websites is that the client is unable to find the server. If this is true can easily be checked:

  • Open a command prompt (Start->Run, cmd)
  • Type "nslookup beta.gafvert.info" (without the quotes, and replace beta.gafvert.info with the name you want to test)

The IP address returned by nslookup should match the IP address of the web server. If it does not, the problem is related to name resolution and cannot be fixed by an IIS configuration. That is, the DNS server, hosts file, or whatever you use so that the clients find the web server is incorrect configured.

Another common problem reveals itself during the Web Site Creation Wizard; you are unable to create the website with the combination of host header, IP and port you want to. This means that the combination you try to use is not unique, and you will have to check the websites already configured on the server.

A third common problem is that although you use the domain name you have specified to reach the website, you are taken to the "default website" (or any other website that has been configured without host header and listens on the same port number and IP number). This has two possible explanations – the website is not properly configured, or IIS does not receive the host header. The latter sounds very uncommon, but is actually quite common. First of all, the Host header is part of the HTTP 1.1 specification, so if the client is using HTTP 1.0, this is expected (all new clients use HTTP 1.1). Second, if the DNS service you use is not true DNS but instead some kind of forwarding service, it happens that the host header is vanished somewhere. So the tip is that if you experience this, verify that IIS actually gets the host header you expect it to get. This problem is rarely related to IIS (since there is not much that can go wrong in the configuration of IIS).

A "400 – Bad Request (Invalid Hostname)" is returned if the above problem is true, but there is no "default website" that accepts all requests on that IP number and port.

At the Datamail Group we value teamwork, respect, achievement, client focus, and courage.  This email with any attachments is confidential and may be subject to legal privilege.   If it is not intended for you please advise by replying immediately, destroy it and do not  copy, disclose or use it in any way.  The Datamail Group, through our GoGreen programme, is committed to environmental sustainability.   Help us in our efforts by not printing this email. __________________________________________________________________   This email has been scanned by the DMZGlobal Business Quality               Electronic Messaging Suite. Please see http://www.dmzglobal.com/dmzmessaging.htm for details. __________________________________________________________________  

Host Headers on IIS 6 - nice guide

 

http://www.4guysfromrolla.com/webtech/080200-1.shtml

 

In the aforementioned article the author explains how to create an ASP page that will check for the domain name requested by the client and automatically send the client the correct page for that site. This will all work just fine but in my opinion it is slow and more difficult to administer than "Host Header Names."

Host Header Names are a feature of Microsoft Internet Information Server (versions 4 and 5, I’m unsure about earlier versions) that allows you to operate multiple domains from one I.P address. As far as I can tell, using IIS to run more than one domain name from a machine with a single I.P address will work in much the same way as the ASP based solution except that the server does all the work for you.

Below is a screenshot of the Host Header Name configuration window as it appears in the Internet Services Manager. (We are using Windows 2000 Advanced Server so the screenshots may differ slightly from your system)

The column on the left is for your I.P address, since I only have one address, and that address is subject to change, I use (All Unassigned), the second column is your Port number and the third all-important column is for your Host header Name. This is the name that people will have typed into their web browser in order to access your site. In the example, the Host Header Name in use is after12.sale.net. This is a test website running over our intranet but the host header names function just the same way. If I type http://after12.sale.net in to my browser, the site comes up, even though my machine has only one I.P address.

If your site is on the Internet, you may use a Host header Name similar to this: www.mysitename.com

Here are a bunch of sites on this machine and their associated host header names:

To access the Host Header Name options, do the following:

  • In the Internet Services Manager, Right click on one of your sites and choose "properties" from the pop-up menu.
  • In the "Website Identification Area" of that page click on the "Advanced" button.
  • Now select your site in the "Multiple Identities For This Website" area of the page and click on the "Edit" button.
  • In the edit window type your chosen Host Header Name into the appropriate box and click OK.
  • Click OK on the other open options windows to close them all and save your new settings.

That's about all there is to it, although in order for you to run this on a single machine you must have some kind of DNS system up and running although you do not need a real (internet registered) domain name.

Happy Programming!

 

 

At the Datamail Group we value teamwork, respect, achievement, client focus, and courage.  This email with any attachments is confidential and may be subject to legal privilege.   If it is not intended for you please advise by replying immediately, destroy it and do not  copy, disclose or use it in any way.  The Datamail Group, through our GoGreen programme, is committed to environmental sustainability.   Help us in our efforts by not printing this email. __________________________________________________________________   This email has been scanned by the DMZGlobal Business Quality               Electronic Messaging Suite. Please see http://www.dmzglobal.com/dmzmessaging.htm for details. __________________________________________________________________  

Tuesday, November 4, 2008

Purging Items from Outlook using IMAP (itmes appear as crossed out only)

http://www.ideanode.com/supportdocs/16/how-to-delete-imap-messages-in-outlook

 

 

At the Datamail Group we value teamwork, respect, achievement, client focus, and courage.  This email with any attachments is confidential and may be subject to legal privilege.   If it is not intended for you please advise by replying immediately, destroy it and do not  copy, disclose or use it in any way.  The Datamail Group, through our GoGreen programme, is committed to environmental sustainability.   Help us in our efforts by not printing this email. __________________________________________________________________   This email has been scanned by the DMZGlobal Business Quality               Electronic Messaging Suite. Please see http://www.dmzglobal.com/dmzmessaging.htm for details. __________________________________________________________________