使用机柜和上锁的机架限制人员实际接触网络设备是不错的做法,但口令仍是防范未经授权的人员访问网络设备的主要手段。必须从本地为每台设备配置口令以限制访问。在后续课程中,我们将介绍通过同时验证口令和用户 ID 来加强安全性的方法。现在,我们将介绍仅使用口令的基本安全措施。

 
如前所述,IOS 使用分层模式来提高设备安全性。作为此安全措施的一部分,IOS 可以通过不同的口令来提供不同的设备访问权限。
 
在此介绍的口令有:
  • 控制台口令 — 用于限制人员通过控制台连接访问设备
  • 使能口令 — 用于限制人员访问特权执行模式
  • 使能加密口令 — 经加密,用于限制人员访问特权执行模式
  • VTY 口令 — 用于限制人员通过 Telnet 访问设备
作为一种良好的做法,应该为这些权限级别分别采用不同的身份验证口令。尽管使用多个不同的口令登录不太方便,但这是防范未经授权的人员访问网络基础设施的必要预防措施。
 
此外,请使用不容易猜到的强口令。使用弱口令或容易猜到的口令一直是商业世界中无处不在的安全隐患。
 
选择口令时请考虑下列关键因素:
口令长度应大于 8 个字符。
在口令中组合使用小写字母、大写字母和数字序列。
避免为所有设备使用同一个口令。
避免使用常用词语,例如 password 或 administrator,因为这些词语容易被猜到。
 
注意:在大多数实验中,我们会使用诸如 cisco 或 class 等简单口令。这些口令为弱口令而且容易被猜到,在实际生产环境中应避免使用。我们只在课堂环境中为便利起见使用这些口令。
 
控制台口令
Cisco IOS 设备的控制台端口具有特别权限。作为最低限度的安全措施,必须为所有网络设备的控制台端口配置强口令。这可降低未经授权的人员将电缆插入实际设备来访问设备的风险。
 
可在全局配置模式下使用下列命令来为控制台线路设置口令:
 
Switch(config)#line console 0
Switch(config-line)#password password
Switch(config-line)#login
 
命令 line console 0 用于从全局配置模式进入控制台线路配置模式。零 (0) 用于代表路由器的第一个(而且在大多数情况下是唯一的一个)控制台接口。
 
第二个命令 password password 用于为一条线路指定口令。
 
login 命令用于将路由器配置为在用户登录时要求身份验证。当启用了登录且设置了口令后,设备将提示用户输入口令。
 
一旦这三个命令执行完成后,每次用户尝试访问控制台端口时,都会出现要求输入口令的提示。
使能口令和使能加密口令
 
为提供更好的安全性,请使用 enable password 命令或 enable secret 命令。这几个口令都可用于在用户访问特权执行模式(使能模式)前进行身份验证。
 
请尽可能使用 enable secret 命令,而不要 使用较老版本的 enable password 命令。enable secret 命令可提供更强的安全性,因为使用此命令设置的口令会被加密。enable password 命令仅在尚未使用 enable secret 命令设置口令时才能使用。
 
如果设备使用的 Cisco IOS 软件版本较旧,无法识别 enable secret 命令,则可使用 enable password 命令。
 
以下命令用于设置口令:
 
Router(config)#enable passwordpassword
Router(config)#enable secret password
 
注意:如果使能口令或使能加密口令均未设置,则 IOS 将不允许用户通过 Telnet 会话访问特权执行模式。
若未设置使能口令,Telnet 会话将作出如下响应:
 
Switch>enable
% No password set
Switch>
 
VTY Password
 
VTY 线路使用户可通过 Telnet 访问路由器。许多 Cisco 设备默认支持五条 VTY 线路,这些线路编号为从 0 到 4。所有可用的 VTY 线路均需要设置口令。可为所有连接设置同一个口令。然而,理想的做法是为其中的一条线路设置不同的口令,这样可以为管理员提供一条保留通道,当其它连接均被使用时,管理员可以通过此保留通道访问设备以进行管理工作。
 
下列命令用于为 VTY 线路设置口令:
 
Router(config)#line vty 0 4
Router(config-line)#passwordpassword
Router(config-line)#login
默认情况下,IOS 自动为 VTY 线路执行了 login 命令。这可防止设备在用户通过 Telnet 访问设备时不事先要求其进行身份验证。如果用户错误的使用了 no login 命令,则会取消身份验证要求,这样未经授权的人员就可通过 Telnet 连接到该线路。这是一项重大的安全风险。
 
加密显示口令
 
还有一个很有用的命令,可在显示配置文件时防止将口令显示为明文。此命令是 service password-encryption。
 
它可在用户配置口令后使口令加密显示。service password-encryption 命令对所有未加密的口令进行弱加密。当通过介质发送口令时,此加密手段不适用,它仅适用于配置文件中的口令。此命令的用途在于防止未经授权的人员查看配置文件中的口令。
 
如果您在尚未执行 service password-encryption 命令时执行 show running-config 或 show startup-config 命令,则可在配置输出中看到未加密的口令。然后可执行 service password-encryption 命令,执行完成后,口令即被加密。口令一旦加密,即使取消加密服务,也不会消除加密效果。
标语消息
 
尽管要求用户输入口令是防止未经授权的人员进入网络的有效方法,但同时必须向试图访问设备的人员声明仅授权人员才可访问设备。出于此目的,可向设备输出中加入一条标语。
 
当控告某人侵入设备时,标语可在诉讼程序中起到重要作用。某些法律体系规定,若不事先通知用户,则既不允许起诉该用户,甚至连对该用户进行监控都不允许。
 
标语的确切内容或措辞取决于当地法律和企业政策。下面列举几例可用在标语中的信息:
仅授权人员才可使用设备(Use of the device is specifically for authorized personnel)。
活动可能被监控(Activity may be monitored)。
未经授权擅自使用设备将招致诉讼(Legal action will be pursued for any unauthorized use)。
 
因为任何试图登录的人员均可看到标语,因此标语消息应该谨慎措辞。任何暗含“欢迎登录”或“邀请登录”意味的词语都不合适。如果标语有邀请意味,则当某人未经授权进入网络并进行破坏后,会很难举证。
创建标语的过程本身很简单,但使用标语的方式必须正确。当使用标语时,绝不能采用欢迎意味的措辞,而应清楚说明仅允许授权人员访问设备。此外,标语可以涉及影响所有网络用户的信息,例如系统关机安排和其它信息。
 
IOS 提供多种类型的标语。当日消息 (MOTD) 就是其中常用的一种。它常用于发布法律通知,因为它会向连接的所有终端显示。
 
MOTD 可在全局配置模式下通过 banner motd 命令来配置。
 
banner motd 命令后接一个空格和一个定界字符。随后输入代表标语消息的一行或多行文本。当该定界符再次出现时,即表明消息结束。定界符可以是未出现在消息中的任意字符。因此,经常使用 "#" 之类的字符。
 
要配置 MOTD,请从全局配置模式输入 banner motd 命令:
 
Switch(config)#banner motd # message #
 
一旦命令执行完毕,系统将向之后访问设备的所有用户显示该标语,直到该标语被删除为止。