Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.

Announcement

Collapse
No announcement yet.

Lab AAA BCRAN

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Lab AAA BCRAN

    1. Giới thiệu cơ bản về AAA.
      AAA quản lý hoạt động cơ bản của user qua các thiết bị như Switch, Router…. Nó được sử dụng để xác thực, cấp phát quyền, và loggig hay accounting
      1. Authentication (Xác thực)
      - Để xác định xem user có quền để truy nhập vào thiết bị hay không.
      - Ta có thể cấu hình để enable AAA trên Router hay Switch
    Code:
    Router(config)#aaa new-model
    - Ta có thể cấu hình user nội bộ trong thiết bị
    Code:
    Router(config)#username username password password
    - Định nghĩa TACACS+ hay RADIUS server : AAA server như:Secure Access Control Server(ACS)
    Code:
    Router(config)#tacacs-server host {hostname | ip-address } [key string]
    Ở đây thì key ta cấu hình ở router phải trùng với key cấu hình ở server
    - Định nghĩa các phương thức truy nhập vào Router qua cac line (console, vty)
    Code:
    Router(config)#aaa authentication login {default | list-name} method1 [method2…]
    Có một phương thức như sau
    Tacacs+: Mỗi TACACS+ server được cấu hình thì Router sẽ cố gắng theo trình tự được cấu hình ở trên.
    Radius: Tương tự như tacacs
    Local: Nó sẽ lấy các user nội bộ bằng lệnh username
    Line: Line password có thể được sử dụng cho bất kỳ user nào
    - Nếu ta sử dụng default thì nó sẽ áp dụng vào tất cả các line, còn đối với name-list thì ta phải áp dụng nó vào từng line mà ta muốn.
    - Áp dụng các phương thức vào Line(console hoặc vty)
    Code:
    Router(config-line)#login authentication {default | list-name}
    - Ta cấu hình bảo vệ bằng enable password ở privilege.
    Code:
    Router(config)#aaa authentication enable default method1 [...[method4]]
    2. Authorization(Xác định thẩm quyền)
    Sau khi xác thực xong thì không phải tất cả các user đều có quyền như nhau mà ta sẽ phân cấp quyền cho các user theo nhiều cấp khác nhau, cho từng mode khác nhau.
    Code:
    Router(config)#aaa authorization {command | configuration | exec | network| reverse-access} {default | list-name} method1 [method2 …]
    Command : Server sẽ trả về quyền cho phép user các lệnh có thể ở privilege level
    Config-command: Server sẽ trả về quyền cho phép user có thể sử dụng bất kỳ lệnh nào trên thiết bị
    Exec: Nó sẽ áp dụng các thuộc tính thích hợp với exec terminal session.
    Network: Áp dụng cho các kết nối như SLIP, PPP, kết nối ARAP
    Reverse-access: Server sẽ trả về quyền được reverse telnet từ Router.
    3. Accounting:Để cho phép server thu thập thông tin từ thiết bị
    Code:
    Router(config)#aaa accounting {system | exec |command | level} {default | list-name} {start-stop | stop-only | wait-start | none } metod1 [method2 …]
    System : Cung cấp các sự kiện liên quan đên hệ thống như: reload..
    Netword: cung cấp các sự kiện liên quan đến kết nối như : PPP, SLIP, ARAP.
    Exec:Cung cấp thông tin về exec của user như địa chỉ ip của user, và thời gian của session.
    Start-stop cung cấp sự kiện từ lúc bắt đầu đến lúc kết thúc.
    Stop-only: Cung cấp sự kiện chỉ khi kết thúc sự kiện
    Wait-start: Các yêu cầu của user chưa đựơc khởi tạo cho đến khi accounting record ack

    II. Cấu hình cho Server(ACS)
    - Trước hết ta tạo aaa client: Khởi đông AAA server: từ của sổ chính ta kích vào Network configuration thì nó sẽ cho ta cửa sổ sau:
    - aaa client hostname: ta gỏ host name của router
    - aaa client address: ta gỏ địa chỉ add của router
    - Key ta gỏ key trùng với key đã gỏ ở router trong lệnh tacacs-server
    - Authentication using: chọn tacacs+(cisco ios) nếu sử dung tacacs
    - Tiếp theo ta cấu hình cho user: Trước hết ta kích vào user setup: Rồi các bước làm trình tự như sau:
    - Định nghĩa thời gian mà user bị disable hay enable
    - Xác định max pivilege cho user khi sử dụng authorization



    - Xác định password cho user

    III. Cấu hình cho router:
    1. authentication
    Code:
    Router#show run
    Building configuration...
    
    Current configuration : 939 bytes
    !
    version 12.2
    service timestamps debug datetime msec
    service timestamps log datetime msec
    no service password-encryption
    !
    hostname Router
    !
    aaa new-model “enable aaa”
    !
    aaa authentication login default group tacacs+ local “ cấu hình authentication cho các line”
    aaa authentication enable default group tacacs+ enable “Cấu hình enable cho privilege”
    aaa session-id common
    enable password cisco
    !
    username cuong password 0 cisco
    !
    no ip domain lookup
    !
    interface Ethernet0/0
    ip address 192.168.2.1 255.255.255.0
    full-duplex
    !
    tacacs-server host 192.168.2.2 key cuong
    !
    end
    2. Authorization local
    Code:
    Router#show run
    Building configuration...
    
    Current configuration : 1449 bytes
    !
    hostname Router
    !
    aaa new-model
    !
    aaa authentication login default group tacacs+ local
    aaa authentication enable default group tacacs+ enable
    aaa authorization exec default local “Cho phép user thực hiện session”
    aaa authorization commands 0 default local
    aaa authorization commands 7 default local
    aaa authorization commands 15 default local
    “yêu cầu user authorization ở các level 0,7.,15”
    aaa session-id common
    enable password cisco
    !
    username cuong password 0 cisco
    username c1 privilege 0 password 0 cisco
    username c2 privilege 7 password 0 cisco
    username c3 privilege 15 password 0 cisco
    memory-size iomem 10
    ip subnet-zero
    !
    !
    no ip domain lookup
    !
    voice call carrier capacity active
    !
    
    mta receive maximum-recipients 0
    - Ở đây ta thấy user được trả về ở level 7 ta sử dụng lệnh show privilege để kiểm tra
    - Ta thấy user chỉ có một số lệnh mà ta đã cấu hình trên router.
    Code:
    interface Ethernet0/0
    ip address 192.168.2.1 255.255.255.0
    full-duplex
    !
    ip classless
    ip http server
    tacacs-server host 192.168.2.2
    tacacs-server key cuong
    call rsvp-sync
    !
    privilege configure level 7 snmp-server “Các lệnh cho phép ở user ở Privilege level 7”
    privilege configure level 7 snmp-server enable
    privilege configure level 7 snmp-server host
    privilege configure level 7 interface
    privilege configure level 7 line
    privilege configure level 7 host
    privilege exec level 7 ping
    privilege exec level 7 config terminal
    privilege exec level 7 config config
    line con 0
    password cisco
    logging synchronous
    line aux 0
    line vty 0 4
    password cisco
    end
    - Kiểm tra bằng các telnet vào từ một host cho ta kết quả sau:



    - Ở đây ta thấy user được trả về ở level 7 ta sử dụng lệnh show privilege để kiểm tra
    - Ta thấy user chỉ có một số lệnh mà ta đã cấu hình trên router.

    1.1. Giới thiệu tổng quan AAA

    1.1.1. Việc sử dụng AAA trong vấn đề bảo mật và điều khiển truy cập mở rộng trong mạng

    Các nhà quản trị mạng ngày nay phải điều khiển việc truy cập cũng như giám sát thông tin mà người dùng đầu cuối đang thao tác. Những việc làm đó có thể đưa đến thành công hay thất bại của công ty. Với ý tưởng đó, AAA là cách thức tốt nhất để giám sát những gì mà người dùng đầu cuối có thể làm trên mạng. Ta có thể xác thực (authentication) người dùng, cấp quyền (authorization) cho người dùng, cũng như tập hợp được thông tin như thời gian bắt đầu hay kết thúc của người dùng (accounting). Như ta thấy, bảo mật là vấn đề rất quan trọng.
    Với mức độ điều khiển, thật dễ dàng để cài đặt bảo mật và quản trị mạng. Ta có thể định nghĩa các vai trò (role) đưa ra cho user những lệnh mà họ cần để hoàn thành nhiệm vụ của họ và theo dõi những thay đổi trong mạng. Với khả năng log lại các sự kiện, ta có thể có những sự điều chỉnh thích hợp với từng yêu cầu đặt ra.
    Tất cả những thành phần này là cần thiết để duy trì tính an toàn, bảo mật cho mạng. Với thông tin thu thập được, ta có thể tiên đoán việc cập nhật cần thiết theo thời gian. Yêu cầu bảo mật dữ liệu, gia tăng băng thông, giám sát các vấn đề trên mạng,… tất cả đều có thể tìm thấy trên dịch vụ AAA.

    1.1.2. Tổng quan AAA

    AAA [1] cho phép nhà quản trị mạng biết được các thông tin quan trọng về tình hình cũng như mức độ an toàn trong mạng. Nó cung cấp việc xác thực (authentication) người dùng nhằm bảo đảm có thể nhận dạng đúng người dùng. Một khi đã nhận dạng người dùng, ta có thể giới hạn thẩm quyền (authorization) mà người dùng có thể làm. Khi người dùng sử dụng mạng, ta cũng có thể giám sát tất cả những gì mà họ làm. AAA với ba phần xác thực (authentication), cấp quyền (authorization), tính cước (accounting) là các phần riêng biệt mà ta có thể sử dụng trong dịch vụ mạng, cần thiết để mở rộng và bảo mật mạng.
    AAA có thể dùng để tập hợp thông tin từ nhiều thiết bị trên mạng. Ta có thể bật các dịch vụ AAA trên router, switch, firewall, các thiết bị VPN, server, …

    1.1.3. Định nghĩa AAA

    Các dịch vụ AAA được chia thành ba phần, xác thực (authentication), cấp quyền (accounting), tính cước (accounting). Ta sẽ tìm hiểu sự khác nhau của ba phần này và cách thức chúng làm việc như thể nào. Điều quan trọng nhất là hiểu về các kiểu khác nhau của tính cước (accounting).

    1.1.3.1.Xác thực (Authentication)

    Xác thực dùng để nhận dạng (identify) người dùng. Trong suốt quá trình xác thực, username và password của người dùng được kiểm tra và đối chiếu với cơ sở dữ liệu lưu trong AAA Server. Tất nhiên, tùy thuộc vào giao thức mà AAA hỗ trợ mã hóa đến đâu, ít nhất thì cũng mã hóa username và password.
    Xác thực sẽ xác định người dùng là ai. Ví dụ: Người dùng có username là THIEN và mật khẩu là L@bOnlin3 sẽ là hợp lệ và được xác thực thành công với hệ thống. Sau khi xác thực thành công thì người dùng đó có thể truy cập được vào mạng. Tiến trình này chỉ là một trong các thành phần để điều khiển người dùng với AAA. Một khi username và password được chấp nhận, AAA có thể dùng để định nghĩa thẩm quyền mà người dùng được phép làm trong hệ thống.

    1.1.3.2.Thẩm quyền (Authorization)

    Authorization cho phép nhà quản trị điều khiển việc cấp quyền trong một khoảng thời gian, hay trên từng thiết bị, từng nhóm, từng người dùng cụ thể hay trên từng giao thức. AAA cho phép nhà quản trị tạo ra các thuộc tính mô tả các chức năng của người dùng được phép làm. Do đó, người dùng phải được xác thực trước khi cấp quyền cho người đó.
    AAA Authorization làm việc giống như một tập các thuộc tính mô tả những gì mà người dùng đã được xác thực có thể có. Ví dụ: người dùng THIEN sau khi đã xác thực thành công có thể chỉ được phép truy cập vào server VNLABPRO_SERVER thông qua FTP. Những thuộc tính này được so sánh với thông tin chứa trong cơ sở dữ liệu của người dùng đó và kết quả được trả về AAA để xác định khả năng cũng như giới hạn thực tế của người đó. Điều này yêu cầu cơ sở dữ liệu phải giao tiếp liên tục với AAA server trong suốt quá trình kết nối đến thiết bị truy cập từ xa (RAS).

    1.1.3.3.Tính cước (Accounting)

    Accounting cho phép nhà quản trị có thể thu thập thông tin như thời gian bắt đầu, thời gian kết thúc người dùng truy cập vào hệ thống, các câu lệnh đã thực thi, thống kê lưu lượng, việc sử dụng tài nguyên và sau đó lưu trữ thông tin trong hệ thống cơ sở dữ liệu quan hệ. Nói cách khác, accounting cho phép giám sát dịch vụ và tài nguyên được người dùng sử dụng. Ví dụ: thống kê cho thấy người dùng có tên truy cập là THIEN đã truy cập vào VNLABPRO_SERVER bằng giao thức FTP với số lần là 5 lần. Điểm chính trong Accounting đó là cho phép người quản trị giám sát tích cực và tiên đoán được dịch vụ và việc sử dụng tài nguyên. Thông tin này có thể được dùng để tính cước khách hàng, quản lý mạng, kiểm toán sổ sách.


    Giao thức sử dụng cho dịch vụ AAA

    2.1.Giao thức sử dụng cho dịch vụ AAA
    2.1.1.Giới thiệu
    Có hai giao thức bảo mật dùng trong dịch vụ AAA đó là TACACS (Terminal Access Controller Access Control System) và RADIUS (Remote Authentication Dial-In User Service). Cả hai giao thức đều có phiên bản và thuộc tính riêng. Chẳng hạn như phiên bản riêng của TACACS là TACACS+, tương thích hoàn toàn với TACACS. RADIUS cũng có sự mở rộng khi cho phép khách hàng thêm thông tin xác định được mang bởi RADIUS.
    TACACS và RADIUS [1] được dùng từ một thiết bị như là server truy cập mạng (NAS) đến AAA server. Xem xét một cuộc gọi từ xa như hình 2.1. Người dùng gọi từ PC đến NAS. NAS sẽ hỏi thông tin để xác thực người dùng. Từ PC đến NAS, giao thức sử dụng là PPP, và một giao thức như là CHAP hay PAP được dùng để truyền thông tin xác thực. NAS sẽ truyền thông tin đến AAA Server để xác thực. Nó được mang bởi giao thức TACACS hoặc RADIUS.



    2.1.2.Tổng quan về TACACS
    TACACS là giao thức được chuẩn hóa sử dụng giao thức hướng kết nối (connection-oriented) là TCP trên port 49.
    TACACS có các ưu điểm sau:
    ·Với khả năng nhận gói reset (RST) trong TCP, một thiết bị có thể lập tức báo cho đầu cuối khác biết rằng đã có hỏng hóc trong quá trình truyền.
    ·TCP là giao thức mở rộng vì có khả năng xây dựng cơ chế phục hồi lỗi. Nó có thể tương thích để phát triển cũng như làm tắc nghẽn mạng với việc sử dụng sequence number để truyền lại.
    ·Toàn bộ payload được mã hóa với TACACS+ bằng cách sử dụng một khóa bí mật chung (shared secret key). TACACS+ đánh dấu một trường trong header để xác định xem thử có mã hóa hay không.
    ·TACACS+ mã hóa toàn bộ gói bằng việc sử dụng khóa bí mật chung nhưng bỏ qua header TACACS chuẩn. Cùng với header là một trường xác định body có được mã hóa hay không. Thường thì trong toàn bộ thao tác, body của một gói được mã hóa hoàn toàn để truyền thông an toàn.
    ·TACACS+ được chia làm ba phần: xác thực (authentication), cấp quyền (authorization) và tính cước (accounting). Với cách tiếp cận theo module, ta có thể sử dụng các dạng khác của xác thực và vẫn sử dụng TACACS+ để cấp quyền và tính cước. Chẳng hạn như, việc sử dụng phương thức xác thực Kerberos cùng với việc cấp quyền và tính cước bằng TACACS+ là rất phổ biến.
    ·TACACS+ hỗ trợ nhiều giao thức.
    ·Với TACACS+, ta có thể dùng hai phương pháp để điều khiển việc cấp quyền thực thi các dòng lệnh của một user hay một nhóm nhiều user:
    oPhương pháp thứ nhất là tạo một mức phân quyền (privilege) với một số câu lệnh giới hạn và user đã xác thực bởi router và TACACS server rồi thì sẽ được cấp cho mức đặc quyền xác định nói trên.
    oPhương pháp thứ hai đó là tạo một danh sách các dòng lệnh xác định trên TACACS+ server để cho phép một user hay một nhóm sử dụng.
    ·TACACS thường được dùng trong môi trường enterprise. Nó có nhiều ưu điểm và làm việc tốt đáp ứng yêu cầu quản lý mạng hàng ngày.
    2.1.3.Tổng quan về RADIUS
    RADIUS là giao thức bảo mật mạng dựa theo mô hình client-server. Nó dùng giao thức UDP. RADIUS server thường chạy trên máy tính. Client là các dạng thiết bị có thể truyền thông tin đến RADIUS server được chỉ định trước và sau đó đóng vai trò phúc đáp mà nó trả về. Giao tiếp giữa client và RADIUS server được xác thực thông qua việc sử dụng khóa bí mật chung không được truyền qua mạng.

    Một số ưu điểm của RADIUS là:
    ·RADIUS có phần overhead ít hơn so với TACACS vì nó sử dụng UDP, trong phần overhead không có địa chỉ đích, port đích.
    ·Với cách thức phân phối dạng source code, RADIUS là dạng giao thức hoàn toàn mở rộng. Người dùng có thể thay đổi nó để làm việc với bất kì hệ thống bảo mật hiện có.
    ·RADIUS yêu cầu chức năng tính cước (accounting) mở rộng.

    RADIUS thường được dùng để tính cước dựa trên tài nguyên đã sử dụng. Ví dụ như ISP sẽ tính cước cho người dùng về chi phí kết nối. Ta có thể cài đặt RADIUS Accounting mà không cần sử dụng RADIUS để xác thực và cấp quyền. Với chức năng accounting mở rộng, RADIUS cho phép dữ liệu được gửi từ các thiết bị xuất phát cũng như là thiết bị đích, từ đó giúp ta theo dõi việc sử dụng tài nguyên (thời gian, số lượng các gói tin, số lượng byte,...) trong suốt phiên làm việc.
Working...
X