2.1.Cấu hình AAA
Việc cấu hình AAA [1] được thực hiện theo ba bước như sau:
Bước 1: Bật tính năng cho phép cấu hình AAA trên router. Trong suốt quá trình xác định AAA, router phải cấu hình sao cho nó luôn nói chuyện được với TACACS/RADIUS server.
Bước 2: Xác định người nào sẽ được xác thực, được cấp quyền như thế nào, và cái gì sẽ giám sát cơ sở dữ liệu.
Bước 3: Cho phép hoặc định nghĩa phương thức trên giao tiếp.
Các phần tiếp theo sẽ nói một cách chi tiết cách thức bật chức năng AAA (bước 1), cách thức xác định phương thức để xác thực, cấp quyền, và tính cước (bước 2), và cách thức xác định AAA trên một interface (bước 3). Để cho gọn và dễ dàng hiểu hơn, ta có thể gộp hai bước 2 và 3 lại làm một.
Chú ý rằng một khi AAA đã được cho phép trên router, bất kì interface và phương thức kết nối nào cũng phải định nghĩa hoặc không cho phép truy cập vào. Do đó, điều quan trọng nhất là phải tạo một “cánh cửa hậu” (back door) hay là cách thức truy cập cục bộ (local) trong suốt quá trình triển khai ban đầu để bảo đảm rằng router luôn có thể truy cập được nếu ta quên những gì đã cấu hình trước đó.
2.1.1.Bước 1- Cho phép chức năng AAA trên router
Để cho phép AAA trên router, ta sử dụng câu lệnh sau:
Router(config)#aaa new-model Một khi AAA được cho phép thì router phải chỉ đến địa chỉ source của AAA server. Với TACACS server, thì câu lệnh sẽ là:
Router(config)#tacacs-server host host-ip-address [single-connection]Router(config)#tacacs-server key serverkey Tham số host-ip-address xác định địa chỉ của TACACS server.
Tham số single-connection cho biết router duy trì một kết nối đơn trong suốt phiên làm việc giữa router và AAA server.
Một password chung được dùng giữa access router và AAA server để bảo mật thông tin. Ví dụ, câu lệnh cho phép thiết lập password trên router như sau:
Router(config)#tacacs-server key cisco Password được chọn phải giống password cấu hình như trên AAA server. Password phân biệt kí tự hoa, kí tự thường.
Quá trình cho phép AAA trên RADIUS server cũng tương tự như TACACS, chủ yếu gồm các câu lệnh sau:
Router(config)#aaa new-modelRouter(config)#radius-server host host-ip-address [single-connection]Router(config)#radius-server key serverkey
2.1.2.Bước 2 và bước 3 - Xác thực, cấp quyền và tính cước
2.1.2.1. Xác thực (authentication)
2.1.2.1.1.AAA Authentication
Một khi đã cho phép AAA trên router, nhà quản trị có thể xác định cách thức dùng để xác thực. Vấn đề chủ yếu ở đây là nhà quản trị có cách thức truy cập vào router nếu AAA server bị down. Nếu không cung cấp cách truy cập dự phòng thì có thể dẫn đến mất kết nối với router và ta có thể không thể truy cập vào cổng console được. Do đó ta phải luôn cẩn thận để cung cấp cách thức cấu hình truy cập cục bộ cho bất kì sự cài đặt AAA nào.
Cú pháp để cấu hình AAA trên router có thể rất khó nhớ. Do đó ta phải phân chia ra nhiều trường hợp để có thể dễ hiểu hơn. Ta có thể xét các phương pháp cụ thể như login, enable, arap, ... để xem xét cách thức xác thực người dùng trên router.
Câu lệnh tổng quát cho xác thực là:
aaa authentication service-type {default | list-name} method1 [method2] [method3] [method4] Trong đó: service-type là một trong các cách truy cập như login, enable, arap ppp, nasi. Tham số tiếp theo là từ khóa default hoặc tên một danh sách. Tên danh sách có thể là một từ ảo bất kì nào đó ngoại trừ từ default, và được dùng như là tên của một danh sách các phương pháp xác thực. Tham số method1, method2, method3, method4 được dùng để xác định thứ tự xác thực. Ta có thể tham khảo các phương pháp xác thực trong phần sau.
Các cách truy cập được xác thực như sau:
·aaa authentication login: câu lệnh này trả lời cho câu hỏi: “Tôi có thể xác thực khi login vào hệ thống như thế nào?”
·aaa authentication enable: câu lệnh này trả lời cho câu hỏi:”Người dùng có thể đi vào chế độ thực thi (exec privilege) hay không?”
·aaa authentication arap: câu lệnh này trả lời cho câu hỏi: “Có phải người dùng giao thức ARAP sử dụng TACACS/RADIUS hay không?”
·aaa authentication ppp: câu lệnh này trả lời cho câu hỏi: “Nếu người dùng đến từ kết nối PPP thì sẽ sử dụng phương pháp nào?”
·aaa authentication nasi: câu lệnh này trả lời cho câu hỏi: “Nếu người dùng đến từ NASI thì sẽ sử dụng phương pháp nào?”
2.1.2.1.2.AAA Authentication Login
Phương pháp xác thực được sử dụng trong suốt tiến trình login là gì? Câu hỏi đó được giải quyết trong câu lệnh sau:
aaa authentication login {default | list-name} method1 [method2] [method3] [method4] Từ khóa default cho biết router không sử dụng bất kì listname nào trên interface. Nếu có một listname đã được xác định, thì login có thể theo điều khiển trong listname đó. Ví dụ câu lệnh sau:
aaa authentication ppp myaaa argument1 argument2 argument3 xác định cách thức list myaaa được chấp nhận. Một interface xác định là sử dụng cách xác thực myaa. Các tham số theo sau có thể là:
[enable|line|local|none|tacacs+|radius|guest]
Mỗi một tham số xác định một cách xác thực riêng như sau:
·line: phương pháp này xác định sử dụng password để xác thực vào interface. Câu lệnh này được sử dụng trong câu lệnh login và password trong từng line (console, vty,...)
·enable: phương pháp này xác định rằng sẽ sử dụng câu lệnh enable password để xác thực trên interface. Việc xác thực được thực hiện bằng việc so sánh password người dùng nhập vào với password trong câu lệnh enable password hay enable secret của router.
·local: phương pháp này xác định xác thực bằng việc sử dụng cặp username yyyy password xxxx trên router.
·none: phương pháp này xác định rằng không cần sử dụng phương pháp xác thực nào cả.
·tacacs+: phương pháp này xác định sử dụng TACACS server để xác thực.
·radius: phương pháp này xác định sử dụng RADIUS server để xác thực.
Sau khi cấu hình authentication, ta có thể chỉ rõ interface hoặc line sẽ được xác thực cụ thể:
Router(config)#line con 0Router(config-line)#login authentication myaaa Ví dụ:
Router(config)#aaa authentication login myaaa tacacs+ radius localRouter(config)#aaa authentication login default tacacs+Router(config)#line vty 0 4 Router(config-line)#login authentication myaaa Câu lệnh đầu tiên xác định một listname tên là myaaa sử dụng TACACS+ và sau đó là RADIUS và cuối cùng là username/password lưu cục bộ trong router để xác thực. Câu lệnh thứ tư xác định line vty từ 0 đến 4 xác thực sử dụng trong list myaaa. Chú ý rằng nếu một người muốn truy cập vào port console, họ có thể xác thực chỉ bằng TACACS+ bởi vì là mặc định (default) không có câu lệnh xác thực login nào cụ thể trên port console.
Ở ví dụ trên ta thấy thứ tự xác thực là điều rất quan trọng: nếu user thất bại trong việc xác thực với TACACS+, thì user đó sẽ bị từ chối truy cập. Nếu router thất bại trong việc truy cập với TACACS+, thì router sẽ cố gằng thử tiếp xúc với RADIUS server. Vấn đề chính ở đây là phương pháp thứ hai chỉ được sử dụng nếu phương pháp thứ nhất không phù hợp trên router.
Nếu TACACS+ là tùy chọn duy nhất để xác thực thì khi dịch vụ TACACS+ bị down, không ai có thể login vào hệ thống. Nếu các phương thức xác thực là TACACS+ và local thì username/password lưu cục bộ trên router có thể thay thế để sử dụng nhằm tránh trường hợp không thể login vào router.
Thứ tự phương pháp lựa chọn để login vào là rất quan trọng. Thông thường thì local nên được dùng làm phương pháp cuối cùng để cho phép truy cập vào router ít nhất cũng là bằng một cặp username/password cục bộ trên router.
2.1.2.1.3.AAA Authentication Enable
Có câu hỏi đặt ra là: “Phương thức gì được sử dụng nếu một user cố thử truy cập vào privileged mode trên router? Nếu không có phương thức AAA được thiết lập, user phải có enable password. Password này được đòi hỏi bởi Cisco IOS. Nếu AAA được dùng và không thiết lập chế độ mặc định thì người dùng có thể cần enable password để truy cập vào chế độ privileged mode.
Cấu trúc của AAA tương tự như trong câu lệnh login authentication:
aaa authentication enable {default | list-name} method1 [method2] [method3] [method4] Trong đó các tham số có ý nghĩa tương tự như trong câu lệnh aaa authentication login.
Các phương pháp dùng cho câu lệnh trên là:
·enable: phương pháp này xác định rằng sẽ sử dụng câu lệnh enable password để xác thực trên interface. Việc xác thực được thực hiện bằng việc so sánh password người dùng nhập vào với password trong câu lệnh enable password hay enable secret của router.
·line: phương pháp này xác định sử dụng password để xác thực vào interface. Câu lệnh này được sử dụng trong câu lệnh login và password trong từng line (console, vty,...)
·none: phương pháp này xác định rằng không cần sử dụng phương pháp xác thực nào cả.
·tacacs+: phương pháp này xác định sử dụng TACACS server để xác thực.
·radius: phương pháp này xác định sử dụng RADIUS server để xác thực.
Ví dụ:
Router(config)#aaa authentication enable myaaa tacacs+ enable Câu lệnh trên xác định việc truy cập trở lại vào chế độ privilege mode. Trong đó, TACACS+ sẽ được kiểm tra đầu tiên, và chỉ khi TACACS+ trả về lỗi (error) hoặc trạng thái không phù hợp (unavailable) thì lúc đó mới kiểm tra enable password. Khi nhiều phương pháp được thiết lập cho AAA, thì phương pháp thứ hai chỉ được dùng nếu phương pháp trước đó trả về một lỗi (error) hoặc không phù hợp (unavailable). Nếu nó trả về thông điệp “thất bại” (fail) thì router sẽ không thử xác thực thêm phương pháp tiếp theo trong listname nữa.
2.1.2.1.4. AAA Authentication ARAP
Câu lệnh aaa authentication arapđược sử dụng kết hợp với lệnh arap authentication trong việc cấu hình line. Nó mô tả cách thức mà ARAP user đang thử truy cập vào router. Cú pháp câu lệnh như sau:
aaa authentication arap {default | list-name} method1 [method2] [method3] [method4] Các phương pháp được dùng trong câu lệnh này:
·line: phương pháp này xác định sử dụng password để xác thực vào interface. Câu lệnh này được sử dụng trong câu lệnh login và password trong từng line (console, vty,...)
·local: phương pháp này xác định xác thực bằng việc sử dụng cặp username yyyy password xxxx trên router.
·tacacs+: phương pháp này xác định sử dụng TACACS server để xác thực.
·guest: phương pháp này cho phép login vào nếu username là guest. Tùy chọn này chỉ phù hợp với ARAP.
·auth-guest: phương pháp này cho phép khách chỉ được login vào nếu user đã login vào chế độ EXEC trên router và đang khởi tạo tiến trình ARAP.
Chú ý rằng mặc định thì khách viếng thăm không thể login thông qua ARAP khi ta khởi tạo AAA. Câu lệnh aaa authentication arapvới hai từ khóa guest hoặc auth-guest sẽ cần thiết để khách truy cập khi sử dụng AAA.
Ví dụ:
Router(config)#aaa authentication arap myaaa tacacs+ localRouter(config)#line 1 12Router(config-line)#arap authentication myaaa Ở ví dụ trên, câu lệnh đầu tiên xác định rằng dùng xác thực TACACS+ trước tiên, sau đó mới dùng username/password cục bộ trên router nếu TACACS+ trả về một lỗi (error) hoặc không phù hợp (unavailable). Từ line 1 đến line 12 sẽ sử dụng xác thực trong listname vừa tạo.
Việc cấu hình AAA [1] được thực hiện theo ba bước như sau:
Bước 1: Bật tính năng cho phép cấu hình AAA trên router. Trong suốt quá trình xác định AAA, router phải cấu hình sao cho nó luôn nói chuyện được với TACACS/RADIUS server.
Bước 2: Xác định người nào sẽ được xác thực, được cấp quyền như thế nào, và cái gì sẽ giám sát cơ sở dữ liệu.
Bước 3: Cho phép hoặc định nghĩa phương thức trên giao tiếp.
Các phần tiếp theo sẽ nói một cách chi tiết cách thức bật chức năng AAA (bước 1), cách thức xác định phương thức để xác thực, cấp quyền, và tính cước (bước 2), và cách thức xác định AAA trên một interface (bước 3). Để cho gọn và dễ dàng hiểu hơn, ta có thể gộp hai bước 2 và 3 lại làm một.
Chú ý rằng một khi AAA đã được cho phép trên router, bất kì interface và phương thức kết nối nào cũng phải định nghĩa hoặc không cho phép truy cập vào. Do đó, điều quan trọng nhất là phải tạo một “cánh cửa hậu” (back door) hay là cách thức truy cập cục bộ (local) trong suốt quá trình triển khai ban đầu để bảo đảm rằng router luôn có thể truy cập được nếu ta quên những gì đã cấu hình trước đó.
2.1.1.Bước 1- Cho phép chức năng AAA trên router
Để cho phép AAA trên router, ta sử dụng câu lệnh sau:
Router(config)#aaa new-model Một khi AAA được cho phép thì router phải chỉ đến địa chỉ source của AAA server. Với TACACS server, thì câu lệnh sẽ là:
Router(config)#tacacs-server host host-ip-address [single-connection]Router(config)#tacacs-server key serverkey Tham số host-ip-address xác định địa chỉ của TACACS server.
Tham số single-connection cho biết router duy trì một kết nối đơn trong suốt phiên làm việc giữa router và AAA server.
Một password chung được dùng giữa access router và AAA server để bảo mật thông tin. Ví dụ, câu lệnh cho phép thiết lập password trên router như sau:
Router(config)#tacacs-server key cisco Password được chọn phải giống password cấu hình như trên AAA server. Password phân biệt kí tự hoa, kí tự thường.
Quá trình cho phép AAA trên RADIUS server cũng tương tự như TACACS, chủ yếu gồm các câu lệnh sau:
Router(config)#aaa new-modelRouter(config)#radius-server host host-ip-address [single-connection]Router(config)#radius-server key serverkey
2.1.2.Bước 2 và bước 3 - Xác thực, cấp quyền và tính cước
2.1.2.1. Xác thực (authentication)
2.1.2.1.1.AAA Authentication
Một khi đã cho phép AAA trên router, nhà quản trị có thể xác định cách thức dùng để xác thực. Vấn đề chủ yếu ở đây là nhà quản trị có cách thức truy cập vào router nếu AAA server bị down. Nếu không cung cấp cách truy cập dự phòng thì có thể dẫn đến mất kết nối với router và ta có thể không thể truy cập vào cổng console được. Do đó ta phải luôn cẩn thận để cung cấp cách thức cấu hình truy cập cục bộ cho bất kì sự cài đặt AAA nào.
Cú pháp để cấu hình AAA trên router có thể rất khó nhớ. Do đó ta phải phân chia ra nhiều trường hợp để có thể dễ hiểu hơn. Ta có thể xét các phương pháp cụ thể như login, enable, arap, ... để xem xét cách thức xác thực người dùng trên router.
Câu lệnh tổng quát cho xác thực là:
aaa authentication service-type {default | list-name} method1 [method2] [method3] [method4] Trong đó: service-type là một trong các cách truy cập như login, enable, arap ppp, nasi. Tham số tiếp theo là từ khóa default hoặc tên một danh sách. Tên danh sách có thể là một từ ảo bất kì nào đó ngoại trừ từ default, và được dùng như là tên của một danh sách các phương pháp xác thực. Tham số method1, method2, method3, method4 được dùng để xác định thứ tự xác thực. Ta có thể tham khảo các phương pháp xác thực trong phần sau.
Các cách truy cập được xác thực như sau:
·aaa authentication login: câu lệnh này trả lời cho câu hỏi: “Tôi có thể xác thực khi login vào hệ thống như thế nào?”
·aaa authentication enable: câu lệnh này trả lời cho câu hỏi:”Người dùng có thể đi vào chế độ thực thi (exec privilege) hay không?”
·aaa authentication arap: câu lệnh này trả lời cho câu hỏi: “Có phải người dùng giao thức ARAP sử dụng TACACS/RADIUS hay không?”
·aaa authentication ppp: câu lệnh này trả lời cho câu hỏi: “Nếu người dùng đến từ kết nối PPP thì sẽ sử dụng phương pháp nào?”
·aaa authentication nasi: câu lệnh này trả lời cho câu hỏi: “Nếu người dùng đến từ NASI thì sẽ sử dụng phương pháp nào?”
2.1.2.1.2.AAA Authentication Login
Phương pháp xác thực được sử dụng trong suốt tiến trình login là gì? Câu hỏi đó được giải quyết trong câu lệnh sau:
aaa authentication login {default | list-name} method1 [method2] [method3] [method4] Từ khóa default cho biết router không sử dụng bất kì listname nào trên interface. Nếu có một listname đã được xác định, thì login có thể theo điều khiển trong listname đó. Ví dụ câu lệnh sau:
aaa authentication ppp myaaa argument1 argument2 argument3 xác định cách thức list myaaa được chấp nhận. Một interface xác định là sử dụng cách xác thực myaa. Các tham số theo sau có thể là:
[enable|line|local|none|tacacs+|radius|guest]
Mỗi một tham số xác định một cách xác thực riêng như sau:
·line: phương pháp này xác định sử dụng password để xác thực vào interface. Câu lệnh này được sử dụng trong câu lệnh login và password trong từng line (console, vty,...)
·enable: phương pháp này xác định rằng sẽ sử dụng câu lệnh enable password để xác thực trên interface. Việc xác thực được thực hiện bằng việc so sánh password người dùng nhập vào với password trong câu lệnh enable password hay enable secret của router.
·local: phương pháp này xác định xác thực bằng việc sử dụng cặp username yyyy password xxxx trên router.
·none: phương pháp này xác định rằng không cần sử dụng phương pháp xác thực nào cả.
·tacacs+: phương pháp này xác định sử dụng TACACS server để xác thực.
·radius: phương pháp này xác định sử dụng RADIUS server để xác thực.
Sau khi cấu hình authentication, ta có thể chỉ rõ interface hoặc line sẽ được xác thực cụ thể:
Router(config)#line con 0Router(config-line)#login authentication myaaa Ví dụ:
Router(config)#aaa authentication login myaaa tacacs+ radius localRouter(config)#aaa authentication login default tacacs+Router(config)#line vty 0 4 Router(config-line)#login authentication myaaa Câu lệnh đầu tiên xác định một listname tên là myaaa sử dụng TACACS+ và sau đó là RADIUS và cuối cùng là username/password lưu cục bộ trong router để xác thực. Câu lệnh thứ tư xác định line vty từ 0 đến 4 xác thực sử dụng trong list myaaa. Chú ý rằng nếu một người muốn truy cập vào port console, họ có thể xác thực chỉ bằng TACACS+ bởi vì là mặc định (default) không có câu lệnh xác thực login nào cụ thể trên port console.
Ở ví dụ trên ta thấy thứ tự xác thực là điều rất quan trọng: nếu user thất bại trong việc xác thực với TACACS+, thì user đó sẽ bị từ chối truy cập. Nếu router thất bại trong việc truy cập với TACACS+, thì router sẽ cố gằng thử tiếp xúc với RADIUS server. Vấn đề chính ở đây là phương pháp thứ hai chỉ được sử dụng nếu phương pháp thứ nhất không phù hợp trên router.
Nếu TACACS+ là tùy chọn duy nhất để xác thực thì khi dịch vụ TACACS+ bị down, không ai có thể login vào hệ thống. Nếu các phương thức xác thực là TACACS+ và local thì username/password lưu cục bộ trên router có thể thay thế để sử dụng nhằm tránh trường hợp không thể login vào router.
Thứ tự phương pháp lựa chọn để login vào là rất quan trọng. Thông thường thì local nên được dùng làm phương pháp cuối cùng để cho phép truy cập vào router ít nhất cũng là bằng một cặp username/password cục bộ trên router.
2.1.2.1.3.AAA Authentication Enable
Có câu hỏi đặt ra là: “Phương thức gì được sử dụng nếu một user cố thử truy cập vào privileged mode trên router? Nếu không có phương thức AAA được thiết lập, user phải có enable password. Password này được đòi hỏi bởi Cisco IOS. Nếu AAA được dùng và không thiết lập chế độ mặc định thì người dùng có thể cần enable password để truy cập vào chế độ privileged mode.
Cấu trúc của AAA tương tự như trong câu lệnh login authentication:
aaa authentication enable {default | list-name} method1 [method2] [method3] [method4] Trong đó các tham số có ý nghĩa tương tự như trong câu lệnh aaa authentication login.
Các phương pháp dùng cho câu lệnh trên là:
·enable: phương pháp này xác định rằng sẽ sử dụng câu lệnh enable password để xác thực trên interface. Việc xác thực được thực hiện bằng việc so sánh password người dùng nhập vào với password trong câu lệnh enable password hay enable secret của router.
·line: phương pháp này xác định sử dụng password để xác thực vào interface. Câu lệnh này được sử dụng trong câu lệnh login và password trong từng line (console, vty,...)
·none: phương pháp này xác định rằng không cần sử dụng phương pháp xác thực nào cả.
·tacacs+: phương pháp này xác định sử dụng TACACS server để xác thực.
·radius: phương pháp này xác định sử dụng RADIUS server để xác thực.
Ví dụ:
Router(config)#aaa authentication enable myaaa tacacs+ enable Câu lệnh trên xác định việc truy cập trở lại vào chế độ privilege mode. Trong đó, TACACS+ sẽ được kiểm tra đầu tiên, và chỉ khi TACACS+ trả về lỗi (error) hoặc trạng thái không phù hợp (unavailable) thì lúc đó mới kiểm tra enable password. Khi nhiều phương pháp được thiết lập cho AAA, thì phương pháp thứ hai chỉ được dùng nếu phương pháp trước đó trả về một lỗi (error) hoặc không phù hợp (unavailable). Nếu nó trả về thông điệp “thất bại” (fail) thì router sẽ không thử xác thực thêm phương pháp tiếp theo trong listname nữa.
2.1.2.1.4. AAA Authentication ARAP
Câu lệnh aaa authentication arapđược sử dụng kết hợp với lệnh arap authentication trong việc cấu hình line. Nó mô tả cách thức mà ARAP user đang thử truy cập vào router. Cú pháp câu lệnh như sau:
aaa authentication arap {default | list-name} method1 [method2] [method3] [method4] Các phương pháp được dùng trong câu lệnh này:
·line: phương pháp này xác định sử dụng password để xác thực vào interface. Câu lệnh này được sử dụng trong câu lệnh login và password trong từng line (console, vty,...)
·local: phương pháp này xác định xác thực bằng việc sử dụng cặp username yyyy password xxxx trên router.
·tacacs+: phương pháp này xác định sử dụng TACACS server để xác thực.
·guest: phương pháp này cho phép login vào nếu username là guest. Tùy chọn này chỉ phù hợp với ARAP.
·auth-guest: phương pháp này cho phép khách chỉ được login vào nếu user đã login vào chế độ EXEC trên router và đang khởi tạo tiến trình ARAP.
Chú ý rằng mặc định thì khách viếng thăm không thể login thông qua ARAP khi ta khởi tạo AAA. Câu lệnh aaa authentication arapvới hai từ khóa guest hoặc auth-guest sẽ cần thiết để khách truy cập khi sử dụng AAA.
Ví dụ:
Router(config)#aaa authentication arap myaaa tacacs+ localRouter(config)#line 1 12Router(config-line)#arap authentication myaaa Ở ví dụ trên, câu lệnh đầu tiên xác định rằng dùng xác thực TACACS+ trước tiên, sau đó mới dùng username/password cục bộ trên router nếu TACACS+ trả về một lỗi (error) hoặc không phù hợp (unavailable). Từ line 1 đến line 12 sẽ sử dụng xác thực trong listname vừa tạo.
Comment