CƠ CHẾ AN TOÀN TRÊN WINDOWS NT - PHẦN II

PHẦN II (Và hết) 3.Thừa kế quyền: Các đối tượng trên Windows NT có thể được phân làm 2 loại: đối tượng container (hay đối tượng cha) và non-container. Đối tượng container về mặt logic có thể chứa những đối tượng khác (chẳng hạn như đối tượng thư mục có thể chứa các đối tượng file) còn đối tượng non-container thì không chứa đối tượng khác (như đối tượng file). Như vậy, khi một đối tượng được tạo bên trong một đối tượng khác thì nó sẽ được thừa hưởng những quyền hạn của đối tượng cha đó. Ví dụ: Khi ta tạo một thư mục con TOAN bên trong thư mục D:\BAITAP thì thư mục con TOAN sẽ được thừa hưởng những quyền của thư mục D:\BAITAP Theo ngầm định, khi ta thay đổi những quyền trên thư mục cha thì sự thay đổi chỉ có hiệu lực đối với thư mục đó và những file bên trong nó nhưng không có hiệu lực đối với các thư mục con và nội dung của thư mục con đó. Tuy nhiên, ở hộp thoại Directory Permissions ta có thể làm cho những thay đổi có hiệu lực bằng cách chọn tùy chọn Replace Permissions on Subdirectory và Replace Permissions on Existing File. 4. Ghi nhận hoạt động của hệ thống: Một trong những mục tiêu rất quan trọng của Windows NT là đảm bảo hệ thống hoạt động một cách có hiệu quả và độ tin cậy cao. Vì vậy, Windows NT cung cấp những tính năng cho phép theo dõi và ghi nhận những hoạt động của toàn bộ hệ thống thông qua khả năng giám sát những sự kiện (Event) đang xảy ra. Những sự kiện này bao gồm sự kiện liên quan đến an toàn hệ thống và sự kiện liên quan đến người dùng. Nhờ vậy, khi có bất kì sự cố nào xảy ra có nguy cơ gây phương hại đến tính an toàn của hệ thống, Windows NT sẽ đảm bảo việc hạn chế và ngăn chặn lỗi, kiểm tra và định vị lỗi đó. Mỗi sự kiện trong hệ thống đều có chứa những thông tin giúp phân định bao gồm: Event ID (định danh), Source (nơi phát sinh sự kiện), Type (kiểu sự kiện), Category (loại sự kiện) và các thông tin khác phụ thuộc vào loại và kiểu sự kiện. Các sự kiện có thể phân làm 7 loại: 1. Account Management (Quản lý người dùng và nhóm người dùng): mô tả những sự kiện liên quan đến việc thay đổi Cơ sở dữ liệu quản lý tài khoản người dùng. Ví dụ như: User Created (tạo mới người dùng), Group Membership Change (thay đổi thông tin trong nhóm).. 2. Detailed Tracking (Quản lý các chương trình đang chạy): sự kiện liên quan đến hoạt động của các chương trình như kích hoạt chương trình, truy cập đến một đối tượng... 3. Logon / Logoff (Quản lý trong quá trình đăng kí tham gia và thoát khỏi hệ thống): các sự kiện như: nhập mật khẩu, tên người dùng, kiểu tham gia vào hệ thống (cục bộ, thông qua mạng...)... 4. Object Access (Quản lý việc truy cập file và các đối tượng khác): các sự kiện liên quan đến việc truy cập tài nguyên, thành công hay không thành công. 5. Policy Change (Thay đổi những cách thức về an toàn): chỉ những thay đổi đến cơ sở dữ liệu về an toàn như: thay đổi những đặc quyền, khả năng đăng nhập, xác nhận tính hợp lệ của đối tượng. 6. Privilege Use : chỉ những sự kiện liên quan đến quyền hạn của người dùng. 7. System Event: chỉ những sự kiện có ảnh hưởng đến tính an toàn của hệ thống. Để quan sát được những sự kiện xảy ra trong hệ thống, Windows NT cung cấp một trình tiện ích là Event Viewer. Event Viewer cho phép xem xét một cách rất chi tiết bất kì sự kiện nào xảy ra trong hệ thống như mở file, đóng file, hoạt động của các tiến trình của người dùng, thay đổi mật khẩu, các sự kiện xác nhận an toàn... Ví dụ : Sự kiện phát sinh khi thao tác trên một file TEST.TXT. Kiểu sự kiện trên là Success Audit tức là xác nhận thao tác trên file là thành công, định danh Event ID là 560 tức là Object Open. Như vậy, sự kiện trong ví dụ ám chỉ việc mở file TEST.TXT của người dùng là thành công. Một số Event ID tham khảo: 1. Quản lý việc truy cập đến đối tượng và file: 1. 560: Object Open : bắt đầu thao tác trên đối tượng (Mở file...) 2. 561: Handle Allocated : xác định đối tượng (Kiểm tra tính tồn tại...) 3. 562: Handle Closed : chấm dứt truy cập đến đối tượng (Đóng file) 4. 592: New Process Has Been Created : một tiến trình mới được tạo 5. 593: Process Has Exited : kết thúc một tiến trình 2. Quản lý người dùng 1. 624: User Account Created : tạo mới tài khoản 2. 632: Global Group Member Added : thêm một người dùng vào nhóm global 3. 636: Local Group Member Added : thêm một người dùng vào nhóm local 4. 642: User Account Changed : thay đổi trên tài khoản người dùng 3. Quản lý hệ thống 1. 512: Windows NT Starting Up : Wins NT bắt đầu khởi động 2. 514: Authentication package Loaded : tiến trình xác nhận trong quá trình đăng nhập được gọi (xem thêm quá trình đăng nhập của người dùng phần sau) Để có thể theo dõi được những sự kiện phát sinh khi thực hiện một thao tác đòi hỏi người dùng phải tham gia vào hệ thống với tư cách là Server Administrator để có thể thiết lập cơ chế xác nhận các sự kiện và dùng tiện ích User Manager for Domains để thiết lập cơ chế xác nhận bằng chức năng Audit Policy: 2. ĐỐI TƯỢNG NGƯỜI DÙNG VÀ QUÁ TRÌNH ĐĂNG NHẬP 1. Những thông tin về người dùng: Đối tượng người dùng hay người dùng đơn giản là những người tham gia vào hệ thống. Họ có thể tham gia vào hệ thống Windows NT dưới hình thức một Windows NT Workstations, Server hay tham gia từ xa thông qua mạng. Mỗi người dùng trong hệ thống Windows NT bắt buộc phải có tên (user name), tài khoản (account) và một mật khẩu (password) để tham gia vào tài khoản đó. Những thông tin này sẽ được người quản trị mạng cung cấp và sẽ được lưu trữ trong cơ sở dữ liệu tài khoản (Security Accounts database - Security Policy database). Sau này khi người dùng tham gia vào hệ thống, bộ phận Local Security Authority (LSA) sẽ xác nhận tính hợp lệ của người đó dựa trên những thông tin đã lưu trong cơ sở dữ liệu và những thông tin mà người dùng nhập vào trong quá trình Logon. Tên người dùng là một chuỗi dài không quá 20 kí tự không phân biệt kiểu chữ hoa hay thường và không được chứa những kí tự đặc biệt như: / \ [ ]: ; ! = , + # ? < >. Tên người dùng còn được dùng như tên đăng nhập (logon name) duy nhất trên một vùng (domain) và là yêu cầu tối thiểu khi tạo tài khoản người dùng. Mật khẩu người dùng một chuỗi dài không quá 14 kí tự có phân biệt chữ hoa hay thường, duy nhất và được mã hóa để đảm bảo không thể đọc được từ bất kì người nào trong hệ thống kể cả người quản trị. Sau khi xác nhận người dùng với hệ thống, LSA sẽ tạo ra một Thẻ truy xuất bảo mật (Security Access Token - SAT) cho người dùng. SAT bao gồm một Số bảo mật (SID), những SID của nhóm mà người dùng tham gia và thêm một số thông tin khác như tên người dùng, tên của các nhóm chứa người dùng đó.... và khi người dùng thực thi những trình ứng dụng của mình thì một bản sao của SAT cũng sẽ được gởi đến cho trình ứng dụng đó. Như vậy, khi người dùng (hay trình ứng dụng của người dùng) muốn truy cập đến một đối tượng, Windows NT sẽ dựa trên SID chứa trong Thẻ truy xuất bảo mật và xem xét danh sách các quyền của người đó để đảm bảo việc truy cập là hợp lệ. Sơ đồ biểu diễn quá trình tham gia của người dùng vào mạng Windows NT: Sơ đồ trên thể hiện 2 hình thức tham gia của người dùng vào mạng Windows NT: tham gia như một NT Workstation (cục bộ) và tham gia từ một mạng khác. LSA sẽ so sánh những thông tin mà người dùng nhập vào với thông tin trong cơ sở dữ liệu. Nếu chính xác, Thẻ truy xuất SAT sẽ được thiết lập cho người đó, ngược lại, việc truy cập vào hệ thống sẽ không được chấp nhận. 2. Quyền của người dùng: Một mục tiêu của cơ chế an toàn Windows NT là giám sát và điều khiển việc truy cập của người dùng vào một đối tượng nào đó trên hệ thống máy tính. Để thực hiện được điều này, cơ chế an toàn đã lưu giữ trong cơ sở dữ liệu những thông tin về an toàn của người dùng, của nhóm và của các đối tượng ngay khi họ được tạo ra, kiểm tra tính hợp lệ của những yêu cầu truy cập đến các đối tượng do người dùng trực tiếp tạo ra hay gián tiếp từ những trình ứng dụng của họ. Ngoài ra, hệ thống còn có nhiệm vụ giám sát và điều khiển việc truy cập của người dùng đến mọi đối tượng bao gồm đối tượng có thể nhìn thấy được như máy in, file… hoặc những đối tượng tiềm ẩn như các tiến trình, name-pipe… Như vậy, cơ chế an toàn không những điều khiển việc ra quyết định ai sẽ được phép sử dụng đối tượng nào mà còn điều khiển việc truy cập đó sẽ diễn ra ra sao. Windows NT cũng quy định người quản trị mạng (hay bất cứ ai có quyền thay đổi cơ chế quyền) có toàn quyền tạo, gán và thay đổi các quyền của người dùng đến một đối tượng, khả năng này gọi là discretionary access control. Ví dụ, người quản trị mạng có thể đặt nhóm SINHVIEN chỉ có quyền Read đối với thư mục SOFTWARES, còn nhóm GIANGVIEN có quyền Read, Write và Execute trên thư mục này. Để có thể áp đặt quyền hạn của người dùng đối với một file hay thư mục, có thể dùng trình quản lý file NT Explorer, chọn mục Permissons trên trình đơn hay trên menu con khi nhấn nút phải chuột vào một file hay thư mục. Ví dụ: Một số quyền (Permissions) cơ bản mà người dùng có thể có đối với một file xác định: đọc (Read), viết (Write), xóa (Delete), thay đổi quyền (Change Permission), thi hành (Execute), lấy quyền sở hữu (Take Ownership), cấm truy cập (No Access)... Hầu hết người dùng trong Windows NT đều thuộc ít nhất một nhóm cài sẵn (built-in group) nào đó như Administrators, Guests, Users...và do đó, ngầm định người đó sẽ được thừa hưởng những quyền (rights) và khả năng (capabilities) thao tác trên hệ thống mà nhóm đó có. Ví dụ, nếu người dùng là thành viên của nhóm Administrators sẽ có thể thực hiện các thao tác quản trị hệ thống như tạo mới tài khoản, thay đổi mật khẩu người dùng, thiết lập quyền...Nếu người dùng là thành viên của nhiều nhóm thì quyền của người đó là tập hợp của quyền của tất cả các nhóm hội lại. Trên Windows NT có 3 thuật ngữ đều mang ý nghĩa thể hiện quyền hạn của người dùng đối với hệ thống đó là Permissions, User rights và Built-in capabilities nhưng trong thực tế chúng có ý nghĩa khác biệt. Ta có thể giải thích như sau: 1. Permissions (sự cho phép): ám chỉ quyền hạn của người dùng liên quan đến việc sử dụng tài nguyên bao gồm những luật và thao tác mà người đó có hoặc không thể thực hiện trên đối tượng tài nguyên đó. Những quyền hạn loại này được lưu trữ trong Danh sách điều khiển truy cập ACL liên kết với một đối tượng tài nguyên. Ví dụ, đối với tài nguyên file và thư mục có các quyền như Read, Write, Delete... 2. User rights (Quyền của người dùng): ám chỉ quyền hạn của người dùng liên quan đến những thao tác có liên quan đến việc quản trị hệ thống như Shut down máy, đăng nhập, thay đổi thời gian hệ thống...User rights được phân phối ngầm định cho các nhóm cài sẵn và có thể phủ lấp cả Permissions. Ví dụ, khi người dùng là thành viên của nhóm Backup Operators người đó có quyền Tạo dự phòng (backup) và phục hồi dữ liệu (restore) cho dù có thể người đó không có các quyền (permissions) Read hay Write. User rights và Permission có thể được thay đổi bởi người dùng thuộc nhóm Administrators. 3. Built-in capabilities: ám chỉ những khả năng mạnh liên quan đến việc quản trị hệ thống của những nhóm cài sẵn như tạo mới tài khoản, chia sẻ tài nguyên, định dạng đĩa cứng trên máy server...Những khả năng này là ngầm định, không thể thay đổi bởi bất cứ ai kể cả Administrators. Ví dụ: Quyền của người dùng trên máy NT Server Kí hiệu trong sơ đồ: Admin (Administrators), SO (Server Operators), AO (Account Operators), PO (Print Operators), BO (Backup Operators), Ev (Everyone). 3. Quá trình đăng nhập: Trước khi người dùng có thể thực hiện bất kì thao tác nào trong hệ thống Windows NT, người đó phải trải qua một quá trình đăng kí thâm nhập – đăng nhập. Việc đăng kí bao gồm việc nhập vào Tên người dùng (User name), Mật khẩu (Password) và Tên máy tính (Computer name / Domain). Windows NT sẽ dùng Tên cho việc định danh và Mật khẩu để xác nhận và để phân phối hay hạn chế quyền của người dùng sẽ dựa trên những thông tin đó. Ta có sơ đồ đăng nhập của người dùng vào hệ thống: Cụ thể thể hiện qua các bước : 1. Người dùng nhấn tổ hợp phím Ctrl+Alt+Del để bắt đầu quá trình đăng kí. Ctrl+Alt+Del là tổ hợp phím đặc biệt đánh dấu việc bắt đầu tải hệ điều hành vào bộ nhớ và có thể tránh được việc một số chương trình bất hợp lệ (như virus..) có thể vào trước hệ điều hành đánh lừa người dùng để lấy cắp Tên người dùng và Mật khẩu. 2. Người dùng nhập Tên và Mật khẩu, tiến trình đăng nhập Logon Process sẽ gọi LSA. 3. LSA sẽ chạy một tiến trình xác nhận Authentication package. 4. Authentication package sẽ dựa vào Tên và Mật khẩu người dùng để xác định xem tài khoản của người dùng có tồn tại trong Cơ sở dữ liệu tài khoản hay không. Nếu không tồn tại, tiến trình quay trở lại bước 2. 5. Nếu tài khoản tồn tại, trình quản lý tài khoản SAM sẽ trả về một SID của người dùng và của nhóm chứa người dùng cho trình Authentication package. 6. Trình Authentication package tạo ra một logon session và gửi logon session đó với SID người dùng về cho LSA. 7. Nếu việc đăng kí bị hủy, logon session cũng sẽ bị hủy và quay lại bước 1. Ngược lại, một Thẻ truy xuất bảo mật sẽ được tạo cho người dùng (chứa các SID và quyền của người dùng) và được gửi trở lại Tiến trình logon đánh dấu việc xác nhận thành công. 8. Logon session sẽ gọi Win32 subsystem để tạo một môi trường mới cho người dùng. 9. Người dùng bắt đầu sử dụng Windows NT. Thẻ truy xuất bảo mật (Security Access Token) được tạo ra nhằm đảm bảo khi người dùng tìm cách truy xuất đến những đối tượng được bảo vệ, Bộ phận giám sát an toàn (Security Reference Monotor) sẽ thi hành một thủ tục để kiểm tra tính hợp lệ của truy xuất dựa trên thẻ truy xuất này. Bất kì tiến trình nào mà người dùng tạo ra cũng đều được gắn thêm thẻ truy xuất bảo mật của người đó và được dùng để kiểm tra tính hợp lệ khi tiến trình đó muốn truy xuất và sử dụng tài nguyên. Thẻ truy xuất bảo mật chứa một số thông tin sau: 1. Số bảo mật của người dùng (Owner’s Security ID) 2. Số bảo mật của nhóm (Group’s Security ID) 3. Các đặc quyền (Privileges) 4. Số bảo mật của nhóm chính. 5. Danh sách điều khiển truy cập ngầm định (Default Access-control list (ACL) ) 6. Nguồn của thẻ truy xuất. 7. Kiểu của thẻ truy xuất (thẻ chính hay đã phân cấp) 8. Mức độ phân cấp hiện hành. 9. Những thông tin khác. 4. Xác nhận việc truy cập: Để đảm bảo việc truy cập của người dùng đến một đối tượng là hợp lệ, Windows NT sẽ so sánh những thông tin về an toàn trong Thẻ truy xuất bảo mật - SAT của người đó với những thông tin trong bảng mô tả an toàn của đối tượng. Như vậy, việc truy cập bước đầu được xem là thành công nếu những thông tin này phù hợp với nhau. Tức là những thông tin về an toàn trong Danh sách điều khiển truy cập – ACL liên kết với đối tượng (ACE) xác nhận người dùng có quyền truy cập đến nó. Tập hợp các kiểu truy cập mà người dùng muốn thực hiện trên một đối tượng hình thành nên Mặt nạ truy cập yêu cầu (desired access mask). Mặt nạ truy cập này thường được chương trình của người dùng tạo ra và được so sánh với từng ACE trong danh sách ACL của đối tượng được truy cập. Quá trình xác nhận truy cập thông qua các bước: 1. SID trong ACE liên kết với đối tượng được so sánh với các SID trong Thẻ truy xuất của người dùng. Nếu không giống thì việc so sánh chuyển qua ACE tiếp theo. (Các ACE AccessDenied được xử lý trước các ACE AccessAllowed – Xem lại phần I. Những thông tin về an toàn) 2. Nếu việc truy cập bị hoãn lại, hệ thống sẽ kiểm tra kiểu truy cập trong Mặt nạ truy cập yêu cầu xem có phải là READ_CONTROL hay WRITE_DAC và người muốn truy cập có phải là chủ sở hữu đối tượng hay không (Nếu người sử dụng là chủ sở hữu đối tượng thì 2 kiểu truy cập READ_CONTROL và WRITE_DAC được gán tự động). Nếu đúng thì quyền truy cập được phân phối cho người đó. 3. Đối với ACE AccessDenied, hệ thống sẽ so sánh những kiểu truy cập trong ACE với Mặt nạ truy cập ở trên, nếu có bất kì truy cập nào trùng giữa 2 mặt nạ này thì truy xuất bị huỷ bỏ. Ngược lại sẽ so sánh đến ACE kết tiếp. 4. Đối với ACE AccessAllowed, hệ thống cũng so sánh tương tự như bước 3. Nếu trùng thì người dùng sẽ được phân phối quyền truy cập, ngược lại qua ACE kế tiếp. 5. Nếu đến cuối danh sách ACL mà Mặt nạ truy cập yêu cầu vẫn không trùng thì việc truy cập bị hủy bỏ. 3. CƠ CHẾ AN TOÀN TRÊN FILE VÀ THƯ MỤC: Đảm bảo tính an toàn dữ liệu là một trong những đặc tính rất ưu việt của Windows NT và là một yêu cầu cơ bản của bất kì một hệ điều hành mạng nào. Trên Windows NT, một đối tượng dữ liệu (file, thư mục) trong cùng một thời điểm có thể có nhiều người cùng truy cập đến. Việc dùng chung như vậy gọi là sự chia sẻ file trên mạng, điều đó dẫn đến việc tính bảo mật và nhất quán của dữ liệu có thể bị vi phạm. Để thực hiện điều đó, Windows NT đã cung cấp những khả năng thiết lập cơ chế an toàn trên một đối tượng dữ liệu như đặt quyền hạn, thiết lập những giao tác (transaction) trên một đối tượng dữ liệu, khả năng giám sát việc truy cập của người dùng...- Một giao tác trên một đối tượng dữ liệu là một tập hợp các thao tác truy cập đến đối tượng dữ liệu đó sao cho khi thành công một giao tác thì cũng tương ứng tất cả các thao tác cũng hoàn tất một cách trọn vẹn, ngược lại nếu giao tác không thành công thì đảm bảo đối tượng dữ liệu trở về tình trạng ban đầu lúc trước khi thực hiện giao tác. An toàn trên file và thư mục là một phần trong cơ chế an toàn chung đối với mọi đối tượng trên Windows NT. Do đó, một số tính năng an toàn chung cũng được áp dụng cho file và thư mục tương tự như các đối tượng khác. Ngoài ra, để có thể thực hiện cơ chế an toàn đến một đối tượng file đòi hỏi Windows NT phải được cài với hệ thống file NTFS, đối với FAT an toàn chỉ đến cấp thư mục. 1. Đối tượng file và việc điều khiển một thao tác trên file: Đối tượng file là một sự logic hóa một tập hợp dữ liệu có cấu trúc hoặc không được lưu trữ trên thiết bị lưu trữ. Do đó, khi thao tác trên một đối tượng file, có thể người sử dụng không cần biết cấu trúc thật sự của file và cách mà hệ thống sử lí với nó. Một đối tượng file có thể chứa những dữ liệu đặc biệt của hệ thống hay đơn giản là dữ liệu của người dùng thông thường và để đảm bảo việc truy cập là hợp lệ, Windows NT cho phép thiết lập thuộc tính an toàn trên một đối tượng theo nhiều mức độ khác nhau, hạn chế hoặc ngăn cấm những truy cập không được phép. Một cách ngầm định, khi một đối tượng dữ liệu (file, thư mục) được tạo ra thì nó được gán một số quyền ngầm định dùng chung cho mọi người dùng và các quyền dành riêng cho chủ sở hữu đối tượng đó. Ngoài ra, các quyền mặc định trên một đối tượng file có thể giới hạn trong phạm vi một máy tính Windows NT hay như là một tài nguyên chung trên mạng. Như đã đề cập, cơ chế an toàn trên file được áp dụng như mọi đối tượng khác. Việc tạo, sửa đổi hay xoá file cũng được xử lý thông qua thành phần thực thi Object Manager thông qua sự giám sát của Bộ phận giám sát an toàn (SRM). Tất cả những yêu cầu thao tác trên một đối tượng file (bao gồm các thao tác như: mở file, tạo mới, xóa file...) của người dùng trước khi đến được bộ phận Object Manager đều phải qua quá trình xác nhận của SRM. SRM sẽ kiểm tra và so sánh những thông tin trong Thẻ truy xuất bảo mật của người dùng (SAT) và trong Danh sách điều khiển truy cập (ACL) của đối tượng đó (ACL : xin xem phần I. Những thông tin về an toàn) để xác nhận xem người đó có quyền thao tác trên đối tượng file đó hay không, nếu có thì gồm những quyền gì... Hình vẽ trên thể hiện việc Tạo một file và các bộ phận tham gia vào việc thực hiện thao tác này. Khi có ứng dụng gửi một yêu cầu đến các dịch vụ của hệ thống yêu cầu Tạo một file thì yêu cầu này sẽ được chuyển đến bộ phận I/O Manager nằm ở Kernel mode. Bộ phận I/O Manager tiếp theo sẽ gửi yêu cầu Tạo mới một đối tượng cho Object Manager thông qua SRM. Nếu bộ phận giám sát an toàn (SRM) từ chối yêu cầu tạo đối tượng file thì yêu cầu này không đến được Object Manager và nó sẽ thông báo trở lại cho I/O Manager biết rằng thao tác yêu cầu đã bị từ chối. Ngược lại thì yêu cầu sẽ được chuyển đến Object Manager. Object Manager tạo ra file và gửi một mã trạng thái về cho I/O Manager thông báo thao tác đã thành công hay thất bại. Tương tự như mọi đối tượng khác, những thông tin về an toàn trên một đối tượng file được lưu trữ trong Bảng mô tả an toàn Security Descriptor. Bảng này chứa một số thông tin liên quan đến file như: Tên file, Thư mục chứa file, các SID và các Danh sách điều khiển truy cập. Danh sách điều khiển truy cập cho một đối tượng file gọi là Danh sách điều khiển truy cập tùy chọn (tự do) Descretionary ACL chỉ ra ai có quyền truy cập đến file, ai bị ngăn cấm. Mỗi ACE trong DACL sẽ chỉ đến một đối tượng người dùng và chứa các quyền mà người đó có đối với file trong Mặt nạ truy cập Access Mask. Mặt nạ truy cập của một đối tượng file có chứa 3 kiểu quyền: kiểu xác định, kiểu chuẩn và kiểu chung. Kiểu xác định gồm có: FILE_READ_DATA, FILE_WRITE_DATA, FILE_APPEND_DATA, FILE_READ_EA, FILE_WRITE_EA, FILE_EXECUTE, FILE_READ_ATTRIBUTES, FILE_WRITE_ATTRIBUTES (xin xem phần I. Những thông tin về an toàn). Kiểu chung gồm: FILE_GENERIC_READ, FILE_GENERIC_WRITE, FILE_GENERIC_EXECUTE. Có một sự phân biệt giữa DACL rỗng (empty DACL) và DACL không được gán (unassigned DACL). Một DACL rỗng có nghĩa là không có quyền truy cập nào cung cấp cho đối tượng đó và không ai được phép truy cập, tuy nhiên, chủ sở hữu của đối tượng vẫn có thể thay đổi DACL và cung cấp lại các quyền. DACL không được gán nghĩa là không có sự bảo vệ nào đối với đối tượng và mọi người đều có quyền truy cập. 2. Quyền hạn trên file: a. Phân loại quyền: Các quyền (permissions – có thể gọi là sự cho phép) được áp đặt đối với file và thư mục là khác nhau và được phân phối hay hạn chế tùy thuộc thao tác truy cập đến đối tượng. Một đối tượng dữ liệu (file, thư mục) trên Windows NT được cung cấp 2 loại quyền: quyền đặc biệt và quyền chuẩn. Các quyền đặc biệt gồm: 1. R (Read): đọc 2. W (Write): viết 3. X (Execute): thực hiện 4. D (Delete): xóa 5. P (Change Permissions): thay đổi quyền 6. O (Take Ownership): lấy quyền sở hữu Các thao tác và áp dụng quyền đặc biệt đối với file : Các thao tác và áp dụng quyền đặc biệt đối với thư mục : Các quyền tiêu chuẩn gồm: 1. Các quyền đối với file: 1. Read (RX) : đọc và chạy chương trình (nếu là file chương trình) 2. Change (RWXD) : đọc, sửa và xóa file 3. Full Control (RWXDOP) : đọc, sửa, xóa, đặt quyền hạn và lấy quyền sở hữu. 4. No Access : cấm truy cập, ngay cả khi người dùng là thành viên của nhóm đã được cấp quyền truy cập. 2. Các quyền đối với thư mục được biểu diễn theo dạng sau: (Các quyền đối với bản thân thư mục)(Các quyền thừa kế cho những file trong thư mục đó) 1. List (RX)(Không xác định) : người dùng chỉ có quyền liệt kê file và thư mục con trong thư mục này. Ngoài ra, nếu người dùng có quyền có thể thay đổi thư mục này và không thể truy cập đến những file mới tạo sau khi đặt quyền này. 2. Read (RX)(RX) : đọc nội dung của file trong thư mục và chạy ứng dụng trong thư mục đó. 3. Add (WX)(Không xác định) : có thể thêm file vào thư mục nhưng không thể đọc nội dung hay thay đổi file. 4. Add & Read (RWX)(RX) : có thể thêm file, đọc nhưng không được sửa nội dung. 5. Change (RWXD)(RWXD) : có thể thêm, đọc, sửa đổi nội dung và xóa file trong thư mục. 6. Full Control (RWXDPO)(RWXDPO) : có thể thêm, đọc, sửa đổi, xóa, đặt quyền và lấy quyền sở hữu của thư mục và các file trong thư mục đó. 7. No Access ()() : cấm truy cập. Ví dụ : Một thư mục được áp đặt quyền là (RWX)(RX) có nghĩa là (RWX) là quyền đối với thư mục và (RX) là quyền đối với các file trong thư mục đó. Như vậy người dùng có quyền thêm file vào trong thư mục và đọc nó nhưng không được sửa đổi các file trong thư mục đó. Các thao tác và quyền chuẩn đối với file: Các thao tác và quyền chuẩn đối với thư mục: Các thao tác và quyền chuẩn ngầm định của những file trong thư mục: Một số đặc điểm quan trọng khi thiết lập quyền trên một đối tượng file và thư mục: 1. Có thể ngăn chặn người dùng truy cập đến một quyền bằng cách không đáp ứng quyền đến người đó. Nghĩa là không cần phải gán quyền No Access đến từng người hoặc nhóm mà không truy cập đến file và thư mục. 2. Quyền hạn có tính chất tích lũy. Nghĩa là, nếu người dùng A được gán quyền Read trên thư mục D:\BAITAP và nhóm mà chứa người dùng A có quyền Change trên thư mục đó thì quyền tổng hợp dành cho người dùng là Read + Change = Change 1. Quyền hạn có tính kế thừa: những thư mục con và những file được tạo ra trong thư mục D:\BAITAP sẽ thừa hưởng những quyền có trên thư mục D:\BAITAP. Theo quy định, người dùng thuộc nhóm Administrators và Server Operators có toàn quyền thao tác việc phân quyền trên file và thư mục, bao gồm cả những file và thư mục chia sẻ. Quyền hạn trên file và thư mục có thể được phân phối cho những người dùng và nhóm sau: 1. Người dùng Domain trên vùng có chứa server 2. Người dùng Domain trên một Trusted domain 3. Những nhóm cục bộ trên vùng chứa server 4. Những nhóm toàn cục trên vùng chứa server 5. Những nhóm toàn cục trong một Trusted domain 6. Các nhóm và người dùng đặc biệt: Everyone, INTERACTIVE, NETWORK, SYSTEM, CREATOR OWNER. b. Quyền đối với những tên chia sẻ: Trên Windows NT một tài nguyên thư mục có thể được chia sẻ cho nhiều người dùng truy cập từ nhiều nơi khác nhau trên mạng. Do đó, một tài nguyên thư mục có thể có nhiều tên chia sẻ và được gán những quyền hạn khác nhau ứng với mỗi tên chia sẻ đó. Điều này có lợi khi chủ sở hữu hoặc người quản trị muốn những nhóm người dùng khác nhau có những quyền truy cập khác nhau trên một thư mục được chia sẻ. Ngầm định, người dùng thuộc nhóm Administrators và Server Operators có thể thay đổi những quyền trên một chia sẻ. Những quyền hạn trên những thư mục chia sẻ chỉ có tác dụng khi thư mục đó được truy cập trên mạng (kiểu tài khoản là local account) và những quyền đó áp đặt cho cả những file và thư mục con bên trong. Do vậy, nếu người dùng tham gia một cách cục bộ chỉ những quyền hạn trên file và thư mục có tác dụng (với hệ thống file NTFS) còn những quyền trên thư mục chia sẻ thì không. 1. Cơ chế xác nhận truy cập: Mỗi thao tác của người dùng đối với một đối tượng file hay thư mục đều được hệ điều hành ghi nhận và thể hiện dưới dạng một sự kiện (event), cho dù thao tác thành công hay thất bại. Các thao tác này bao gồm: mở file, đọc nội dung một file, xem tên file, liệt kê danh sách file trong một thư mục, xóa file, xóa thư mục… đều được liệt một cách chi tiết trong trình Event Viewer. Thiết lập cơ chế xác nhận trên file dùng chức năng Audit: KẾT LUẬN VÀ NHẬN XÉT Windows NT là một hệ điều hành mạng có tính an toàn cao và được thiết kế kĩ lưỡng. Cơ chế an toàn trên Windows NT dựa trên nền tảng là tiêu chuẩn an toàn C2 của Bộ quốc phòng Mỹ, là một tiêu chuẩn rất khắt khe và là một mục tiêu trong thiết kế của bất kì một hệ điều hành mạng nào. Sự an toàn thể hiện xuyên xuốt toàn bộ hệ thống bao gồm nhiều tính năng ưu việt như trong quản lí người sử dụng, quản lí hệ thống file và an toàn dữ liệu, quản lí bộ nhớ, quản lí các môi trường con và các thiết bị mạng … Đối với người dùng, Windows NT cung cấp nhiều khả năng trong việc thiết lập, điều khiển và giám sát những hành vi truy cập từ khi người đó bắt đầu đăng nhập vào hệ thống đến khi kết thúc việc tham gia, đảm bảo những truy cập của người dùng là hợp lệ tương ứng với những quyền hạn mà người đó có được khi tham gia vào hệ thống, ngăn chặn những thao tác bất hợp lệ có nguy cơ gây phương hại cho hệ thống và cho những đối tượng khác. Đối với an toàn dữ liệu, Windows NT hỗ trợ hệ thống file an toàn NTFS và nhiều tính năng ưu việt về an toàn file trên hệ thống file này, bao gồm khả năng thiết lập quyền truy cập đến một đối tượng file, giám sát những thao tác trên file, khả năng khôi phục sau sự cố… Tất cả những tính năng an toàn đó đảm bảo hệ thống Windows NT chạy ổn định và tin cậy trên mọi môi trường ứng dụng, đáp ứng được những yêu cầu về an toàn trong thực tế và ngày càng đứng vững trên thị trường hệ điều hành mạng. Do thời gian có hạn nên tài liệu biên soạn còn nhiều thiếu xót và chưa thể mô tả được hết mọi khía cạnh bảo mật trên Windows NT. Một số thuật ngữ không thể dịch sát nghĩa Tiếng Việt nên tôi tạm dịch kèm với từ gốc Tiếng Anh. Trên các hệ điều hành mới hiện nay như 2k/XP, cơ chế an toàn cũng được phát triển nâng cao dựa trên nền tảng Windows NT, các bạn có thể dựa trên các kiến thức cơ bản ở đây để tìm hiểu nâng cao và sâu hơn trên từng hệ thống cụ thể. Tài liệu tham khảo: 1. Windows NT Server 4 Professional Reference, New Riders Publishing. 2. Windows NT Resource Guide, Microsoft TechNet1997. 3. Win32 Programmer’s Reference, Microsoft Corp. 4. MSDN 5. Internet Tác giả: W_Hat (w_hat95@yahoo.com) Zorro (r3v3ng3r01@yahoo.com) Phiên bản: 1.0 – 05/1999 by W_Hat 1.2 – 01/2003 by Zorro
Thứ Hai, 17/11/2003 07:31
31 👨 1.356
0 Bình luận
Sắp xếp theo
❖ Tổng hợp