The #1 unofficial ISA Server resource site

ISAserver.org Newsletter of April 2003

Sponsored by: GFI Software Ltd.
ISAserver.org Newsletter
April, 2003

In this issue:
Welcome to the Isaserver.org newsletter! Each month we will bring you interesting and helpful information on ISA Server. We want to know what all *you* are interested in hearing about. Please send your suggestions for future newsletter content to: tshinder@isaserver.org

Downloads content checking & anti-virus for ISA Server with GFI DownloadSecurity!

GFI DownloadSecurity for ISA Server enables you to assert control over what files your users download from HTTP & FTP sites. Downloaded files are content checked for viruses, malicious content and objectionable material, and can be quarantined based on file type and which user downloaded them. GFI DownloadSecurity handles the security risk of file downloads without resorting to blocking all file downloads at firewall level! Blocking of file downloads is an unpopular policy, and results in your having to temporarily open ports/file types for users, resulting in additional administration and potential security holes.

Click here to download your free trial!



1. ISA Server and Beyond Book and ISA Server and Beyond Seminars Now Available

By Thomas W Shinder

ISA Server and Beyond is now available! ! We've included tons of stuff on DMZs, firewall chaining, hierarchical Web caching (Web Proxy chaining), SSL bridging, SSL publishing, OWA, Secure IMAP4/SMTP/POP3 publishing, and publishing services on the ISA Server itself! Most of this stuff isn't described anywhere else. If you're ready to take ISA Server 2000 to the next level, then this is a book you must have.

Click here to order ISA Server and Beyond from Amazon.com today!

Are you wrestling with ISA Server? Need to get your head around what makes ISA Server tick? If so, consider my one-day seminar on ISA Server. I'll bring meaning to inbound and outbound access, ISA Server client types, Web and Server Publishing, and VPN Servers and VPN Gateways. I guarantee you'll learn something new and maybe even have fun along the way. The next seminar is May 9th here in Dallas, Texas. Click HERE for more info and I hope to see you there!

 


Click here to Order your
copy today


2. Special Outbound Access Control Issues: SSL

By Thomas W Shinder, M.D., MCSE, etc.
Special Outbound Access Control Issues: SSL

Many network administrators think of firewalls as devices aimed at keeping the bad guys out of the internal network. While its true that a firewall that doesn’t keep unwanted external users out of your network isn’t much use, a firewall like ISA Server can do much, much more than just keep the bad guys out. The basic mechanism behind preventing unwanted inbound access is dynamic packet filtering. You can selectively allow inbound access by using packet filters, Server Publishing Rules and Web Publishing Rules. If you don’t create one of those three things to allow external users into your network, they won’t get in, at least not through ISA Server.

Inbound access control is very easy when compared to outbound access control. Outbound access control separates ISA Server from the rest of the firewall pack. You can get very, very granular in terms of outbound access control. By default, there is no outbound access. That’s why we often hear complaints that “I’ve installed ISA Server and now I can’t get to the Internet!” While such statements are issued as complaints, I always interpret them as compliments because it shows Microsoft has shipped their premiere firewall in a locked down state.

There are three basic prerequisites for outbound access:

  1. There must be a Site and Content Rule allowing access to the site, and optionally, the type of content
  2. There must be a Protocol Rule to allow outbound access to the protocol the user requires
  3. The user must have permission to access the Site and Content and Protocol Rules

For example, suppose one of your users needs access to the Web. What’s required? First, a Site and Content Rule must be in place to allow that user access to the Web site he wants to go to. If he wants to go to http://www.microsoft.com/, there must be a Site and Content Rule that allows him to go to http://www.microsoft.com/ and there also must not be a Site and Content Rule that denies him access to http://www.microsoft.com/. Deny Rules override allow rules, so even if there is a Site and Content Rule that allows the user access to http://www.microsoft.com/, if there is a Deny Rule, the user will be denied access.

In addition, the user must have access to a Site and Content Rule that allows him access to the type of content he wants to access. If the user wants to access an executable file on the site, the user must have access to the MIME type associated with that file. Note that you, as the ISA Server administrator or user behind the ISA Server, have no control over the MIME type sent by the remote server. If the user does not have access to the MIME type (when using HTTP tunneled FTP, file extensions are used when connecting to FTP sites), or if there is a rule that specifically denies the user access to the particular MIME type, then the user will not be able to connect to the site. Even if the user is allowed access to the site, if the user doesn’t have access to the MIME type (or file extension, if HTTP tunneled FTP is used), then access is denied.

There must be a Protocol Rule that allows the user outbound access to TCP port 80 (assuming the user is connecting to a site that uses the well-known HTTP port). If the user doesn’t have access to a Protocol Rule that allows outbound TCP port 80, or if there is a Deny Rule that prevents the user outbound access to TCP port 80, then it doesn’t matter if there is a Site and Content Rule that allows the user access to the site. The connection will be stopped at the Protocol Rule level.

Finally, Site and Content Rules and Protocol Rules can be assigned to:

  • Everyone
  • Specific Users and Groups
  • Specific IP addresses (via client address sets)

When a rule is assigned to Everyone, its often referred to as an “anonymous access rule”. For example, the default Site and Content Rule (in stand-alone ISA Servers) is an anonymous access rule because it allows everyone access to the Rule. You can prevent anonymous access by insuring that all of your Site and Content Rules require a specific user account, a specific group, or specific client address set to gain access to the Rule.

With this as a background, let’s consider a of special case: SSL connections. I want to discuss SSL connections with you today because a lot of outbound access questions are generated by this subject.

ISA Server supports outbound SSL connections via the Firewall/SecureNAT client or via the Web Proxy client. If the Firewall/SecureNAT client communications are intercepted by the HTTP Redirector Filter, then they also access the Web via the Web Proxy service because the HTTP Redirector forwards those requests to the Web Proxy service. Since the default setting for the HTTP Redirector Filter is to forward requests to the Web Proxy service, all outgoing HTTP and SSL requests are handled by the Web Proxy service (unless you change the defaults).

Many people write in and say they can’t connect to an SSL site using a port other than TCP 443. The reason is that by default the Web Proxy service supports “tunneling” outgoing SSL requests to TCP 443 only. The term “tunneling” is somewhat of a misnomer for Firewall and SecureNAT clients, because the tunnel is only created by the Web Proxy client when it tunnels the SSL requests inside the HTTP tunnel created between the Web Proxy client and the Outgoing Web Requests listener at TCP 8080 on the internal interface of the ISA Server. The Web Proxy service removes the tunnel header and forwards the request as SSL.

The ISA Server Help File explains it this way:

“SSL tunneling:

  1. When a client requests an SSL object from a Web server on the Internet, ISA Server sends the connect request

 https://URL_name

  1. The following request is sent to port 8080 on the ISA Server computer:

CONNECT URL_name:443 HTTP/1.1

  1. ISA Server connects to the destination Web server on port 443
  2. When the TCP connection is established, the ISA Server returns:

HTTP/1.0 200 connection established

From that point on, the client communicates directly with the external Web server.”

I’ve always found this an interesting explanation. Its impossible for a Web Proxy client (or any other client behind an ISA Server) to “communicate directly” with a non-LAT host, since all LAT to non-LAT communications are translated. I think what the Help File is trying to say here is that the SSL client to SSL server communications bypass the Web Proxy service. This assumption is supported by the fact the Help File information also assumes that we’re talking about the Web Proxy client configuration, since Firewall and SecureNAT client will never “remote” any kind of request to TCP 8080 at the Outgoing Web Requests listener.

What’s the solution? You need to add to the Web Proxy service’s “tunnel port range”. The easiest way to do this is to use a script that Jim Harrison has kindly made available to all of us over at http://www.isatools.org/. The name of the file is SSL_TPR_add and it’s a VB script. You’ll need to edit the script with the ports you need. For details on its configuration, check out http://support.microsoft.com/?id=283284

SSL connections can create some surprises if you don’t understand what’s going on inside. As you’ve seen, the initial request to the SSL site it “remoted” to the Outgoing Web Requests listener and then forwarded by the Web Proxy service to the SSL server on the Internet. Once the SSL link is established, the Web Proxy service disavows all knowledge of what’s going on with that connection.

Unlike the situation with inbound connections created with Web Publishing Rules, outgoing connections from Web Proxy clients on the internal network are never “bridged”. SSL bridging allows the Web Proxy service to see what’s going on inside the SSL tunnel, since an inbound SSL to SSL bridged connection is decrypted before being “recrypted” for the second SSL link.

Since outbound SSL connections are never bridged, the only thing the Web Proxy service knows is what was described in the Help file in step 2 above. For example, if you want to go to http://www.microsoft.com/, this is what the Web Proxy service knows:

CONNECT http://www.microsoft.com:443/ HTTP/1.1

That’s it. That’s all the Web Proxy knows about the connection. Nothing more. Everything else is hidden away from the Web Proxy service inside the SSL link. What kinds of problems do you think might occur if the ISA Server can’t evaluate what’s going on inside the SSL link? What kinds of abuses might occur if the ISA Server isn’t able to access what’s going on inside the SSL link?

Suppose you can to give your users access to www.microsoft.com/isaserver and www.microsoft.com/windows. You also want users to have access to SSL portions of those sites. Users should be able to access http://www.microsoft.com/isaserver, https://www.microsoft.com/isaserver, http://www.microsoft.com/windows and https://www.microsoft.com/windows and no other sites in the microsoft.com domain. So you create a Destination set that has www.microsoft.com/isaserver and www.microsoft.com/windows in it and then create a Site and Content Rule that allows your users access to the sites contain in the Destination Set.

You have no problems accessing these sites via HTTP, but when you trying to connect to them via SSL, the connection attempt fails. For example, I created such a Destination Set and Site and Content Rule and applied those to a user bjsmith. I logged on as bjsmith and then accessed www.microsoft.com/windows and accessed the Site (or at least the elements in that path; there are a lot of elements on that default page that draw from outside that path). The same was true for www.microsoft.com/isaserver. But look what happens when I try to access those sites via SSL:

192.168.1.148, anonymous, -, -, 4/17/2003, 14:41:35, -, -, -, www.microsoft.com, -, 443, 0, 0, 0, SSL-tunnel, -, -, www.microsoft.com:443, -, Inet, 0, 0x0, -, -

192.168.1.148, TACTEAM\bjsmith, -, -, 4/17/2003, 14:41:35, -, -, -, www.microsoft.com, -, 443, 0, 0, 0, SSL-tunnel, -, -, www.microsoft.com:443, -, Inet, 12202, 0x0, All Open Users, Deny Smith

192.168.1.148, anonymous, -, -, 4/17/2003, 14:42:02, -, -, -, www.microsoft.com, -, 443, 0, 0, 0, SSL-tunnel, -, -, www.microsoft.com:443, -, Inet, 0, 0x0, -, -

192.168.1.148, TACTEAM\bjsmith, -, -, 4/17/2003, 14:42:02, -, -, -, www.microsoft.com, -, 443, 0, 0, 0, SSL-tunnel, -, -, www.microsoft.com:443, -, Inet, 12202, 0x0, All Open Users, Deny Smith

OK, so there aren’t actually any SSL pages in those paths, but that doesn’t matter. The Web Proxy log file entries show that I don’t even get a chance to get a 404, because the entire site is denied. Why? Because the bjsmith is limited to just a small subset of folder paths on the server. As long as he’s connected to http://www.microsoft.com/, everything stays in the tunnel.

Even though ISA Server can’t evaluate what’s in the tunnel, it does know that bjsmith isn’t allowed to access everything at http://www.microsoft.com/. Since bjsmith is not allowed to access everything at http://www.microsoft.com/, and since the ISA Server can’t determine what’s in the tunnel after the SSL connection is established, the ISA Server errs on the conservative side and denies SSL access to the entire server

What’s the solution? If you want to use SSL when connecting to a particular server, you need to give the user access to the entire server AND you need to give the user access to all content on that server. You need to give the user access to all content on that server for the same reason: once the SSL link is established, the ISA Server can’t determine what type of content you’re accessing, so it will deny all SSL connections to the server until you allow all paths and all content on that server.

On a related note, you can also prevent Firewall and SecureNAT clients from accessing all sites if you’re not careful with your Site and Content Rules. For example, suppose you create a Site and Content Rule that applies to everyone. This rule allows users access to all sites. On the HTTP Content tab of the Site and Content Rule you select the “Selected content groups” option and then select all the content groups listed. You rightly assume this is OK, because it makes sense that selecting all the content groups is the same as selecting the “all content groups” option on the HTTP Content tab.

A little while later you start getting phone calls from your users telling you that they can’t connect to the Internet. Why? These users are not configured as Web Proxy clients and the HTTP Redirector filter is either disabled or configured to forward the requests directly to the Internet server. Only the Web Proxy service can evaluate content type via MIME types (or file extension for HTTP tunneled FTP requests from Web Proxy clients). When requests from Firewall and SecureNAT clients go through the ISA Server and bypass the Web Proxy service, the requests are denied because the ISA Server Web Proxy service can’t evaluate the content type. This is regardless of the protocol accessed by the Firewall and SecureNAT client.

The good news is that there’s a fix for this problem. Check out http://support.microsoft.com/default.aspx?scid=kb%3ben-us%3b2975 15 for the details and a Registry edit.

I’ve not spent enough time with outbound access issues in my articles at the http://www.isaserver.org/ sites. ISA Server outbound access control is what puts ISA Server head and shoulders above all other firewalls, so I need to correct this problem. In the near future, I’ll include a lab-based article on the concepts and examples I just discussed, complete with screen shots, steps by steps, and all the things you know about love about our ISAServer.org articles and how-to’s.

Downloads content checking & anti-virus for ISA Server with GFI DownloadSecurity!

GFI DownloadSecurity for ISA Server enables you to assert control over what files your users download from HTTP & FTP sites. Downloaded files are content checked for viruses, malicious content and objectionable material, and can be quarantined based on file type and which user downloaded them. GFI DownloadSecurity handles the security risk of file downloads without resorting to blocking all file downloads at firewall level! Blocking of file downloads is an unpopular policy, and results in your having to temporarily open ports/file types for users, resulting in additional administration and potential security holes.

Click here to download your free trial!



3. ISAServer.org Learning Zone articles of Interest


We have a great group of articles in the Learning Zone that will help you get a handle on your most difficult configuration issues. Here are just a few of the newer and more interesting articles:

4. KB Articles of the Month


Here are some interesting and useful ISA Server related Q articles posted by Microsoft in the last month:

5. Post of the Month!


How many of you have wrestled with Cisco's proprietary IPSec NAT Traversal methods? One of the most popular questions on the ISAServer.org message boards is how to pass the non-RFC IPSec NAT Traversal packets from Cisco VPN clients to Cisco VPN black boxes. One issue that's especially problematic is using the Cisco TCP-based  NAT traversal hack. No one could get it to work and ClintD explained to everyone on the ISAServer.org Message Boards what caused the problem:

"The Cisco VPN Client initiates a TCP Handshake to the external VPN Concentrator (or whatever other device supports NAT Traversal over TCP) but does not specify the Maximum Segment Size (MSS) option. This packet passes through ISA, but ISA, as Stefaan mentions, strips off the original TCP Header, and inserts it own, but does specify the MSS as 1460.

When the VPN Concentrator replies, it does not reply with the MSS option set. By RFC when a client sends a MSS Request and the remote system does not reply with an MSS option, the system must assume an MSS of 536.

This is exactly what is seen in a network capture of the client connecting. It sends a (for example) packet with 750 bytes of data - it reaches ISA and this is divided into 2 TCP Segments - 1 with 536 bytes, and the other with 214 bytes. The VPN Concentrator does not support this an apparently silently discards the packets.

Just for clarification, it is not an ISA problem (as the Cisco documentation mentions) - it is a problem with how the VPN Concentrator handles MSS "negotiation". I hate using the term "negotiation" for this as it isn't really a negotiation, but it gets the point across."

Great info Clint! We appreciate the explanation and its great to hear that its not ISA Server's fault .

Downloads content checking & anti-virus for ISA Server with GFI DownloadSecurity!

GFI DownloadSecurity for ISA Server enables you to assert control over what files your users download from HTTP & FTP sites. Downloaded files are content checked for viruses, malicious content and objectionable material, and can be quarantined based on file type and which user downloaded them. GFI DownloadSecurity handles the security risk of file downloads without resorting to blocking all file downloads at firewall level! Blocking of file downloads is an unpopular policy, and results in your having to temporarily open ports/file types for users, resulting in additional administration and potential security holes.

Click here to download your free trial!



6. ISA Server Links of the Month


ISA Server Feature Pack 1 has now been out for a few months. Have you installed it yet? Maybe you're waiting to see if other people have had problems with Feature Pack 1 before you install it. Or maybe you're not sure it has anything you need. From what I've seen in the field, and on the mailing lists, Web boards and newsgroups, there don't appear to be any major, or even minor problems with Feature Pack 1. That means Feature Pack 1 is rock solid! Does Feature Pack 1 have anything you need? Find out by watching these Webcasts! First, listen to Steve Gombotz share the secrets of Feature Pack 1. When you're done listening to Steve, head on over to the second link and listen to Zach Gutt's wit and wisdom on Feature Pack 1. You'll be the Feature Pack 1 PRO by the end of the day:

http://support.microsoft.com/default.asp x?scid=/servicedesks/webcasts/wc022003/wcblurb022003.asp
http://www.microsoft.com/usa/webcasts/ondemand/1501.asp

7. Ask Dr. Tom


QUESTION: Given everything I have read here, ISA is not going to let me do what Proxy 2.0 did, or am I wrong? I have an internal web server with a SSL cert installed. All I want to do is allow Internet users to connect to my web server via TCT 443 and utilize the cert already on there. Everything I read tells me I have to put a cert on my ISA as well. Can I not just configure SSL pass through and let my internal server handle the encryption? --Jlyon.

ANSWER: Hey J, that’s not exactly true. If you want to use Web Publishing Rules, then you need to export the Web site certificate (along with the Web site certificate’s private key), and then import that certificate and private key into the local machine store on the ISA Server. Once the certificate and private key is stored in the local machine store, you can bind that certificate to the Incoming Web Requests listener. This allows the ISA Server to impersonate the Web server.

On the other hand, you can completely bypass Web Publishing Rules and user a Server Publishing Rule. The Server Publishing Rule allows you to essentially perform a reverse “half NAT” back to the SSL site on the internal network. You’ll have to make sure that no SSL listeners are active on the ISA Server and that you’ve disabled IIS on the ISA Server machine. You can do a netstat –na | find “:443” on the ISA Server machine to confirm that nothing is listening on that port. Once you confirm that nothing is listening on TCP 443, then you’re ready to create the SSL Server Publishing Rule. You can use the built-in HTTPS Server Protocol Definition to create the SSL Server Publishing Rule.

While you miss out on the many advantages that Web Publishing Rule provide over Server Publishing Rules, the Server Publishing Rules are definitely easier to configure.  Have fun and good luck on your SSL server publishing.

QUESTION: Hi Tom, my question is the following: How do you install a second ISA Server in load balancing together with the first one? The first ISA has three NIC's, Internet, internal and  “Protected Zone”. The idea was to use Windows 2000 NLB, but this works only for one NIC I think, and using OSPF or else to configure route. Have you got any better ideas?
Thanks, Dominique
?


ANSWER: Hi Dominque! You can use NLB to provide fail over and load balancing for either inbound or outbound connections on to your ISA Servers. Most people are more interested in fail over than load balancing. You can provide fail over for SecureNAT, Firewall and Web Proxy clients, although there are special considerations you need to take for each type of client. For example, Web Proxy clients that perform client side CARP routing do not benefit from any load balancing features provided by NLB, because the CARP algorithm already does this. SecureNAT clients and Firewall clients benefit the most from outbound NLB on the Windows 2000 ISA Servers.

You can also use NLB to provide fault tolerance and load balancing for incoming connections. You can publish servers on the internal network and they will still be available even when one of the ISA Server becomes unavailable. Note that there are issues with Server Publishing, because the default for Server Publishing is to allow the original source IP address on the external client to remain intact on the forwarded packet. You can fix this using the methods described in MSBK 311777.

I’m not sure what you mean by “Protected Zone” by it sounds like a DMZ interface. There really isn’t a cogent reason I can think of for using a trihomed public address DMZ, and even less of a reason to consider applying NLB to that interface. Consider moving your publishing server to the Internal network and using a LAT-based DMZ. If you have more complex requirements for fault tolerance and load balancing, you should consider a more advanced NLB add-on, like RainFinity’s RainWall.

Downloads content checking & anti-virus for ISA Server with GFI DownloadSecurity!

GFI DownloadSecurity for ISA Server enables you to assert control over what files your users download from HTTP & FTP sites. Downloaded files are content checked for viruses, malicious content and objectionable material, and can be quarantined based on file type and which user downloaded them. GFI DownloadSecurity handles the security risk of file downloads without resorting to blocking all file downloads at firewall level! Blocking of file downloads is an unpopular policy, and results in your having to temporarily open ports/file types for users, resulting in additional administration and potential security holes.

Click here to download your free trial!