Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 28 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
28
Dung lượng
883,46 KB
Nội dung
HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG CƠ SỞ TẠI TP HỒ CHÍ MINH KHOA CÔNG NGHỆ THÔNG TIN II BÁO CÁO BẢO MẬT THÔNG TIN Tên đồ án: SECURITYENHANCEDLINUX (SELinux) Giáo viên hƣớng dẫn : Thầy Lê Phúc Nhóm thực hiện : _Ngô Phi Công _Trƣơng Công Khá _Hoàng Phi Long Lớp : Đ06THA1 TP Hồ Chí Minh-11/2009 1 I- TỔNG QUAN VỀ SELINUX: 1.1 SELinux là gì? SeLinux là các phiên bản Linux có gia cố thêm hệ thống bảo mật của Hệ điều hành. Nghĩa là nó vẫn là một phiên bản linux bình thƣờng nhƣ Redhat hay Fedora Core nhƣng có cài đặt thêm hệ thống Security Enhanced. SELinux xây dựng cơ chế ràng buộc (security enforcement) chặt chẽ hơn, thông qua hệ thống chính sách bảo mật (security policy) đƣợc định nghĩa dựa trên các khái niệm của các mô hình Access control nhƣ MAC, DAC, RBAC 1.2 Lịch sử hình thành SELinux: Năm 1973, hai ông David Bell và Leonard LaPadula đã trình bày ra một khái niệm về một hệ thống đa mức security, dựa vào các khái niệm này đến cuối thập niên 80, chính phủ Mỹ mới phát triển ra Trusted Computer System Evaluation Criteria (TCSEC). TCSEC định nghĩa ra 6 mức để phân cấp security cho hệ thống đó là C1, C2, B1, B2, B3, và A1. Trong đó các mức security C1 và C2 tƣơng ứng với cơ chế DAC, các mức từ B1 trở lên tƣơng ứng với cơ chế MAC hay cao hơn. Trong thập niên 90, các chuyên gia của Cục An ninh Quốc gia Mỹ (NSA) phối hợp với Secure Computing Corporation (công ty này hiện giờ đang phát triển loại firewall có sử dụng cơ chế MAC thƣờng đƣợc dùng cho các tổ chức quân sự và quốc phòng của Mỹ xây dựng nên một cơ chế dymanic security policies gọi là Flask đƣợc phát triển lên từ project Fluke. Sau đó NSA phối hợp với Network Associates và MITRE để đƣa cơ chế Flask vào trong Linux, và chính thức công bố SELinux vào tháng 12 năm 2000. Đến thời điểm hiện nay, SELinux đã đƣợc Redhat và SuSe đƣa vào trong các bản phân phối riêng của mình, ví dụ nhƣ Redhat Enterprise Linux 4.0 với SELinux đƣợc thực hiện theo cách riêng của Redhat gọi là "targeted" cấu hình sẵn cho các dịch vụ nhƣ Apache http, Bind Named DNS, Squid web caching services… Khi sử dụng cơ chế SELinux cho các dịch vụ Internet này thì hệ thống sẽ vô cùng an toàn, và vấn đề lo ngại về chiếm quyền kiểm soát toàn bộ hệ thống thông qua các security bugs của các public Internet services đã đƣợc loại trừ. 1.3 Một số cơ chế điều khiển truy cập trong SELinux: 1.3.1 Phương thức kiểm soát việc truy cập tài nguyên theo kiểu tùy quyền - Dicretionary Access Control (DAC) Điều khiển truy cập tùy quyền - DAC là một chính sách truy cập mà chủ nhân của tập tin hay ngƣời chủ của một tài nguyên nào đấy tự định đoạt. Chủ nhân của nó quyết định ai là ngƣời đƣợc phép truy cập tập tin và những đặc quyền (privilege) nào là những đặc quyền ngƣời đó đƣợc phép thi hành. Ví dụ nhƣ root có toàn quyền truy cập hệ thống và thâm nhập vào tất cả mọi tài nguyên của mọi users, theo cách thức này nếu một chƣơng trình hay process 2 nào đó chạy dƣới quyền root mà bị khai thác lỗi và bị đoạt quyền kiểm soát thì xem nhƣ toàn bộ tài nguyên hệ thống bị kiểm soát. Hai quan niệm quan trọng trong truy cập tùy quyền là: - Quyền sở hữu tập tin và dữ liệu (File and data ownership): Bất cứ một đối tƣợng nào trong một hệ thống cũng phải có một chủ nhân là ngƣời sở hữu nó. Chính sách truy cập các đối tƣợng là do chủ nhân tài nguyên quyết định - những tài nguyên bao gồm: các tập tin, các thƣ mục, dữ liệu, các tài nguyên của hệ thống Theo lý thuyết, đối tƣợng nào không có chủ sở hữu thì đối tƣợng đó bị bỏ lơ, không đƣợc bảo vệ. Thông thƣờng thì chủ nhân của tài nguyên chính là ngƣời đã kiến tạo nên tài nguyên (nhƣ tập tin hoặc thƣ mục). - Các quyền và phép truy cập: Đây là những quyền khống chế những thực thể tài nguyên mà chủ nhân của tài nguyên chỉ định cho mỗi một ngƣời hoặc mỗi một nhóm ngƣời dùng. Điều khiển truy cập tùy quyền có thể đƣợc áp dụng thông qua nhiều kỹ thuật khác nhau: + Danh sách điều khiển truy cập (Access control list - ACL) định danh các quyền và phép đƣợc chỉ định cho một chủ thể hoặc một đối tƣợng. Danh sách điều khiển truy cập cho ta một phƣơng pháp linh hoạt để áp dụng quy chế điều khiển truy cập tùy quyền. + Kiểm tra truy cập trên cơ sở vai trò (role-based access control) chỉ định tƣ cách nhóm thành viên dựa trên vai trò của tổ chức hoặc chức năng của các vai trò. Chiến lƣợc này giúp tối giảm việc điều hành quản lý quyền và phép truy cập. 1.3.2 Phương thức kiểm soát việc truy cập tài nguyên theo kiểu phân định quyền do hệ thống áp đặt - Mandatory Access Control (MAC): SELinux tăng cƣờng thêm cho cơ chế DAC với phƣơng sách kiểm soát việc truy cập tài nguyên do hệ thống áp đặt (MAC). Theo cách này mỗi process hay chƣơng trình đang chạy bị ép vào một khu vực giới hạn (domain) và sẽ không thể nào đi ra ngoài giới hạn đó đƣợc. Nhƣ vậy khi một process hay chƣơng trình bị khai thác lỗi và bị đoạt đƣợc quyền kiểm soát thì nó chỉ bị ảnh hƣởng trong giới hạn biệt lập đó thôi chứ toàn bộ hệ thống sẽ không bị ảnh hƣởng. Các đặc điểm cơ bản của MAC khi tăng cƣờng cho DAC nhƣ sau: - MAC phân định quyền truy cập tài nguyên ngay cả đến mức chƣơng trình hay process, so với DAC chỉ áp đặt quyền truy cập tài nguyên chỉ dựa vào quyền hạn chức năng của users. - Nếu MAC đã áp đặt vào một tài nguyên nào nó thì ngay cả chủ sở hữu (owner) của tài nguyên đó cũng không thể gạt bỏ nó đi đƣợc. Nhƣ vậy, nhờ cơ chế này nếu một chƣơng trình hay process nào đó chạy dƣới quyền root mà bị khai thác lỗi và bị đoạt quyền kiểm soát thì ngƣời tấn công chỉ kiểm soát đƣợc những gì mà MAC áp đặt cho khu vực giới hạn của chƣơng 3 trình hay process đó đang chạy mà không thể đụng chạm sang các khu vực khác đƣợc, giảm thiểu đƣợc tác hại lên toàn bộ hệ thống. Hai khái niệm quan trọng trong cơ chế MAC là: + Nhãn hiệu nhạy cảm (sensitivity label): Trong hệ thống dùng điểu khiển truy cập bắt buộc, hệ thống chỉ định một nhãn hiệu cho mỗi chủ thể (subject) và mỗi đối tƣợng (object) trong hệ thống. Nhãn hiệu nhạy cảm của một chủ thể xác định mức tin cẩn cần thiết để truy cập. + Xuất ngoại và nhập nội dữ liệu (Data import and export): Điều khiển việc nhập nội thông tin từ một hệ thống khác và xuất ngoại thông tin sang các hệ thống khác là một chức năng trọng yếu trong các hệ thống sử dụng điều khiển truy cập bắt buộc. Nhiệm vụ của việc xuất nhập thông tin là phải đảm bảo các nhãn hiệu nhạy cảm đƣợc giữ gìn một cách đúng đắn và nhiệm vụ này phải đƣợc thực hiện sao cho các thông tin nhạy cảm phải đƣợc bảo vệ trong bất kỳ tình huống nào. Có hai phƣơng pháp đƣợc dùng phổ biến để áp dụng nguyên tắc điều khiển truy cập bắt buộc: * Điều khiển truy cập dùng chính sách (role-based access control): Việc điều khiển thuộc loại này định nghĩa thêm những điều kiện cụ thể đối với việc truy cập một đối tƣợng mà chúng ta yêu cầu. Tất cả các hệ thống dùng điều khiển truy cập bắt buộc đều thực hiện một hình thức đã đƣợc đơn giản hóa của thể loại điều khiển truy cập dùng chính sách, nhằm quyết định cho phép hay từ chối yêu cầu truy cập, bằng cách đối chiếu nhãn hiệu nhạy cảm của chủ thể và đối tƣợng. * Điều khiển truy cập dùng bố trí mắt lƣới (lattice-based access control): Đây là phƣơng pháp ngƣời ta sử dụng đối với những quyết định phức tạp trong điều khiển truy cập với sự liên quan bội số các đối tƣợng và chủ thể. Mô hình mắt lƣới là một cấu trúc toán học, nó định nghĩa các giá trị cận dƣới lớn nhất (greatest lower-bound) và cận trên nhỏ nhất (least upper-bound) cho những cặp nguyên tố, chẳng hạn nhƣ cặp nguyên tố bao gồm một chủ thể và một đối tƣợng. 1.3.3 Phương thức kiểm soát việc truy cập tài nguyên trên cơ sở vai trò - Role-Based Access Control (RBAC) Trong an ninh đối với các hệ thống máy tính, điều khiển truy cập trên cơ sở vai trò là một trong số các phƣơng pháp điều khiển và đảm bảo quyền sử dụng cho ngƣời dùng. RBAC khác với hình thức MAC và DAC truyền thống. MAC và DAC trƣớc đây là hai mô hình duy nhất đƣợc phổ biến trong điều khiển truy cập. Nếu một hệ thống không dùng MAC thì ngƣời ta chỉ có thể cho rằng hệ thống đó dùng DAC, hoặc ngƣợc lại. Song cuộc nghiên cứu trong những năm 1990 đã chứng minh rằng RBAC không phải là MAC hoặc DAC. 4 Trong nội bộ một tổ chức, các vai trò (roles) đƣợc kiến tạo để đảm nhận các chức năng công việc khác nhau. Mỗi vai trò đƣợc gắn liền với một số quyền hạn cho phép nó thao tác một số hoạt động cụ thể ('permissions'). Vì ngƣời dùng không đƣợc cấp phép một cách trực tiếp, song chỉ tiếp thu đƣợc những quyền hạn thông qua vai trò của họ, việc quản lý quyền hạn của ngƣời dùng trở thành một việc đơn giản, và ngƣời ta chỉ cần chỉ định những vai trò thích hợp cho ngƣời dùng mà thôi. RBAC khác với các danh sách điều khiển truy cập (Access control list - ACL) đƣợc dùng trong hệ thống điều khiển truy cập tùy quyền (DAC), ở chỗ, nó chỉ định các quyền hạn tới từng hoạt động cụ thể với ý nghĩa trong cơ quan tổ chức, thay vì tới các đối tƣợng dữ liệu hạ tầng. Chẳng hạn, một danh sách điều khiển truy cập có thể đƣợc dùng để cho phép hoặc từ chối quyền truy cập viết một tập tin hệ thống (system file), song nó không nói cho ta biết phƣơng cách cụ thể để thay đổi tập tin đó. Việc chỉ định quyền hạn cho phép thi hành một thao tác nhất định là một việc làm đầy ý nghĩa, vì các thao tác đã đƣợc phân định tinh tế và mỗi cá nhân thao tác có một ý nghĩa riêng trong chƣơng trình ứng dụng. 1.4 Mô hình hoạt động của SELinux: Khi một chủ thể (chẳng hạn nhƣ một ứng dụng, tiến trình), thử truy cập vào một đối tƣợng (chẳng hạn nhƣ tập tin, thiết bị), máy chủ dùng để thi hành các chính sách (policy enforcement server) trong kernel sẽ kiểm tra access vector cache (AVC), là một bộ nhớ chứa những quyết định của SELinux trƣớc đó. Nếu một quyết định không thể tạo đƣợc cơ sở trên dữ liệu của AVC, yêu cầu sẽ tiếp tục gửi đến security server. Nó sẽ tìm kiếm ngữ cảnh bảo mật (security context) của chủ thể và đối tƣợng trong ma trận. Quyền truy cập sau đó sẽ đƣợc chấp nhận hoặc từ chối. Với AVC, nếu quyền truy cập bị từ chối thì nó sẽ đƣợc thông báo trong file /var/log/messages. Ngữ cảnh bảo mật của chủ thể và đối tƣợng đƣợc áp dụng từ việc cài đặt chính sách, nó cung cấp thông tin đƣa vào ma trận của security server. Nhƣ hình minh họa dƣới đây: 5 1.5 Lợi ích của việc sử dụng SeLinux: - Tất cả các tiến trình và file đƣợc gắn nhãn với một kiểu. Mỗi kiểu định nghĩa một tên miền cho các tiến trình, và một kiểu cho các file. Các tiến trình đƣợc tách riêng bằng cách chạy trên các tên miền của của mỗi tiến trình. Và các rule của Selinux policy định nghĩa cách các tiến trình tƣơng tác với file, cũng nhƣ cách thức các tiến trình tƣơng tác với nhau. Truy cập chỉ đƣợc cho phép nếu tồn tại một Selinux policy rule mà đặc biệt cho phép nó truy cập. - SELinux có thể đƣợc sử dụng để thực thi dữ liệu bảo mật và tính toàn vẹn, cũng nhƣ bảo vệ các quá trình từ đầu vào không đáng tin cậy. - Selinux nhƣ một thủ tục hành chính, đƣợc thi hành trên toàn bộ hệ thống và không đƣợc thiết lập theo ý ngƣời dùng. - Giảm bớt thiệt hại bởi các cuộc tấn công đặc quyền gây ra. VD: Khi những tiến trình chạy trong những tên miền, chúng đƣợc tách riêng ra. Và các rule của SeLinux policy quy định cách thức những tiến trình truy cập đến file và những tiến trình khác. Nếu một tiến trình bị tấn công, những kẻ tấn công chỉ có thể truy cập đến những chức năng bình thƣờng của tiến trình đó, và tới những file đã đƣợc cấu hình cho phép truy cập tới. 6 II- KIẾN TRÚC BẢO MẬT SELINUX: 2.1 Các ngữ cảnh bảo mật được áp dụng trong SeLinux. Việc kiểm soát truy cập tài nguyên trên các hệ điều hành đƣợc dựa vào một vài loại thuộc tính quản lý truy cập kết hợp với các đối tƣợng (file, socket, network host) và chủ thể (application, process). Tất các các đối tƣợng và chủ thể này đều có một ngữ cảnh bảo mật riêng kết hợp cùng. Một ngữ cảnh bảo mật (security context ) có ba thành phần chính: ngƣời dùng (user), vài trò (role) và một mã loại (type Identifier) và có định dạng format nhƣ sau: Các mã kiểu chuỗi nhận dạng giữa các thành phần đƣợc định nghĩa trong các phần chính sách (policy) của SELinux (và sẽ đƣợc thảo luận kĩ hơn ở phần sau). Bây giờ ta chỉ cần hiểu đơn giản rằng một security context đúng phải có một user, role và mã lọai phù hợp với các yêu cầu về chính sách bảo mật của Selinux. Thông thƣờng để hiện thị các ngữ cảnh bảo mật của các đối tƣợng và chủ thể trong Selinux, ta thƣờng thêm đuôi –Z vào phần các câu lệnh nhƣ: Ls –Z : hiển thị security context của các đối tƣợng file hệ thống Ps –Z : hiển thị security context của các tiến trình trong hệ thống Id –Z : hiển thị cho user, role và type của user hiện thời. 2.2 So sánh giữa Linux chuẩn và SeLinux. Để hiểu rõ hơn về SeLinux, ta sẽ làm một phép so sánh nhỏ của security context với Linux chuẩn. Trong Linux chuẩn, các thuộc tính quản lý truy cập của 1 chủ thể chính là user và group ID kết hợp với tất cả tiến trình thông qua cấu trúc tiến trình trong hệ thống. Các thuộc tính này đƣợc bảo vệ bởi hệ thống và chỉ đƣợc thay đổi thông qua các công cụ quản trị nhƣ tiến trình login và chƣơng trình setuid. Đối với các đối tƣợng nhƣ file, inode (index node là một khái niệm để lƣu thông tin cơ bản nhƣ file type, permission, Owner,… của đối tƣợng) chứa một tập các bit về chế độ truy cập, ID của group và file user. Ngƣời ta dùng tập kết hợp của 3 bit read/write/excute để quản lý quyền truy cập. system_u:object_r:passwd_exec_t:s0:c0.c2 - s2: c0.c1 user:role:type:sensitivity[:category,…][-sensitivity[:category,…]] 7 Trong SeLinux, các thuộc tính quản lý truy cập luôn luôn gồm 3 phần (user, role, type). Tất cả các đối tƣợng và chủ thể trong hệ điều hành đều có một ngữ cảnh truy cập kết hợp giữa 3 thành phần này. Trong khi bản Linux chuẩn dùng ID của tiến trình dành cho từng user, group; chế độ truy cập của file và các ID cho file để cấp quyền truy cập tài nguyên hay ko, bản SeLinux dùng các ngữ cảnh bảo mật của một tiến trình và các đối tƣợng để cấp quyền truy cập. Bảng so sánh quyền quản lý truy cập giữa Linux chuẩn và các thuộc tính đƣợc thêm vào trong SeLinux: Bản Linux chuẩn SeLinux thêm vào Các thuộc tính bảo mật của tiến trình Các user và group ID Ngữ cảnh bảo mật Các thuộc tính bảo mật cho đối tƣợng Chế độ truy cập và các ID của user và group trên file Ngữ cảnh bảo mật Các điểm căn bản cho quản lý truy cập Việc xử lý các ID của user/group và chế độ truy cập dựa vào ID của user/group trên file đó. Quyền đƣợc xem xét giữa kiểu tiến trình và kiểu file Trong SeLinux, mọi việc truy cập đều phải đƣợc cấp quyền một cách rõ ràng, không có cái niệm cho ―truy cập theo mặc định‖ không quan tâm tới user, group ID nào. Tức là trong SELinux không có khái niệm superuser nhƣ root trong Linux chuẩn. Việc truy cập đƣợc xác định nhờ thông tin của loại chủ thể (subject) và loại đối tƣợng đƣợc truy cập (object) bằng cách dùng quy tắc allow (cho phép). Một quy tắc allow gồm bốn thành phần: - Các loại nguồn truy cập (source types): Thông thƣờng là các loại tiến trình truy cập đến tài nguyên. - Loại đích đến (target types): Đối tƣợng đƣợc truy cập nhƣ file hoặc thƣ mục… - Các loại đối tƣợng (object classes): Lớp các đối tƣợng đƣợc cho phép truy cập. - Quyền (permissions): Quyền truy cập đƣợc phép đối với nguồn truy cập. Xét ví dụ sau: allow user_t bin_t : file {read execute getattr} Ví dụ trên cho thấy cú pháp cơ bản của 1 loại quy tắc allow. Quy tắc này có 2 định danh: đối tƣợng truy cập: user_t; tài nguyên đƣợc truy cập: bin_t. file là 8 tên của lớp đối tƣợng đƣợc thiết lập trong các chính sách bảo mật. Các quyền đƣợc cho phép ở trên đối với đối tƣợng truy cập là: read, execute và lấy thông tin thuộc tính đối với tài nguyên bin_t. Các quyền này đƣợc bao lại bằng các dấu ngoặc móc( {, }). Trong SeLinux, quyền hạn (permissions) về căn bản là tổng quan hơn so với bản Linux chuẩn nơi chỉ có bộ ba (rwx). Trong trƣờng hợp trên, quyền read và execute đã thể hiện đầy đủ qua tên, chỉ còn quyền getattr là hơi thiếu rõ ràng. Căn bản, quyền getattr chỉ cho phép xem các thuộc tính nhƣ ngày tháng, giờ và các chế độ quyền đặc trƣng khác. Hình vẽ sau thể hiện cho ví dụ ở trên: 9 III- KIẾN TRÚC NHÂN SELINUX SELinux cung cấp điều khiển truy cập nâng cao trên tất cả tài nguyên kenel. Trong dạng hiện thời của nó, SELinux lồng vào nhân thông qua LSM framework. 3.1 LSM Framework. Ý tƣởng phía sau LSM là cho phép những modules security tích hợp vào trong nhân để có thể tăng cƣờng bảo mật cho cơ chế DAC. LSM cung cấp một bộ các móc (hook). Những hook này thƣờng đƣợc đặt sau khi truy cập theo tiêu chuẩn Linux đã kiểm tra, nhƣng trƣớc khi tài nguyên thực sự đƣợc truy cập bởi kernel với tƣ cách là ngƣời gọi. Một sự phân nhánh của LSM đó là SELinux chỉ đƣợc khuyến khích kiểm tra nếu truy cập thành công theo Linux chuẩn. Trong thực tế, điều này không ảnh hƣởng tiêu cực trên chính sách điều khiển truy cập bởi vì sự điều khiển truy cập SELinux có thể hạn chế hơn chuẩn Linux DAC và không đè lên quyết định của DAC. Tuy nhiên, LSM có thể ảnh hƣởng đến dữ liệu kiểm soát đƣợc tập hợp bởi SELinux. Ví dụ, nếu bạn muốn dùng dữ liệu kiểm soát của SELinux để theo dõi [...]... LSM (SELinux LSM module) Kiến trúc nhân SELinux bao gồm 3 thành phần chính: Security server, object manager, và Access Vector Cache LSM tạo ra một sự khác biệt lớn giữa các chính sách bảo mật đƣa ra quyết định và chính sách thực thi các chức năng Đƣa ra những quyết định chính sách là việc của security server Tên security server phản ảnh gốc microkernel của SELinux, nơi mà vai trò quyết định chính sách... vai trò quyết định chính sách đƣợc gói gọn trong userspace server Trong Linux, security server cho đối tƣợng kernel đƣợc đặt trong module SELinux LSM Policy dùng cho security server đƣợc biểu hiện trong những quy định đƣợc nạp thông qua giao diện quản lý policy Những quy định này có thể khác nhau tùy theo hệ thống, làm sao cho SELinux có thể thích ứng cao với từng mục đích bảo mật của các tổ chức khác... SELinux sẽ không đƣợc tham khảo, vì vậy sẽ không thể kiểm soát đƣợc, nếu bảo mật Linux chuẩn từ chối LSM framework bao hàm toàn diện và những hook đƣợc rải rác khắp kernel Mỗi LSM hook phân bổ cho một hoặc nhiều quyền truy cập cho một hoặc nhiều lớp đối tƣợng Và việc tìm hiểu quyền truy cập đối tƣợng truy cập là phần lớn liên quan đến việc tìm hiểu những LSM hook 3.2 Đơn vị cấu thành SELinux LSM (SELinux... hành những quy định policy của security server cho những tài nguyên mà chúng quản lý Thành phần thứ ba của cấu trúc SELinux là access vector cache (AVC) AVC là nơi lƣu trữ những quyết định truy cập đƣợc tạo bởi security server cho 10 việc kiểm tra truy cập kế tiếp và nhƣ vậy cung cấp những cải tiến quan trọng cho việc phê chuẩn truy cập AVC còn cung cấp những giao tiếp SELinux cho LSM hook và từ đó quản... Tuy nhiên, SELinux không hoàn toàn thực hiện hủy bỏ truy nhập trên policy Trong chuẩn Linux, nếu bạn có một tập tin mô tả, bạn có thể sử dụng nó bất chấp sự thay đổi trong chế độ truy file 3.3 Userspace Object Managers Một trong những tính năng mạnh mẽ của kiến trúc SELinux là nó có thể đƣợc áp dụng cho tài nguyên của userspace và tài nguyên của kernel Ví dụ về các máy chủ userspace trong Linux có thể... chạy Linux Một số trạm kết nối vẫn có thể chạy trên Windows ngay cả sau khi chuyển đổi Hệ thống Linux sẽ chuyển các file và dịch vụ về clients chạy windows với Samba (dịch vụ chia sẻ) Samba cũng hỗ trợ ACLs và lúc đó quyền của ngƣời dùng có thể đƣợc cấu hình trên cả Linux và Windows bằng GUI winbindd còn có khả năng gán quyền cho user chỉ tồn tại trên Windows domain mà ko có account nào trên Linux. .. sử dụng các tập tin đƣợc yêu cầu Điều này minh họa là C-list có khả năng bảo mật thuận lợi hơn ACLs, với lý do này nên C-list đƣợc sử dụng nhiều 4.2 Multilevel Security Models Trong phần này chúng ta sẽ thảo luận về mô hình an ninh trong phần security multilevel Ở đây, chúng ta sẽ chỉ đề cập đến hai trong số các mô hình tốt nhất đƣợc biết đến và chúng ta chỉ trình bày một tổng quan về hai mô hình Mục... thƣ mục tại đó các user Linux truy cập vào, và chạy lệnh: wget http://localhost/demo1 Trừ khi các thay đổi so với cấu hình mặc định, lệnh trên sẽ fails: Ví dụ này cho thấy các sự an toàn đƣợc thêm vào bởi Selinux Các rules DAC cho phép tiến trình httpd truy cập vào file demo1 trong bƣớc 7, nhƣng bởi vì file đƣợc dán nhãn với các loại tiến trình httpd không có quyền truy cập Selinux từ chối truy cập... mật trong kernel cho userspace object manager và để tăng cƣờng khả năng bảo mật của SELinux, là một nỗ lực liên tục để xây dựng userspace hỗ trợ cho các các userspace object manager Dự án này có hai mục tiêu chính nhƣ sau: - Cung cấp hỗ trợ tốt hơn cho ngƣời user-space object manager bằng cách cung cấp một user-space security server ra quyết định truy cập cho từng thành phần user của policy - Cung cấp... hành một phần định mức kiểm soát truy cập tinh tế trên tài nguyên Tính năng này cung cấp riêng cho việc tăng cƣờng bảo mật quan trọng cho SELinux Với PMS, ta có thể cho phép truy cập vào các phần của các chính sách và giới hạn truy cập cho ngƣời khác Ví dụ, các SELinux policy có thể cho phép ngƣời sử dụng công cụ quản lý để thêm ngƣời sử dụng và thực hiện gán các role, nhƣng không đƣợc thay đổi kiểu . 1 I- TỔNG QUAN VỀ SELINUX: 1.1 SELinux là gì? SeLinux là các phiên bản Linux có gia cố thêm hệ thống bảo mật của Hệ điều hành. Nghĩa là nó vẫn là một phiên bản linux bình thƣờng nhƣ Redhat. nhƣng có cài đặt thêm hệ thống Security Enhanced. SELinux xây dựng cơ chế ràng buộc (security enforcement) chặt chẽ hơn, thông qua hệ thống chính sách bảo mật (security policy) đƣợc định nghĩa. là việc của security server. Tên security server phản ảnh gốc microkernel của SELinux, nơi mà vai trò quyết định chính sách đƣợc gói gọn trong userspace server. Trong Linux, security server