本文描述了Cisco secure ACS 5.7在中型企业里部署的安全实践,以及如何解决日常运维中的常见问题,如下所示:
防止DDoS攻击
防止中间人攻击
限制管理平台访问
对合法用户源地址的限制
用户自助修改密码
网络配置冻结期
空闲时间保护
ACS 5.7状态监控及告警
ACS 5.7 是思科公司开发的以规则为基础的安全服务器,对网络设备提供基于业界标准的AAA认证服务。作为主流的网络访问控制平台,ACS 5.7集成了网络访问控制和身份管理,支持Radius和Tacacs +协议。
作为网络中识别接入设备和用户身份的节点,ACS 5.7不仅支持内部身份库对本地用户的识别,而且支持外部身份库的调用。比如:ACS 5.7支持活动目录作为外部身份库,对用户进行认证和授权。
除此以外,ACS 5.7还提供了丰富的监控、报表和排错工具,帮助管理员高效、便捷地完成日常运维工作。
§ 防止DDoS攻击
ACS5.7提供了相关的安全配置,可以有效降低DDoS攻击带来的影响。
登陆到ACS 5.7的命令行界面下,配置如下命令:
1.关闭ICMP 回应报文
关闭ICMP回应报文, 从而避免高并发ICMP请求报文,对CPU和网络带宽的消耗。比如:分布式PING攻击造成的拒绝服务。
2.限制源地址TCP并发连接数量
根据企业业务的实际状况,限制源地址TCP并发连接最大数量。从而避免恶意高并发TCP连接,造成的性能下降或者宕机。
3.限制TCP SYN速率
根据企业业务的实际状况,限制每秒钟允许的TCP SYN数据包数量,从而有效扼制SYN攻击造成的拒绝服务。
§ 防止中间人攻击
1. 把ACS 5.7部署在专有VLAN中
要把ACS 5.7部署在专有的管理VLAN中,不要和用户测试环境放在同一VLAN中。以防止用户机器对ACS 5.7数据包的嗅探。
2. 设置一个复杂的共享密码
可以在ACS 5.7和交换机上,设置一个复杂的共享密码,从而防止黑客的暴力破解。
Switch(config)#tacacs-server key 0 EIdwon%*523lkdje!)(
做到以上两点,就能有效防止对ACS 5.7发起的中间人攻击。
§ 限制管理平台访问
ACS 5.7为管理员提供了一个基于HTTPS协议的web portal,用于日常的维护管理工作。最大程度地限制能够访问该平台的源地址范围,可以有效保护ACS 5.7免受来自于非法IP地址的访问。如下图所示,在红色标识目录下,定义了可以访问web portal的源地址范围。
§ 对合法用户源地址的限制
当一个合法用户试图登陆网络设备时,ACS会首先对该用户进行AAA认证。与此同时,ACS还能过滤该合法用户的源地址。如下图所示,当该合法用户的源地址位于定义的子网范围内时,允许其登陆网络设备;否则,拒绝登陆。
这种限制主要是基于“合法用户所处的网络环境是否安全”这样的考虑。
如下图所示,在红色标识目录下,定义合法用户登陆设备所处的的安全子网范围:
然后,在Access Policies > Access Services > Default Device Admin > Authorization
下,定义授权策略,如下图所示:
§ 用户自助修改密码
通过ACS 5.7,用户可以自助修改登陆网络设备的密码。这里介绍一种相对简单的实现方法。
如下图所示,在红色标识目录下,勾选Enable TELNET Change Password
然后,登陆交换机,在全局模式下输入命令:
Switch# ssh -l 用户名 交换机IP
用户名是指在自己用来登陆交换机的账户;
交换机IP是指该用户拥有管理员权限的任意交换机IP地址;
该命令输入以后,如下图所示,系统提示“password:”。请注意,这个时候不要输入任何密码,直接按回车键;系统会继续提示“Enter old password:”,这个时候,输入你的旧密码,然后按回车键,系统又提示“Enter new password:”, 输入你要更改的新密码,然后按回车键;系统再次提示“Enter new password confirmation:”, 再次输入新密码,按回车键完成密码修改。
§ 网络配置冻结期
公司放假期间的任何网络配置改动,可能会导致需要网络管理员到现场进行排错的状况出现。这个时候,网络管理员很可能已经放假外出,不能及时赶回公司。为了避免这种情况给公司业务带来的影响,可以在公司放假期间,在ACS5.7上设置网络配置冻结期,禁止任何网络配置改动。
如上图所示,在红色标识目录下,先定义一个时间段:
2017-Jan-21 到 2017-Feb-06
然后,选择整个时间坐标轴。
接着在Access Policies > Access Services > Default Device Admin > Authorization
下,定义一个授权策略,如下图所示:
这样以来,在定义好的时间段内,任何网络管理员都无法登陆网络设备,进行配置修改。
§ 空闲时间保护
当网络管理员登录交换机以后,如果在一定时间内,没有任何键盘鼠标动作,出于安全的考虑,我们希望这个session能够立刻结束。为了实现这个目标,
在网络设备上,配置如下命令:
aaa authorization exec bjcdlacs group tacacs+ local
这条命令定义了EXEC 会话属性,首先取决于ACS上的配置。
然后,在ACS5.7上红色标识目录下,定义Idle Time属性值。如下图所示,定义了当管理员登陆交换机后,如果3分钟之内无响应,登陆会话自动结束。
§ ACS 5.7状态监控及告警
如前文所述,出于安全的考虑,我们在ACS5.7上关闭了ICMP回应报文。这就意味着,我们在任何时候,都无法PING通ACS server。那么,如何及时获悉ACS的工作状态呢?
ACS 5.7 提供了一系列非常好用的预警功能,可以在ACS发生故障以前,及时地通知到管理员。这里介绍常用的几种:
1.用户登陆网络设备时,如果认证时间超过3秒,自动发邮件通知管理员。
2. 当ACS的CPU,Memory,Disk I/O使用率,其中任何一项,大于90%的时候,自动发邮件通知管理员。
3. 当网络设备上有配置改动时,自动发邮件通知管理员。
如上图所示,当管理员在网络设备上做了配置改动以后,通常会保持配置。因此,可以利用ACS审计功能中对“保存”命令的捕捉,来获悉网络设备上任何改动的发生。
§ 后记
从ACS 5.x 版本开始,思科陆续推出了支持VMware VSphere的虚级化产品,支持ACS运行在VMware虚拟机上。从实际使用效果来看,基于虚级机的ACS在运行时,由于兼容性问题,经常会报一些莫名其妙的错误,相比早期版本,稳定性略有下降。
与此同时,思科还推出了基于硬件的ACS 5.7产品,相比基于虚拟机的ACS,性能更加稳定。
§ 作者简介
赵博,IBM 西安研发实验室IT基础设施工程师,十年以上IT运维经验。负责研发实验室(西安)机房、实验室网络(北京、西安)的日常运维以及IBM中国研发实验室网络设备的安全合规检查。
免责声明:
本文基于作者对 Cisco Secure ACS 5.7产品使用的实践经验而撰写,发表目的在于对该产品使用的经验分享以及交流。本文内容仅代表作者个人观点,与作者所在公司无关。在此,作者不做任何有 关本实践经验的保障性承诺,包括但不限于任何明示或暗含的有关适用性、令人满意的结果等。