APP下载

配置用户身份策略实现灵活访问控制

2019-12-22河南许红军

网络安全和信息化 2019年8期
关键词:访问控制域名命令

■ 河南 许红军

编者按:在企业网络环境,用户可能经常需要访问各种服务器资源,默认情况下防火墙并不了解用户身份信息,因此就无法基于该信息创建安全策略。为了配置基于用户的访问控制,传统方式需要配置用户认证代理,必须得到用户的参与。这样,用户在登录时带来很不友好的使用体验。利用ASA防火墙提供的基于用户的认证机制可以轻松摆脱繁琐操作,让用户访问变得更加顺畅。

基于身份控制机制的特点

当用户开机时,需要输入自己的域账户名称和密码,对于ASA防火墙来说,必须放行登录域的流量,这样用户就可以顺利登录到域环境。

利用AD Agent服务(该服务可以安装到DC上或者独立的服务器中),可以通过WMI访问域控来提取所有账户的登入登出信息,包括用户名和对应的IP等,了解到用户的登录和注销情况。之后AD Agent可以发起RADIUS服务,让ASA防火墙通过AD Agent得到登录到域的用户名称和IP的映射关系。

这样,ASA就可以基于用户创建访问控制规则。当客户穿越ASA防火墙时,就无需进行重复认证了。当然,对于ASA来说,一般不会仅仅通过用户创建策略,而是针对组进行策略控制。ASA可以通过LDAP协议从域控上提取和用户相关的组信息。有了用户名以及其隶属的组和IP信息,就可以在ASA上进行有效控制了。利用基于用户的访问控制,可以让安全策略与网络拓扑脱耦,减缓安全策略的创建过程,轻松识别用户对网络资源的访问活动,简化用户活动的监控。

搭建简单实验环境

这里使用简单的实验环境来说明如何在ASA上实现基于用户的访问控制。

这里存在一台AS防火墙,AD域控和AD Agent服务器连接带DMZ区域,其IP分别为192.168.1.2和192.168.1.20。这些设备连接到ASA的GigabitEthernet 0/2接口上,该接口IP为192.168.1.10,在Inside区域存在一台客户机,其IP为10.1.1.1,连接到ASA的GigabitEthernet 0/1接口上,该接口IP为10.1.1.10。在OutSide区域存在一些外部的主机,其IP隶属于202.100.1.0/24网段。连接到ASA的GigabitEthernet 0/0接口上,该接口IP为202.1..1.10。

在ASA上执行:

aaa authentication ssh console LOCAL

ssh 0.0.0.0 0.0.0.0 Inside

ssh timeout 60

u s e r n a m e a d m i n password xxx

privilege

policy-map global_policy

class inspection_default

inspect icmp

在ASA上开启SSH管理功能,“xxx”为具体的密码,并设置默认的管理策略。

执行命令:

config t

a c c e s s-l i s t d m z permit icmp any any

access-group dmz in Interface dmz

放行内网主机到DMZ的流量,让内网用户探测到域控主机。

为ASA配置LADP协议

为了便于说明,先登录到域控上,在域控上安装了DNS服务。打开Active Directory用户和计算机窗口,在其中创建名为“ASAfhq”的 OU,在其中创建名为“ADGrp”的组,在该组中包含所需的域账户(例如“user1”等)。

在ASA上执行“domainname xxx.com”命令,配置对应的域名信息,这里为“xxx.com”。然后执行“dns domain-lookup DMZ”命令,在DMZ接口上启动域名查找功能。

执行以下命令,指定DNS服务器所在的IP:

dns server-group DefaultDNS

n a m e-s e r v e r 192.168.1.2

domain-name xxx.com

exit

之后执行“ping xxx.com”命令,可以探测到域控。执 行“aaa-server TPLAD protocol ldap”命令,通过LDAP来调用域的信息。

执行命令:

aaa-server TPLAD(DMZ)host 192.168.1.2

server-port 389

ldap-base-dn DC=xxx,DC=com

ldap-scope subtree

ldap-naming-attribute aAMAccountName

ldap-login-password hello@123

ldap-login-dn cn=admi nistrator,cn=users,dc=xx x,dc=com

server-type microsoft

exit

上述命令依次实现指定基本的域名,并设置LDAP的端口号,从基础域名开始的所有子树执行搜索操作,提取活动目录数据库中用户名信息,输入管理员账号和密码,这里为“hello@123”,最后指定服务器类型为微软。

其中的“TPLAD”为连接的LDAP服务器的名称,该名称可以自定义。

为了检测设置是否正确,可以在ASA上执行“test aaa authentication TPLAD”命令,按照提示提示输入域控 的 IP,在“Username”栏中输入预设的账户名(例如“user1”),在“password”栏中输入其密码。

在测试完成后,如果显示“INFO:Authentication Successful”字样,则说明LDAP关联成功,可以顺利提取雨中的账户信息。

配置AD Agent服务器

在AD Agent主 机上打开CMD窗口,进入“C:IBFCLI”目 录,执 行“adactrl show running”命令,显示AD Agent的运行状态。 执 行“adacfg client create -name ASAFANG -ip 192.168.1.0/24 -secret p@ssword”命令,将自身作为RADIUS服务器,创建一个3A 客户端,为其起一个名称,设定其IP范围。其名称为“ASAFANG”,密码为“p@ssword”。这样,就可以让ASA防火墙通过RADIUS来定位AD Agent。

执行“adacfg dc create-name TPLAD -host ad.xxx.com domain xxx.com -user administrator -password hello1123”命令,创建和域的链接,链接的名称为“TPLAD”。并指定域管理员账户名和密码,其中的“ad.xxx.com”为域控的名称,执行“adacfg dc list”命令,查看和域的连接状态。执行“adacfg syslog create–name logserver -ip 192.168.1.20”命令,在AD Agent主机上创建Syslog日志服务器,并指定其名称,这样可以记录各种日志信息。

让ASA和AD Agent建立关联

在域控上打开组策略管理器,然后在左侧依次选择“林”→“域”→“xxx.com” →“Domain Controllers” →“Default Domain Controllers Policy”项,在其右键菜单上点击“编辑”选项,在打开窗口中依次选择“计算机配置”→“Windows设置”→“安全设置”→“本地策略”→“审核策略”项,在右侧双击“审核账户登录事件”选项,在其属性窗口中可有选择“定义这些策略设置”、“成功”和“失败”项。然后点击“确定”按钮,激活登录事件审核功能。

然后在ASA上执行:

aaa-server adagent protocol radius

ad-agent-mode

aaa-server adagent(DMZ) host 192.168.1.20

key p@ssword

exit

让ASA通过RADUIU和ADAGent建立关联,注意,这里的密钥需要和上述命令保持一致。执行“useridentity ad-agent aaa-server adagent”命令,让ASA可以可以从ADAgent上提取用户信息。

其中的“adagent”选项为具体的RADIUS服务器名称。为了检测其效果,可以执行“test aaa-server adagent adagent”命令,然后输入AD Agent主机的IP。

当测试完成后,如果显示的是“INFO:Ad-agent Successful”字样,则说明ASA和AD Agent主机关联成功。

在域控上打开Active Directory域和信任关系窗口,在左侧选择“Active Directory域和信任关系”项,在右侧选择“xxx.com”项,在其右键菜单中点击“属性”项,在打开窗口中的“常规”面板中的“域名”栏中查看域控的NETBIOS Name,注意其区分大小写,这里假设为“XXX”。

在ASA上配置访问控制策略

有了该信息后,在ASA上 执 行“user-identity domain XXX aaa-server TPLAD”,“user-idemtity default-domain XXX”命令,让ASA可以顺利的从域控上提取账户信息,因为从AD Agent从域控上获取的账户名 称 实 际 为“XXX/user1”之类的,ASA从其中得到域名的NETBIOS名称(这里为“XXX”),并根据该名称从指定的域控中寻找对应的用户信息。如果用户没有该前缀信息,就认为属于指定的域。

这里为了简单起见,均指定了相同的域的NETBISO名 称。 执 行“show useridentity user active domain XXX list detail”命令,会显示在AD Agent主机上获取的域控上的用户登录信息,包括账户名和IP关联信息。

在ASA上执行:

axcess-list in deny icmp user XXXuser1 any any

access-list in permit icmp any any

access-group in in inteface Inside

可以基于用户创建访问列表,禁止指定的用户(这里为“user1”)执行Ping探测操作。

如果想基于组进行访问控制,可以将上述语句修 改 为“axcess-list in deny icmp user-group XXX\ADGrp any any” 命令,就可以对指定组(这里为“ADGrp”)中的所有账户账户进行控制。当然,也可以执行:

object-group user Adgroup1

user-group XXX\ADGrp

exit

创 建 名 为“ADgroup1”的Object-Group。 执行“access-list line 1 deny icmp object-groupuser Adgroup1 any host 192.168.1.2”命令,也可以实现针对组的访问控制操作。

猜你喜欢

访问控制域名命令
只听主人的命令
移防命令下达后
如何购买WordPress网站域名及绑定域名
ONVIF的全新主张:一致性及最访问控制的Profile A
动态自适应访问控制模型
浅析云计算环境下等级保护访问控制测评技术
大数据平台访问控制方法的设计与实现
这是人民的命令
腾讯八百万美元收购域名
蓝色命令