在工作中,我们经常不得不改变我们的访问控制列表(Access Control List,ACL),以阻止任何有安全违规的计算机,直到我们能够解决问题。 目前我们使用安装在主networking交换机上的计算机。 我们删除旧的列表(命令“no access-list 101”),并将新的修改后的ACL复制并粘贴到交换机的命令行中,我们一次完成40个左右的允许/允许ip命令。我们可以告诉交换机允许/允许特定的IP,而不是删除原来的,粘贴在新的?编辑:我们使用的交换机是由品牌思科,不知道模型
我用你的语法假设你在说Cisco IOS。 如果你有一个适度的最近的代码级别,那么而不是
access-list 101 deny ip 10.1.1.1 any access-list 101 permit ip any any
你可以做:
ip access-list extended Name-of-ACL deny ip 10.1.1.1 any permit ip any any
当你“显示”它时,会出现一个包含行号的访问列表:
show ip access-lists Extended IP access list Name-of-ACL 10 deny ip 10.1.1.1 any 20 permit ip any any
接下来当你想插入另一个IP时,你回到编辑ACL,但这次添加一个序列号:
ip access-list extended Name-of-ACL 15 deny ip 192.168.1.1 any
它会将其插入ACL中的那个位置。 你甚至可以用“注释”来代替“允许”或“拒绝”在列表中发表评论。
show ip access-lists Extended IP access list Name-of-ACL 10 deny ip 10.1.1.1 any 15 deny ip 192.168.1.1 any 20 permit ip any any
您可以做的一种替代模式是将一个VLAN用于未受感染的机器,另一个用于受感染的机器。 这可能需要使用DHCP,因此必须在受感染的机器上进行最less的重新configuration。 此时,您可以使用从VLAN子接口到networking的ACL来阻止访问Internet,同时(理想情况下)留下足够的空间来下载修补程序或病毒更新。
如果你感兴趣的是确保没有TCP会话可以build立在外部,你总是可以只使用一个黑洞路由(一个路由到Null0),再加上入口路由器接口上的反向pathvalidation,这应该能够停止要分离的主机的所有出站stream量。 它甚至可能会减less路由器的负载,因为它使用转发引擎而不是ACL(尽pipe这取决于路由器硬件的具体情况,但某些较大的思科工具包可以通过编译ACL和线速ACL过滤在ASIC上运行)。
Unfortunatley,删除条目,我认为你必须“不”ACL来清除它。
我已经写了很多PHP来使用Telnet和SNMP向Cisco设备发送命令,将这个任务自动化是非常容易的。
如果你有兴趣,我可以挖掘一个例子。
我真正喜欢的一种方法是,不要尝试编辑列表,以便用包含创build时间戳的新列表来replace列表。
ip access-list extended acl_name-date_time
使用一些简单的脚本将新的acl推送到设备,然后翻转接口以使用新的列表变得容易。
这样的系统可以包括使用数据库来存储所有acl规则和一个web界面来更新它们的额外function。 然后,您可以执行诸如跟踪谁拥有该规则的事情,也可以将其链接到您的票据跟踪系统中的票证,以便知道为什么添加该票据。 您还可以设置到期时间,以便临时规则在不再需要时被删除。
我终于想出了一个半解决scheme,至less使编辑我们的ACL不痛苦。 我们改变了ASCII设置,使得ACL的地址更加缓慢,并且将其放到了我们可以复制和粘贴列表的地方,然后离开一段时间。