Ý tưởng trọng tâm của RBAC là permission quyền hạn được kết hợp với role vai trò và user người sử dụng được phân chia dựa theo các role thích hợp.. Các role được xem như một phần của tiê
Trang 1ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐÀO TẠO QUỐC TẾ - SIE
Đỗ Tiến Chúc
HÀ NỘI – 2012
Trang 2Danh sách các thuật ngữ và khái niệm
MAC Mandatory access control – điều khiển truy cập bắt buộc
DAC Discretionary access control – điều khiển truy cập tùy quyềnRBAC Role-based access control – điều khiển truy cập trên cơ sở vai tròACL Access control list – Danh sách điều khiển truy cập
Role hierarchy Cấp bậc trong vai trò
OPS Tập hợp các hành động trên một đối tượng cụ thể
Test
Quá trình chạy một chương trình để kiểm tra một thuật toán hay một bài toán cụ thể
File Đối tượng tệp văn bản được sao lưu trên máy tính
Project Nói về một dự án được tạo ra cụ thể là Eclipse
Session Phiên làm việc
Trang 3CHƯƠNG 1 GIỚI THIỆU 1.1 Bối cảnh
Điều khiển truy cập dựa trên vai trò (RBAC) bắt đầu với hệ thống đa người sử
dụng và đa ứng dụng trực tuyến được đưa ra lần đầu vào những năm 70 Ý tưởng
trọng tâm của RBAC là permission (quyền hạn) được kết hợp với role (vai trò) và
user (người sử dụng) được phân chia dựa theo các role thích hợp Điều này làm đơn
giản phần lớn việc quản lý những permission Tạo ra các role cho các chức năng công
việc khác nhau trong một tổ chức và user cũng được phân các role dựa vào tráchnhiệm và trình độ của họ Phân lại cho user từ chức năng này sang chức năng khác
Những role được cấp các permission mới vì các ứng dụng gắn kết chặt chẽ với các hệ
thống và các permission được hủy khỏi các role khi cần thiết.
Một role được xem như một kết cấu ngữ nghĩa mà cơ chế điều khiển truy cập đều hình thành xung quanh Một tập hợp riêng biệt những user và các permission được lập ra bởi các role chỉ là tạm thời Role ổn định hơn bởi vì hoạt động hay chức
năng của một tổ chức thường ít thay đổi hơn
Một role tương ứng với một năng lực để làm một nhiệm vụ cụ thể, ví dụ một bác sỹ nội khoa hay một dựợc sỹ Một role cũng là hiện thân của một thẩm quyền và
một bổn phận như một giám sát dự án
Một thẩm quyền hay một trách nhiệm khác với một năng lực Jane Doe có
năng lực để điều hành một số bộ phận nhưng chỉ được phân công điều hành một bộphận Các role phản ánh cho các nhiệm vụ được phân công cụ thể được luân phiên
giữa nhiều user, ví dụ công việc của một bác sỹ nội khoa hay một quản lí ca Các mô hình RBAC và sự cài đặt nên có khả năng cải thiện cung cấp tất cả các biểu hiện của khái niệm role.
Có rất nhiều cơ chế bảo mật được nghiên cứu và triển khai thích họp cho từng
lĩnh vực khác nhau Trong các mô hình đang tồn tại thì toàn diện nhất là RBAC.
1.2 Mục tiêu
Khái niệm RBAC và cài đặt Role Based Access Control RBAC
Trang 4CHƯƠNG 2 NỘI DUNG
2.1 Khái niệm
Trong máy tính của hệ thống an ninh, kiểm soát truy cập dựa trên vai trò(RBAC) là một phương pháp tiếp cận để hạn chế truy cập hệ thống để người dùng cóthẩm quyền Nó được sử dụng bởi phần lớn các doanh nghiệp với hơn 500 nhân viên
và có thể được thực hiện thông qua kiểm soát truy cập bắt buộc (MAC) hoặc điềukhiển truy cập tùy ý (DAC) RBAC đôi khi được gọi là an ninh dựa trên vai trò
Kiểm soát truy cập dựa trên vai trò (RBAC) là một tính năng bảo mật chongười dùng truy cập kiểm soát với nhiệm vụ mà thông thường sẽ bị hạn chế vai trògốc Bằng cách áp dụng các thuộc tính bảo mật cho các quy trình và cho người dùng,RBAC có thể phân chia khả năng nhiều người dùng trong số các quản trị viên Quytrình quản lý quyền được thực hiện thông qua các đặc quyền Người sử dụng quản lýquyền được thực hiện thông qua RBAC
2.2 Ba quy tắc cơ bản được định nghĩa cho RBAC:
1 Vai trò phân công: Một chủ đề có thể thực hiện một sự cho phép chỉ khi đốitượng đã lựa chọn hoặc được giao một vai trò
2 Vai trò ủy quyền: vai trò tích cực của một đối tượng phải được ủy quyền chođối tượng Với quy tắc 1 ở trên, nguyên tắc này đảm bảo rằng người dùng có thể cóvai trò duy nhất mà họ được uỷ quyền
3 Sự cho phép ủy quyền: Một chủ đề có thể thực hiện một sự cho phép chỉ chophép được ủy quyền cho vai trò tích cực của đối tượng Với quy tắc 1 và 2, quy tắcnày đảm bảo rằng người dùng có thể thực hiện các quyền truy cập duy nhất mà họđược uỷ quyền
Theo một nghiên cứu mới đây của NIST thì RBAC nhằm vào nhu cầu của các
ngành kinh doanh hay của cả chính phủ Trong công trình nghiên cứu của 28 tổ chứcnày, nhu cầu điều khiển truy cập bị chi phối bởi nhiều mối quan tâm khác nhau gồm
Trang 5cả người tiêu dùng, cổ đông và sự tin cậy của các công ty bảo hiểm, sự riêng tư củathông tin cá nhân, việc ngăn chặn sự phân bố tài sản tài chính trái phép, ngăn chặn sửdụng không phép các đường dây điện thoại đường dài và sự giữ vững các tiêu chuẩnnghề nghiệp
Nhiều tổ chức đưa ra các quyết định điều khiển truy cập dựa trên role mà user là
cá nhân đảm nhận như một bộ phận của tổ chức Nhiều tổ chức thích kiểm soát tậptrung và duy trì quyền truy cập, không theo ý muốn cá nhân của người quản lí hệthống lắm mà theo các chỉ dẫn bảo vệ của tổ chức
Bản nghiên cứu cho thấy các tổ chức thường xem các nhu cầu điều khiển truycập của họ là duy nhất và cảm thấy các sản phẩm có sẵn thiếu sự linh hoạt
Các role được xem như một phần của tiêu chuẩn SQL3 nổi bật cho hệ thống quản lí dữ liệu, dựa vào sự thực hiện của chúng trong Oracle 7 Các role được kết nối chặt chẽ trong hiện trạng an ninh thương mại RBAC cũng phù hợp với công nghệ
đang thịnh hành và các xu hướng kinh doanh Một loạt sản phẩm cung cấp trực tiếp
một dạng RBAC, các sản phẩm khác hỗ trợ những tính năng có liên quan chặt chẽ, ví
dụ nhóm user, những tính năng này được sử dụng để thực hiện các role.
2.3 Mục đích
Mục đích chính của RBAC làm cho việc quản trị an ninh và xem lại thuận tiện
hơn Nhiều hệ thống kiểm soát truy cập cho các máy tính lớn thành công về thương
mại thực hiện role quản trị an ninh Ví dụ, role là người vận hành có thể truy cập tất
Trang 6cả các tài nguyên mà không thay đổi các quyền truy cập, role là một nhân viên bảo vệ
có thể thay đổi các quyền truy cập nhưng không được truy cập vào các tài nguyên, và
role là một kiểm toán viên có thể truy cập vào các đường kiểm toán Việc sử dụng các role mang tính quản lí này cũng đựợc có trong các hệ thống điều khiển mạng hiện đại
như Novell’s NetWare và Microsoft Windows NT.
Sự quan tâm mới xuất hiện trở lại đây đối với RBAC tập trung chủ yếu vào khả năng sử dụng RBAC ở cấp độ ứng dụng Trong quá khứ và cả ngày nay, các ứng dụng đặc biệt đã được xây dựng với RBAC được mã hóa trong bản thân sự ứng dụng Các
hệ điều hành hiện có và các môi trường cung cấp rất ít khả năng sử dụng RBAC ở cấp
độ ứng dụng Khả năng này bây giờ bắt đầu xuất hiện trong các sản phẩm Thách thứcđặt ra là phải xác định được ứng dụng độc lập tiện lợi khá linh hoạttất nhiên dễ dàngthực hiện, sử dụng và hỗ trợ nhiều ứng dụng với sự điều chỉnh nhỏ nhất
Các biến thể tinh vi của RBAC bao gồm khả năng thiết lập mối quan hệ giữa các
role cũng như là giữa các permission và các role và giữa các user với các role.
Ví dụ, hai role có thể đươc lập sao cho loại trừ nhau do đó cùng một user không đựơc phép thực hiện cả hai role Các role cũng có thể có quan hệ kế thừa, theo đó một
role kế thừa các permission được gắn cho role khác Những mối quan hệ role – role
này có thể được sử dụng để làm cho các chính sách bảo mật bao gồm sự tách rời cáccông việc và sự ủy thác của người có thẩm quyền Từ trước đến nay những mối quan
hệ này đựợc mã hóa trong phần mềm ứng dụng, với RBAC, chúng đựợc định rõ một
lần cho một miền bảo mật
Với RBAC, người ta có thể xác định được các mối quan hệ role – permission Điều này giúp cho việc gán cho các user tới các role xác định dễ dàng Bản nghiên cứu NIST [1] chỉ ra rằng các permission được phân cho các role có xu hướng thay đổi tương đối chậm so với sự thay đổi thành viên những user các role Nghiên cứu
này cũng đã nhận thấy việc cho phép các quản trị viên cấp hoặc hủy bỏ tư cách thành
viên của các user trong các role đang tồn tại mà không cho các quản trị viên này quyền tạo role mới hay thay đổi sự phân chia role – permission là điều đang đựợc
mong muốn
Trang 7Việc phân công các user theo role sẽ cần ít kĩ năng kĩ thuật hơn việc phân công các permission theo role Nếu không có RBAC, việc xác định permission nào được
ủy thác cho user nào sẽ khó.
Chính sách điều khiển truy cập được thể hiện ở các thành tố khác nhau của
RBAC như mối quan hệ role – permission, mối quan hệ user – role và mối quan hệ role – role Những thành tố này cùng xác định xem liệu một user cụ thể có được phép
truy cập vào môt mảng dữ liệu trong hệ thống hay không Các thành tố RBAC có thể đựợc định dạng trực tiếp bởi người sở hữu hệ thống hay gián tiếp bởi các role thích
hợp mà người sở hữu hệ thống ủy thác Chính sách có hiệu lực trong một hệ cụ thể
nào đó là kết quả cuối cùng của việc định dạng các thành tố RBAC khác nhau một
cách trực tiếp bởi người sở hữu hệ thống Ngoài ra chính sách điều khiển truy cập cóthể gia tăng trong chu kì của hệ thống và ở các hệ lớn điều này là chắc chắn xảy ra.Khả năng biến đổi chính sách để đáp ứng được nhu cầu đang thay đổi của một tổ chức
là một lợi ích quan trọng của RBAC.
Mặc dù RBAC là một chính sách trung lập, nó trực tiếp hỗ trợ ba nguyên tắc bảo mật nổi tiếng: đặc quyền ít nhất, sự tách biệt các nhiệm vụ, trừu tượng hóa dữ
liệu Nguyên tắc đặc quyền ít nhất đựợc hỗ trợ vì RBAC được định dạng do đó chỉ
những permission mà nhiệm vụ do các thành viên của role quản lí đó cần mới được phân cho role đó Sự tách biệt các nhiệm vụ đạt được bằng cách đảm bảo những role
có quan hệ loại trừ lẫn nhau phải đựơc sử dụng tới để hoàn thành một công việc nhạycảm như yêu cầu một nhân viên kế toán và một quản lí kế toán tham gia vào phát hành
một tấm Sec Trừu tượng hóa dữ liệu được hỗ trợ bằng các permission trừu tượng như
credit (bên có) và debit (bên nợ) cho một tài khoản, chứ không phải là các permission đọc, viết, quản lí thường đựợc hệ điều hành cung cấp Tuy nhiên, RBAC
không cho phép ứng dụng các nguyên lý này Nhân viên bảo mật có thể định dạng
được RBAC do đó nó vi phạm những nguyên lí này Ngoài ra, mức độ trừu tuợng hóa
dữ liệu đựợc hỗ trợ sẽ do các chi tiết bổ sung quyết định
RBAC không phải là giải pháp cho mọi vấn để kiểm soát truy cập Người ta cần
những dạng kiểm soát truy cập phức tạp hơn khi xử lí các tình huống mà trong đóchuỗi các thao tác cần được kiểm soát Ví dụ, một lệnh mua cần nhiều bước trước khi
Trang 8đơn dặt hàng mua được phát hành RBAC không cố kiểm soát trực tiếp các
permission cho một chuỗi các sự kiện như vậy Các dạng khác của kiểm soát truy cập
đựợc cài đặt trên bề mặt RBAC vì mục đích này Việc kiểm soát một chuỗi các thao tác ngoài phạm vi của RBAC, mặc dù RBAC có thể là nền móng để xây dựng những
kiểm soát như thế
CÀI ĐẶT Role Based Access Control - RBAC
2.4 Cài đặt Exchange Server 2010
Domain & Forest funtional level tối thiểu là chế độ Windows Server 2003
- DNS:đảm bảo phân giải thành công tên của các Domain Controller & DNS Server
Yêu cầu OS, Roles & Features:
- Windows Server 2008 hoặc Windows Server 2008 R2 64bit
- Đảm bảo phải Start services Net.Tcp Port Sharing Service (Startup Type: Automatic)
Trang 9- 2007/2010 Office System Converter: Microsoft Filter Pack
- Web Server (IIS) server role:
ISAPI Extensions
IIS 6 Metabase Compatibility
IIS 6 Management Console
- Windows Server 2008 features
Microsoft NET Framework 3.5 (SP1) trở lên
WCF HTTP Activation
RPC over HTTP Proxy
Active Directory Domain Services (AD DS) management tools
Windows Remote Management (WinRM)
Windows PowerShell™ Version 2
Các bước thực hiện cài đặt Exchange Server 2010:
1 Nâng cấp Domain & Forest funtional level
2 Cài đặt Office System Converter: Microsoft Filter Pack
3 Cài đặt Roles & Features
4 Start Net.Tcp Port Sharing Service
5 Cài đặt Exchange Server
6 Kiểm tra cài đặt
2.5 Cách thiết lập, cấu hình mở rộng mức phân quyền với RBAC – Role
Based Access Control bằng cách triển khai Predefined Role Groups qua
giao diện đồ họa của Exchange Control Panel
V m t b n ch t, ề mặt bản chất, ặt bản chất, ản chất, ất, Microsoft Exchange Server 2010 đã được cải tiến và tích hợp ản chất, ến và tích hợp c c i ti n và tích h p ợc cải tiến và tích hợp thêm ch c năng phân quy n ức năng phân quyền ề mặt bản chất, Role Based Access Control – RBAC m i, và mô hình nàyới, và mô hình này
đã cung c p cho ngất, ười dùng nhiều cách hơn trong việc giám sát, khởi tạo cũng như i dùng nhi u cách h n trong vi c giám sát, kh i t o cũng nh ề mặt bản chất, ơn trong việc giám sát, khởi tạo cũng như ệc giám sát, khởi tạo cũng như ởi tạo cũng như ạo cũng như ưgán quy n t i các tài kho n qu n tr khác nhauề mặt bản chất, ới, và mô hình này ản chất, ản chất, ị khác nhau Và nh ng vai trò này đững vai trò này được gán này sẽ ược cải tiến và tích hợp c gán này sẽ
ph n ánh đúng công vi c c a ngản chất, ệc giám sát, khởi tạo cũng như ủa người quản trị trong mô hình hoạt động trên thực tế ười dùng nhiều cách hơn trong việc giám sát, khởi tạo cũng như i qu n tr trong mô hình ho t đ ng trên th c t ản chất, ị khác nhau ạo cũng như ộng trên thực tế ực tế ến và tích hợp
Trưới, và mô hình này Exchange Server 2010, nh ng ngc ững vai trò này được gán này sẽ ười dùng nhiều cách hơn trong việc giám sát, khởi tạo cũng như i qu n trản chất, ị khác nhau Microsoft Exchange đ m nh nản chất, ận
Trang 10vi c t o m i tài kho n admin, gán quy n t i nh ng tài kho n có s n, thệc giám sát, khởi tạo cũng như ạo cũng như ới, và mô hình này ản chất, ề mặt bản chất, ới, và mô hình này ững vai trò này được gán này sẽ ản chất, ẵn, thường gặp khá ười dùng nhiều cách hơn trong việc giám sát, khởi tạo cũng như ng g p khá ặt bản chất, nhi u khó khăn trong khi quy t đ nh áp d ng v i nhómề mặt bản chất, ến và tích hợp ị khác nhau ụng với nhóm ới, và mô hình này Administrator nào T ng ừng
nhóm Administrator l i có ch a nhi u m c phân quy n khác nhau, và các phiên ạo cũng như ức năng phân quyền ề mặt bản chất, ức năng phân quyền ề mặt bản chất,
b nản chất, Exchange cũ l i ch có r t ít nhómạo cũng như ỉ có rất ít nhóm ất, Admin đ ngể người dùng lựa chọn Và như vậy, ười dùng nhiều cách hơn trong việc giám sát, khởi tạo cũng như i dùng l a ch n Và nh v y, ực tế ọn Và như vậy, ư ậncách gi i quy t duy nh t là gán nh ng tài kho n đó v i các m c phân quy n không ản chất, ến và tích hợp ất, ững vai trò này được gán này sẽ ản chất, ới, và mô hình này ức năng phân quyền ề mặt bản chất,
th c s phù h p trong h th ng.ực tế ực tế ợc cải tiến và tích hợp ệc giám sát, khởi tạo cũng như ống
a, Role Group và Role:
Để tiếp tục, chúng ta cần phải hiểu rõ và nắm bắt khái niệm cơ bản trong RBAC là mối liên quan giữa role group, role, cmdlet (commandlet) và parameter.
Trước tiên, role có thể coi là tổ hợp các tác vụ mà tài khoản quản trị có thể thực hiện được
Ví dụ, role Mail Recipients cho phép tài khoản Administrator quản lý mailbox, mail user
và mail contact Khi tài khoản quản trị được gán role thì nghĩa là mức phân quyền tương
ứng của role đó Và hành động gán quyền để thực hiện các tác vụ nhất định chúng ta có thể hiểu nôm na là trao quyền truy cập tới cmdlet hoặc parameter gắn liền với những tác vụ
đó
Trong một số trường hợp đặc biệt, thì 1 tài khoản Admin có thể được gán với nhiều role
khác nhau Và về mặt kỹ thuật, chúng ta có thể gộp các role lại với nhau, sắp xếp chúng
thành nhóm – hay còn gọi là role group, sau đó thay vì việc gán nhiều role tới tài khoản
nào đó thì chúng ta chỉ cần thay thế bằng role group phù hợp tương ứng
Ngược lại, người dùng hoàn toàn có thể gán nhiều thành viên trong
nhóm Administrator tới 1 role group Có nghĩa là tất cả tài khoản trong nhóm Admin đó
sẽ thực hiện được tất cả các role giống nhau, và sẽ có quyền truy cập
tới cmdlet và parameter trong role đó.
b, Predefined Role Groups và Roles:
Trong Exchange 2010 còn có Predefined Role Group chúng ta có thể sử dụng thay thế cho RBAC nếu chưa hiểu rõ về tính năng cụ thể cũng như cách thức làm việc của RBAC Nếu bao gồm tất cả các Predefined Role Group (hoặc gọi là Predefined Universal
Security Groups) thì tổng cộng sẽ có 16 thành phần Tuy nhiên, chỉ 11 trong số đó là thực
sự được sử dụng dành cho RBAC, và phần còn lại được dùng trực tiếp bởi Exchange Trong bài viết này, chúng ta sẽ chủ yếu tập trung vào các role group củaRBAC.
Các Predefined Role Group được sử dụng trong Exchange Server 2010 Role Based Access Control:
- Delegated Setup: dành cho người quản trị cần triển khai mô hình server Exchange 2010
được cung cấp bởi role group Organization Management
- Discovery Management: đối với các tài khoản Admin muốn tìm kiếm dữ liệu trong hệ
Trang 11thống mailbox dựa vào thông tin ưu tiên cũng như cấu hình thiết lập của mailbox.
- Help Desk: được dùng để kiểm tra thông tin tổng quát và thay đổi các tùy chọn của
Microsoft Office Outlook Web App
- Hygiene Management: thay đổi chế độ bảo mật trong Exchange.
- Organization Management: dành cho các tài khoản quản trị muốn có toàn quyền truy
cập tới tất cả hệ thống Exchange 2010
- Public Folder Management: dùng để quản lý thư mục public và cơ sở dữ liệu trên server
sử dụng Exchange 2010
- Recipient Management: quản lý, giám sát bộ phận recipient của Exchange 2010.
- Records Management: thường được áp dụng để cấu hình, thiết lập các tính năng như
phân loại policy, thông báo và quy luật lưu chuyển dữ liệu
- Server Management: dành cho những người quản trị muốn thiết lập chế độ transport của
server theo cách riêng biệt, Unified Messaging – UM, khả năng truy cập từ phía client và mailbox
- UM Management: được dùng dể quản lý các bước cấu hình server có liên quan tới UM,
thuộc tính của mailbox, thông tin cảnh báo
- View-Only Organization Management: để xem và kiểm tra thuộc tính của bất kỳ đối
tượng nào trong Exchange
Trang 12Chúng ta sẽ được chuyển tới phần Exchange Control Panel tiếp theo, tại đây hệ thống sẽ yêu cầu người dùng đăng nhập Sau đó, mở Administrator Roles:
Trang 13Bên dưới Role Groups, chúng ta sẽ thấy đầy đủ 11 Predefined Role Groups đã được đề
cập ở phía trên Và mỗi lần lựa chọn role bất kỳ, hệ thống hiển thị thông
tin Description của role được gán tới (hay còn gọi làAssigned Roles), các tài khoản quản trị được gán những role đó (gọi là Members) sẽ được hiển thị ở phần cửa sổ bên phải.
Nếu muốn gán 1 Member bất kỳ tới Predefined Role Group, chúng ta chỉ cần nhấn đúp vào phần Predefined Role Group tương ứng trong danh sách Ví dụ khi chọn Discovery Management thì hệ thống sẽ hiển thị cửa sổ điều khiển chính như
hình dưới:
Trang 14Tại đây, chúng ta sẽ nhìn thấy tên của role group (trong ví dụ này là Discovery
Management) – chính là đoạn mô tả ngắn gọn của role group, Assigned Roles, cũng
như danh sách thành viên ở phía dưới cửa sổ hiển thị (thông thường là trống rỗng) Để
gán thêm member, chúng ta nhấn nút Add như ảnh chụp màn hình trên.
Tại cửa sổ tiếp theo, tìm và chọn tên tài khoản Admin cần gán, sau đó nhấn nút OK: