• 网络设备 密码、用户级别 AAA授权 的管理


    一.进入 特权模式 密码
    设置访问网络设备特权模式口令
    cisco>enable
    cisco#config terminal
    cisco(config)#enable password 密码

    enable password存在的问题是它将口令以可阅读文本的形式储存在 running-config和startup-config中

    特别说明:
    Router(config)#enable password ?

         7          Specifies a HIDDEN password will follow

        LINE     The UNENCRYPTED (cleartext) 'enable' password

        level      Set exec level password


    7

            是思科自有的加密协议type7,比较简单,容易破解,这里的用法是  enable password 7  ……
    后面是加入密文才有效。这个密文通常要在以前备份的配置里拷贝才行,用于配置恢复时使用。
    比如你设置enable password cisco
    然后使用service password-encryption命令开启加密
    在show running-config里面能够看到enable password 7 104D000A0618
    104D000A0618这个值你就可以直接写在enable password 7后面,实际就是cisco密文加密的结果

     

    LINE

            直接输入密码,不加密,明文显示
     

    level   (后面讲)
             设置用户级别密码 指定密码作用于哪个级别(实际操作中会将密码加密保存)
              共15个等级  最低为1   最高为15(相当于root权限)
              进入对应的级别输入 相应的密码 
              如:Router>enable 5   (此时应输入5级密码)

     

    在网络设备中,默认情况下,除了使能加密口令外,其它所有口令都以明文格式储存在startup-config 和 running-config中。使用 service password-encryption 命令后,所有系统口令都将以加密形式存储。

    加密系统所有口令
    cisco(config)# service password-encryption 
    加密的方式是cisco私有加密方式


    取消系统口令加密
    cisco(config)# no service password-encryption 
    取消加密不会将已加密的口令恢复为可阅读文本,但是新设置的密码将会以明文存在


    二.使能密码

            思科引入新的口令控制特权模式访问,即加密口令,使能密码
    设置访问网络设备特权模式加密口令
    cisco>enable
    cisco#config terminal
    cisco(config)#enable secret 密码
    采用了MD5加密,如果配置了加密口令,则不在使用未加密口令,两种口令不能并列使用

             

     特别说明:
          
    Router(config)#enable secret ?

            0      Specifies an UNENCRYPTED password will follow

            5      Specifies an ENCRYPTED secret will follow

           LINE The UNENCRYPTED (cleartext) 'enable' secret

           level   Set exec level password


           其实对于Secret 选项来说,密码肯定是会被加密的。
           假设我要设置的密码为cisco


         0 是指:我现在即将输入的密码是原始密码,是:cisco
         5 是指:就是输入cisco 的MD5值:$1$XNRo$8FSa/XSF9DbmF6VbK6L6K
         level   :    设置用户级别密码 指定密码作用于哪个级别

     

     

    三.控制台登录密码

    配置console 访问密码

    cisco>enable
    cisco# config terminal
    cisco(config)# line console 0            切换为控制台0号 线路配置模式
    cisco(config)# password  密码           设置密码
    cisco(config)# login               将控制台线路设置为登陆需要输入口令 才能访问(否则即使设置密码也不需要输入)

    四.辅助线路

    配置vty访问密码

    cisco>enable
    cisco#config terminal
    cisco(config)#line aux 0             对aux0号 线路进行配置
    cisco(config)#password 密码     设置密码
    cisco(config)#login                   将控制台线路设置为登陆需要输入口令 才能访问(否则即使设置密码也不需要输入)

    五.虚拟终端线路(vty 同步)(tty异步) telnet  ssh

    配置vty访问密码

    cisco>enable
    cisco#config terminal
    cisco(config)#line vty 0 15 对vty0到15号 线路进行配置(最大允许16个人同时登陆,VTY线路的编号)
    cisco(config)#password 密码 设置密码
    cisco(config)#login       将控制台线路设置为登陆需要输入口令 才能访问(否则即使设置密码也不需要输入)
                                             

     

    特别说明:
       
    Router(config-line)#login ?

            authentication    authenticate using aaa method list

              local Local       password checking

       authentication    配置Telnet口登录进行AAA认证(后面讲)

     

       local        如果设置 local 则指明使用本地数据库进行身份验证,将要输入 用户名 和 密码
                      首先必须要用username xxx  password xxx命令
                      来创建你的用户并且给你的用户设置密码

     

            特别说明,在默认情况下,除了password secret外,所有cisco密码都以明文形式,存贮在路由器的配置,这些密码通过 show running-config命令来查看。这是非常不安全的行为。

            为提高密码安全性,可进行如下配置。

    1.设置最短密码长度
          cisco IOS 12.3 以后的版本,可以利用命令
          security passwords min-length 长度   
          
    设置0~16位的最短字符长度,启用后,user passwords、enable secret、line passwords、都会遵循此设置

     

    2.禁用无用连接
        在线路配置模式下,使用
        Router(config-line)#exec-timeout  时间
        该命令来控制管理接口连接时间,

     

    3.加密配置文件中的所有密码
         加密系统所有口令
         cisco(config)# service password-encryption 
        加密的方式是cisco私有加密方式,是一种可逆的加密,建议使用与enable 不同的密码


        取消系统口令加密
        cisco(config)# no service password-encryption 
        取消加密不会将已加密的口令恢复为可阅读文本,但是新设置的密码将会以明文存在

      

    4.使用本地数据库中的用户和密码执行登陆验证,有两种配置方式
          Router(config)# username 用户名  passwords 密码
          Router(config)# username 用户名 secret  密码   (用md5加密,安全性更高)

         然后在线路配置中,启用本地登陆验证
         Router(config-line)#login local

     

    5.其它的登陆安全措施

    R1(config)#login block-for 60 attempts 3 within 30
                                        //30s内连续登录失败3次后,等待60s(进入安静期)后才能再次登录
    R1(config)#login quiet-mode access-class 10  
                                           //安静期内ACL10指定的计算机仍可以远程访问本路由器
    R1(config)#login delay 2                 //登录成功后有2s延迟,即2s后才能再次登录
    R1(config)#login on-failure log        //登录失败会在日志中记录
    R1(config)#login on-success log        //登录成功会在日志中记录
    R1(config)#security authentication failure rate 5 log
                                      //连续登录失败5次后,默认等待15s后才能再次登录,并会产生日志,IOS12.3(1)
     验证配置可以使用  show login 

     

    6.设置标语
        

    配置旗标消息:

    R1(config)#banner motd @        @        //每日报告旗标(MOTD Message-of-the-day banner)   连接时

    R1(config)#banner login@        @        //登录旗标          登录前

    R1(config)#banner exec @        @        //EXEC旗标      登陆后

    R1(config)#banner incoming@        @        //传入旗标 
                                                                    在与反向Telnet线路连接的终端上显示,该旗标有助于向用户提供指令;

    R1(config)#banner slip-ppp@        @        //SLIP-PPP旗标

                           常用于兼容非Cisco系列线路Internet协议(如:SLIP和PPP拨号软件连接中),如果使用默
                                   认旗标,会导致连接问题。

     

     

     

     

     

    用户级别控制:

     

    Cisco IOS提供从0到15的16个优先权等级:

    ①默认情况下IOS有3个预定义的用户等级,分别为:

        优先权等级0:包括disable、enable、exit、help和logout命令;

        优先权等级1:User EXEC mode,即用户模式(R1>)的所有用户级命令;

        优先权等级15:Privileged EXEC mode(启用模式),包括R1#提示的所有启动级命令。


             ②2至14等级用于用户自定义的模式;
                          cisco(config)# enable secret level  级别 密码
                                                          
    设置从用户模式进入各级别 特权模式的密码
                            R1(config)# username user3 privilege 5 secret 密码
                                                          
    创建优先权等级5的user3用户

     

    ③ R1(config)# privilege mode level 级别 命令
                      命令可以更改、移动或设置上述任一级别的命令优先权,

              mode:是指路由器上的不同模式
                                    cisco(config)#privilege ?

                                           configure      Global configuration mode

                                           exec             Exec mode

                                           interface      Interface configuration mode

                                           line               Line configuration mode

                                           router           Router configuration mode

        示例:          R1(config)#privilege configure level 5 interface  
                                       //移动等级15的“interface”命令到等级5
                                      R1(config)#privilege configure level 5 ping
                                            //等级5及以上才可以使用  ping 命令

                        

     

    ④“R1(config-line)#privilege level level              命令可以修改给定线路的优先权等级。

        示例:R1(config)#line vty 3 4 

              R1(config-line)#privilege level 1        //修改VTY线路3-4的默认优先权等级为1

               使用  show privilege  命令显示当前级别 

     

     

    AAA认证:
     
    一、简介
            AAA是Authentication(认证)Authorization授权 Account记帐的简称;
            它们不是必须的也不是要同时一起使用的;
            他们可以使用路由器设备本地数据库,也可以使用外部数据库(ACS);
                    首先我们要认证,即通过密码验证;我们就算没有设置其实也用到了认证,就是登陆路由器要输入的密码,
            这个叫enable
             我们在配置了,username abc password aaa 
                                         username abc secret password
                    
    使用这个帐号的话,叫local;
             这二种是本地的数据库。
             
    如果要用到认证服务器,如 tacacs+ radius 就属于group 服务器组方式了,这时你必须要在tacacs+ radius中选一个,同时还最多可选三个其它的认证方式;当然如果你对你的服务器和网络环境有信心的话可以不选。 

    二、配置教程
    1、使用它们都是三个步骤
      1、建立帐户数据库(本地或认证服务器);
      2、定义列表;
      3、应用到接口和链路;
    2、首先我们要启用AAA功能 
      Router(config)# aaa new-model

    3、一般来说第二步定义一个本地数据库防止配置失误造成无法登陆
      Router(config)# Username abc password aaa

    4、定义认证配置
      认证相当于在问你是谁,你要回答我是哪个;但不可能不停的在问就算不烦嗓子也疼啊,只有在进门时我会问下你是谁,开保险柜时我在问下你是谁,或者是检查指纹测试瞳孔什么的等等;所以我们要对动作进行认证定义。
       Router(config)#aaa authentication  行为 列表名 认证方法
         行为主要有以下三种:
       aaa authentication login ――――――当有一个登陆行为时进行认证;
       aaa authentication ppp ――――――对基于PPP协议的一些网络应用进行认证;
       aaa authentication enable ――――――对使用enable命令进入特权模式时进行认证;
            列表名是自己定义的,这样我们可以把各种认证方式互相组合保存成一个个列表,用的时候方便,修改起来也方便,我改了一个列表里的认证方式那么所有使用这个列表的地方都改了,不需要去一个个地方去改了。
      Dedautl列表是一个系统自己建立的列表名作为缺省列表。它与我们自己建的列表没有任何区别,只不过他是系统建的而已。
    3、认证方法,就是指我们是查口令呢还是看指纹还是其它等等,也就是把我们的回答和谁进行分析比较。主要有以
      下几种:

     


    关键字

    描述
    enable 使用enabel口令认证;
    krb5 使用Kerberos5来认证;
    line 使用线路口令来认证;
    local 使用本地用户数据库来认证;
    none 不认证;
    group radius 使用radius服务器来认证;
    group tacacs+ 使用tacacs+服务器来认证;

     

     local-case           使用本地验证(对大小写敏感)


    每个列表中必须定义一种认证方法,最多可以定义四种方法,当第一种认证不通过再使用第二种,以此类推。 
    例如我们定义
    Router(config)# aaa authentication login 二号方案 group tacacs+ local
    //我们定义了一个名叫二号方案认证方式,就是先去tacacs+服务器验证,如果不成功在试试用本地帐号来试;
    Router(config)# aaa authentication login 三号方案 group local enable
    //我们定义了一个名叫三号方案认证方式,就是先用本地帐号验证,如果不成功就用enable密码来验证;

    五、应用到接口和链路
    我们上面做了那么多但是还没有效果为什么呢,就好像我们做好了报警器,指纹验证器但没装到门上你说可有效果,那当然是不行的了,我们是定义了当登陆时就启用一个列表名字叫二号方案的认证方式,但只有我们把他装到门上才能有效果啊,有人说太麻烦应该定义好了就能用,那就惨了,你给自己家的门上装了二号方案没关系,如果楼道门、院子门,都给装上了那就有问题了,所以我们要把定义好的认证方法列表装到我们需要使用认证的门上,例如我们可能对Telnet要认证,但通过console登陆的就不要认证。
    Router(config)# line vty 0 //我们先要进入接口
    Router(config-line)# aaa authentication 二号方案   //线路vty0使用名为二号方案的方式进行认证;
    或者:
    Router(config)# line vty 1
    Router(config-line)# login  authentication 三号方案


     

    aaa的一些其他命令:
        锁死失败超过限制的账号
       Router(config)# aaa local authentication at tempts max-fail 失败次数

     
    显示所有被锁死的用户
      Router# show aaa local user lockout 

      
    解除锁定
      Router(config)# clear aaa local user lockout {username 用户名| all}

     只显示aaa认证授权的用户
     Router# show aaa  user  {all | 唯一id}

     显示一个会话的唯一id
     Router# show aaa  sessions 
       

     

    AAA授权:

    配置供用户通过认证之后的AAA授权
         aaa authorization 命令
         aaa authorization {network | exec | commands level | reverse-access | configuration} {default
    |list-name}  method1 [method2~~~]
         network 为所有网络相关的服务请求进行授权,包括SLIP,PPP,PPP NCP和ARA
         exec      使用授权,以确定是否用户可以运行一个EXEC shell.
         commands 为所有处于规定的特权级别的命令使用授权
         level     规定应该被授权的命令级别,有效值 0-15
         reverse-access   为反向访问连接使用授权,例如反向Telnet
         configuration   从AAA服务器上下载配置

         default         使用此变量后列出的认证方法,作为缺省方法列表供认证
         listname        用来命令认证方法列表的字符串

         method 规定以下关键字的至少一种
           group 用radius或tacacs+服务器的一个子集来认证,这些服务器定义在aaa group server radius
    或aaa group server tacacs+命令中
           if-authenticated   如果用户为认证,允许用户访问请求的功能;
           krb5-instance      使用被kerberos instance map命令定义的实例;
           local              用本地用户名数据库来授权
           none                不用授权
    例子:
         enable secret level 1 ***    为级别1的用户建立一个enable secret口令
         enable secret level 15 ***    为级别15的用户建立一个enable secret口令
         aaa new-model   启用AAA
         aaa authentication login default enable     将enable口令作为缺省的登入方式
         aaa authentication login console-in group tacacs+ local     无论何时使用名为console-in的列
    表,都使用TACACS+认证,如果TACACS+认证失败,己用本地用户名和口令
         aaa authentication login dial-in group tacacs+    无论何时使用名为dial-in的列表,都使用
    TACACS+认证.
         username *** password ****         建立一个本地用户名和口令,最可能与console-in登录方法列
    表一起使用
         aaa authorization commands 1 alpha local    用本地用户名数据库来为所有级别1命令的使用进行
    授权  www.2cto.com  
         aaa authorization commands 15 bravo if-authenticated group tacplus local   如果用户已经认
    证了,让其运行级别15的命令,如果还未认证,在允许其访问级别15的命令之前,必须基于tacplus组中的
    TACACS+服务器来认证
         aaa authorization network charlie local none   使用本地数据库来对所有网络服务的使用授权,
    如果本地服务器不可用,此命令执行并不授权,用户能使用所有的网络服务
         aaa authorization exec delta if-authenticated group tacplus    如果用户已经认证,让其运行
    EXEC过程,如果没有认证,在允许EXEC之前,必须基于tacplus组中的TACACS+服务器来认证
         privilege exec level 1 ping   为级别1的用户启用PING
         line console 0 
         login authentication console-in   使用console-in列表作为控制台端口0的登录认证
         line s3/0
         ppp authentication chap dial-in   使用dial-in列表作接口S3/0 的PPP CHAP的登录认证

     

     

    AAA记账:

    配置规定如何写记帐记录的AAA记帐
         aaa accounting [auth-proxy |system |network |exec |connection |commands level]{default
    |list-name} [vrf vrf-name] [start-stop|stop-only|none][broadcast][method][method2]
          auth-proxy   提供有关所有认证代理用户事件的信息
          system       为所有非用户相关的系统级事件执行记帐
          network      为所有网络相关的服务请求运行记帐
          exec         为EXEC shell会话运行记帐。
          connection    提供所有有关源子NAS的外出连接的信息
          commands      为所有处于特定特权级别的命令运行记帐,有效的特权级别取值0-15
          default       使用本参数之后列出的记帐方式
          list-name     用来命令记帐方式列表的字符串
          vrf vrf-name 规定一个VRF配置
          start-stop    在一个过程的开端,发送一个开始记帐通知,在过程结束时,发送一个停止记帐通知

          stop-only     在被请求用户工程结束时发送一个停止记帐通知
          none          禁止此链路或接口上的记帐服务
          broadcast           启用发送记帐记录到多个3A服务器,同时向每个组中第一台服务器发送记帐记
    录  www.2cto.com  
          method 规定一下关键子中的至少一个
             group radius   用所有RADIUS服务器列表作为记帐
             group tacacs+ 用所有列出的TACACS+服务器来记帐
             group group-name 用RADIUS或TACACS+服务器的一个子集作为记帐
        在路由器上启用下列命令以启用几张
       aaa accounting system wait-start local   用记帐方法审计系统事件
       aaa accounting network stop-only local   当网络服务中断,发送停止记录通知
       aaa accounting exec start-stop local     当EXEC过程开始时,发送一个开始记录通知,结束时,发
    送停止记录
       aaa accounting commands 15 wait-start local   在任何级别15的命令开始之前,发送一个开始记录通
    知,并等待确认,当命令中止时,发送一个停止记录通知。
           
    6 校验配置
       debug aaa authentication 显示有关认证功能的调试信息
       debug aaa authorization 显示有关授权功能的调试信息
       debug aaa accounting     显示有关记帐功能的调试信息
     

  • 相关阅读:
    系统学习前端
    电脑上的图标拖不动
    js 给 input的value赋值
    js forEach的坑
    h5兼容性问题总结
    行内元素与块级元素
    百度搜索指令
    微信h5监听页面显示隐藏
    跨浏览器事件处理函数
    鼠标事件分析(onmouseenter、onmouseover、onmouseleave和onmouoseout的区别)
  • 原文地址:https://www.cnblogs.com/centos2017/p/7896678.html
Copyright © 2020-2023  润新知