设备管理

本地认证

只配置 IP 地址

可以 ping 通,使用 telnet、ssh 远程提示 password required, but none set ,会话立即关闭。

只配置 VTY 密码

line vty 0 4
password cisc0123

可以登录设备,但使用命令 enable 时,设备提示 No password set 无法进入特权模式,对设备进行配置。

此时可以对设备状态进行查看,例如使用命令 show ip int brief 等。

配置 enable 密码

enable secret cisc0123

此时,设备已经可以被远程管理,通过使用 vty 和 enable 的密码登陆设备。

配置 console 口密码

line console 0
password cisc0123

使用 console 口登录,发现 password 命令并未生效。这是因为 console 口的默认认证策略是 no login 无需认证即可登录的。

line 默认策略 备注
console 默认 no login 不需要认证即可登录
AUX 默认 login 必须认证才能登录
VTY 默认 login 必须认证才能登录

如果需要 console 口登录认证,需要修改默认认证策略

line console 0
login

使用本地用户名、密码认证

line vty 0 15
login local
# local 即使用本地数据库作为登录认证源

# 配置用户名和密码
username admin secret qytcisco

这时使用 telnet、ssh 登录时会要求提供账号和密码,才能登录。

注意此时登录到设备后,需要使用 enable 密码,才能进到特权模式。

本地用户直接进入特权模式

username admin privilege 15 secret qytcisco
# 配置上特权等级15,在登陆后直接进入特权模式

本地认证安全控制

三种密码类型

enable secret password

该密码是用来授权进入设备的特权模式。密码会以 MD5 hash 值的形式保存在配置文件中。

enable password

该密码是用来授权进入设备的特权模式。密码以明文的方式保存在配置文件中(已被弃用)。

vty password

通过网络连接路由器进行管理时使用。

Password Encryption Service - 密码加密服务

可以在设备上使用 Cisco 提供的密码加密服务来保护相关密码。该服务使用的思科私有的加密协议,需要注意的是这类服务加密性极低,很容易使用一些在线服务破解密码。(唯一的作用是防止有人窥屏)

key config-key password-encrypt qtycisco
passowrd encryption aes
crypto isakmp key 0 cisco address 1.1.1.1

Limit Minimum Length of Password - 设置密码最短要求

security passwords min-length 6

Setting a Login Inactivity Timer - 设置空闲会话过时

line console 0
exec-timeout 2 30
# 第一个数字为分,第二个数字为秒。上面的配置即会话闲置2分30秒,就自动断开

Login Enhancements

抵御字典爆破攻击.

  1. 在尝试多次输入账号密码时,设置时间间隔
  2. 在疑似 DoS 攻击时,暂停登录进程
  3. 为登陆的成功/失败 事件创建对应的 syslog 记录
# 60s 内尝试登录失败3次,暂停600s
login block-for 600 attempts 3 within 60

# 多次尝试之间,间隔2s
login delay 2

# 为vty 登录创建源检测(ACL list)
login quite-mode access-class allow-mgmt-net

# 连续失败2 次登录,创建一条日志
login on-failure log every 2

# 每次成功登录,创建一条日志
login on-success log every 1

通过 SSH 管理设备

SSH 配置步骤

# 1.配置主机名
hostname Site1_GW

# 2.配置域名
ip domain name hf.life

# 3.生成RSA 密钥对,长度自选
crypto key generate rsa modulus 2048

# 4.创建本地用户名、密码(本地用户管理时使用)
username admin privilege 15 secret qytcisco

# 5.配置本地认证和登录协议限制(只允许ssh)
line vty 0 15
login local
transport input ssh

# 6.调用rsa 密钥
ip ssh rsa keypair-name Site1_GW.hf.life

# 7.只允许ssh version 2
ip ssh version 2

配置完成后,telnet 已无法连接设备。

为什么要 SSH

  1. 对会话的过程进行加密,中间人无法通过数据包判断交互内容
  2. 可以对服务器进行认证,当服务器密钥修改后,客户端会提示风险。

AAA 基本理论

AAA:

  1. Authentication - 认证:通过密码、用户名密码、银行卡、证书、指纹等等手段,判断你是谁
  2. Authorization - 授权:用户能够使用的命令、访问的资源、查看的信息
  3. Accounting - 审计:什么人、什么时间、做了什么事情

NAS (Network Access Server) - 网络接入服务器:AAA 客户端运行在 NAS 设备上,NAS 设备可以时路由器、交换机、AP 等为用户提供入网服务的设备。

AAA 的三大应用场景

  1. 设备管理:Telnet、SSH
  2. VPN
  3. 穿越防火墙的数据流量认证

RADIUS vs TACACS+

协议 TACACS+ RADIUS
port used 49 Authentication/Authorization: 1645/1812; Accounting: 1646/1813
Transport Protocol TCP UDP
Encryption Full Packet Encryption Encrypt password only
AAA Architecture Separate control of each AAA service Authentication and authorization combined
Standary/Proprietary Cisco Industry Standard
User Case IOS 设备管理 IPSec VPN;SSL VPN;802.1x

AAA 基础配置

线下保护

aaa new-model

aaa authentication login noacs line none

line console 0
login authentication noacs

指定 TACACS+ 服务器

# security-lab 为TACACS 服务器组名,在配置认证策略时会使用。
aaa group server tacacs+ security-lab
server-private 192.168.10.241 key qytcisco

配置认证策略

# security_lab_vty 是身份验证列表的名称,用于line vty 线路下认证源
# security_lab 是server-group 名,在指定TACACS+ 服务器时配置
aaa authentication login security_lab_vty group security-lab local

# 在vty 线路下,使用security_lab_vty 的身份认证列表进行aaa 验证
line vty 0 15
login authentication security_lab_vty

此时使用本地账号 admin 登录会被拒绝。

使用 AAA 账号登录,成功:

AAA 授权策略配置

# security_lab_vty 是认证列表,而非authentication 配置中的身份验证列表。
# 可以不一致?
aaa authorization exec security_lab_vty group security-lab local

line vty 0 15
authorization exec security_lab_vty

AAA 审计策略

aaa accounting exec security_lab_vty start-stop group security-lab

line vty 0 15
accounting exec security_lab_vty

查看审计报告