在工作中,我们经常不得不更改我们的访问控制列表 (ACL),以阻止任何违反安全的计算机,直到我们解决问题为止。目前,我们使用一台连接到我们的主网络交换机的计算机。我们删除旧列表(命令“no access-list 101”)并将新修改的 ACL 复制并粘贴到交换机的命令行中。我们一次执行 40 条左右的允许/允许 ip 命令。是否有替代方法我们可以告诉交换机允许/允许特定 IP,而不是删除原始 IP 并粘贴到新 IP 中?编辑:我们使用的交换机是 cisco 的品牌,不确定型号
在工作中,我们经常不得不更改我们的访问控制列表 (ACL),以阻止任何违反安全的计算机,直到我们解决问题为止。目前,我们使用一台连接到我们的主网络交换机的计算机。我们删除旧列表(命令“no access-list 101”)并将新修改的 ACL 复制并粘贴到交换机的命令行中。我们一次执行 40 条左右的允许/允许 ip 命令。是否有替代方法我们可以告诉交换机允许/允许特定 IP,而不是删除原始 IP 并粘贴到新 IP 中?编辑:我们使用的交换机是 cisco 的品牌,不确定型号
我根据您的语法假设您正在谈论 Cisco IOS。如果您的代码级别较新,则不要
你可以做:
当你“显示”它时,会有一个带有行号的访问列表:
接下来,当您想要插入另一个 IP 时,您将返回编辑 ACL,但这次添加一个序列号:
它会将其插入 ACL 中的那个位置。您甚至可以使用“remark”一词代替“permit”或“deny”在列表中添加评论。
您可以做的另一种模型是对未受感染的机器使用一个 VLAN,对受感染的机器使用一个 VLAN。这可能需要使用 DHCP,因此必须在受感染的机器上进行最少的重新配置。那时,您可以使用从 VLAN 子接口到网络的 ACL 来阻止对 Internet 的访问,同时(理想情况下)留下足够的漏洞来下载补丁或病毒更新。
如果您感兴趣的只是确保不能在外部建立 TCP 会话,您总是可以只使用黑洞路由(到 Null0 的路由)并在入站路由器接口上加上反向路径验证,这应该能够停止来自您要隔离的主机的所有出站流量。它甚至可以减少路由器上的负载,因为它使用转发引擎而不是 ACL(尽管这取决于路由器硬件的具体情况,一些较大的 Cisco 套件可以通过编译 ACL 以线速进行 ACL 过滤和在 ASIC 上运行它)。
不幸的是,要删除条目,我认为您必须“否” ACL 才能将其清除。
我已经编写了很多 PHP 来使用 Telnet 和 SNMP 向 Cisco 设备发送命令,自动化这个任务真的很容易。
如果你有兴趣,我可以举一个例子。
我真正喜欢的一种方法是不要尝试编辑列表以将其替换为包含创建时间的时间戳的新列表。
使用一些简单的脚本将新的 acl 推送到设备,然后翻转界面以使用新列表,可以很容易地自动化这个过程。
这样的系统可能包括使用数据库来存储所有 acl 规则和用于更新它们的 Web 界面的额外功能。然后,您可以执行诸如跟踪谁拥有该规则之类的操作,也许将其链接到您的票证跟踪系统中的票证,以便您知道添加它的原因。您还可以设置过期时间,以便在不再需要临时规则时将其删除。
我终于想出了一个半解决方案,至少可以减少编辑 ACL 的痛苦。我们更改了 ASCII 设置,因此它可以更慢地放置 ACL 的地址,并使其可以复制和粘贴列表并离开一段时间。
我喜欢将 ACL 保存在中央服务器上的版本控制之下。每个 ACL 都位于名为“router-interface-ingress”或“router-interface-egress”的单独文件中。(入口/出口指的是我们的环境,而不是路由器接口方向)。路由器名称通常是 munged 因为两个名称相似的路由器获取每个 ACL。
ACL 本身如下所示:
然后将它们推送到路由器,我们在路由器上“复制 scp:run”。每次都从 RCS 主站删除并重新创建 acl。
一个技巧是建立一种工程师知道在服务器而不是路由器上编辑 ACL 的文化。路由器上的任何 acl 更改都将被服务器的下一次推送所吹走。