• If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.
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.

Giới thiệu về cơ sở dữ liệu trong Cisco Secure ACS

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

  • Giới thiệu về cơ sở dữ liệu trong Cisco Secure ACS

    3.1. Giới thiệu về cơ sở dữ liệu trong Cisco Secure ACS

    Cisco Secure ACS version 3.2 hỗ trợ xác thực người dùng với nhiều hệ quản trị cơ sở dữ liệu khác nhau bao gồm cả cơ sở dữ liệu của chính nó [3]. Ta có thể cấu hình Cisco Secure ACS để xác thực người dùng với nhiều hơn một loại cơ sở dữ liệu. Đặc tính mềm dẻo này cho phép ta có thể sử dụng dữ liệu tài khoản người dùng từ nhiều vị trí khác nhau mà không cần phải import người dùng tường minh từ nhiều cơ sở dữ liệu người dùng bên ngoài vào cơ sở dữ liệu Cisco Secure. Nó cũng cho phép ta áp đặt nhiều cơ sở dữ liệu khác nhau cho nhiều nhóm người dùng khác nhau, phụ thuộc vào yêu cầu bảo mật kết hợp với việc cấp quyền người dùng trên mạng. Ví dụ, cấu hình phổ biến là sử dụng cơ sở dữ liệu người dùng trong Windows để chuẩn hóa người dùng mạng và token server cho nhà quản trị mạng.
    Các phần chính sẽ đề cập trong mục này:
    1.Cơ sở dữ liệu người dùng của Cisco Secure
    2.Cơ sở dữ liệu người dùng từ bên ngoài.
    3.Cơ sở dữ liệu người dùng của Windows
    4.Cơ sở dữ liệu người dùng thông qua ODBC

    3.1.1.Cơ sở dữ liệu người dùng CiscoSecure

    Cơ sở dữ liệu người dùng CiscoSecure là cơ sở dữ liệu của chính bên trong Cisco Secure ACS. Nó hỗ trợ xác thực bằng việc sử dụng các phương pháp xác thực ASCII, PAP, CHAP, MS-CHAP, ARAP, LEAP, EAP-MD5, EAP-TLS, PEAP(EAP-GTC), và PEAP(EAP-MSCHAPv2).
    Cơ sở dữ liệu người dùng CiscoSecure chủ yếu dùng cho tiến trình cấp quyền. Bất kể người dùng được xác thực bởi cơ sở dữ liệu bên trong hay bên ngoài, Cisco Secure ACS đều cấp quyền cho người dùng dựa trên mối quan hệ trong nhóm và các thiết lập người dùng tìm thấy trong cơ sở dữ liệu CiscoSecure. Vì thế, tất cả người dùng xác thực bởi Cisco Secure ACS, và kể cả xác thực từ bên ngoài đi chăng nữa, thì đều có tài khoản trong cơ sở dữ liệu CiscoSecure.
    Cơ sở dữ liệu CiscoSecure lấy thông tin từ nhiều nguồn dữ liệu khác nhau, bao gồm cả việc ánh xạ bộ nhớ thông qua một file lưu theo kiểu băm “VarDB.mdb”, và cả Windows Registry. File “VarsDB.mdb” sử dụng cấu trúc chỉ số và cây, vì thế thời gian tìm kiếm có thể tiến hành tỉ lệ với hàm số logarith, nhanh hơn nhiều so với tìm kiếm tuyến tính. Điều này cho phép cơ sở dữ liệu CiscoSecure xác thực người dùng rất nhanh.
    Nếu ta không cấu hình cho Cisco Secure ACS xác thực người dùng với cơ sở dữ liệu bên ngoài, thì Cisco Secure ACS sẽ sử dụng tên truy cập và mật khẩu trong cơ sở dữ liệu CiscoSecure để xác thực.
    Có 5 cách để tạo tài khoản người dùng vào cơ sở dữ liệu CiscoSecure trong Cisco Secure ACS (tất nhiên là cả cơ chế đồng bộ hóa hệ quản trị cơ sở dữ liệu quan hệ và chức năng CSUtil.exe hỗ trợ việc nhập tài khoản người dùng từ nguồn dữ liệu bên ngoài):

    1.Giao diện Cisco Secure ACS: Giao diện HTML cho phép tạo người dùng thủ công với khả năng chỉ tạo được một người trong một lần. Bất kể cách thức người dùng đó được tạo ra, ta đều có thể xem và cập nhật thông tin người dùng bằng việc sử dụng giao diện HTML.
    2.Chính sách với người dùng chưa biết: Điều này cho phép CiscoSecure ACS thêm người dùng một cách tự động khi người dùng đó không lưu trong cơ sở dữ liệu CiscoSecure nhưng lại tìm thấy từ một cơ sở dữ liệu ở bên ngoài. Việc tạo ra một người dùng mới trong cơ sở dữ liệu CiscoSecure chỉ xảy ra khi người dùng thử truy cập vào mạng và xác thực thành công bởi cơ sở dữ liệu bên ngoài.
    Nếu ta sử dụng “Chính sách với người dùng chưa biết”, ta cũng có thể cấu hình ánh xạ theo nhóm, cốt để mỗi khi một người dùng được thêm vào cơ sở dữ liệu CiscoSecure nhờ “Chính sách với người dùng chưa biết” được xác thực thì việc gán nhóm người dùng sẽ được tạo ra một cách tự động. Với các loại cơ sở dữ liệu khác, tất cả người dùng được xác thực bởi cơ sở dữ liệu đó thì được gán vào một nhóm người dùng đơn lẻ trong Cisco Secure ACS.
    3.Đồng bộ hóa RDBMS: cho phép tạo một lượng lớn người dùng và cấu hình nhiều thiết lập cho tài khoản người dùng. Cách này chỉ nên sử dụng khi nào ta cần nhập người dùng với số lượng lớn; tuy nhiên, việc thiết lập đồng bộ hóa RDBMS trong lần đầu yêu cầu nhiều quyết định quan trọng và thời gian để cài đặt.
    4.CSUtil.exe: Chương trình chạy trên chế độ dòng lệnh “CSUtil.exe” đưa ra một cách tạo người dùng rất đơn giản. Khi so sánh cách này với “Đồng bộ hóa RDBMS”, chức năng này là rất giới hạn; tuy nhiên nó vượt trội so với việc nhập người dùng theo cách thủ công đơn giản.
    5.Nhân bản cơ sở dữ liệu: cho phép tạo người dùng trên một Cisco Secure ACS thứ hai bằng cách ghi đè lên tất cả tài khoản người dùng hiện có trên Cisco Secure ACS thứ hai bởi tài khoản người dùng từ Cisco Secure thứ nhất. Bất kì tài khoản người dùng nào có trong Cisco Secure ACS thứ hai sẽ đều mất khi tiến hành nhân bản.

    3.1.2.Cơ sở dữ liệu người dùng bên ngoài

    Ta có thể cấu hình Cisco Secure ACS chuyển tiếp việc xác thực người dùng từ một hoặc nhiều cơ sở dữ liệu bên ngoài [6]. Việc hỗ trợ cho cơ sở dữ liệu người dùng bên ngoài có nghĩa là Cisco Secure ACS không yêu cầu ta phải tạo trùng người dùng bên trong cơ sở dữ liệu CiscoSecure. Trong các tổ chức với các cơ sở dữ liệu người dùng quan trọng đã tồn tại, Cisco Secure ACS có thể ảnh hưởng đến những gì đã tồn tại trong cơ sở dữ liệu mà không cần thêm bất cứ yêu cầu nào. Về phần xác thực, Cisco Secure ACS hỗ trợ xác thực TACACS+ sử dụng cơ sở dữ liệu từ bên ngoài.
    Người dùng có thể xác thực bằng cách sử dụng các dạng cơ sở dữ liệu sau:
    1.Cơ sở dữ liệu Windows
    2.LDAP
    3.Novell Netware Directory Services(NDS)
    4.ODBC
    5.LEAP Proxy RADIUS servers
    6.RSA SecurID token servers
    7.RADIUS-based token servers, including:
    a.ActivCard token servers
    b.CRYPTOCard token servers
    c.Vasco token servers
    d.PassGo token servers
    e.SafeWord token servers
    f.Generic RADIUS token servers

    Để Cisco Secure ACS tiếp xúc với cơ sở dữ liệu bên ngoài, Cisco Secure ACS yêu cầu một API cho nguồn xác thực thứ ba. Cisco Secure ACS giao tiếp với cơ sở dữ liệu bên ngoài bằng cách sử dụng API. Với cơ sở dữ liệu Windows và LDAP, giao tiếp lập trình cho xác thực bên ngoài là cục bộ đối với Cisco Secure ACS. Trong các trường hợp này, không một thành phần nào khác được yêu cầu.
    Đối với việc xác thực dùng Novell NDS, Novell Requestor phải được cài đặt trên cùng một Windows server như Cisco Secure ACS.
    Đối với việc xác thực dùng ODBC, thêm vào giao diện Windows ODBC, thì thành phần thứ ba là ODBC driver phải cài trên Cisco Secure ACS Windows server.
    Để giao tiếp với RSA token server, ta phải cài đặt các thành phần phần mềm được đưa ra bởi RSA.
    Với RADIUS-based token server, chẳng hạn như ActivCard, CRYPTOCard, PassGo, SafeWord, và Vasco, giao diện RADIUS chuẩn được xem như là thành phần API thứ ba.

    3.1.2.1.Xác thực bằng cách sử dụng cơ sở dữ liệu từ bên ngoài

    Việc xác thực người dùng nhờ cơ sở dữ liệu từ bên ngoài yêu cầu cấu hình nhiều hơn cho Cisco Secure ACS để giao tiếp với cơ sở dữ liệu bên ngoài. Thiết lập một hoặc nhiều thủ tục cấu hình cho cơ sở dữ liệu bên ngoài được giới thiệu trong phần này không thật sự chỉ dẫn cho Cisco Secure ACS giao tiếp với bất kì người dùng nào với cơ sở dữ liệu đó.
    Sau khi ta cấu hình Cisco Secure ACS giao tiếp với cơ sở dữ liệu người dùng bên ngoài, ta có thể cấu hình Cisco Secure ACS xác thực người dùng theo một trong hai cách sau:
    ·Gán người dùng xác định: Ta có thể cấu hình Cisco Secure ACS xác thực người dùng với cơ sở dữ liệu bên ngoài. Để làm điều này, người dùng phải tồn tại trong CiscoSecure database và danh sách “Xác thực mật khẩu” của mục “User Setup” phải được thiết lập trong cơ sở dữ liệu bên ngoài mà Cisco Secure ACS sử dụng để xác thực.
    ·“Chính sách người dùng chưa biết”: ta có thể cấu hình Cisco Secure ACS để xác thực những người muốn đăng nhập hệ thống nhưng lại không tìm thấy trong cơ sở dữ liệu CiscoSecure bằng cách sử dụng cơ sở dữ liệu bên ngoài. Người dùng không cần phải tồn tại trong CiscoSecure database theo cách này.
    Ta có thể cấu hình Cisco Secure ACS sử dụng đồng thời theo hai cách trên mà không sợ bị chúng loại trừ lẫn nhau.

    3.1.2.2.Tiến trình xác thực sử dụng cơ sở dữ liệu bên ngoài

    Khi Cisco Secure ACS thử xác thực người dùng với cơ sở dữ liệu bên ngoài, nó sẽ chuyển tiếp ủy nhiệm người dùng cho cơ sở dữ liệu bên ngoài. Cơ sở dữ liệu bên ngoài có thể xác thực thành công hay thất bại từ Cisco Secure ACS. Dựa trên việc tiếp nhận câu trả lời từ cơ sở dữ liệu bên ngoài, Cisco Secure ACS sẽ yêu cầu AAA client tiếp nhận hoặc từ chối người dùng truy cập vào. Hình dưới đây sẽ cho thấy việc cấu hình AAA với cơ sở dữ liệu bên ngoài.



    Hình 3.9: Xác thực với cơ sở dữ liệu bên ngoài.

    Việc xác định cách thức giao tiếp với cơ sở dữ liệu bên ngoài thay đổi tùy theo kiểu cơ sở dữ liệu. Với LDAP và Novell NDS, Cisco Secure ACS sử dụng kết nối TCP. Với Windows database, Cisco Secure ACS sử dụng xác thực API của hệ điều hành Windows. Với RSA token server, Cisco Secure ACS đóng vai trò là RSA client để sử dụng giao tiếp RSA riêng.
    Email : vnpro@vnpro.org
    ---------------------------------------------------------------------------------------------------------------
Trung Tâm Tin Học VnPro
149/1D Ung Văn Khiêm P25 Q.Bình thạnh TPHCM
Tel : (08) 35124257 (5 lines)
Fax: (08) 35124314

Home page: http://www.vnpro.vn
Support Forum: http://www.vnpro.org
- Chuyên đào tạo quản trị mạng và hạ tầng Internet
- Phát hành sách chuyên môn
- Tư vấn và tuyển dụng nhân sự IT
- Tư vấn thiết kế và hỗ trợ kỹ thuật hệ thống mạng

Network channel: http://www.dancisco.com
Blog: http://www.vnpro.org/blog

  • #2
    Cơ sở dữ liệu của Windows

    3.1.1.Cơ sở dữ liệu của Windows

    Các đặc tính mà Cisco Secure ACS hỗ trợ:

    ·Xác thực người dùng: Cisco Secure ACS hỗ trợ xác thực ASCII, PAP, MS-CHAP (ver 1 và 2), LEAP, PEAP (EAP-GTC) và PEAP (EAP-MSCHAPv2) với cơ sở dữ liệu Quản trị tài khoản bảo mật Windows (SAM) hay Windows Active Directory database. Cisco Secure ACS hỗ trợ xác thực EAP-TLS với Windows Active Directory database. Các giao thức xác thực khác không hỗ trợ với cơ sở dữ liệu Windows.
    ·Ánh xạ nhóm với người dùng chưa biết: Cisco Secure ACS hỗ trợ ánh xạ nhóm cho người dùng chưa biết bằng cách yêu cầu thông tin quan hệ nhóm từ cơ sở dữ liệu người dùng Windows.
    ·Cho phép quay số: Cisco Secure ACS hỗ trợ việc quay số từ cơ sở dữ liệu Windows.
    ·Thiết lập gọi lại: Cisco Secure ACS hỗ trợ thiết lập gọi lại từ cơ sở dữ liệu Windows.

    3.1.1.1.Tiến trình xác thực của Cisco Secure ACS sử dụng cơ sở dữ liệu Windows

    Cisco Secure ACS chuyển tiếp thông tin người dùng đến cơ sở dữ liệu Windows bằng cách chuyển thông tin người dùng đến hệ điều hành Windows của máy tính đang chạy Cisco Secure ACS. Cơ sở dữ liệu Windows sẽ xác thực yêu cầu từ Cisco Secure ACS. Dựa vào câu trả lời từ Windows database, Cisco Secure ACS sẽ hướng dẫn cho AAA client chấp nhận hay từ chối truy cập.
    Cisco Secure ACS cấp thẩm quyền dựa trên nhóm mà người dùng đó được gán. Tùy thuộc vào nhóm mà người dùng đó được gán có thể xác định thông tin từ cơ sở dữ liệu Windows, thì Cisco Secure ACS có thể cấp quyền cho người dùng.
    Để điều khiển việc truy cập nhiều hơn cho người dùng, ta có thể cấu hình Cisco Secure ACS kiểm tra việc cho phép gọi vào đến người dùng. Thiết lập này gọi là “Cấp quyền cho phép gọi vào của người dùng” trong Windows NT và “Cho phép truy cập” trong Remote Access Permission của Windows 2000. Nếu đặc tính này là không cho phép, thì truy cập sẽ bị từ chối ngay cả khi tên truy cập và mật khẩu đúng.

    3.1.1.2.Cách thay đổi mật khẩu trong cơ sở dữ liệu Windows

    Với người dùng mạng được xác thực bởi cơ sở dữ liệu Windows, Cisco Secure ACS hỗ trợ việc thay đổi mật khẩu nếu mật khẩu hết hạn. Ta có thể cho phép tính năng này trong thiết lập MS-CHAP và Windows EAP của phần “Windows User Database Configuration” trong mục “External User Database”. Đặc tính này yêu cầu:
    ·Người dùng phải tồn tại trong Windows Active Directory hay cơ sở dữ liệu người dùng SAM.
    ·Tài khoản người dùng trong Cisco Secure ACS phải xác định cơ sở dữ liệu người dùng Windows để xác thực.
    ·Người dùng đầu cuối phải tương thích với MS-CHAP, PEAP(EAP-GTC) hoặc PEAP(EAP-MSCHAPv2).
    ·AAA client mà người dùng đầu cuối kết nối đến phải hỗ trợ các giao thức:
    oNếu thay đổi mật khẩu MS-CHAP, AAA client phải hỗ trợ xác thực RADIUS-based MS-CHAP.
    oNếu thay đổi mật khẩu PEAP(EAP-MSCHAPv2) và PEAP(EAP-GTC), AAA client phải hỗ trợ EAP.
    Khi các điều kiện trên đúng, người dùng tiếp nhận một hộp thoại chỉ đường dẫn cho họ có thể thay đổi mật khẩu dựa trên lần xác thực thành công đầu tiên sau khi mật khẩu hết hạn.

    3.1.2.Cơ sở dữ liệu ODBC

    Tương tự như sự hỗ trợ cơ sở dữ liệu Windows, bộ tương thích quan hệ Cisco Secure ACS ODBC cho phép ta sử dụng những record tồn tại trong cơ sở dữ liệu quan hệ bên ngoài thông qua ODBC [4]. Việc cấu hình Cisco Secure ACS để xác thực người dùng trong cơ sở dữ liệu quan hệ tương thích với ODBC không ảnh hưởng đến việc thiết lập cơ sở dữ liệu quan hệ.
    Chú ý rằng, cũng như tất cả cơ sở dữ liệu bên ngoài khác được hỗ trợ bởi Cisco Secure ACS, cơ sở dữ liệu quan hệ tương thích với ODBC không phải là một phần của Cisco Secure ACS.
    Đặc tính Windows ODBC cho phép tạo DSN, dùng để xác định cơ sở dữ liệu và các tham số cần thiết để giao tiếp với cơ sở dữ liệu. Các tham số mà ta phải cung cấp là tên truy cập và mật khẩu cần thiết cho ODBC driver để truy cập vào cơ sở dữ liệu quan hệ tương thích ODBC.

    3.1.2.1.Các đặc tính mà cơ sở dữ liệu ODBC hỗ trợ

    Cisco Secure ACS hỗ trợ việc sử dụng cơ sở dữ liệu bên ngoài ODBC với các đặc tính sau:
    ·Tính xác thực: Cisco Secure ACS hỗ trợ các kiểu xác thực ASCII, PAP, ARAP, CHAP, MS-CHAP (ver 1 và 2), LEAP, EAP-TLS, EAP-MD5, và PEAP(EAP-GTC) bằng việc sử dụng cơ sở dữ liệu quan hệ thông qua đặc tính xác thực ODBC. Các giao thức khác không được hỗ trợ với cơ sở dữ liệu bên ngoài ODBC.
    ·Đặc tính xác định nhóm: Cisco Secure ACS hỗ trợ việc gán nhóm cho người dùng được xác thực bởi cơ sở dữ liệu ODBC. Việc xác thực truy vấn đến cơ sở dữ liệu ODBC phải chứa tên nhóm muốn gán người dùng. Với những người dùng chưa biết được xác thực bởi cơ sở dữ liệu ODBC, đặc tính nhóm sẽ ghi chồng lên việc ánh xạ nhóm.
    ·Ánh xạ nhóm cho người dùng chưa biết: Cisco Secure ACS hỗ trợ việc ánh xạ nhóm cho người dùng chưa biết bằng cách yêu cầu thông tin quan hệ nhóm từ cơ sở dữ liệu Windows.

    3.1.2.2.Tiến trình Cisco Secure ACS xác thực với cơ sở dữ liệu bên ngoài thông qua ODBC

    Cisco Secure ACS chuyển tiếp yêu cầu xác thực người dùng đến cơ sở dữ liệu ODBC theo một trong hai tình huống sau:
    ·Thứ nhất, khi tài khoản người dùng trong cơ sở dữ liệu CiscoSecure liệt kê một cấu hình cơ sở dữ liệu ODBC như một phương thức xác thực.
    ·Thứ hai, khi người dùng không tồn tại trong CiscoSecure database và mục “Unknown User Policy” xác định rằng ODBC database là cơ sở dữ liệu người dùng bên ngoài tiếp theo dùng để xác thực.
    Trong cả hai trường hợp, Cisco Secure ACS chuyển tiếp thông tin người dùng đến ODBC database thông qua kết nối ODBC. Cơ sở dữ liệu quan hệ phải có một thủ tục (store procedure) truy vấn đến bảng thích hợp và trả về giá trị cho Cisco Secure ACS. Nếu giá trị trả về xác định rằng thông tin người dùng là phù hợp, Cisco Secure ACS sẽ yêu cầu AAA client chấp nhận cho người dùng truy cập; ngược lại thì Cisco Secure ACS sẽ từ chối truy cập của người dùng.



    Hình 3.10: Sử dụng ODBC database để xác thực

    Cisco Secure ACS chuyển tiếp việc xác thực dựa trên nhóm Cisco Secure ACS mà người dùng được gán vào. Trong khi nhóm người dùng được gán có thể xác định bởi thông tin từ ODBC database bằng việc sử dụng một tiến trình biết đến như “đặc tả nhóm”, đó là Cisco Secure ACS với cơ sở dữ liệu ODBC.

    3.1.1.1.Cách thức cài đặt thủ tục (SP) cho việc xác thực ODBC

    Khi ta cấu hình Cisco Secure ACS để xác thực người dùng sử dụng cơ sở dữ liệu quan hệ tương thích với ODBC, ta phải tạo một thủ tục để thiết lập câu truy vấn cần thiết và trả về giá trị mà Cisco Secure ACS mong muốn. Giá trị trả về và các tác vụ được yêu cầu của thủ tục thay đổi dựa vào giao thức xác thực được sử dụng.
    Việc xác thực bằng ASCII, PAP, và PEAP(EAP-GTC) xảy ra bên trong cơ sở dữ liệu quan hệ; đó là nếu thủ tục tìm thấy một record với cả tên truy cập và mật khẩu đúng thì người dùng sẽ xác thực thành công.
    Việc xác thực bằng CHAP, MS-CHAP, ARAP, LEAP, EAP-MD5 xảy ra bên trong Cisco Secure ACS. Thủ tục trả về các trường cho record với tên truy cập đúng, bao gồm cả mật khẩu. Cisco Secure ACS chấp nhận hoặc từ chối việc xác thực dựa vào các giá trị trả về từ thủ tục.
    Việc xác thực với EAP-TLS xảy ra bên trong Cisco Secure ACS. Thủ tục trả về các trường của record, để xác định xem thử nó có tìm thấy tên truy cập trong ODBC database hay không. Cisco Secure ACS chấp nhận hoặc từ chối việc truy cập dựa vào giá trị trả về từ thủ tục và dựa vào chứng thực người dùng có giá trị.
    Để hỗ trợ cả ba tập giao thức, Cisco Secure ACS cung cấp các cách đưa vào các yêu cầu xác thực ODBC khác nhau, và nhận về các giá trị kết quả khác nhau. Điều này đòi hỏi phải có thủ tục riêng trong cơ sở dữ liệu quan hệ để hỗ trợ mỗi tập giao thức riêng biệt.
    Cisco Secure ACS cung cấp ví dụ để tạo thủ tục (sp) cho cả Microsoft SQL Server và Oracle database. Ta có thể điều chỉnh những ví dụ đó để tạo ra các thủ tục của chính mình. Phần sau sẽ cung cấp các thông tin tham chiếu đến các kiểu dữ liệu trong Cisco Secure ACS so với kiểu dữ liệu SQL, dữ liệu vào và ra trong các thủ tục xác thực ASCII/PAP/PEAP(EAP-GTC), CHAP/MS-CHAP/ARAP, EAP-TLS và mã kết quả trả về. Ta có thể sử dụng thông tin đó để viết các thủ tục xác thực trong cơ sở dữ liệu quan hệ.
    Các kiểu dữ liệu trong Cisco Secure ACS và tương ứng với nó trong SQL như sau:
    ·Integer – SQL_INTEGER
    ·String – SQL_CHAR hoặc SQL_VARCHAR

    3.1.1.2.Cách thức xác định mật khẩu trong Microsoft SQL Server

    Nếu ta muốn mật khẩu phân biệt chữ hoa và chữ thường và sử dụng Microsoft SQL Server như là cơ sở dữ liệu quan hệ thông qua ODBC thì ta phải cấu hình SQL Server hỗ trợ đặc tính đó. Nếu người dùng xác thực bằng cách sử dụng PPP thông qua PAP hay Telnet thì mật khẩu không phân biệt chữ hoa hay chữ thường, phụ thuộc vào cách thức tùy chọn phân biệt chữ hoa hay chữ thường thiết lập trong SQL Server. Ví dụ, cơ sở dữ liệu Oracle mặc định là phân biệt chữ hoa và chữ thường, trong khi đó, Microsoft SQL Server thì không. Tuy nhiên, trong trường hợp CHAP/ARAP, mật khẩu là phân biệt chữ hoa và chữ thường nếu thủ tục CHAP được cấu hình.
    Ví dụ, nếu Telnet hoặc xác thực bằng PAP, thì các mật khẩu cisco hoặc CISCO hoặc CiScO sẽ đều đúng nếu SQL Server được cấu hình là không phân biệt chữ hoa và chữ thường.
    Với kiểu xác thực CHAP/ARAP, mật khẩu cisco hoặc CISCO hoặc CiScO là không giống nhau, bất kể là SQL có cấu hình phân biệt chữ hoa và chữ thường hay không.

    3.1.1.3.Thủ tục xác thực theo kiểu PAP

    Thủ tục sau sẽ được xác thực bằng PAP. Tên bảng và tên cột sẽ thay đổi tùy theo cơ sở dữ liệu mà ta xây dựng cụ thể.

    if exists (select * from sysobjects where id = object_id ('dbo.CSNTAuthUserPap') and sysstat & 0xf = 4)
    drop procedure dbo.CSNTAuthUserPap
    GO

    CREATE PROCEDURE CSNTAuthUserPap
    @username varchar(64), @pass varchar(255)
    AS
    SET NOCOUNT ON
    IF EXISTS( SELECT username
    FROM users
    WHERE username = @username
    AND csntpassword = @pass )
    SELECT 0,csntgroup,csntacctinfo,'No Error'
    FROM users
    WHERE username = @username
    ELSE
    SELECT 3,0,'odbc','ODBC Authen Error'

    GO
    GRANT EXECUTE ON dbo.CSNTAuthUserPap TO ciscosecure
    GO

    3.1.1.4.Thủ tục xác thực theo kiểu CHAP

    Thủ tục sau sẽ được xác thực bằng CHAP. Tên bảng và tên cột sẽ thay đổi tùy theo cơ sở dữ liệu mà ta xây dựng cụ thể.

    if exists (select * from sysobjects where id = object_id('dbo.CSNTExtractUserClearTextPw') and sysstat & 0xf = 4)
    drop procedure dbo.CSNTExtractUserClearTextPw
    GO

    CREATE PROCEDURE CSNTExtractUserClearTextPw
    @username varchar(64)
    AS
    SET NOCOUNT ON
    IF EXISTS( SELECT username
    FROM users
    WHERE username = @username )
    SELECT 0,csntgroup,csntacctinfo,'No Error',csntpassword
    FROM users
    WHERE username = @username
    ELSE
    SELECT 3,0,'odbc','ODBC Authen Error'
    GO

    GRANT EXECUTE ON dbo.CSNTExtractUserClearTextPw TO ciscosecure
    GO

    3.1.1.5.Thủ tục xác thực theo EAP-TLS

    Thủ tục sau sẽ được xác thực bằng CHAP. Tên bảng và tên cột sẽ thay đổi tùy theo cơ sở dữ liệu mà ta xây dựng cụ thể.
    if exists (select * from sysobjects where id = object_id('dbo.CSNTFindUser') and sysstat & 0xf = 4)

    drop procedure dbo.CSNTFindUser
    GO

    CREATE PROCEDURE CSNTFindUser
    @username varchar(64)
    AS
    SET NOCOUNT ON
    IF EXISTS( SELECT username
    FROM users
    WHERE username = @username )
    SELECT 0,csntgroup,csntacctinfo,'No Error'
    FROM users
    WHERE username = @username
    ELSE
    SELECT 3,0,'odbc','ODBC Authen Error'
    GO

    GRANT EXECUTE ON dbo.CSNTFindUser TO ciscosecure

    GO

    3.1.1.6.Giá trị đưa vào trong thủ tục xác thực PAP

    Các giá trị nhậpvào cho thủ tục xác thực bằng PAP như sau:



    Bảng 3.1: Input của thủ tục xác thực PAP

    Cisco Secure ACS chỉ chấp nhận thủ tục có dữ liệu vào theo thứ tự như trên, biến username phải đứng trước biến password.

    3.1.1.1.Kết quả trả về từ thủ tục xác thực bằng PAP
    Thủ tục phải trả về một hàng đơn chứa các trường có giá trị khác rỗng. Bảng sau là các giá trị trả về từ thủ tục:



    Bảng 3.2: Bảng giá trị kết quả trả về từ thủ tục xác thực bằng PAP

    Các trường CSNTgroup và CSNTacctInfo chỉ xử lý nếu xác thực thành công. Trường CSNTerrorString chỉ ghi lại vào file log nếu có lỗi xảy ra.

    3.1.1.1.Các giá trị kết quả trả về



    Bảng 3.3: Các giá trị trả về thường có của thủ tục xác thực

    Thủ tục nếu trả về các giá trị 1, 2, 3 thì xác định rằng việc xác thực thất bại, nó phụ thuộc vào lượng thông tin mà ta muốn file log xác thực thất bại ghi lại.
    Nếu giá trị trả về lớn hơn hoặc bằng 4 sẽ cho biết có lỗi xác thực. Những lỗi này không làm tăng bộ đếm lỗi sai của người dùng. Thêm vào đó, mã lỗi được trả về cho AAA client nên nó có thể phân biệt giữa lỗi (error) với thất bại (failure) và nếu cấu hình để làm điều đó, thì phải dùng backup AAA server.
    Xác thực thành công hay thất bại đều được log lại. Trong trường hợp có lỗi (error) xảy ra (tức CSNTresult >=4), thì nội dung của CSNTerrorString sẽ được ghi vào Windows Event Log trong Application Log.
    Email : vnpro@vnpro.org
    ---------------------------------------------------------------------------------------------------------------
    Trung Tâm Tin Học VnPro
    149/1D Ung Văn Khiêm P25 Q.Bình thạnh TPHCM
    Tel : (08) 35124257 (5 lines)
    Fax: (08) 35124314

    Home page: http://www.vnpro.vn
    Support Forum: http://www.vnpro.org
    - Chuyên đào tạo quản trị mạng và hạ tầng Internet
    - Phát hành sách chuyên môn
    - Tư vấn và tuyển dụng nhân sự IT
    - Tư vấn thiết kế và hỗ trợ kỹ thuật hệ thống mạng

    Network channel: http://www.dancisco.com
    Blog: http://www.vnpro.org/blog

    Comment


    • #3
      anh admin chi ro ve cach cau hinh su dung database ben ngoai ko ?O day e ko thay dc hinh.Mong anh post hinh lai ?

      Comment

      • Working...
        X