对于防火墙客户而言,当用户需要访问非本地网络时,防火墙客户端应用程序首先将当前登录用户的身份凭据提交至ISA防火墙进行身份验证,只有在用户的身份凭据通过验证时,ISA防火墙才会处理此用户的网络访问请求。
由于涉及到身份验证凭据的传送,防火墙客户端应用程序和ISA防火墙之间的通讯是经过加密的。微软并没有对具体的验证方式进行任何相关的说明,只知道它采用的是一种类似于NTLM的验证机制。当ISA防火墙和防火墙客户属于相同的域时,ISA防火墙可以通过活动目录来验证防火墙客户。但是当ISA防火墙和防火墙客户并不属于相同的域或者其中一个属于工作组环境时,你必须创建镜像账户(用户名和密码与防火墙客户所提交的身份凭据完整一致的用户账户)才能让防火墙客户通过验证,那么在使用镜像账户时,ISA防火墙又是如何验证用户的身份凭据呢?
当ISA防火墙只是具有一个用户身份验证数据库时(ISA防火墙属于工作组环境或者ISA防火墙作为域控制器时),它将使用自己的用户身份验证数据库(工作组环境中使用本地SAM数据库;作为域控制器时使用活动目录)来验证防火墙客户提交的身份凭据,而不管防火墙客户提交的身份凭据中的所属域,当防火墙客户提交的身份凭据通过ISA防火墙的验证时,ISA防火墙允许防火墙客户的网络访问。
例如以下场景:
ISA防火墙属于工作组环境,防火墙客户属于某个域或属于工作组环境,则可以在ISA防火墙上创建镜像账户以让防火墙客户通过验证;
ISA防火墙作为域控制器,防火墙客户属于不同的域或者属于工作组环境,则同样在ISA防火墙上创建镜像账户以让防火墙客户通过验证。
当ISA防火墙具有多个用户身份验证数据库时(ISA防火墙属于某个域,但是不作为域控制器),则ISA防火墙根据接收到的防火墙客户提交的身份凭据中的所属域来判断用于进行验证的数据库。只有在防火墙客户提交的身份凭据中的所属域匹配ISA防火墙所属于的域时,ISA防火墙使用活动目录中的用户身份信息进行验证;否则ISA防火墙使用本地SAM数据库进行身份验证。
例如以下场景,ISA防火墙加入域ISACN.ORG,但是不作为域控制器:
如果防火墙客户属于工作组环境,则必须在ISA防火墙中创建本地镜像账户(在本地SAM数据库中创建)以让防火墙客户通过验证,而不能在ISACN.ORG域中创建镜像账户;
如果防火墙客户属于不同的域,则同样必须在ISA防火墙中创建本地镜像账户(在本地SAM数据库中创建)以让防火墙客户通过验证,而不能在ISACN.ORG域中创建镜像账户;
因此,在需要使用用户身份验证时,建议大家将ISA防火墙和所有的防火墙客户加入到相同的域中,从而避免创建镜像账户所带来的额外管理负担。