網絡設備 密碼、用戶級別 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     顯示有關記帳功能的調試信息
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章