许多安全管理员多关注网络层和应用层的安全问题,经常会忽略Layer2网络架构(数据链路层),同时这也是网络安全和可靠性方面最容易被人忽视的一个方面。在本文中,我会向你展示如何修正交换机配置以及架构方面最常见的错误。虽然我使用Cisco来作为我的例子,但是同样的策略和所讨论的教训一样适用于其他厂商。这些安全手续对任何数据网络来说都是必须的,特别是在使用IP电话的时候。
启用SSh,禁止Telnet
对于一台Cisco设备来说,最明显需要设置的就是口令和启用加密了。如果你让它保持空白的话,你的交换机就等于是在敞开大门,任何人都可以查看并攻击你的VLAN设置。如果你有多台交换机,以及多位系统管理员时,最好使用AAA认证模式,并使用一个本地用户数据库,集中的TACACS+,或者 RADIUS服务器来管理所有的交换机和系统管理员。使用TACACS+可能是更正确的选择,因为它可以记录下所有的事件,以便你有一个历史记录,可以记录下所有做出的修改,以及是谁在你的交换机和路由器架构中做出了修改。不过要记住,最重要的事情是,不惜任何代价禁止Telnet,并持续的对所有交换机部署SSH.即便你的交换机上并没有一个启用加密的软件镜像,所有的当前镜像也依然可以让你SSH进交换机。为每一个系统管理员都建立一个独一无二的用户名以及口令。然后,你应当启用SSH,并干掉Telnet.
| 在Cisco Native IOS上启用SSH,禁止Telnet | |
| 命令 | 描述 |
| username admin1 privilege 15 password 0 Admin-Password | 建立一个叫做admin1的系统管理员,每一个管理都必须重复。 |
| aaa new-model | 使用一个本地数据库,设置为AAA模式 |
| aaa authentication login default local | |
| aaa authorization exec default local | |
| aaa authorization network default local | |
| aaa session-id common | |
| ip domain name MyDomain.com | 建立一个用于认证的名字 |
| crypto key generate rsa | 建立数字证书。使用至少768位的Diffie-Hellman关键字 |
| line vty 0 4 | 进入vty配置 |
| transport input ssh | 仅仅允许SSH登录 |
| 在 Cisco Catalyst OS上启用SSH,禁止Telnet | |
| 命令 | 描述 |
| set crypto key rsa 1024 | 生成一个1024位的RSA key |
| set ip permit 10.0.10.0 255.255.255.0 ssh | 明确仅允许指定IP范围内的地址SSH |
| set ip enable | |
要注意,对Cisco Native IOS交换机来说,Native IOS命令同样可以工作在Cisco IOS路由器上。无法使用SSH可能会导致口令被窃,并让攻击者获得对交换架构完全的控制权。

