Original Article
Best Practices Firewall Policy for ISA Server 2004
A Computer does not have a brain. You should check your ISA Server configuration when its behavior doesn’t match your expectations.
Allow access selectively. Only allow access for users, sources, destinations, and protocols that you need, and check each rule carefully. Only use deny rules when you can’t control access with allow rules.
A deny rule must come before an allow rule when both apply to the same policy elements such as users or source IPs.
When you must use a deny rule, an explicit deny rule, such as a deny rule for a specific user or source IP, should be considered first.
Place rules that will have high match rates near the top of the rule base if you can do so without changing the effect of your firewall policy. These are rules that are very likely to be matched, such as rules that apply to “All users” or “All authenticated users”. This enables ISA Server to evaluate rules more efficiently.
Keep your firewall policy as simple as possible.
Never use an allow all to all rule in a production environment. ISA Server cannot control access if you do.
Don’t create a rule that duplicates a system policy rule.
Remember that every rule is evaluated independently. Though rules are evaluated in order, each one is evaluated on its own when the firewall is going through the rules.
Never allow access for all to Local host. The Internal network should be considered untrusted in this regard, too.
SecureNAT clients can’t be authenticated, so use Web proxy clients and Firewall clients when you require user authentication.
When possible, use IP-address-based rule elements over user-name-based elements, because they are evaluated more quickly.
Configure clients as Web proxy clients when you use domain name sets or
URL sets in your rules. Otherwise, the access rule maybe ignore by failed reverse domain name resolution, and may cause a slow response.
Only use application filtering (such as the
HTTP filter) when you real need it. Use of the filters may affect performance.
Remember that there is a deny all rule at the base of the firewall policy.
Finally, always test your policy in a laboratory environment before testing and then using it in production.