[CCNA图文笔记]-28-思科路由安全浅析

0×1.思科路由密码安全浅析
对路由器最直接有效的攻击手段就是获取管理密码(vty密码和特权密码等),保护路由器密码安全的方法包括:
设置一个复杂的密码:一个强密码应该具有的特点是"包含数字、包含大写字母、包含小写字母、包含特殊符号";不要在密码中使用生日格式如:19901203;不要在密码中使用英文字典中最常用的单词如:hello等;不要在密码中包含电话号码、区号、手机号等。因为这些东西能很容易的放入坏人暴力猜解的字典中进行组合,最后就能获得你的密码。对配置文件中的密码实行加密:在全局配置模式下输入这条命令"service password-encryption"能够对所有密码进行加密,虽然这种加密可以破解,但至少增加了一道防线。特权密码的设置:创建特权密码应该使用"enable secret"而不是"enable password"。设置密码最小长度:在全局配置模式下输入"security passwords min-length 12",可以将密码的最小长度设置成12位。密码存放:不要将密码随便的记录在一台不安全的计算机的文本文件里;如果你将密码写在纸上,在密码更改以前不要随便将这张纸丢进垃圾桶,因为坏人可以从垃圾桶翻出很多敏感信息,其中就包括你的密码,或者你习惯的编码方式。
0×2.如何限制远程访问
可以使用ACL来设置仅允许管理员的IP登录这台设备的VTY终端:
01

R1>
en

02

R1#
conf
t

03

/启用路由密码加密,会将所有配置中的明文密码都加密存放/

04

R1(config)#service
password
-encryption

05

06

/设置密码最小长度是12/

07

R1(config)#security passwords min-length 12

08

09

/如果密码长度不够将不会配置成功/

10

R1(config)#
enable
secret
123

11

% Password too short - must be at least 12 characters. Password configuration failed

12

R1(config)#
enable
secret
www.qingsword.com

13

14

/*

15

  • 使用ACL允许192.168.1.200访问,这里演示使用了一个简单ACL,

16

  • 如果使用其他网管软件管理路由,可以使用复杂ACL允许管理IP和软件相应的端口。

17

*/

18

R1(config)#
access-list
1
permit
192.168.1.200

19

R1(config)#line
vty
0 4

20

R1(config-line)#
password
ccna

21

/因为前面设置了密码最小长度是12个字符,所以这里报错了。/

22

% Password too short - must be at least 12 characters. Password configuration failed

23

R1(config-line)#
password
www.qingsword.com

24

R1(config-line)#
access-class
1 in /将ACL 1应用于VTY/

25

R1(config-line)#
login

26

R1(config-line)#
end

这样设置后,VTY 0-4号线路就只有IP是192.168.1.200这个用户可以连上了。
0×3.如何使用SSH代替Telnet
Telnet使用明文的方式传输密码,在Internet上使用明文传输密码是非常不安全的,可以通过SSH(Secure Shell)远程登录和管理路由,SSH传输的时候使用RSA加密,就算数据包被捕获,也是RSA加密后的数据包。
下面在GNS3中来做一下这个实验,设备连线与IP地址如下图(图1)所示,在R1上配置允许ssh连接的vty线路:


[CCNA图文笔记]-28-思科路由安全浅析_第1张图片
图1

R1配置:
01

Router>
en

02

Router#
conf
t

03

04

/一定要改变路由默认的名称并且配置一个域名,用来生成密钥/

05

Router(config)#
host
R1

06

R1(config)#
ip
domain name www.qingsword.com

07

08

/生成
rsa
非对称密钥,可以看到输出中
key
的名字就是我们上面配置的路由名称和域名的组合
/

09

R1(config)#
crypto
key
generate
rsa

10

The name for the keys will be: R1.www.qingsword.com

11

Choose the size of the
key
modulus in the range of 360 to 2048 for your

12

General Purpose Keys. Choosing a
key
modulus greater than 512 may take

13

a few minutes.

14

15

/*

16

  • 输入密钥长度,直接回车则使用默认长度,

17

  • 长度可以是360到2048。

18

*/

19

How many bits in the modulus [512]:

20

% Generating 512 bit RSA keys, keys will be non-exportable...[OK]

21

22

/配置本地的用户名和密码用于
ssh
验证登陆
/

23

R1(config)#
username
qingsword
password
www.qingsword.com

24

25

/配置
vty
线路0~4
/

26

R1(config)#line
vty
0 4

27

/仅允许
ssh
登陆
/

28

R1(config-line)#
transport
input
ssh

29

/使用本地创建的用户密码验证/

30

R1(config-line)#
login
local

31

R1(config-line)#
exit

32

33

/*
ssh
选项,连接
ssh
后30秒未操作则超时*/

34

R1(config)#
ip
ssh
time-out 30

35

/允许三次密码错误尝试/

36

R1(config)#
ip
ssh
authentication
-retries 3

37

38

/配置特权密码/

39

R1(config)#
enable
secret
www.qingsword.com

40

41

/配置接口IP/

42

R1(config)#
int
s 0/0

43

R1(config-if)#
ip
add
12.1.1.1 255.255.255.0

44

R1(config-if)#
no
shut

45

R1(config-if)#
end

R2配置:
01

R2(config)#
int
s 0/0

02

R2(config-if)#
ip
add
12.1.1.2 255.255.255.0

03

R2(config-if)#
no
shu

04

R2(config-if)#
end

05

06

/完成后确保R2可以
ping
通R1,然后在R2上使用
ssh
命令登陆R1,-l参数后面是R1上创建的用户名
/

07

R2#
ssh
-l qingsword 12.1.1.1

08

Password: www.qingsword.com

09

R1>/登陆成功/

10

11

/大家可以尝试下R2上telnet连接R1,如果配置无误此时telnet是无法连接的/

0×4.如何记录日志
通常使用Console端口对路由进行配置时,可以看到来自路由的监控提示消息,比如开启或关闭一个端口就会出现相应的提示,但是通过VTY远程登录的时候却看不到这些提示,也看不到Debug命令的输出,这是因为虚拟终端默认情况下是关闭监控的,可以使用下面的命令来打开监控:
01

/接着上面的实验,在R2
ssh
登陆R1后,在R1上创建一个回环接口
/

02

R2#
ssh
-l qingsword 12.1.1.1

03

Password: www.qingsword.com

04

R1>
en

05

Password: www.qingsword.com

06

R1#
conf
t

07

R1(config)#
int
lo
0

08

/切换到R1的控制台,控制台中出现了下面这种新接口启用的输出,但是在
ssh
或telnet登陆窗口却看不到这样的输出
/

09

*Mar 1 00:21:00.599: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0, changed state to up

10

11

/
ssh
登陆窗口,使用下面的命令打开远程登录窗口的监控提示
/

12

R1(config)#
exit

13

R1#
terminal
monitor

14

% Console already monitors

15

16

/再次创建一个回环接口,这一次
ssh
窗口也出现了提示
/

17

R1#
conf
t

18

R1(config)#
int
lo
1

19

*Mar 1 00:23:55.303: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback1, changed state to up

20

21

/关闭远程终端监控功能/

22

R1(config)#
end

23

R1#
terminal
no
monitor

下面是一些和日志记录有关的命令,仅供参考:
01

/关闭日志记录/

02

R1(config)#
no
logging
on

03

04

/开启日志记录/

05

R1(config)#
logging
on

06

07

/设置日志记录缓存,后面的7是最高级别,记录所有信息/

08

R1(config)#
logging
buffered 7

09

10

/给记录的debug消息添加时间戳,单位精确到毫秒/

11

R1(config)#service timestamps debug datetime msec

12

13

/给记录的log消息添加时间戳,单位精确到毫秒/

14

R1(config)#service timestamps log datetime msec

15

R1(config)#
end

16

17

/显示本地缓存中的日志信息/

18

R1#
show
logging

路由缓存的空间是有限的,一般的做法是配置一台日志服务器,将路由和交换机的日志信息发送到服务器上,这样可以避免路由重启或者其他原因导致日志信息的丢失。
0×5.如何禁用思科路由不必要的服务和端口
可以使用下面这条命令来手动或者自动的配置路由,禁用一些不必要的服务和端口:

1

/不带参数,进入交互配置模式,根据提示设置即可/

2

Router#auto secure

3

4

/还有一种简便模式,非交互式,使用的是思科推荐的安全配置(除非你知道自己在做什么,否则不要随意在真实环境中配置下面的语句)/

5

R1#auto secure
no
-interact

你可能感兴趣的:([CCNA图文笔记]-28-思科路由安全浅析)