AN NINH, AN TOÀN của MẠNG máy TÍNH

0 314 0
AN NINH, AN TOÀN của MẠNG máy TÍNH

Đang tải... (xem toàn văn)

Thông tin tài liệu

Chơng trình KC-01: Nghiên cứu khoa học phát triển công nghệ thông tin truyền thông Đề tài KC-01-01: Nghiên cứu số vấn đề bảo mật an toàn thông tin cho mạng dùng giao thức liên mạng máy tính IP Báo cáo kết nghiên cứu AN ninh, an toàn mạng máy tính Quyển 5A: An ninh hệ điều hành họ Microsoft Windows, Sun Solaris Linux Hà NộI-2002 Báo cáo kết nghiên cứu AN ninh, an toàn mạng máy tính Quyển 5A: An ninh hệ điều hành họ Microsoft Windows, Sun Solaris Linux Chủ trì nhóm thực hiện: TS Nguyễn Nam Hải, ThS Đặng Hoà, TS Trần Duy Lai Mục lục Phần An ninh hệ điều hành họ Microsoft Windows Chơng Tổng quan Mô hình lập mạng môi trờng windows 1.1 Mô hình nhóm làm việc (workgroup model ) 1.2 Mô hình miền (Domain model) Khái quát an toàn, an ninh mạng làm việc môi trờng windows 2.1 Trong môi trờng windows 2.2 Giới thiệu hệ bảo mật Windows NT Những nội dung cần nghiên cứu Chơng Đăng nhập, sử dụng dịch vụ An toàn mật Thẩm định quyền Chơng Phân quyền th mục tệp Các hệ thống tệp đợc hệ điều hành Microsoft hỗ trợ Phân quyền th mục tệp 2.1 Giới thiệu chung 2.2 Chia sẻ th mục Chơng NTFS Giíi thiƯu chung Dïng chÕ ®é bảo mật NTFS 2.1 Một số khái niệm 2.2 Sư dơng permission NTFS 2.3 C¸c møc giÊy phÐp truy nhËp tƯp NTFS 2.4 C¸c møc giÊy phÐp truy nhËp th mục NTFS 2.5 So sánh permission cục mạng 2.6 Kết hợp permission chia sẻ permission NTFS M· ho¸ hƯ thèng tƯp (Encrypting File System - EFS) Phần An ninh hệ điều hành SUN SOlaris Chơng I- Giới thiệu đánh giá khả an toàn Solaris 1.1-An toàn: Vấn đề công ty toàn cầu 1.2-Solaris: Giải pháp an toàn 1.3-Mức 1: Điều khiển đăng nhập Solaris 1.4-Mức 2: Điều khiển truy nhập tài nguyên hệ thống 1.5-Mức 3: Các dịch vụ phân tán an toàn tảng phát triển 1.6-Mức 4: Điều khiển truy nhập tới mạng vật lý 1.7-Các chuẩn an toàn 1.8-Solaris- giải pháp lựa chọn môi trờng phân tán an toàn Chơng II -Quản lý hệ thống an toàn 2.1-Cho phÐp truy nhËp tíi hƯ thèng m¸y tÝnh 2.2-An toàn file 2.3- An toàn hệ thống 2.4-An toàn mạng Chơng III- Các tác vụ an toàn File 3.1-Các tính an toàn file 3.1.1-Các lớp ngời dùng 3.1.2-Các quyền file 3.1.3-Các quyền th mục 3.1.4-Các quyền file đặc biệt (setuid, setgid Sticky Bit) 3.1.5-Umask mặc định 3.2-Hiển thị thông tin file 3.2.1- Cách hiển thị thông tin file 3.3-Thay đổi quyền sở hữu file 3.3.1-Cách thay đổi file owner 3.3.2-Cách thay đổi quyền sở hữu nhóm file 3.4-Thay đổi quyền file 3.4.1-Thay đổi quyền theo kiểu trực tiếp nh 3.4.2-Thay đổi quyền đặc biệt theo kiểu tuyệt đối nh 3.4.3-Thay ®ỉi qun theo kiĨu ký hiƯu nh− thÕ nµo 3.5-KiĨm soát quyền đặc biệt 3.5.1-Tìm file có quyền setuid nh 3.6-Các stack khả thi an toàn 3.6.1-Làm để chơng trình không dùng stack khả thi 3.6.2-Làm để không ghi lại thông báo stack khả thi 3.7-Sử dụng danh sách điều khiển truy nhập (ACLs) 3.7.1-Các ACL entry file 3.7.2-Các ACL entry th mục 3.7.3-Cài đặt ACL file nh 3.7.4-Cách chép ACL 3.7.5-Cách kiểm tra file có ACL 3.7.6-Cách thay đổi ACL entry file 3.7.7-Cách xoá ACL entry khỏi file 3.7.8-Làm để hiển thị ACL entry file Chơng IV-Các tác vụ An toàn hệ thống 4.1-Cách hiển thị trạng thái đăng nhập ngời dùng 4.2-Cách hiển thị ngời dùng mật 4.3-Vô hiệu hoá tạm thời đăng nhập ngời dùng 4.4-Lu lại đăng nhập không thành công 4.5-Bảo vệ mật cách dùng mật quay số 4.6-Cách vô hiệu hoá tạm thời đăng nhập dial-up 4.7-Hạn chế truy nhập Superuser (root) thiệt bị điều khiển 4.8-Giám sát ngời dùng lệnh su 4.9-Cách hiển thị lần truy nhập superuser (root) tới thiết bị điều khiển Chơng V-Sử dụng dịch vụ xác thực 5.1-Tổng quan RPC an toàn 5.1.1-Các dịch vụ NFS RPC an toàn 5.1.2-Mã DES 5.1.3-Xác thực Diffie-Hellman 5.1.4-Kerberos version 5.2-Phân phối xác thực Diffie-Hellman 5.2.1-Cách khởi động Keyserver 5.2.2-Cách thiết lập nhãn quyền NIS+ xác thực Diffie-Hellman 5.2.3-Cách đặt nhãn quyền NIS cho xác thực Diffie-Hellman 5.2.4-Cách chia xẻ gắn file với xác thực Diffie-Hellman 5.3-Quản trị xác thực Kerberos version 5.3.1-Cách chia xẻ gắn file với xác thực Kerberos 5.3.2-Cách lấy thẻ Kerberos cho superuser client 5.3.3-Cách đăng nhập tới dịch vụ Kerberos 5.3.4-Cách liệt kê thẻ Kerberos 5.3.5-Cách truy nhập th mục với xác thực Kerberos 5.3.6-Cách huỷ thẻ Kerberos 5.4-Giới thiệu PAM 5.4.1-Những lợi ích việc dùng PAM 5.4.2-Các kiểu PAM module 5.4.3-Tính stacking 5.4.4-Tính ánh xạ mật 5.5-Chức tiện ích PAM 5.5.1-Th viện PAM 5.5.2-Các PAM module 5.5.3-File cấu hình PAM 5.6-Cấu hình PAM 5.6.1-Lập sơ đồ cho PAM 5.6.2-Cách bổ sung PAM module 5.6.3-Cách ngăn chặn truy nhập trái phép từ hệ thống từ xa PAM 5.6.4-Cách kích hoạt thông báo lỗi PAM Chơng VI-Sử dụng công cụ tăng cờng an toàn tự động 6.1-Công cụ tăng cờng an toàn tự động (ASET) 6.1.1-Các mức an toàn ASET 6.1.2-Các tác vơ ASET 6.1.3-Ghi nhËt ký thùc hiƯn ASET 6.1.4-C¸c b¸o cáo ASET 6.1.5-Các file ASET 6.1.6- File môi trờng ASET (asetenv) 6.1.7-Cấu hình ASET 6.1.8-Khôi phục file hệ thống ASET biến đổi 6.1.9-Điều hành mạng dùng hệ thống NFS 6.1.10-Các biến môi trờng 6.1.11-Các ví dụ file ASET 6.2-Chạy ASET 6.2.1-Cách chạy ASET trực tuyến 6.2.2-Cách chạy ASET định kỳ 6.2.3-Cách ngừng chạy ASET định kỳ 6.2.4-Cách tập hợp báo cáo server 6.3-Sửa chữa cố ASET Phần An ninh hệ điều hành LINUX Chơng Linux Security 1- Giới thiệu 1.1- Tại cần bảo mật 1.2- Bạn cố gắng bảo vệ gì? 1.3- Các phơng pháp để bảo vệ site bạn 2- Bảo vệ vật lý 2.1- Khóa máy tính 2.2- Bảo vệ BIOS 2.3- Bảo vệ trình nạp khởi động (Boot Loader) LILO 2.4- xlock and vlock 2.5- Ph¸t hiƯn sù tháa hiƯp an toàn vật lý 3-Bảo vệ cục 3.1-Tạo tài khoản 3.2- An toàn Root 4-An toàn file hƯ thèng file 4.1- ThiÕt lËp Umask 4.2- Qun cđa file 4.3- KiĨm tra tÝnh toµn vĐn cđa hƯ thèng file 5-An toµn mËt khÈu vµ sù m· hãa 5.1- PGP mật mã khóa công khai 5.2-SSL, S-HTTP, HTTP vµ S/MIME 5.3- øng dơng Linux IPSEC 5.4- ssh vµ stelnet 5.5 PAM - Pluggable Authetication Modules 5.6-Cryptographic IP Encapsulation (CIPE) 5.7- Kerberos 5.8-Shadow Passwords 5.9- “Crack” vµ “John the Ripper” 5.10-CFS-Cryptograpic File System vµ TCFS - Transparent Cryptographic File System 5.11- X11, SVGA bảo vệ hình 6-An toàn nhân 6.1-Các tùy chọn cấu hình nhân có liên quan tới an toàn 6.2-Các thiết bị nhân 7- An toàn mạng 7.1- Bộ lắng nghe gói (packet sniffer) 7.2-Các dịch vụ hệ thống tcp_wrappers 7.3-Kiểm tra thông tin DNS 7.4-identd 7.5- sendmail, qmail 7.6-Tấn công từ chối dịch vơ 7.7-An toµn NFS (Network File System) 7.8- NIS (Network Information Service) - Dịch vụ thông tin mạng 7.9- Firewalls 7.10- IP Chains - Linux Kernel 2.2.x Firewalling 7.11- VNPs - Virtual Private Networks 8-Các công việc chuẩn bị để bảo vệ hệ thống bạn chơng Login Xác thực ngời dùng 1-Đăng nhập - Login 1.1- Trình getty 1.2- Trình login 2- Tài khoản, quản lý tài khoản xác thực ngời dùng hệ thống 2.1- Tài khoản ngời dùng 2.2-Mật - phơng pháp mã hoá 2.3- Mật shadow 2.4- Cracklib cracklib_dict 3- PAM 3.1- PAM gì? 3.2- Tổng quan 3.3- Cấu hình cho Linux PAM 3.4- Các module khả dụng PHần I AN NINH CủA Hệ ĐIềU HàNH LINUX Ch−¬ng Linux Security 1- Giíi thiƯu Trong ch−¬ng đề cập đến vấn đề bảo mật chung, mà ngời quản trị hệ thống Linux phải đối mặt với Nó bao trùm triết lý phơng bảo mật chung, đồng thời đa số ví dụ cách thức bảo mật hệ thống bạn nhằm chống ngời xâm phạm hệ thống mà không đợc phép Ngoài có dẫn tới số tài liệu chơng trình có liên quan đến vấn đề bảo mật 1.1- Tại cần bảo mật Trong khung cảnh giới truyền thông liệu, kết nối Internet không đắt, phát triển phần mềm, bảo mật trở thành vấn đề quan trọng Hiện vấn đề bảo mật trở thành yêu cầu việc tính toán mạng hoàn toàn cha đợc bảo mật Ví dụ, liệu bạn truyền từ điểm A sang điểm B qua Internet đờng phải qua số điểm khác tuyến đó, điều cho phép ngời sử dụng khác có hội để chặn bắt, thay đổi Thậm trí ngời dùng hệ thống bạn biến đổi liệu bạn thành dạng khác mà bạn không mong muốn Sự truy nhập không đợc ủy quyền tới hệ thống bạn đợc thu kẻ xâm nhập trái phép (intruder) cracker, kẻ sử dụng kiến thức tiên tiến để giả dạng bạn, đánh cắp thông tin bạn từ chối truy nhập bạn tới nguồn tài nguyên bạn 1.2- Bạn cố gắng bảo vệ gì? Trớc bạn cố gắng thực bảo vệ hệ thống bạn, bạn phải xác định mức đe dọa mà bạn cần bảo vệ, rủi ro mà bạn nhận đợc, nguy hiểm mà hệ thống bạn phải chịu Bạn nên phân tích hệ thống bạn để biết bạn cần bảo vệ, bạn bảo vệ nó, giá trị nó, ngời chịu trách nhiệm liệu bạn Sự rủi ro (risk) cã thĨ ng−êi truy nhËp tr¸i phÐp thành công cố gắng truy nhập máy tính bạn Họ đọc ghi tệp, thực thi chơng trình gây thiệt hại không? Họ xóa liệu không? Họ cản trở bạn công ty bạn làm số việc quan trọng không? Đừng quên: ngời truy nhập vào tài khoản bạn, hệ thống bạn, giả dạng bạn Hơn nữa, có tài khoản không an toàn hệ thống bạn gây nên toàn mạng bạn bị thỏa hiệp Nếu bạn cho phép ngời dùng đăng nhập sử dụng tệp rhosts, sử dụng dịnh vụ không an toàn nh tftp, nh bạn tạo cho ngời truy nhập trái phép bớc chân vào cách cửa hệ thống bạn Ngời truy nhập trái phép có tài khoản ngời dùng hệ thống bạn hệ thống ngời khác, đợc sử dụng để truy nhập tới hệ thống khác tài khoản khác Đe dọa (threat) điển hình với động để đạt đợc truy nhập không đợc ủy quyền tới mạng máy tính bạn Bạn phải xác định mà bạn tin t−ëng cã qun truy nhËp tíi hƯ thèng cđa bạn, mối đe dọa mà xảy Có vài dạng xâm nhập trái phép, bạn nên nhớ đặc tính khác chúng bạn bảo vệ hệ thống bạn Tò mò (curious) - kiểu intruder thích tìm kiểu hệ thống liệu mà bạn có Độc ác (malicious) - kiểu intruder xóa trang web bạn bắt bạn phải nhiêù thời gian, tiền bạc để khôi phục lại liệu bị gây thiệt hại 1.3- Các phơng pháp để bảo vệ site bạn Trong chơng thảo luận phơng pháp khác để bạn bảo vệ liệu, tài nguyên mà bạn vất vả để có: máy móc, liệu, ngời dùng, mạng An toàn máy chủ Có lẽ vùng đợc bảo vệ mà ngời quản trị hệ thống tập trung vào bảo vệ máy chủ Điển hình bảo đảm chắn hệ thống bạn an toàn hy vọng ngời khác mạng bạn hành động nh Chọn mật tốt, bảo vệ dịch vụ mạng cục máy chủ, giữ ghi tài khoản, nâng cấp chơng trình nói chung công việc mà ngời quản trị phải làm Mặc dù điều cần thiết song làm bạn nản lòng mạng bạn trở nên lớn vài máy An toàn mạng cục An toàn mạng cần thiết nh an toàn máy chủ cục Với hàng trăm, hàng nghìn trí nhiều máy tính mạng bạn tin cậy vào máy tính hệ thống máy tính an toàn Đảm bảo ngời sử dụng đợc ủy quyền sử dụng mạng bạn, xây dựng firewalls, sử dụng mật mã mạnh đảm bảo máy không tin cậy có hệ thống bạn Trong tài liệu thảo luận vài kỹ thuật đợc sử dụng để bảo vệ site bạn, hy vọng cho bạn vài cách để ngăn chặn kẻ xâm nhập trái phép truy nhập tới mà bạn bảo vệ Bảo vệ thông qua đợc ý đến (obscurity) Một ví dụ kiểu bảo vệ chuyển dịch vụ mà đợc biết dễ bị nguy hiểm tới cổng không chuẩn với hy vọng cracker không ý đến chúng không bị khai thác Kiểu bảo vệ an toàn 2- Bảo vệ vật lý Tầng để bảo vệ bảo vệ vật lý hệ thống máy tính bạn Khi ngời khác truy nhập trực tiếp vào hệ thống máy móc bạn bạn bảo vệ đợc máy Mức độ bảo vệ vật lý mà bạn cần áp dụng phụ thuộc vào tình trạng ngân sách bạn Nếu bạn ngời sử dụng bình thờng (home user), bạn không cần quan tâm nhiều vấn đề Nếu bạn tổ chức đó, bạn cần phải để tâm nhiều hơn, nhng ngời dùng phải làm việc đợc máy Các mục dới giúp bạn giải vấn đề này, bạn có không cần thiết bảo mật máy tính bạn bạn mặt 2.1- Khóa máy tính Một số vỏ máy (case) PC loại có đặc tính khóa "locking" Thông thờng socket mặt trớc vỏ máy, cho phép để trạng thái khóa mở Việc khóa máy tính giúp cho ngăn chặn đợc ăn trộm máy tính bạn mở case trực tiếp lấy trộm phần cứng bạn Đôi điều hạn chế đợc khởi động lại máy tính bạn từ đĩa mềm từ ổ đĩa cứng khác Các khóa máy tính khác tùy theo hỗ trợ mạch chủ (motherboard) cách thiết kế case Trên số máy tính thực theo cách bắt bạn phải phá case để mở case Một số máy tính khác, chúng không cho phép bạn cắm bàn phím chuột Hãy kiểm tra dẫn mạch chủ case để lấy thêm thông tin Điều thuận lợi, trí với khóa chất lợng thấp dễ dàng đánh bại kẻ công cách bẻ khóa Một số máy (hầu hết SPARCs macs) có dongle phía đằng sau, bạn đa cáp qua đó, kẻ công phải cắt bổ case để thâm nhập vào ®ã H·y ®−a padlock hc combo lock qua nã, ®ã yếu tố làm nản lòng kẻ muốn ăn trộm máy bạn 2.2- Bảo vệ BIOS BIOS mức thấp phần mềm mà để cấu hình thao tác phần cứng dựa x86 LILO phơng pháp khởi động khác Linux truy nhập tới BIOS để xác định cách khởi động máy bạn Các phần cứng khác mà Linux chạy có phần mềm tơng tự (OpenFirmware máy Macs máy Suns mới, Sun boot PROM, ) Bạn sử dụng BIOS để ngăn chặn kẻ công khởi động lại máy tính bạn thao tác với hệ thống Linux bạn Nhiều BIOS máy tính cho phép bạn thiết lập mật khởi động Điều nghĩa cung cấp đầy ®đ vÊn ®Ị b¶o mËt (BIOS cã thĨ thiÕt lËp lại xóa ngời mở đợc máy tính bạn), nhng ngăn cản tốt (ví dụ nh thời gian để lại dấu vết lục lọi) Tơng tự, hệ thống S/Linux (Linux cho c¸c m¸y cã bé sư lý SPARC(tm)), EFPROM cã thể đợc thiết lập để yêu cầu mật khởi động Điều làm kẻ công thời gian Một số x86 BIOS cho phép bạn xác định cách thiết lập bảo mật khác Kiểm tra BIOS manual nhìn lần bạn khởi động hệ thèng VÝ dơ, mét sè BIOS kh«ng cho phÐp khëi động từ ổ đĩa mềm số yêu cầu mật để truy nhập đặc tính BIOS Chú ý: Nếu bạn có máy server bạn thiết lập mật khởi động máy bạn khởi động đợc nh mật khởi động Do bạn phải nhớ mật 2.3- Bảo vệ trình nạp khởi động (Boot Loader) LILO Có nhiều cách khởi động Linux khác nhau, trình nạp khởi động Linux ®−ỵc thiÕt lËp mËt khÈu khëi ®éng LILO ®−ỵc sư dụng để khởi động Linux, quản lý tiến trình khởi động khởi động ảnh nhân Linux từ đĩa mềm, đĩa cứng khởi động hệ điều hành khác LILO quan trọng cho hệ thống Linux ta phải bảo vệ File cấu hình LILO file lilo.conf, file nµy ë th− mơc /etc Víi file nµy ta cấu hình cải thiện vấn đề an toàn chơng trình hệ thống Linux Ba tùy chọn quan trọng sau cải thiện vấn đề bảo vệ chơng trình LILO Tùy chọn timeout= Tùy chọn điều khiển LILO đợi (tính giây) cho ngời dùng lựa chọn hệ điều hành trớc khởi động mặc định Một yêu cầu an toàn C2 thiết lập khoảng thời gian trừ hệ thống khởi động kép Tùy chọn restriced Tùy chọn restricted đợc sử dụng với tùy chọn password Đảm bảo chắn bạn sử dụng tùy chọn cho image Tùy chọn password= Tùy chọn yêu cầu ngời sử dụng vào mật cố gắng nạp hệ thống Linux chế độ đơn (single mode) Mật luôn thứ nhạy cảm, cần đảm bảo file /etc/lilo.conf cho không đợc phép ghi đại trà, không ngời dùng đọc đợc mật Các bớc để bảo vệ LILO với file cấu hình lilo.conf: Bớc 1:Sửa đổi lại file cấu hình lilo.conf thêm vào tùy chọn Ví dụ boot=/dev/sda map=/boot/map install=/boot/boot.b prompt timeout=00 Default=linux restricted password=lucpv image=/boot/vmlinuz-2.2.12-20 label=linux initrd=/boot/initrd-2.2.12-10.img root=/dev/sda6 read-only B−íc 2: Bëi v× file cÊu hình /etc/lilo chứa mật không đợc mã hóa, file nên đọc siêu ngời dùng (root) Thay đổi quyền truy nhập file sư dơng lƯnh sau: [root@deep /]# chmod 600 /etc/lilo.conf B−íc 3: Cập nhật file cấu hình để có ¶nh h−ëng Ta sư dơng lƯnh sau: [root@deep /]# /sbin/lilo –v B−íc 4: ThiÕt lËp thc tÝnh cđa file nµy sư dơng lƯnh sau: [root@deep /]# chattr +i /etc/lilo.conf B¹n phải nhớ tất mật mà bạn thiết lập Bạn nên nhớ mật đơn bảo vệ số kẻ công, chúng không ngăn chặn đợc có ngời khởi động từ đĩa mềm, kết gắn phân vùng gốc bạn Nếu bạn sử dụng bảo mật kết hợp với boot loader bạn không cho phép khởi động đĩa mềm BIOS, thiÕt lËp mËt khÈu b¶o vƯ BIOS 2.4- xlock and vlock Bạn khóa console bạn để ngăn chặn lục lọi nhìn xem bạn làm Có chơng trình làm việc nàylà: xlock vlock xlock xlock chơng trình khóa hiển thị X (X display locker) Nó đợc gộp vào phân phối Linux Xem trang man để có thêm thông tin Thông thờng bạn chạy xlock từ xterm console bạn, khóa hiển thị yêu cầu mật để mở khóa vlock Là chơng trình nhỏ cho phép bạn khóa số tất console ảo Linux box Bạn khóa console mà bạn làm việc tất Nếu bạn khóa console, console khác vào sử dụng console này, chúng sử dụng console bạn đến bạn mở khóa Tất nhiên khóa console bạn ngăn chặn số ngời tò mò lục lọi công việc bạn, nhng không ngăn chặn đợc việc họ khởi động lại máy bạn phá vỡ công việc bạn Nó ngăn chặn đợc họ truy nhập vào máy bạn từ máy khác mạng nảy sinh vấn đề khác 2.5- Phát thỏa hiệp an toàn vật lý Vấn đề luôn cần ý máy tính bạn khởi động lại Bởi Linux hệ điều hành mạnh ổn định, máy bạn nên đợc khởi động lại bạn cần nâng cấp hệ điều hành, lắp đặt, thay phần cứng Nếu máy bạn đợc khởi động lại mà bạn không thực vấn đề dấu hiệu mà kẻ công thỏa hiệp hệ thống bạn Có nhiều cách để hệ thống bạn bị thỏa hiệp phụ thuộc vào kẻ công khởi động lại tắt máy tính bạn Kiểm tra dấu hiệu lục lọi vỏ máy vùng lân cận máy tính Mặc dù nhiều kẻ công xóa dấu vết để lại nhật ký hệ thống, song ta nên kiểm tra tất ý đến khác thờng Deamon sys đợc cấu hình để tự động gửi liƯu nhËt ký tíi mét server syslog trung t©m, nh−ng liệu trình gửi không đợc mã hóa cho phép kẻ công xem liệu đợc truyền Điều tiết lộ thông tin mạng bạn mà thông tin bạn không muốn công khai Có vài deamon có sẵn để mã hóa liệu đợc truyền Một vài công việc kiểm tra nhật ký bạn: Các nhật ký không đầy đủ ngắn Các nhật ký chứa timestamps lạ Nhật ký với quyền truy nhập thành viên sở hữu không Bản ghi khởi động bắt đầu dịch vụ Các nhật ký bị Các su đăng nhập từ địa điểm lạ 3-Bảo vệ cục Điều quan tâm vấn đề bảo mật hệ thống bạn chống lại công ngời dùng cục (local users) Lấy quyền truy nhập tài khoản ngời dùng cục việc mà kẻ công hệ thống thực để khai thác tài khoản ngời dùng root Với bảo mật lỏng lẻo, họ nâng cấp quyền truy nhập thông th−êng cđa hä ngang víi qun truy nhËp cđa ng−êi dùng root cách sử dụng lỗi khác dịch vụ cục đợc thiết lập tồi Nếu bạn chắn việc bảo mật cục bạn tốt, hàng rào ngăn cản kẻ công Ngời dùng cục gây nhiều tàn phá hệ thống bạn, đặc biệt họ biết ngời mà họ tìm hiểu Cung cấp tài khoản cho ngời dùng mà bạn cho ngời không liên lạc thông tin với bạn điều chấp nhận đợc 3.1-Tạo tài khoản Bạn nên chắn bạn cung cấp tài khoản ngời dùng với yêu cầu tối thiểu cho tác vụ mà họ cần để làm việc Giả sử, bạn cung cấp cho trai bạn (10 tuổi) với tài khoản, bạn chØ cho qun truy nhËp bé sư lý word vµ chơng trình vẽ, nhng không đợc xóa liệu bạn tạo Một số quy t¾c cho phÐp qun truy nhËp ng−êi dïng máy Linux bạn: Cho họ số lợng đặc quyền tối thiểu mà họ cần thiết Phải biết họ đăng nhập hệ thống đâu Bạn phải chắn xóa tài khoản không giá trị Nên sử dụng userid (số hiệu ngời sử dụng) máy tính mạng để giảm công việc bảo trì tài khoản cho phép dễ dàng phân tích liệu nhật ký Việc tạo số hiệu nhóm ngời dùng tuyệt đối cấm Bởi tài khoản ngời dùng có tính thống kê đợc (accountability), tài khoản nhóm không 3.2- An toàn Root Một tài khoản có đầy đủ đặc quyền máy bạn tài khoản ngời dùng root (superuser) Tài khoản có quyền toàn máy, có quyền máy khác hệ thống mạng Lu ý rằng, bạn sử dụng tài khoản ngời dùng root thời gian ngắn, với tác vụ định, nên chạy hầu hết với ngời dùng bình thờng Thậm trí với lỗi nhỏ đăng nhập với ngời dùng root gây nhiều vấn đề Đó lý bạn nên dùng đặc quyền root thời gian ngắn, hệ thống đợc an toàn Những điều cần tránh đăng nhập với t cách siêu ngời dùng: Khi thực với câu lệnh phức tạp, thử chạy trớc để không phá hủy hệ thống Đặc biệt câu lệnh mang tính chất hủy bỏ Ví dụ, bạn muốn thực câu lệnh rm foo*.bak, bạn nên thực lệnh ls foo*.bak chắn bạn xóa file mà bạn muốn Cung cấp cho ngời dùng thông báo sử dụng lệnh rm để hỏi trớc thực xóa Bạn nên làm việc với tài khoản ngời dùng thông thờng, làm việc với t cách siêu ngời dùng với tác vụ đặc biệt, sau phải trở tài khoản ngời dùng bình thờng Đờng dẫn lệnh cho ngời dùng root vấn đề quan trọng, (thể qua biến môi trờng PATH) Nó th mục mà shell tìm kiếm chơng trình để thực Cố gắng hạn chế đờng dẫn lệnh cho ng−êi sư dơng root nhiỊu nh− cã thĨ H¬n nữa, không để th mục đợc ghi đờng dẫn tìm kiếm bạn, điều xảy cho phép kẻ công thay đổi di chuyển file nhị phân đờng dẫn tìm kiếm bạn, cho phép chúng chạy nh root lần tới bạn chạy lệnh Không nên sử dụng dịch vụ từ xa (công cụ rlogin, rsh, rexec) đăng nhập với t cách root Đừng tạo tệp rhosts cho root File /etc/securetty chứa danh sách đầu cuối (terminals) mà root đăng nhập từ Red Hat Linux ngầm định thiết lập cho console ảo cục (vtys) Bạn nên thận trọng thêm khác tệp Bạn nên đăng nhập từ xa tài khoản ngời dùng bình thờng sau su (switch user) vào ngời dùng root bạn muốn (hy vọng qua ssh kênh khác đợc mã hóa), không cần thiết bạn phải đăng nhập trực tiếp vào ngời dùng root Bạn nên t cách root thời gian ngắn với tác vụ đặc biệt Bởi hoạt động bạn gây rÊt nhiỊu kÕt qu¶ H·y nghÜ kü thùc thi mét lƯnh 4-An toµn file vµ hƯ thèng file Mét vài phút chuẩn bị lập kế hoạch trớc đa hệ thống bạn vào chế độ trực tuyến (online) giúp bạn bảo vệ hệ thống file liệu chứa Không có lý cho phép th mục home ngời dùng đợc phép chạy chơng trình SUID/SGID ®ã Sư dơng tïy chän ‘nosuid’ tƯp /etc/fstab cho phân vùng đợc ghi ngời dùng khác root Bạn sử dụng tùy chọn nodev noexec phân vùng th mục home ngời dùng, cấm thực thi chơng trình, tạo thiết bị khối thiết bị kí tự Nếu bạn export hệ thống file sử dụng NFS, phải chắn cấu hình tệp /etc/exports với hầu hết hạn chế quyền truy nhập Điều có nghĩa không sử dụng kí tù thay thÕ (wildcards), kh«ng cho phÐp root truy nhËp ghi, đọc Ví dụ: /home/tiendq 192.168.2.220(no_root_squash) Cấu hình hệ thống file umask để hạn chế quyền (Trình bày sau) Nếu bạn kÕt g¾n kÕt hƯ thèng file sư dơng hƯ thèng file mạng NFS, phải chắn cấu hình tệp /etc/exports với hạn chế phù hợp Đặc biệt, sử dụng tùy chọn `nodev', `nosuid', `noexec' (Xem NFS-howto) Thiết lập giới hạn hệ thống file (mặc định không có) Bạn điều khiển giới hạn tài nguyên cho ngời dùng, sử dụng PAM module /etc/pam.d/ limits.conf VÝ dơ, giíi h¹n cho nhãm ng−êi dïng nh− sau: @users hard core @users hard nproc 50 @users hard rss 5000 Giải thích: Cấm không đợc tạo file core, giới hạn số tiến trình 50, giới hạn không gian nhớ cho ngời dùng 5M Các file /var/log/wtmp /var/run/utmp chứa ghi đăng nhập tất ngời dùng hệ thống Phải trì tính toàn vẹn chúng chúng đợc sử dụng để xác định từ đâu ngời dùng vào hệ thống bạn Các file có quyền 644 (không ảnh hởng tới hệ điều hành bình thờng) Những bit biến đổi (immutable bit) đợc sử dụng để ngăn chặn hiểm họa xóa ghi đè file mà file cần đợc bảo vệ Nó ngăn chặn ngời tạo liên kết biểu tợng (symbolic link) tới tệp (symbolic link trở thành nguồn gốc công thực xóa tệp /etc/passwd /etc/shadow) Xem chattr(1) man page để thêm thông tin bit không biến đổi Các file SUID SGID hệ thống rủi ro an toàn tiềm ẩn, chúng nên đợc giám sát cẩn thận Bởi chơng trình gán đặc quyền cho ngời dùng mà thực thi chúng, cần phải bảo đảm chơng trình không an toàn không đợc cài đặt Một cách công a dùng cracker khai thác chơng trình SUID root, sau để chơng trình SUID nh cửa sau (backdoor) để vào lần Tìm tất chơng trình SUID/SGID hệ thống bạn giữ dấu vết mà chúng làm, bạn phải biết đợc thay đổi mà kẻ công tiềm ẩn Sử dụng câu lệnh dới để tìm tất chơng trình SUID/SGID hệ thống cđa b¹n: root# find / -type f -perm -04000 -o -perm -02000 Bạn xóa quyền SUID SGID chơng trình khả nghi lệnh chmod, sau khôi phục lại thay đổi bạn cảm thấy cần thiết Các file world-writable (file ghi đại trà), đặc biệt file hệ thống lỗ hổng an ninh cracker dành đợc quyền truy nhập vào hệ thống bạn sửa đổi chúng Hơn nữa, th mục worldwritable nguy hiểm, chúng cho phép cracker thêm xóa tệp mà muốn Để tất tệp world-writable hệ thống bạn sử dụng lệnh sau: root# find / -perm -2 ! -type l -ls vµ chắn bạn biết tệp ghi đợc Thông thờng, số tệp world-writable, bao gåm c¸c tƯp th− mơc /dev, c¸c liên kết tợng trng, tùy chọn ! -type l không hiển thị file dạng câu lệnh find trớc Các file không đợc sở hữu để kẻ truy nhập trái phép truy nhập vào hệ thống bạn Bạn nên file mà không thuộc sở hữu hệ thống bạn, không thuộc nhóm với lệnh: root# find / -nouser -o -nogroup -print 10 Tìm file rhosts phần nhiệm vụ quản trị hệ thống, file không nên đợc cấp quyền hệ thống bạn Nhớ rằng, cracker cần tài khoản không an toàn để đạt đợc truy nhập tới toàn mạng Bạn cần tất file rhosts hệ thống b»ng lƯnh sau: root# find /home -name rhosts -print • Cuối cùng, trớc thay đổi quyền file nào, cần đảm bảo chắn bạn hiểu bạn làm Đừng thay đổi quyền file cách dễ để có thứ Luôn xác định file lại có quyền trớc thay ®ỉi nã 4.1- ThiÕt lËp Umask LƯnh umask đợc sử dụng để xác định mặc định chế độ (quyền) file đợc tạo hệ thống Chế độ phần bù số chế độ file mong muốn Nếu file đợc tạo mà để ý tới việc thiết lËp qun truy nhËp, th× ng−êi dïng cã thĨ t×nh cờ cho quyền read write mà ngời không nên có quyền Việc thiết lập umask điển hình 022, 027 077 (việc thiết lập hạn chế hầu hết quyền truy nhập) Bình thờng umask đợc thiết lập /etc/profile, áp dụng tới tất ngời dùng hệ thống mask file đợc tạo đợc tính toán cách lấy 777 trừ giá trị mong muốn Nãi c¸ch kh¸c, mét umask cđa 777 sÏ khiÕn c¸c file đợc tạo quyền (không read, không write, không execute) Một umask 666 khiến file đợc tạo míi cã mét mask lµ 111 VÝ dơ: # Set the user’s default umask umask 033 Trong vÝ dơ nµy, th mục đợc tạo có quyền truy nhập 744 (giá trị thu đợc cách lấy 777 trừ 033), file đợc tạo sÏ cã qun lµ 644 4.2- Qun cđa file Unix Linux tách biệt điều khiển truy nhập file th mục theo đặc tính: ngời sở hữu (owner), nhóm (group) ngời khác (other) Giải thích nhanh quyền file th mục Linux: Qun truy nhËp cđa file vµ th− mơc lµ mét tập hợp bit đợc thiết lập xóa bỏ phép kiểu truy nhập định tới file th mục Quyền th− mơc cã thĨ cã nghÜa kh¸c víi qun cïng quyền truy nhập file Trên file th mục có kiểu cho phép truy nhập khác là: Read: Cho phép xem nội dung file Cho phép đọc th mục Write: Cho phép thêm thay đổi file 11 Cho phép xóa di chuyển file th mục Execute: Cho phép chạy chơng trình nhị phân shell script Cho phép tìm kiÕm mét th− mơc (kÕt hỵp víi qun read) Ngoài đặc tính có số thuộc tính khác file th mục để thiÕt lËp sù cho phÐp cđa file vµ th− mơc ®ã lµ: Thc tÝnh Save Text (®èi víi th− mơc): “Bit sticky” cã mét mét nghÜa kh¸c ¸p dơng tới th mục áp dụng tới file Nếu bit sticky đợc thiết lập th mục ngời sử dụng xóa file mà sở hữu đợc gán quyền write file Điều đợc áp dụng th mục nh /tmp, th mục đợc ghi đại trà (world-writable) nhng ®ã nã kh«ng mong muèn cho phÐp bÊt kú ng−êi dùng xóa file Thuộc tính SUID (đối với file): Thuộc tính mô tả việc thiÕt lËp qun theo sè hiƯu ng−êi dïng (set-userid) trªn file ®ã Khi chÕ ®é truy nhËp theo sè hiƯu (ID) ngời dùng đợc thiết lập nhóm quyền owner file file thực thi tiến trình mà chạy đợc gán quyền truy nhập tới nguồn tài nguyên hệ thống dựa ngời dùng mà sở hữu file Việc thiết lập cho phép theo kiểu nguyên nhân nhiều khai thác tràn đệm (buffer overflow) Thc tÝnh SGID (®èi víi file): NÕu thiÕt lËp quyền nhóm (group), bit điều khiển thiết lập theo số hiệu (id) nhóm trạng thái file Việc thiết lập cách tơng tự nh SUID, ngoại trừ nhóm đợc ảnh hởng File mà đợc thiết lập theo thuộc tính phải file thực thi để có ảnh hởng Thuộc tính SGID (đối với th mục): Nếu bạn thiết lập bit SGID th mục (với lệnh chmod g+s) file đợc tạo th mục có nhóm thuộc nhãm cđa th− mơc nµy 4.3- KiĨm tra tÝnh toµn vẹn hệ thống file Cách khác để tìm công cục hệ thống chạy chơng trình kiểm tra tính toàn vẹn nh Tripwire, Aide Osiris Các chơng trình kiểm tra tính toàn vẹn chạy số tổng kiểm tra tất file nhị phân file cấu hình so sánh chúng với sở liệu Bởi thay đổi file đợc đặt cờ Quả ý tởng tốt để cài đặt phần chơng trình vào đĩa mềm thiết lập chốt chống ghi đĩa mềm Với điều kẻ xâm 12 nhập trái phép lục lọi chơng trình kiểm tra tính toàn vẹn thay đổi sở liệu Bạn thêm mục crontab để chạy chơng trình từ đĩa mềm bạn vào tối bạn có kết sáng hôm sau nh: #set mailto mailto=kevin #run Tripwire 15 05 * * * root /usr/local/adm/tcheck/tripwire Các chơng trình kiểm tra tính toàn vẹn để xác định kẻ xâm nhập trái phép trớc bạn để ý đến chúng Bởi nhiều file thay đổi hệ thống, bạn phải cẩn thận với mà cracker hành động mà bạn làm 5-An toàn mật mã hóa Một hầu hết đặc điểm bảo mật đợc sử dụng ngày mật Thật quan trọng cho bạn tất ngời sử dụng để có mật an toàn, dự đoán Đa số phân phối Linux gần có chơng trình passwd để không cho phép bạn thiết lập mật dễ dàng dự đoán Đảm bảo chắn chơng trình passwd đợc cập nhật có đặc điểm Thảo luận kỹ mã hóa vợt qúa phạm vi tài liệu này, nhằm mục đính giới thiệu Ngày mã hóa hữu ích cần thiết Các phơng pháp mã hóa đa dạng phơng pháp có đặc tính riêng Đa số hệ Unix (và Linux) sử dụng giải thuật mã hóa chiều gọi DES (Data Encryption Standard) để mã hóa mật bạn Những mật đợc mã hóa đợc chứa file /etc/passwd /etc/shadow Khi bạn đăng nhập mật mà bạn gõ vào đợc mã hóa đợc so sánh với mục file mà chứa mật bạn Nếu giống bạn đợc phép truy nhập vào hệ thống Mặc dù DES giải thuật mã hóa hai chiều (bạn mã giải mã thông báo với khóa cho), biến thể mà hầu hết Unix sử dụng giải thuật mã hóa chiều Điều có nghĩa khôi phục lại mã hóa để có lại mËt khÈu tõ néi dung cđa file /etc/passwd (hc /etc/shadow) Các công Brute force nh Crack John the Ripper thờng dự đoán mật trừ mật bạn đủ ngẫu nhiên Modules PAM (xem sau) cho phép bạn sử dụng chơng trình mã hóa khác cho mật bạn (MD5) Chạy Crack định kỳ sở liệu bạn để tìm mật không an toàn thông báo với ngời dùng có mật không an toàn để thay đổi 5.1- PGP mật mã khãa c«ng khai 13 MËt m· khãa c«ng khai sư dụng khóa để mã hóa khóa để giải mã Tuy nhiên mật mã cổ điển sử dụng khóa để mã hóa giải mã Các khóa phải biết hai nơi, vấn đề để truyền khóa từ nơi đến nơi khác đợc an toàn Để giảm công việc truyền khóa mã hóa an toàn, khóa công khai sử dụng hai khóa riêng biệt: khóa công khai khóa bí mật Khóa công khai ngời có để mã hóa, ngời giữ khóa bí mật riêng để giải mã thông báo PGP (Pretty Good Privacy) hỗ trợ tiếng Linux Phiên 2.6.2 5.0 đợc biết làm việc tốt Các số nguyên tố (primer) tốt PGP nh để sử dụng bạn xem PGP FAQ: http://www.rsa.com/service/export/faq/55faq.cgi Hãy chắn phiên mà đợc áp dụng vào đất nớc b¹n Do lt h¹n chÕ xt khÈu cđa chÝnh phđ Mỹ, mật mã mạnh bị ngăn cấm đa đất nớc Việc điều khiển xuất Mỹ đợc quản lý EAR, trớc chúng đợc quản lý ITAR 5.2-SSL, S-HTTP, HTTP S/MIME Thờng ngời dùng thắc mắc khác an toàn giao thức mã hóa, nh để sử dụng Trong mục giải thích ngắn gọn giao thức nơi tìm thấy thông tin SLL - Secure Sockets Layer phơng pháp mã hóa đợc phát triển Netscape để bảo vệ mạng Internet Nó hỗ trợ vài giao thức mã hóa khác cung cấp xác thực khách chủ SSL hoạt động tầng mạng, tạo kênh mã hóa an toàn cho liệu mã hóa nhiều kiểu liệu Bạn tìm thấy nhiều thông tin ở: http://www.consensus.com/security/ssl-talk-faq.html S-HTTP - giao thức khác cung cấp dịch vụ bảo mật thông qua Internet Nó đợc thiết kế để cung cấp tính tin cẩn, xác thực, tính toàn vẹn không từ chối (non-repudiability) hỗ trợ nhiều chế quản lý khóa nhiều giải thuật mã hóa thông qua tùy chọn tổ chức có liên quan phiên giao dịch S-HTTP hạn chế tới phần mềm mà thực thi nó, giải mã thông báo S/MIME: - S/MIME (Secure Multipurpose Internet Mail Extension) chuẩn mã hóa đợc sử dụng để mã hóa th điện tử dạng thông báo khác Internet Nó chuẩn mở đợc phát triển RSA Để có thông tin nhiều S/MIME tìm ở: http://home.netscape.com/assist/security/smime/ overview.html 5.3- ứng dụng Linux IPSEC Cùng với CIPE dạng khác mã hóa liệu có vài ứng dụng khác IPSEC cho Linux IPSEC cố gắng lớn IETF để tạo truyền thông mã hóa an toàn tầng mạng IP, cung cấp xác thực, tính toàn vẹn, điều khiển truy nhập tin cẩn Để có thông tin IPSEC Internet bạn tìm http://www 14 5.4- ssh vµ stelnet Ssh vµ stelnet lµ tËp hợp chơng trình mà cho phép bạn đăng nhập tới hệ thống từ xa có kết nối đợc mã hóa openssh chơng trình đợc sử dụng nh thay cho rlogin, rsh vµ rcp Nã sư dơng mËt m· khãa công khai để mã hóa truyền thông hai máy chủ, để xác thực ngời dùng Nó đợc sử dụng để đăng nhập an toàn tới máy chủ từ xa chép liệu máy chủ, ngăn chặn công chung đánh lừa DNS Openssh thực việc nén liệu kết nối bạn bảo vệ truyền thông X11 máy chủ Hiện có vài ứng dụng ssh Các ứng dụng thơng mại cũ tìm http://www datafellows.com ứng dụng Openssh dựa phiên gần ssh datafellows đợc đợc sửa đổi lại để không thuộc sáng chế Openssh miễn phí đặt dới sáng chế BSD Nó tìm ở: http://www.openssh.com SSLeay lµ mét øng dơng miƠn phÝ cđa giao thức Secure Sockets Layer Netscape, đợc phát triển bëi Eric Young Nã bao gåm vµi øng dơng nh− Secure telnet, mô dudule cho Apache, vài sở liệu với vài giải thuật bao gồm DES, IDEA Và Blowfish Sử dụng th viện này, thay secure telnet đợc tạo để thực mã hóa kết nối telnet Không nh SSH, stelnet sử dụng SSL Bạn tìm Secure telnet vµ Secure FTP ë http://www.psy.uq.oz.au/~ftp/Crypto/ 5.5 PAM - Pluggable Authetication Modules Các phiên phân phối Red Hat Linux có lợc đồ xác thực thống đợc gọi PAM PAM cho phép bạn thay đổi phơng pháp xác thực yêu cầu (on the fly), thâu tóm tất phơng pháp xác thực cục mà biên dịch lại chơng trình thực thi Cấu hình PAM vợt khuân khổ tài liệu này, để có thông tin nhiều PAM vạn tìm http://www.kernel.org/pub/linux/libs/pam/index.html Một vài công việc bạn thực với PAM là: Sử dụng phơng ph¸p m· hãa kh¸c DES cho c¸c mËt khÈu cđa bạn (Tạo khó khăn để phá mật phơng pháp vét cạn (brute-force)) Thiết lập hạn chế tài nguyên tất ngời dùng hä kh«ng thĨ thùc hiƯn viƯc tÊn c«ng tõ chèi dịch vụ Cho phép mật shadow (xem dới) 15 Cho phép ngời dùng cụ thể đăng nhập thời gian cụ thể từ địa điểm xác định Với vài cài đặt cấu hình hệ thống bạn, bạn ngăn chặn nhiều công trớc chúng xảy VÝ dơ, sư dơng PAM kh«ng cho phÐp sư dơng rộng rãi file rhosts th mục riêng ngời dùng cách thêm dòng sau tới file /etc/pam.d/rlogin: # Disable rsh//rlogin/rexec for users login auth required pam_rhosts_auth.so no_rhosts 5.6-Cryptographic IP Encapsulation (CIPE) Mục đích phần mềm cung cấp tiện ích để bảo vệ (chống lại việc thu trộm, bao gồm phân tích đờng truyền, giả mạo thông báo) kết nối mạng thông qua mạng gói không an toàn nh Internet CIPE mã hóa liệu tầng mạng Việc truyền gói máy chủ mạng đợc mã hóa Bộ mã hóa đợc đặt gần trình điều khiển mà để gửi nhận gói Không giống nh SSH (SSH mã hóa liệu tầng socket) Một kết nối logic chơng trình chạy máy chủ khác đợc mã hóa CIPE đợc sử dụng đờng hầm, nhằm mục đích tạo mạng riêng ảo (Virtual Private Network) Mã hóa tầng thấp có u điểm làm công việc cách suốt hai mạng đợc kết nối VNP mà không với thay đổi tới phần mềm ứng dụng Để có thêm thông tin CIPE bạn tìm http://www.inka.de/~bigred/devel /cipe.html 5.7- Kerberos Kerberos hệ thống xác thực đợc phát triển đề án Athena MIT Khi ngời dùng đăng nhập, Kerberos xác thực ngời dùng (sử dụng mật khẩu) cung cấp cho ngời dùng cách để chứng minh nhận dạng tới server host mạng Tiếp theo xác thực đợc sử dụng chơng trình nh rlogin phép ngời dùng đăng nhập tới host khác mà không với mật (trong vị trí file rhosts) Phơng pháp xác thực ®−ỵc sư dơng bëi hƯ thèng th− nh»m mơc ®Ých đảm bảo th đợc chuyển tới ®óng ng−êi nhËn, nã còng ®¶m b¶o r»ng ng−êi gưi ngời mà ngời nhận yêu cầu Kerberos chơng trình khác kèm với ngăn chặn ngời dùng khỏi đánh lừa hệ thống tin tởng họ không khác Không may, cài đặt Kerberos phức tạp, yêu cầu thay đổi thay số chơng trình chuẩn Bạn tìm nhiều thông tin Kerberos http://nii.isi.edu/info/kerberos/ 5.8-Shadow Passwords 16 Shadow Passwords phơng pháp giữ bí mật thông tin mật đợc mã hóa bạn khỏi ngời dùng bình thờng Các phiên gần Red Hat Debian Linux sử dụng shadow passwords mặc định Nhng hệ thống khác, mật đợc mã hóa đợc chứa file /etc/passwd tất ngời đọc Bất kỳ chạy chơng trình dự đoán mật hệ thống xác định mà chúng có Trái lại, shadow passwords lu mật mã hóa file /etc/shadow, file ngời dùng có đặc quyền đọc đợc Nhằm mục đích sử dụng shadow password, bạn cần đảm bảo chắn tất tiện ích truy nhập tới thông tin mật đợc biên dịch lại để hỗ trợ chúng Ngoài PAM cho phép bạn chạy module shadow; không yêu cầu biên dich lại chơng trình thực thi Bạn xem liệu Shadow-Password HOWTO để có thêm thông tin cần thiết, thông tin có sẵn http://metalab.unc.edu/LDP/HOWTO/Shadow-Password -HOWTO.html 5.9- Crack John the Ripper Nếu có vài lý mà chơng trình passwd không bắt buộc mật khó dự đoán bạn chạy chơng trình phá mật đảm bảo mật ngời dùng an toàn Các chơng trình phá mật làm việc ý tởng đơn giản: chúng thử từ từ điển, thay đổi từ này, mã hóa từ kiểm tra từ đợc mã hóa so sánh với mật đợc mã hóa bạn Nếu chúng giống mật bạn bị phá Có số chơng trình phá mật khẩu, nhng hai chơng trình tiếng số Crack John the Ripper (http://www.false.com/security/john/index.html) Các chơng trình chiếm nhiều thời gian cđa cpu 5.10 -CFS - Cryptograpic File System vµ TCFS - Transparent Cryptographic File System CFS cách mã hóa toàn th mục cho phép ngời dùng lu file đợc mã hóa chúng CFS sử dụng NFS server chạy máy cục CFS có sẵn http://www.zedz.net/redhat/ Để có thêm thông tin bạn tìm ftp://ftp.research.att.com/dist/mab/ TCFS cải tiến từ CFS cách thêm vào nhiều tích hợp với hệ thống file, suốt với ngời dùng mà hệ thống file đợc mã hóa Để có thêm thông tin bạn tìm http://edu-gw.dia.unisa.it/tcfs/ 5.11- X11, SVGA bảo vệ hình X11 Thật quan trọng cho bạn để bảo vệ hình đồ họa bạn ngăn chặn 17 kẻ công thu trộm mật bạn bạn gõ chúng, đọc tài liệu thông tin mà bạn đọc hình, trÝ sư dơng mét kÏ hë an ninh ®Ĩ cã đợc quyền truy nhập root Chạy ứng dụng X từ xa mạng dấn đến nguy hiểm, cho phép lắng nghe (sniffer) xem tất tơng tác với hệ thống từ xa X có số chế điều khiển truy nhập Cơ chế đơn giản dựa host: bạn sử dụng xhost để xác định host đợc cho phép truy nhập tới hình bạn Cơ chế không an toàn tất cả, có quyền truy nhập tới máy bạn họ xhost + máy họ có truy nhập cách dễ dàng Ngoài bạn cho phép truy nhập từ máy không tin cậy thỏa hiệp hình bạn Khi sử dụng xdm (X Display Manager) để đăng nhập bạn có phơng pháp truy nhập tốt hơn: MIT-MAGIC-COOKIE-1 Một cookie 128-bit đợc sinh đợc chứa file Xauthority Nếu bạn cần cho phép máy từ xa truy nhập tới hình bạn bạn sử dụng lệnh xauth thông tin file Xauthority ®Ĩ cung cÊp qun truy nhËp tíi kết nối Xem Remote-X-Apps mini-howto địa http://metalab.unc.edu/LDP/HOWTO/mini/Remote-X-Apps html SVGA Các chơng trình SVGAlib SUID-root điển hình nhằm mục đích truy nhập tới tất phần cứng video máy bạn Điều nguy hiểm Nếu chúng hỏng bạn cần khởi động lại máy để khôi phục lại console thích hợp Đảm bảo chắn chơng trình SVGA mà bạn chạy xác thực, tin cậy Thậm trí tốt không chạy chúng GGI - Đề án giao diện đồ họa chung Đề án Linux GGI (Generic Graphic Interface project) cố gắng giải vài vấn đề với giao diện video Linux GGI xóa thành phần nhỏ mã video nhân Linux điều khiển truy nhập tới hệ thống video Điều có nghĩa GGI khôi phục lại console bạn thời gian tới trạng thái tốt Ngoài chóng sÏ cho phÐp mét khãa an toµn, bëi vËy bạn chắn chơng trình đăng nhập Trojan horse chạy console bạn Xem địa http:// synergy.caltech.edu/ ~ggi/ đề có thêm thông tin 6-An toàn nhân Mục liệt kê tùy chọn cấu hình nhân có liên quan tới an toàn Để hiểu rõ chúng làm nh để sử dụng chúng, bạn đọc ë mơc tµi liƯu Linux Security HOWTO Khi nhân điều khiển mạng máy tính, quan trọng để bảo đảm an 18 toàn không bị thỏa hiệp Để ngăn chặn vài công mạng bạn nên nhập nhật phiên nhân hành Bạn tìm nhân ftp://ftp.kernel.org 6.1-Các tùy chọn cấu hình nhân có liên quan tới an toàn • CONFIG_FIREWALL • CONFIG_IP_FORWARD • CONFIG_SYN_COOKIES • CONFIG_IP_FIREWALL • CONFIG_IP_FIREWALL_VERBOSE • CONFIG_IP_NOSR • CONFIG_IP_MASQUERADE • CONFIG_IP_MASQUERADE_ICMP • CONFIG_IP_TRANSPARENT_PROXY • CONFIG_IP_ALWAYS_DEFRAG CONFIG_NCPFS_PACKET_SIGNING CONFIG_IP_FIREWALL_NETLINK 6.2-Các thiết bị nhân Có vài thiết bị khối thiết bị kí tự có sẵn Linux mà giúp bạn bảo vệ hệ thống Hai thiết bị mà nhân cung cấp /dev/random /dev/urandom cung cấp liệu ngẫu nhiên (random data) thời gian Cả /dev/random /dev/urandom nên an toàn để sử dụng việc sinh khóa PGP, thách thức ssh ứng dụng khác mà số ngẫu nhiên bảo vệ đợc yêu cầu Các kẻ công dự đoán sè kÕ tiÕp cho bÊt kú mét d·y sè khởi đầu từ nguồn tài nguyên Sự khác hai thiết bị /dev/random chạy sinh byte ngẫu nhiên /dev/random entropy chất lợng cao, đợc sinh theo phơng pháp ngắt thời gian /dev/urandom tơng tự, nhng dự trữ entropy thấp trở lại hàm hash mã hóa mạnh có Điều không an toàn, nhng đủ cho hầu hết ứng dụng Bạn đọc thiết bị sư dơng lƯnh nh− vÝ dơ sau: root# head -c /dev/urandom | mimecode lệnh in tám ký tự ngẫu nhiên console, phù hợp cho sinh mật Bạn tìm mimencode gói metamail Xem /usr/src/drivers/char/random.c biết mô tả giải thuật 7- An toàn mạng An toàn mạng ngày quan trọng ngời nhiều thời gian để kết nối Sự thỏa hiệp an toàn mạng dễ dàng thỏa hiệp vật lý thỏa 19 hiệp an toàn cục Có vài công cụ tốt để giúp đỡ vấn đề an toàn mạng, nhiều sè chóng cã quan hƯ víi ph©n phèi cđa Linux 7.1- Bộ lắng nghe gói (packet sniffer) Một cách chung kẻ xâm nhập trái phép có đợc truy nhập tới nhiều hệ thống mạng bạn dùng lắng nghe gói máy host bị thỏa hiệp Sniffer lắng nghe cổng Ethernet vấn đề nh− passwd, login vµ su luång gãi vµ ghi đờng truyền sau Với cách này, kẻ xâm nhËp tr¸i phÐp cã c¸c mËt khÈu cđa hƯ thèng mà cố gắng phá vỡ Các mật dạng rõ nguy hiểm công kiểu Trong thời gian gần đây, kẻ xâm nhập trái phép trí không cần thỏa hiệp hệ thống để thực công này: chúng mang máy tính xách tay (laptop) PC kết nối vào mạng bạn Sử dụng ssh phơng pháp mã hóa khác để ngăn cản công Các chơng trình nh APOP cho POP ngăn cản đơc công kiểu 7.2-Các dịch vụ hệ thống tcp_wrappers Trớc bạn đặt hệ thống Linux mạng điều xem dịch vụ mà bạn cần đa Các dịch vụ mà bạn không cần sử dụng nên đợc xóa bỏ để bạn khỏi lo lắng kẻ công có hội để tìm kẽ hở an toàn Có số cách để loại bỏ dịch vụ dới Linux Bạn xem file /etc/ inetd.conf để thấy dịch vụ đợc cung cấp inetd Xóa bỏ dịch vụ mà bạn không cần cách thêm dấu # đầu dòng gửi tiến trình inetd SIGHUP Ngoài bạn xóa dịch vụ file /etc/services (thay ghi đầu dòng) Điều có nghĩa client cục tìm đợc dịch vụ Thờng phiền toái xóa dịch vụ khỏi /etc/services, không cung cấp thêm bảo vệ Sau vài dịch vụ mà bạn cần xóa bỏ là: ftp telnet (hoặc ssh) mail, nh pop-3 imap identd Nếu bạn biết bạn không sử dụng vài gói cụ thể, bạn xóa toàn bộ, sử dụng lệnh rpm -e RPM để xóa toàn gói 20 Bạn nên kiểm tra th mục /etc/rc.d/rc[0-9].d để xem liệu có server đợc bắt đầu th mục không cần thiết Những file th mục liên kết tợng trng tới file th mục /etc/rc.d/init.d Đặt lại tên file th mục init.d để xóa bỏ tất liên kết biểu tợng tới file rc.d thay đổi tên file tơng ứng với dịch vụ mà bạn muốn xóa bỏ Đa số phân phối Linux có tcp_wrappers chọc thủng tất dịch vụ TCP Một tcp_wrapper (tcpd) đợc gọi từ inetd thay v× server thùc sù tcpd kiĨm tra host mà yêu cầu dịch vụ chạy server thực từ chối truy nhập từ host tcpd cho phép bạn hạn chế truy nhập tới dịch vụ TCP Bạn nên tạo /etc/hosts.allow thêm th mục host mà cần có truy nhập tới dịch vụ máy bạn Nếu bạn ngời dùng quay số bình thờng bạn nên từ chối tất tcpd ghi lại cố gắng truy nhập tới dịch vụ bị thất bại điều cảnh báo bạn bạn bị công Nếu bạn thêm dịch vụ mới, bạn nên cấu hình chúng để sử dụng tcp_wrappers dịch vụ dựa TCP Nhớ tcp_wrappers bảo vệ dịch vụ đợc chạy từ inetd vài dịch vụ lựa chọn khác 7.3-Kiểm tra thông tin DNS Nâng cấp nhập nhật thông tin DNS tất host mạng giúp bạn tăng khả an toàn Nếu host không đợc ủy quyền kết nối tới mạng bạn bạn nhận thiÕu mét mơc DNS cđa nã NhiỊu dÞch vơ đợc cấu hình để không chấp nhận kết nối từ host mà mục DNS hợp lý 7.4-identd identd chơng trình nhỏ mà chạy inetd server bạn Nó giữ dấu vết mà ngời dùng chạy dịch vụ TCP gì, trả lời thông tin yêu cầu Bạn nên cho phép chạy chơng trình Nhiều ngời không hiểu hữu ích identd xóa bỏ ngăn chặn tất site yêu cầu 7.5- sendmail, qmail Một hầu hết dịch vụ quan trọng bạn cung cấp mail server Không may thay, dịch vụ nguy hiểm cho công số nhiệm vụ mà phải thực đặc quyền cần Sendmail có lịch sử dài khai thác an ninh, bạn sử dụng senmail bạn nên nhập nhật phiên hành Nhớ senmail chạy cho mục đích gửi th Nếu bạn ngời sử dụng bình thờng bạn nên xóa bỏ toàn senmail sử dụng mai client để gửi th 21 qmail dịch vụ có chức hoàn toàn nh senmail nhng đợc thiết kế an toàn hơn, ổn định nhanh 7.6-Tấn công từ chối dịch vụ Một công từ chối dịch vụ (denial of service - DoS) nơi mà kẻ công cố gắng tạo nên vài nguồn tài nguyên bận để trả lời yêu cầu hợp lệ, để từ chối ngời dùng hợp pháp truy nhập tới máy bạn Tấn công từ chối dịch vụ đợc tăng lên năm gần Một vài dạng công thông dụng kiểu công là: SYN Flooding, Pentium F00F Bug, Ping Flooding Để biết kỹ dạng công bạn tìm http://www.rootshell com 7.7-An toàn NFS (Network File System) NFS giao thức chia sẻ file đợc sử dụng rộng rãi Nó cho phép server chạy nfsd mountd để gắn kết toàn hệ thống file tới máy khác sử dụng hỗ trợ hệ thống file NFS đợc xây dựng nhân máy mountd giữ dấu vết hệ thống file đợc gắn kết th mục /etc/mtab xem chúng lệnh showmount Nếu bạn phải sử dụng NFS chắn bạn gắn kết tới máy mà bạn thực cần Không gắn kết toàn th mục gốc Để có thông tin nhiều NFS bạn tìm http:// metalab.unc.edu/mdw/HOWTO/NFS-HOWTO.html 7.8- NIS (Network Information Service) - Dịch vụ thông tin mạng NIS phơng pháp phân phối thông tin tới nhóm máy NIS chủ (master) giữ bảng thông tin biến đổi chúng thành file ánh xạ NIS Những file ánh xạ đợc phân phát khắp mạng, cho phép máy NIS khách (client) có thông tin đăng nhập, mật khẩu, th mục riêng thông shell (tất thông tin file chuẩn /etc/passwd) Điều cho phép ngời dùng thay đổi mật họ tạo ảnh hởng tất máy vùng NIS NIS không an toàn Bất kỳ dự đoán tên vùng NIS bạn có file passwd sử dụng crack John the Ripper để phá mật ngời dùng Ngoài đánh lừa NIS thực mánh khóe hiểm ác Nếu bạn sử dụng NIS bạn phải có hiểu biết mối nguy hiểm Để có thông tin thêm NIS bạn tìm http://metalab.unc.edu/mdw/HOWTO/NIS-HOWTO.html 7.9- Firewalls Firewalls phơng pháp điều khiển thông tin đợc phép vào từ mạng cục Có số kiểu firewalls phơng pháp thiết lập chúng Các máy Linux tạo firewalls tốt Mã firewalls đợc xây dựng nhân 2.0 cao Công cụ ipfwadm cho nhân 2.0 ipchains cho nhân 2.2 cho phép bạn thay đổi dạng đờng truyền (traffic) mạng 22 Firewall kỹ thuật hữu ích quan trọng để bảo vệ mạng bạn Tuy nhiên không nên nghĩ bạn có firewalls mà bạn không cần bảo vệ máy sau Điều lỗi tai họa Để có thông tin nhiều firewalls Linux bạn tìm http://metalab.unc.edu/mdw/HOWTO/Firewall-HOWTO html Để có thông tin ipfwadm (công cụ để bạn thay đổi thiết lập firewalls) bạn cã thĨ t×m ë http://www.xos.nl/linux/ipfwadm/ 7.10- IP Chains - Linux Kernel 2.2.x Firewalling Linux IP Firewalling Chains lµ mét sù n©ng cÊp tíi m· Linux firewalling cho nh©n 2.2 Nã có nhiều đặc điểm so với ứng dụng trớc, bao gồm: Thao tác với gói mềm dẻo Tài khoản phức tạp Chính sách đơn giản thay đổi tự động Fragments đợc ngăn chặn, từ chối Ghi lại gói nghi ngờ Có thể quản lý giao thức khác giao thức ICMP/TCP/UDP Để có thêm thông tin IP Chains bạn tìm http://www.rustcorp.com/linux /ipchais/HOWTO.html 7.11- VNPs - Virtual Private Networks VPN lµ mét cách để thiết lập mạng ảo đỉnh vài mạng tồn Mạng ảo thờng đợc mã hóa chuyển đến đờng truyền tới từ vài thực thể đợc biết mà đợc gắn với mạng VNP thờng đợc sử dụng ®Ĩ kÕt nèi víi mét ®ang lµm viƯc ë nhà mạng Internet công cộng tới mạng công ty bên Có vài giải pháp Linux VNP có sẵn ở: vnpd Xem http://sunsite.auc.dk/vpnd/ Free S/Wan, có sẵn http://www.xs4all.nl/~freeswan/ ssh đợc sử dụng để xây dựng VNP Xem VNP mini-howto vps (virtual private server) http://www.strongcrypto.com 8-Các công việc chuẩn bị để bảo vệ hệ thống bạn (trớc đặt vào trực tuyến) Sau tất mục bạn kiểm tra hệ thống bạn xác định có khả an toàn Tuy nhiên, có vài công việc mà bạn nên thực nhằm mục đích chuẩn bị đối phó với xâm nhập trái phép: Lu trữ đầy đủ liệu máy bạn Chọn lịch lu trữ tốt Lu trữ file sở liệu RPM Debian, file sở liệu RPM đợc chứa th mục /var/lib/rpm Giữ dấu vết liệu tài khoản hệ thống 23 áp dụng tất nhập nhật vào hệ thống 24 chơng Login Xác thực ngời dùng Phần mô tả chi tiết trình đăng nhập (từ dấu nhắc login xác thực xong - hệ thống đa dấu nhắc shell), phơng pháp xác thực ngời dùng, cách quản lý ngời dùng hệ thống Linux 1-Đăng nhập - Login Quá trình đăng nhập hệ thống đợc thực ba chơng trình init, getty login Trình init khởi tạo tập tiến trình khác tuỳ theo mức chạy (runlevel) Sau gọi chơng trình getty trao điều khiển cho chơng trình Có thể mô tả tổng quát trình đăng nhập nh hình vẽ dới 1.1- Trình getty Getty chơng trình cho phép bạn đăng nhập thiết bị nối tiếp chẳng hạn nh virtual terminal, text terminal modem Chơng trình getty login thực kiểm tra, xác thực cho phép ngời dùng đăng nhập (log in) hệ thống Trình getty có nhiệm vụ sau: Mở tuyến (line) tty thiết lập chế độ cho chúng In dấu nhắc login, lấy tên ngời dùng Khởi động tiến trình login cho ngời dùng Cụ thể: getty mở tuyến (line) để đọc viết, cấm đệm vào chuẩn Sau khởi tạo, line đợc đóng lại mở lại Tại thời điểm này, line đợc mở chế độ khối Tiếp theo, getty đa dòng login banner (thờng đợc đọc từ file /etc/issue) đa dấu đăng nhập Cuối getty đọc tên đăng nhập ngời dùng gọi trình login với tham số tên ngời dùng Trong đọc tên, getty cố gắng tạo tốc ®é terminal cho phï hỵp víi hƯ thèng ®Ĩ sư dụng, thiết lập tham số cho terminal Getty quét file gettydefs để tìm đề mục phù hợp Nếu tốc độ đợc đa vào, lấy đề mục file /etc/gettydefs Trong trờng hợp file /etc/gettydefs truy cập đợc, đề mục ngầm định compiled-in đợc sử dụng 25 init call(/bin/getty) call(/sbin/mingetty) getty: Prompt (login:) getty: Đọc tên ngời dùng getty: gọi (login username) login: Đọc mật Lỗi Kết thúc login login: Xác thực (username,passwd) Thành công Thiết lập biến PATH, HOME, Gọi (/bin/sh) shell: Đọc thi hành lệnh Kết thúc shell Quá trình đăng nhập hệ thống Khi ta vào chế độ đơn ngời dùng (mức chạy 1, S s) hệ thống không yêu cầu ta phải xác thực - đa dấu nhắc cho hệ vỏ shell Đây có lẽ kẽ hở vấn đề bảo mật hệ thống Linux Không mức chạy này, 26 ngời dùng có đặc quyền nh ngời dùng root thông thờng Tất nhiên ta hạn chế cách bỏ mức chạy 1, đợc thiết lập file /etc/inittab Có nhiều chơng trình getty khả dụng hệ thống Linux: mgetty (smart modem getty) đợc thiết kế để khởi t¹o modem, vboxgetty (isdn voice box getty) sư dơng cho hệ thống isdn, agetty (chơng trình Debian, sử dụng cho console ảo, terminal, modem), mingetty (trình getty tối thiểu đợc thiết kế để quản lý console ảo), Trên hệ thống Linux thông thờng, sử dụng trình mingetty (viết tắt chữ minimal getty) Không giống nh trình agetty, mingetty sử dụng cho line nối tiếp (serial line) 1.2- Trình login Login đợc sử dụng đăng nhập vào hệ thống Nó đợc sử dụng để chuyển từ ngời dùng sang ngời dùng khác thời điểm Nếu tham số (tên ngời dùng) kèm, login nhắc nhập tên ngời dùng để đăng nhập vào hệ thống Login đợc trình getty gọi với tham số tên ngời dùng Quá trình thực trình login đợc mô tả nh sau: Nếu ngời dùng không root tồn file /etc/nologin, nội dung file đợc in hình, login bị ngắt ngời dùng không đợc đăng nhập hệ thống Đây cách để bảo vệ login chuẩn bị tắt hệ thống ngời quản trị Nếu ngời dùng root, tên đăng nhập phải đợc nhập console có tên file /etc/securetty Các lỗi đăng nhập đợc ghi syslog th− mơc /var/log/ Sau kiĨm tra xong điều kiện trên, login yêu cầu mật thực kiểm tra mật cho tên ngời dùng Quá trình kiểm tra tên tài khoản, mật đợc gọi trình xác thực ngời dùng hệ thống Vấn đề xác thực ngời dùng hệ thống đợc trình bày chi tiết phần sau Giả sử trình kiểm tra, xác thực ngời dùng hệ thống tiến hành thành công - trình login cho phép ngời dùng đợc đăng nhập vào hệ thống Login tiếp tục thực công việc sau: Nếu tồn file hushlogin, login không thực việc kiểm tra th (mail) in thời gian đăng nhập cuối thông báo ngày Nếu file hushlogin, nhng tồn file /var/log/lastlog thời gian đăng nhập cuối đợc in hình thời gian đăng nhập lại đợc ghi vào Nếu login không tìm thấy file hushlogin, thông điệp đợc in tiến hành kiĨm tra file trïng víi tªn ng−êi dïng th− mục /var/spool/mail/ Một thông điệp đợc in hình, nh file có độ dài khác Khi nµy, shell cđa ng−êi dïng (thiÕt lËp file /etc/passwd) đợc khởi động Nếu shell đợc cho ngời dùng file /etc/passwd, mặc định /bin/sh đợc gọi Và th mục chủ xác định file /etc/passwd, th mục gốc (/) đợc sử dụng 27 Tiếp theo login tiến hành thiết lập số định danh ngời dùng UID GID tty đăng nhập, biến môi trờng cho TERM (terminal) Sau thiết lập biến môi trờng HOME, PATH, SHELL, TERM, MAIL LOGNAME Biến PATH ngầm định đợc thiết lập /usr/local/bin:/bin:/usr/bin: cho ngời dùng thông thờng, /sbin:/bin:/usr/sbin:/usr/bin cho ngời dùng root /etc/securetty: file chứa danh sách tên thiết bị tty - console mà ngời dùng root đợc phép đăng nhập Mỗi dòng tơng ứng với đề mục tên thiết bị tty, /dev/ trớc Nếu file không tồn tại, ngời dùng root đợc phép đăng nhập console (tty) nµo /etc/login.def: file nµy thuéc gãi shadow, cung cÊp mét sè thiÕt lËp thªm vỊ ti thä mËt khẩu, độ dài tối thiểu cho mật 2- Tài khoản, quản lý tài khoản xác thực ngời dùng hệ thống 2.1- Tài khoản ngời dùng Tất ngời muốn sử dụng hệ thống phải có tài khoản Tài khoản gồm hai phần: tên ngời dùng (username) mật (password) Tên ngời dùng đợc gọi tên tài khoản (account name) hay tên định danh - để hệ thống biết đợc bạn Mật đợc dùng để xác thực (authenticator), chứng minh với hệ điều hành tài khoản bạn Hệ thống đợc chia thành nhóm ngời dùng, nhóm đợc xác định số quyền định khác Trong có số tài khoản, nhóm đặc biệt có hầu hết quyền thao tác hệ thống, ngời dùng root siêu ngời dùng Cơ sở liệu cho tài khoản hệ thống đợc lu trữ file liệu quan trọng; /etc/passwd cho tài khoản ng−êi dïng, /etc/group cho nhãm ng−êi dïng trªn hƯ thèng a File /etc/passwd Linux sư dơng file /etc/passwd ®Ĩ chøa danh sách tất tài khoản ngời dùng hệ thèng; ID ng−êi dïng, ID nhãm, th− mơc chđ, shell,v.v Thông thờng chứa mật mã hoá cho tài khoản Thông thờng file có quyền đọc (trừ root); nhiều chơng trình (chẳng hạn ls) sử dụng file để ánh xạ ID ngời dùng với tên ngời dùng Dữ liệu tệp tin đợc ghi theo định dạng sau: account:password:UID:GID:GECOS:directory:shell Trong đó: account: Tên ngời dùng hệ thống, không đợc chứa ký tự hoa password: Mật hoá, ký tự *, ! UID: Số định danh cho ngời dùng GID: Số định danh nhóm mà ngời dùng trực thuộc GECOS: Trờng tuỳ ý, dùng để ghi thông tin thêm cho ngời dùng; tên 28 đầy đủ dòng thích directory: Th mục chủ cho tài khoản shell: chơng trình shell đợc dùng sau đăng nhập Nếu trờng để trống, login sử dụng ngầm định chơng trình /bin/sh Ví dụ: root:ml5jVpx5RdoiI:0:0:root:/root:/bin/bash toannq:.myDtwzWuzKuY:500:500::/home/toannq:/bin/bash thai:4mxoEQQwVU6cQ:502:507::/home/thai:/bin/bash b File /etc/group File chứa sở liệu tất nhóm ngời dùng hệ thống tơng ứng với nhóm số định danh nhóm GID Định dạng file tơng tự nh định dạng đợc sử dụng file /etc/passwd ::: Trong đó: tên nhóm chứa mật mã hoá cho nhóm số định danh cho nhóm ngời dùng thành viên nhãm ng−êi dïng VÝ dô: root:/AZkxFwZvDXZQ:0:root toannq:1XA/Tq4uqjGnI:500: thaith:suUZ2ViM6ut5k:507: Hai file đợc sử dụng nhiều chơng trình hệ thống Khi đăng nhập trình login đọc thông tin vỊ ng−êi dïng, mËt khÈu, shell, th− mơc chđ, từ hai file để định bớc sử lý víi tõng ng−êi dïng C¸c øng dơng kh¸c cã thể sử dụng hai file để ánh xạ tõ uid sang tªn ng−êi dïng Mäi ng−êi trªn hƯ thống đọc đợc hai file lấy trờng mật mã hoá tất tài khoản từ tệp Trên quan điểm bảo mật hệ thống, hai tệp tin /etc/passwd vµ /etc/group lµ hai file quan träng bËc nhÊt; NÕu ta thay đổi nội dung file này, ta thay đổi mật ngời dùng nào, tạo tài khoản siêu ngời với đặc quyền siêu ngời dùng 2.2-Mật - phơng pháp mã hoá Mật tất ngời dùng hệ thống phải đợc lu trữ file CSDL (cụ thể /etc/passwd /etc/group) Để tránh truy cập bất hợp pháp công vào hệ thống, file CSDL lu trữ mật ngời dùng hệ thống phải đợc bảo vệ cách cẩn thận; mặt vật lý nh độ phức tạp kẻ công Trên hệ thống Unix nh Linux nay, việc đợc thực cách dùng hàm đợc coi chiều, mã hoá mật ngời dùng trớc lu giữ lên file Ngoài ra, đọc mật ngời dùng, hệ thống không hiển thị số ký tự hình Điều phần làm tăng 29 độ bí mật mật kẻ tò mò Th viện glibc (với Linux) cung cấp hàm mã hoá crypt() đợc coi chiều dựa Thuật toán Chuẩn mã liệu DES Thuật toán hàm băm MD5 + Hàm crypt(): hàm đợc khai báo nh sau: char * crypt (const char * key, const char *salt) Hàm mã hoá mật khẩu, dựa thuật toán Chuẩn mã liệu DES - vòng Nó lấy mật ngời dùng làm khoá, để mã với khối rõ (64 bits) không (zero) Kết 64 bit mã lại đợc mã lại với mật ngời dùng; tiến trình đợc lặp lại 25 lần 64 bit mã cuối đợc kết hợp với giá trị salt (để tạo 4096 khả khác), sau đợc chuyển thành 11 ký tự dạng mã ASCII (chỉ cần bit cho mét ký tù tËp [a-zA-Z0-9 /]) 0000000000000000 Password Salt DES Password Salt DES Lặp 25 lần Password Salt Salt DES + bytes -> 11 ký tù ASCII Sơ đồ mã hoá hàm crypt() Tham số salt thực việc: thứ nhất, đợc dùng để chọn thuật toán sử dụng để mã hoá: dựa MD5 hay DES Thứ hai: làm kẻ công vất vả việc dò tìm mật Phơng pháp mã hoá mật đợc tóm tắt sơ đồ mã hoá hàm crypt 30 Tht to¸n m· ho¸ sư dơng tht to¸n DES (8 vòng) có sửa đổi chút nh sau: salt mét sè 12 bits (tõ tíi 4095) dïng ®Ĩ thay đổi kết đầu hàm DES - tránh trùng 25 vòng lặp, rõ vào bytes không (zero) Khi thiết lập mật giá trị salt đợc lấy ngẫu nhiên đợc kết hợp với khoá bytes đầu vào (mật khẩu), chơng trình tạo thành dãy gồm 4096 khoá khác Kết cuối bytes mã hoá đợc chuyển thành xâu 11 ký tự ghép với ký tự biểu diễn giá trị salt đợc lu vào trờng mật mã hoá file /etc/passwd Rõ ràng, cách mã hoá theo thuật toán có hạn chế ký tự đầu (của mật khẩu) có ý nghĩa việc xác thực + Thuật toán mã hoá MD5: Đây thuật toán đợc bổ sung cho hàm crypt, nhằm khắc phục điểm yếu thuật toán mã hoá truyền thống Unix Với thuật toán mã hoá dựa MD5, salt xâu có độ dài ký tự Giá trị salt ghi file /etc/passwd, ký tự tập [./0-9a-zA-Z], đợc đánh dấu bắt đầu xâu $1$, kết thúc ký tự $ khác Nh− vËy, sư dơng m· ho¸ b»ng tht to¸n MD5, tr−êng mËt khÈu file /etc/passwd sÏ cã ®é dµi tỉng céng lµ 34 ký tù (bao gåm ký tự $1$, ký tự cho giá trị salt, ký tù $ kÕt thóc salt, 22 ký tù mật mã hoá) Mã hoá dựa thuật toán MD5 có sẵn th viện glibc Với thuật toán mã hoá không giới hạn độ dài mật khẩu, tính bảo mật cao nhiều so với mã hoá dựa DES Do đó, đợc dùng nhiều so với thuật toán DES Khi thiết lập mật ngời dùng, giá trị cho salt đợc khởi tạo cách ngẫu nhiên Source code hàm crypt() md5 phần gói glibc Ta thay chơng trình mã hoá mật chơng trình, thuật toán khác Vấn đề đợc tiếp tục nghiên cứu phát triển vài năm tới Ví dụ: đề mục file /etc/passwd, mật đợc mã hoá b»ng MD5 root:$1$Myq352Lp$X0lHLaWEykdzTfw63YcQy/:0:0:root:/root:/bin/bash + C¸ch x¸c thùc ng−êi dïng: Khi ng−êi dïng chän mét mËt khÈu, mËt khÈu nµy sÏ đợc mã hoá giá trị đợc tạo cách ngẫu nhiên (gọi salt) Giá trị salt đợc ghi với mật đợc mã hoá (hai ký tự 13 ký tự mã hoá theo DES ký tự đầu - xâu $1$ tới ký tự ‘$’ kh¸c tr−êng mËt khÈu sư dơng tht toán MD5) Ví dụ: đề mục file /etc/passwd, mật đợc mã hoá DES username:Npge08pfz4wuk:503:100:Full Name:/home/username:/bin/sh 31 Khi ngời dùng đăng nhập vào hệ thống gõ mật khẩu, giá trị salt đợc lấy từ trờng mật tơng ứng với ngời dùng file /etc/passwd Hµm crypt() sÏ tiÕn hµnh kiĨm tra xem ký tự có '$1$' không, có ký tự giá trị salt MD5 gọi hàm mã hoá MD5, không ký tự đầu giá trị salt đợc sử dụng cho mã hoá DES Hệ thống thùc hiƯn m· ho¸ víi mËt khÈu ng−êi dïng nhËp vào với giá trị salt so sánh hai mật mã hoá với Nếu trùng khớp, ngời dùng đợc xác thực đợc phép đăng nhập vào hệ thống 2.3- Mật shadow + Tại phải dùng mật shadow? File CSDL mật (/etc/passwd /etc/group) đợc thiết lập quyền đọc ngời dùng khác hệ thống Do tất ngời dùng (không phải root) hệ thống đọc đợc toàn liệu file Mặc dù khó tính toán để khôi phục lại mật mã hoá dạng gốc, song với kẻ công Kẻ công sử dụng phơng pháp công từ điển có hiệu quả; mã từ thông dụng sử dụng 4096 giá trị salt với từ Khi đó, kẻ công có bảng thống kê rõ, mật tơng ứng với giá trị salt cụ thể Chúng so sánh mật mã hoá file /etc/passwd với bảng CSDL chúng Nếu có trùng hợp đó, chúng có tài khoản để đăng nhập hệ thống, trí tài khoản có đặc quyền siêu ngời dùng Một phơng pháp khác không cần đến không gian đĩa để thực công từ điển, có nhiều chơng trình crack phá đợc vài mật hệ thống với số ngời dùng đủ lớn Chúng chạy thử nghiệm chơng trình crack mật john víi mét file passwd cã user vµ mét file từ điển khoảng 44000 từ Với mật dễ thông dụng, chơng trình tìm sau thời gian ngắn Ta tìm đợc nhiều file từ điển từ thông dụng đợc cung cấp sẵn với nhiều thứ tiếng sở thích, giíi tÝnh, Ta còng cã thĨ ch¹y thư mét số chơng trình crack tìm thấy số đĩa CDROM Hacker Một giải pháp khác: chóng ta kh«ng thiÕt lËp qun, kh«ng cho phÐp (trừ ngời dùng root), đợc phép đọc-ghi file CSDL Chúng ta trở lại với trình đăng nhập hƯ thèng File nµy ngoµi tr−êng mËt khÈu - chØ đợc sử dụng chơng trình login, chứa thông tin tên ngời dùng, th mục chủ, uid, shell Mỗi đăng nhập trình login quét đề mục file /etc/passwd để kiểm tra xác thực ngời dùng Nếu trình xác thực thành công (ngời dùng đợc phép đăng nhập hệ thống) Trình login dựa vào file /etc/passwd thiết lập số định danh cho ngời dùng hệ thống, biến môi trờng, th mục chủ, quyền tơng ứng cho ngời dùng Các chơng trình sau truy cập hệ thống thông qua số định danh (uid) Khi chơng trình cần sử dụng tên ngời dùng hệ thống đọc từ file /etc/passwd để ánh xạ lại từ số 32 uid sang tên ngời dùng (hoặc từ gid sang tên nhóm với file /etc/group) Chẳng hạn, ta thiết lập quyền đọc-ghi cho ngời hệ thống Mỗi đăng nhËp hƯ thèng víi user th−êng, dÊu nh¾c bash sÏ có dạng nh sau: [I have no name@root]# nhiều chơng trình khác hiển thị đợc tên ngời dùng đăng nhập hệ thống nh chơng trình ps, ls -l, Do thiết lập quyền đọc cho file /etc/passwd Shadow giải pháp giải vấn đề cách giấu mật file khác (thông thờng /etc/shadow) - thiết lập quyền không (trừ root) truy cập file Mỗi đăng nhập trình login quét file /etc/passwd, xác định ngời dùng kiểm tra mật ngời dùng (qua file /etc/shadow), xác định th mục chủ, shell sử dụng Bằng cách ngăn chặn có hiệu với công từ mật mã hoá phơng pháp công từ điển Thêm vào đó, shadow thêm số chức khác: - Một tệp cấu hình cho thiết lập đăng nhập ngầm định (/etc/login.defs) - Các tiện ích cho phép thêm, sửa đổi, xoá tài khoản ngời dùng nhóm - Tuổi mật hạn sử dụng - Hạn tài khoản khoá - Các mật shadow nhãm (tuú chän) + File /etc/shadow Gãi shadow lµ mét gói để xây dựng hệ thống bảo mật hệ thống Linux Khi sử dụng mật shadow, trờng mật file /etc/passwd đợc thay dấu x Định dạng đề mục file /etc/shadow nh− sau: username:passwd:last:may:must:warn:expire:disable:researved ý nghÜa c¸c tr−êng: username : tên ngời dùng passwd : mật mã hoá last : ngày thay đổi mật cuối tÝnh tõ 01/01/1970 may : ngµy tr−íc mËt khÈu bị thay đổi must : ngày sau mật phải thay đổi warn : ngày trớc mật khẩn hết hạn để cảnh báo ngời dùng expire : ngày sau mật hết hạn tài khoản bị cấm disable : Số ngày tính từ 01/01/1970 tài khoản bị cấm reserved : Tr−êng dù phßng VÝ dơ: username:Npge08pfz4wuk:9479:0:10000: : : : 2.4- Cracklib cracklib_dict Đây công cụ, đợc sử dụng kết hợp với module pam_cracklib (trong PAM) để kiểm tra độ mạnh mật nhắc nhở bạn Cracklib Cracklib_dict 33 gói kèm với Gãi cracklib chøa c¸c file th− viƯn sau: /usr/include/cracklib.h /usr/lib/libcrack.so (link tíi /usr/lib/libcrack.so.2.7) /usr/lib/libcrack.so.2.7 File th− viƯn nµy phơc vụ cho chơng trình gói cracklib_dict Gói bao gåm c¸c file sau: /usr/lib/cracklib_dict.hwm (1024 bytes) /usr/lib/{cracklib_dict.pwd, cracklib_dict.pwi} /usr/sbin/{create-cracklib-dict, mkdict, packer} Hai file th− viÖn cracklib_dict.pwd, cracklib_dict.pwi chøa liệu từ thông dụng (từ điển), có kích thớc phụ thuộc vào file từ điển để t¹o nã Shell script chÝnh create-cracklib-dict sư dơng script mkdict chơng trình packer để tạo lại file th viện cracklib_dict.* Cracklib th viện chứa hàm, đợc sử dụng chơng trình passwd Nó đợc tạo với ý tởng: giúp ngời dùng tránh chọn mật dễ đoán chơng trình crack, sử dụng phơng pháp công từ điển Cracklib tiến hành nhiều bớc kiểm tra để xác định xem bạn có chọn mật tồi hay không? + Nó xét xem bạn có tạo mật từ tên ngời dùng không? + Kiểm tra mẫu đơn giản + Nó kiểm tra xem mật bạn chọn có nằm từ điển không Nếu bớc kiểm tra đợc thực tốt đẹp, mật bạn chọn mật tốt Tuy nhiên cần lu ý rằng, đợc sử dụng thông qua module pam_cracklib đợc thiết lập file cấu hình th mục /etc/pam.d/ 3- PAM 3.1- PAM gì? Chúng ta thấy rằng, cã mét sè c¸ch kh¸c viƯc x¸c thùc thông tin ngời dùng hệ thống (mật shadow MD5, mã hoá MD5 không shadow ) Thế làm để chơng trình, chẳng hạn chơng trình su, login biết để kiểm tra mật khẩu, xác thùc ng−êi dïng PAM (Pluggable Authentication Modules) sÏ gi¶i quyÕt vấn đề Với hệ thống Linux không sử dụng shadow & MD5, chơng trình chẳng hạn su, passwd, login hay xlock cần xác thực ngời dùng, đơn giản đọc thông tin ngời dùng tệp tin /etc/passwd Khi sử dụng mã hoá MD5 shadow, chơng trình yêu cầu xác thực đợc PAM chơng trình đợc sử dụng, thông tin ngời dùng đợc lu trữ đâu cách suốt Với PAM, chơng trình yêu cầu x¸c thùc mét ng−êi dïng, nã cung cÊp mét th− viện chứa hàm cho lợc đồ xác thực Vì th viện th viện động, nên ta thay đổi lợc đồ xác thực đơn giản việc soạn thảo 34 file cấu hình Tính phức tạp sức m¹nh lín nhÊt cđa PAM Linux-PAM (Pluggable Modules for Linux) th viện chia sẻ (shared libraries), cho phép quản trị hệ thống lựa chọn cách xác thực ngời dùng Nói cách khác, ta biên dịch lại ứng dụng sử dụng PAM (PAM-aware), chuyển đổi cách xác thực khác Thay vào đó, việc nâng cấp toàn hệ thống xác thực cục mà đụng vào ứng dụng Mục đích dự án Linux-PAM phát triển nhánh phần mềm bảo mật lợc đồ xác thực (authentication scheme) cách độc lập Nghĩa cung cấp th viện hàm để ứng dụng sử dụng cho yêu cầu xác thực ngời dùng Th viện PAM đợc sử dụng thông qua tệp cấu hình máy cục /etc/pam.conf (hoặc file th mục /etc/pam.d/) Các tệp đối tợng khả nạp động (dynamically loadable objects files), đợc gọi modules, thờng đợc đặt /lib/security (với phiên Red Hat) Tóm lại: PAM phơng pháp dùng module để xác thực ngời dùng điều khiển truy cập tới dịch vụ hệ thống Để xác định xem hệ thống có sư dơng PAM hay kh«ng, ta cã thĨ sư dơng lệnh sau: ldd /sbin/login Nếu chơng trình đăng nhập cã sư dơng th− viƯn libpam.so, th× hƯ thèng cã sử dụng PAM Các phiên Red Hat từ 5.0 trở lên, sử dụng PAM 3.2- Tổng quan Linux PAM có kiểu tác vụ (quản lý) độc lập là: quản lý xác thực (authentication), quản lý tài khoản (account), quản lý phiên (session), quản lý mật (password) Tổ hợp lợc đồ quản lý cách ®èi xư víi mét øng dơng ®−ỵc thiÕt lËp bëi đề mục file cấu hình Linux PAM Cú pháp file cấu hình đợc mô tả phần dới Ta mô tả c¸ch tỉ chøc tỉng qu¸t cđa Linux PAM 35 C¸c tệp cấu hình: ứng dụng X Xác thực ======= Linux PAM X auth a.so X auth b.so [Conversation()] DÞch vơ ng−êi dïng auth [a] [b] [c] acct [b] [d] password [b] [c] session [e] [c] Bên trái hình biểu diễn ứng dơng X, giao diƯn øng dơng nµy sư dơng th− viện Linux PAM, không cần biết phơng pháp xác thực đợc thiết lập cho Th viện Linux-PAM lấy nội dung file cấu hình PAM nạp modules phù hợp cho ứng dụng X Các module đợc đặt theo nhóm quản lý quản lý theo kiểu ngăn xếp theo thứ tự đợc đặt file cấu hình Các module đợc gọi, cho phÐp c¸c c¸ch x¸c thùc kh¸c cho øng dụng Thông tin nguyên thuỷ cần thiết ngời dùng đợc chuyển hàm conversation() Ta sử dụng PAM để xác thực cho chơng trình nµo nÕu ta cã qun truy cËp vµo m· ngn, thêm hàm PAM phù hợp Nói khác đi, chơng trình sử dụng PAM, có hàm chơng trình Nếu sử dụng PAM Để xác định đợc chơng trình có bao hàm PAM hay không, ta xem file th mục /etc/pam.d/ Tên file cấu hình đợc đặt mã chơng trình, thờng trùng với tên chơng trình Nếu có file này, ta xác định đợc chơng trình prog có hiểu PAM Hoặc ta sử dụng trình ldd; chơng trình không sử dụng th viện libpam libpam_misc, chơng trình không làm việc với PAM Tuy nhiên phơng pháp không hẳn xác 3.3- Cấu hình cho Linux PAM Các file cấu hình PAM đợc đặt file th mục /etc/pam.d/ file /etc/pam.conf Chúng ta trình bày cú pháp cấu hình theo kiểu tệp th mục /etc/pam.d/ trớc Cần ý Linux PAM xác định thẻ, tham số file phải chữ thờng Cú pháp file cấu hình: PAM đợc cấu hình theo cách khác thông dụng: thiết lập cấu hình file /etc/pam.conf thông qua tệp tin cấu hình th mục /etc/pam.d Tuy nhiên với cách khác Bản phân 36 phối Red Hat thờng sử dụng file cấu hình /etc/pam.d/, nh mô tả dới: Các file cấu hình PAM có cú pháp nh sau: type control module-path module-arguments type b¸o cho PAM kiĨu xác thực đợc sử dụng cho module Các module kiểu đợc xếp chồng lên PAM nhËn kiĨu x¸c thùc sau: account Module thực quản lý tài khoản, không xác thực Nó đợc sử dụng để hạn chế/cho phép truy cập tới dịch vụ dựa thời gian Quyết định xem ngời dùng đợc phép truy cập dịch vụ, mật họ hết hạn cha, v.v auth Quyết định xem ngời dùng ai, thông thờng xác thực mật Kiểu module cung cấp cách xác thực ngời dùng Đầu tiên xác định xem ngời dùng cách nhắc ngời dùng nhập mật cách xác định khác Sau đó, module xác nhận thành viên nhóm (dựa vào file /etc/group) đặc quyền thông qua thc tÝnh ủ qun cđa nã password KiĨu module nµy đợc yêu cầu để cập nhật xác thực đợc gán cho ngời dùng Thông thờng, có tơng ứng module cho kiểu module xác thực (auth) Cung cấp kỹ thuật cho ngời dùng thay đổi xác thực họ, thông thờng thay đổi cách xác thực mật họ session Các việc đợc thực trớc và/ sau ngời dùng đợc xác thực Công viƯc bao gåm kÕt g¾n/hủ kÕt g¾n th− mơc home, đăng nhập login/logout, hạn chế/không hạn chế dịch vụ khả dụng cho ngời dùng Trong file cấu hình login, có đề mục cho kiểu Có thể hiểu cần truy cập tất kiểu xác thực khác control Trờng báo cho PAM c¸ch thùc hiƯn nÕu nh− x¸c thùc b»ng module bị lỗi thành công Khi module đợc nạp, cờ control định quan hệ quan trọng module PAM nhận kiểu điều khiển sau: requisite Từ khoá thành công module cần thiết cho thành công kiểu (type) module Nếu xác thực module bị lỗi, từ chối xác thực required Từ khoá thành công module cần thiết cho kiểu (type) module để thành công Nếu gặp lỗi xác thực, PAM sÏ 37 vÉn gäi c¸c modules (cïng kiĨu) cã danh sách dới cho dịch vụ trớc tõ chèi x¸c thùc sufficient NÕu x¸c thùc b»ng module thành công, PAM công nhận xác thực, module required trớc bị lỗi optional Nh tên gọi nó, cờ điều khiển đánh dấu module ý nghĩa quan trọng với thành công lỗi Kết thành công lỗi có ý nghĩa cho dịch vụ Trong file cấu hình cho login, thấy module required pam_unix.so (module xác thực chính), module requisite pam_securetty.so (kiểm tra để đảm bảo ngời dùng đăng nhập console bảo mật), modules optional pam_lastlogin.so (module thu lợm thông tin đăng nhập cuối ngời dùng gần nhất) module-path Chỉ module đợc sử dụng đờng dẫn để PAM tìm module Hầu hết file cấu hình chứa tên module, PAM tìm module th mục module ngầm định (thông thờng /lib/security) module-arguments Các module-arguments danh sách tham số ®−ỵc trun tíi cho module ®−ỵc gäi Nãi chung tham số tuỳ chọn đợc xác định cho module cụ thể Ví dụ: file cấu hình login, tham số nullok đợc truyền cho module pam_unix.so, mật rỗng (null) chấp nhận đợc (ok) Bất kỳ dòng file cấu hình đợc định dạng không đúng, tạo lỗi tiến trình xác thực Lỗi tơng ứng đợc ghi file nhật ký hệ thống cách gọi hàm syslog() Ví dụ: file /etc/pam.d/login #%PAM-1.0 auth auth auth required /lib/security/pam_securetty.so required /lib/security/pam_pwdb.so shadow nullok required /lib/security/pam_nologin.so account required /lib/security/pam_pwdb.so password required /lib/security/pam_cracklib.so password required /lib/security/pam_pwdb.so nullok use_authtok md5 shadow session session required /lib/security/pam_pwdb.so optional /lib/security/pam_console.so 38 File cấu hình pam.conf: Là thay cho file cấu hình th mục /etc/pam.d/ (nếu bạn không thích để file cấu hình th mục này) File đợc lu trữ th mục /etc/pam.conf tơng tự nh file cấu hình mô tả Ví dụ: dòng sau /etc/pam.d/login: auth required pam_unix.so nulok sÏ trë thµnh: login auth required pam_unix.so nulok Cú pháp cấu hình chung file /etc/pam.conf cã d¹ng nh− sau: service-name type control module-path arguments Trong ®ã type, control, module-path vµ argument hoµn toµn gièng nh− mô tả Service-name tên dịch vụ cần cấu hình với đề mục Thông thờng Service-name tên quy ớc ứng dụng Ví dụ ftpd, login, other Cũng tơng tự nh tên file cấu hình theo kiểu cấu hình mô tả Ta thấy phơng pháp cấu hình file th mục /etc/pam.d/ có nhiều thuận tiện so với cách cấu hình tệp /etc/pam.conf: bị lỗi cấu hình ứng dụng, trờng Dễ bảo trì; ứng dụng đợc cấu hình lại độc lập với ứng dụng khác Quản lý gói đơn giản Một số file cấu hình đặc biệt: Mỗi mét file th− mơc /etc/pam.d/ chøa th«ng tin cÊu hình cho dịch vụ riêng Thông thờng tên file cấu hình tên chơng trình sử dụng Ví dụ: file login file cấu hình cho chơng trình đăng nhập (/bin/login) hệ thống File cấu hình /etc/pam.d/other file cấu hình cho dịch vụ, chơng trình file cấu hình riêng Ví dụ: dịch vụ xyz cố gắng xác thực, PAM tìm file cấu hình /etc/pam.d/xyz, không tìm thấy file việc xác thực cho chơng trình xyz đợc định file /etc/pam.d/other Cấu hình ngầm định file nh sau: #%PAM-1.0 auth required account required password required session required /lib/security/pam_deny.so /lib/security/pam_deny.so /lib/security/pam_deny.so /lib/security/pam_deny.so Với file cấu hình này, PAM từ chối xác thực (bằng module pam_deny.so) với dịch vụ không đợc cấu hình Ta sử dụng file để cấu hình hệ 39 thống cách bảo mật hơn; xoá bỏ (hoặc đổi tên) file cấu hình cho dịch vụ, chơng trình mà ta không sử dụng đến, ghi nhật ký cảnh báo syslog module module pam_warn.so CÇn l−u ý r»ng: sư dơng file cấu hình ta không nên xoá bỏ file cấu hình /etc/pam.d/login, vô tình xoá không đăng nhập đợc hệ thống Ta thấy PAM, shadow hai gói có vai trò quan trọng hệ thống bảo mật Tuy nhiên, từ file cấu hình cho PAM, ta giữ lại module (các th viện động) thông dụng, quan trọng cho hệ thống bỏ module d thừa, không cần thiết cho mục đích tối thiểu hoá 3.4-Các module khả dụng Các module đợc PAM cung cấp Red Hat 6.2 đặt th môc /lib/security/ Bao gåm 38 file: pam_access.so, pam_console.so, pam_cracklib.so, , pam_wheel.so, pam_warn.so, pam_xauth.so Một số module đợc sử dụng với file cấu hình /etc/security/*.conf, ngầm định file không thiết lập Trớc hết, xin điểm qua tất module: STT Tên module pam_access.so Nhãm qu¶n lý account pam_console.so auth; session pam_cracklib.so password pam_deny.so pam_env.so pam_filter.so account, auth, password, session pam_ftp.so auth pam_group.so auth pam_krb4.so auth, password, session account, auth, password, session auth Chức Cung cấp kiểu điều khiển truy cập đăng nhập dựa theo tên đăng nhập, tên máy (hoặc miền) địa internet, thiết bị đầu cuối (nếu không đăng nhập mạng) Cho phép kiểm tra độ mạnh mật Yêu cầu th viện libcrack th mục /usr/lib/cracklib_dict Sử dơng ®Ĩ tõ chèi truy cËp Cho phÐp thiÕt lËp (hoặc không thiết lập) biến môi trờng Module cung cấp lọc đơn giản chuyển đổi ký tự hoa thờng dòng liệu vào Mục đích module cung cấp chế độ truy cập ftp nặc danh Bằng cách chấp nhận tên ngời dùng ftp Module cung cấp thiết lập dựa theo tên ngời dùng thiết bị đầu cuối (nó không xác thực ngời dùng) Nó yêu cầu file cấu hình /etc/security/groups.conf Module cung cấp giao diƯn cho kiĨm tra mËt khÈu Kerberos cđa ng−êi dïng 40 10 pam_issue.so auth 11 pam_lastlog.so auth 12 13 pam_ldap.so pam_limits.so session 14 pam_listfile.so auth 15 pam_mail.so auth, session 16 pam_mkhomedi r.so session 17 pam_motd.so session 18 pam_nologin.so auth 19 pam_permit.so account; auth; password; session 20 pam_pwdb.so account; auth; password; session 21 pam_radius.so session 22 pam_rhosts_aut auth Module nµy cần th viện libkrb, libdes, libcom_err, libkadm file tiêu đề Kerberos Module cho phép định trớc file issue (ngầm định /etc/issue) nhắc tên ngời dùng Module cung cấp thông điệp Last login on ngời dùng đăng nhập vào hệ thống Nó bảo trì file /var/log/lastlogin Có thể dùng để ngời dùng có th đăng nhập Giới hạn tài nguyên hệ thống phiên ngời dùng Cần file cấu hình /etc/security/limits.conf Module cung cấp cách từ chối cho phép dịch vụ Module tìm th mục mail ngời dùng gửi thông điệp You have mail” ng−êi dïng cã th− ®ã Module hữu ích cho hệ thống phân tán - tài khoản ngời dùng đợc quản lý CSDL trung tâm (NIS, LDAP) đợc truy cập qua nhiều hệ thống Dùng để tạo th mục chủ ngầm định hệ thống Module đa nội dung file motd (ngầm định /etc/motd) hình đăng nhập thành công Nếu file /etc/nologin tồn tại, ngời dùng root đợc phép đăng nhập, ngời dùng khác không đợc phép đăng nhập với thông báo lỗi (nội dung file nologin) Module không phụ thuộc nhóm quản lý Tác vụ cho phép truy cập, mà không thực khác Là module CSDL mật khẩu, đợc thay thÕ cho c¸c module pam_unix_ , nã sư dơng giao diện chung th viện CSDL mật Yêu cầu cấu hình libpwdb Module dùng để cung cấp dịch vụ phiên cho xác thực ngời dùng với RADIUS server Hiện tại, hỗ trợ sử dụng RADIUS server nh server tài khoản (accounting server) Module cho phép xác thực dịch 41 h.so 23 pam_rootok.so auth 24 pam_securetty.s o auth 25 26 27 28 pam_shells.so pam_stress.so pam_tally.so pam_time.so 29 pam_unix.so account; auth; password; session 30 pam_userdb.so auth 31 pam_warn.so auth; password 32 pam_wheel.so auth 33 pam_xauth.so account vụ mạng chuẩn, bổ sung cho rlogin rsh, Dựa theo nội dung file /etc/hosts.equiv Module đợc dùng tình mà siêu ngời dùng không muốn nhËp mËt khÈu truy cËp dÞch vơ Cung cÊp việc kiểm tra bảo mật Unix chuẩn, xác thực cho ngời dùng root console đợc thiết lập /etc/securetty Module cung cấp số điều khiển thời gian truy cập tới dịch vụ hệ thống Có thể cấu hình để từ chối ngời dùng truy cập dựa theo tên, thời gian ngày, ngày tuần Yêu cầu file cấu hình /etc/security/time.conf Đây module x¸c thùc Unix chn Nã sư dơng c¸c lƯnh gäi từ th viện hệ thống để thiết lập thông tin tài khoản nh xác thực Thông thờng sử dụng file cấu hình /etc/passwd file /etc/shadow Sử dụng để kiểm tra cặp giá trị tên_ngời_dùng/mật_khẩu đợc lu trữ CSDL Berkeley DB CSDL đợc xếp theo trờng tên ngời dùng, mật (dạng không mã hoá) Ghi nhật ký thông tin dịch vụ, thiết bị đầu cuối, ngời dùng, ngời dùng từ xa máy từ xa vào syslog Chỉ cho phép root truy cập tới thành viên nhóm wheel (gid=0) Dới mô tả số module th viện - cần thiết cho hệ thống thông thờng Để biết thêm thông tin chi tiết module, tham khảo mục A reference guide for available modules” - [4] KiĨm tra ®é mạnh mật pam_cracklib a Tóm tắt Tên module: pam_cracklib Nhóm quản lý: password Phụ thuộc hệ thống: Yêu cầu th viện libcrack từ điển hệ thống /usr/lib/cracklib_dict Ta nói tới modules phần cracklib, 42 cracklib_dict phần dới b Mô tả module Module đợc cấy thêm vào ngăn xếp password ứng dụng cần xác thực để cung cấp số plug-in kiểm tra độ mạnh cho mật Module làm việc nh sau: gọi cracklib để kiểm tra độ mạnh mật khẩu, sau ®ã module thùc hiƯn thªm mét sè kiĨm tra sau: Palindrome (xuôi ngợc giống nhau): mật có dạng đảo ngợc mật cũ? Là mật cũ, nhng thay đổi chữ hoa thành thờng ngợc lại? Tơng tự: Mật giống với mật cũ? Đơn giản: Mật có ngắn không? Tuỳ chọn đợc điều khiĨn bëi tham sè minlen, dcredit, urcedit, lcedit vµ ocredit Mật có dạng hoán vị mật cũ? Đã đợc sử dụng khứ rồi? Thông tin mật đợc dùng trớc đặt /etc/security/opasswd c Thành phần mật Hoạt động module nhắc ngời dùng vào mật kiểm tra độ mạnh mật từ điển tập luật (rules) mô tả Các tham số: debug; type=XXX; retry=N; difok=N; minlen=N; dcredit=N; lcredit=N; ocredit=N debug: module viết thông tin syslog() type=XXX: ngầm định module sử dụng dấu nhắc dạng New UNIX Password: Sử dụng tuỳ chọn bạn thay từ UNIX XXX retry=N: số lần module yêu cầu mật (kiểm tra độ mạnh) từ ngời dùng đơn, ngầm định difok=N: số ký tự mật phải khác với mật cũ, ngầm định 10 Thêm vào đó, nÕu 1/2 c¸c ký tù mËt khÈu míi kh¸c với cũ chấp nhận đợc minlen=N: độ dài tối thiểu chấp nhận đợc cộng với VÝ dơ: ThiÕt lËp cÊu h×nh file /etc/pam.d/passwd nh− sau #%PAM-1.0 password required pam_cracklib.so difok=3 minlen=15 password required pam_pwdb.so use_authtok nullok md5 Module pam_deny a Tóm tắt Tên module: pam_deny Các nhóm quản lý: account; authentication; password; session b Mô tả module Module đợc dùng để từ chối truy cập Module phù hợp cho đề mục ngầm định /etc/pam.d/other 43 c Thành phần tài khoản (Account component): Thành phần không thực việc trả lỗi Ví dụ: Nếu ta thêm dòng sau vào /etc/pam.d/login, để không cho phép tài khoản đợc đăng nhập hệ thống account required pam_deny.so d Thành phần xác thực (authentication component) Thành phần không thực việc trả lỗi Ví dụ: Để từ chối truy cập tới ứng dụng ngầm định thành phần module pam_deny, bạn thêm dòng sau vào file cấu hình PAM /etc/pam.d/other: auth required pam_deny.so e Thành phần mật (Password component) Thành phần module từ chối ngời dùng hội thay đổi mật họ Nó trả lại PAM_AUTHOK_ERR đợc gọi Ví dụ: để tránh login tự động nhắc mật mật cũ hết hạn bạn thêm dòng sau vào file cấu hình /etc/pam.d/login login password required pam_deny.so f Thành phần phiên (session component) Không cho phép khởi động session máy Tõ chèi phiªn ng−êi dïng trªn hƯ thèng Module giíi hạn tài nguyên hệ thống a Tóm tắt Tên module: pam_limits Nhóm quản lý: session Phụ thuộc hệ thống: Yêu cầu file cấu hình /etc/security/limits.conf nhân hỗ trợ giới hạn tài nguyên Nó sử dụng th viện libpwdb b Mô tả module Thông qua phiên đợc mở, module thiết lập giới hạn tài nguyên hệ thống từ phiên ngời dùng Các tham số: debug; conf=/path/to/file.conf Thông qua nội dung file cấu hình /etc/security/limits.conf, giới hạn tài nguyên đợc đặt cho phiên ngời dùng Sự hạn chế không hiệu lực với siêu ngời dùng Ví dụ: Trớc tiên phải tạo file đọc ngời dùng root (ngầm định /etc/security/limits.conf) File mô tả tài nguyên giới hạn mà siêu ngời dùng muốn áp dụng cho ngời dùng nhóm Mỗi dòng có dạng sau: Các trờng đợc điền nh sau: 44 là: tên ngời dùng tên nhóm, với cú pháp @group dấu *, cho đề mục ngầm định là: hard: để bắt buộc giới hạn tài nguyên cứng Những giới hạn đợc thiết lập siêu ngời dùng nhân Linux Ngời dùng nâng giá trị soft: để bắt buộc giới hạn tài nguyên mềm Với giới hạn này, ngời dùng chuyển lên xuống vùng cho phép là: • core - giíi h¹n kÝch th−íc file gèc (KB) • data - kÝch th−íc d÷ liƯu lín nhÊt (KB) • fsize - kÝch th−íc file lín nhÊt (KB) • memlock - không gian địa nhớ-khoá lớn (KB) • cpu - thêi gian CPU lín nhÊt (MIN) • nproc - sè tiÕn tr×nh lín nhÊt • maxlogins - số đăng nhập lớn cho ngời dùng VÝ dơ: ta so¹n file /etc/security/limits.conf nh− sau: # * soft core * hard rss 10000 @student hard nproc 20 @student hard maxlogin Thêm vào file /etc/pam.d/login dßng sau: session required pam_limits.so Module no-login a) Tóm tắt Tên module: pam_nologin Nhóm quản lý: authentication b) Mô tả Cung cấp xác thực nologin chuẩn UNIX NÕu file /etc/nologin tån t¹i, chØ ng−êi dïng root míi đợc phép đăng nhập; ngời dùng khác đăng nhập với thông báo lỗi Nếu không tồn file /etc/nologin, module hoàn toàn im lặng Nó đợc sử dụng với phơng thức required 45 Module pam_permit a Tóm tắt Tên module: pam_permit Nhóm quản lý: account; authentication; password; session Module nguy hiểm, thờng đợc dùng với cảnh báo nguy hiểm, cho phép truy cập, mà chẳng làm b Thành phần Account+Authentication+Password+Session Module đơn giản trả mã thành công PAM_SUCCESS Khi ngời quản trị hệ thống muốn tắt quản lý tài khoản trạm làm việc, thời điểm hành cho phép đăng nhập, cần thêm vào file /etc/pam.d/login: account required pam_permit.so Module sở liệu mật a Tóm tắt Tên module: pam_pwdb Nhóm quản lý: account; authentication; password; session Module thay cho module pam_unix_ b Thành phần account Dựa vào phần tử sau: expire; last_change; max_change; defer_change; warn_change, module cho biết trạng thái tài khoản, mật ngời dùng Trong trờng hợp sau đó, khuyên ng−êi dïng thay ®ỉi mËt khÈu VÝ dơ: Trong chÕ độ tài khoản, module đợc chèn vào file /etc/pam.d/login/ để đảm bảo tài khoản ngời dùng mật hoạt động account required pam_pwdb.so c Thành phần xác thực Có thể sử dụng tham số debug để ghi thông tin hoạt động syslog() Hoạt động ngầm định không cho phép ngời dùng truy cập vào dịch vụ nếu họ trống Một file nhị phân, pwdb_chkpwd đợc cung cÊp ®Ĩ kiĨm tra mËt khÈu cđa ng−êi dïng gọi d Thành phần mật Có thể sử dụng tham số sau cho thành phần này: debug, nullok, not_set_pass, use_authtok, try_first_pass, use_first_pass, md5, bigcrypt, shadow, radius, unix Phần module pam_pwdb cung cấp tác vụ cập nhËt mËt khÈu cđa ng−êi dïng Module nµy cã thĨ chun mËt khÈu cđa ng−êi dïng tõ CSDL nµy sang CSDL khác, bảo mật đề mục CSDL ngời dùng theo dạng khác nhau, sử dụng tham số shadow, radius unix 46 d Thành phần session Thành phần không nhận dạng tham số Các tác vụ ghi nhật ký tên ngời dùng kiểu dịch vụ cho syslog() Các thông điệp đợc ghi từ bắt đầu phiên cuối phiên Module securetty a Tóm tắt Tên module: pam_securetty Nhãm qu¶n lý: authentication Phơ thc: file cÊu hình /etc/securetty b Thành phần xác thực Cung cấp kiểm tra tty đợc phép chuẩn Unix, nhằm kiểm tra cho phép ngời dùng root đăng nhập tty file /etc/securetty Mọi ngời dùng khác hệ thống đợc phép đăng nhập tất console KÕt ln Cã thĨ thÊy r»ng PAM cung cÊp kh¸ nhiều module khác nhau, giúp ngời quản trị dễ dàng thay đổi phơng pháp xác thực khác Tuy nhiên module yêu cầu (require) nhiều gói chơng trình, th viện khác Cụ thể, PAM require gói th viện sau: cracklib cracklib-dicts pwdb >= 0.54-2 initscripts >= 3.94 /sbin/ldconfig ld-linux.so.2 libc.so.6 libcrypt.so.1 libnsl.so.1 libpwdb.so.0 libcrack.so.2 libdb.so.3 libdl.so.2 libglib-1.2.so.0 libpam.so.0 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1) libcrypt.so.1(GLIBC_2.0) libdb.so.3(GLIBC_2.1) libdl.so.2(GLIBC_2.0) libdl.so.2(GLIBC_2.1) libnsl.so.1(GLIBC_2.0) Tuy nhiên hệ thèng cđa chóng ta sư dơng mäi module kh¶ dơng Ta tối thiểu đợc nhiều modules không cần thiết gói phù hợp với mục đích, yêu cầu 47 Tài liệu tham kh¶o [1] - Authentication HOWTO - Peter Hernberg [2] - Shadow Password Howto - Michael H Jackson mhjack@scnet.com [3]- Security HOWTO [4]- The Linux-PAM System Administrator’s Guide, Adrew G Morgan [5]- Crypt() [6]- Practical Unix Security - Simson Garfinkel and Gene Spafford [7] - C¸c trang man getty(); mingetty(); login(); sulogin; [8] - Text - Terminal HOWTO - David S Lawyer dave@lafn.org 48 PHầN II AN TOàN CủA Hệ ĐIềU HàNH SUN SOLARIS 49 Chơng I- Giới thiệu đánh giá khả an toàn Solaris Chúng cung cấp tập hợp đầy đủ chức an toàn mô tả bốn mức bảo vệ SolarisTM: Mức bao gồm tính công cụ giúp ngời quản trị kiểm soát chặt chẽ ngời đăng nhập hệ thống Mức mô tả công cụ cho phép ngời quản trị thiết lập giải pháp an toàn tổng thể cho hệ thống Mức gồm dịch vụ phân tán an toàn (Secure Distributed Services) tảng phát triển (Developers Platforms), mô tả cách Solaris hỗ trợ chế xác thực mã hoá khác Mức mô tả công cụ điều khiển truy nhập tới mạng vật lý 1.1-An toàn: Vấn đề công ty toàn cầu Việc trung tâm liệu đứng độc lập với yêu cầu an toàn hoàn toàn tập trung giảm nhanh chóng môi trờng tính toán tập thể đại đợc nói đến nhiều Các môi trờng phân tán hiệu cao u giá cả, hệ thống khách đợc tách khỏi server mạng không ngừng tăng lên Thêm vào đó, mối liên kết tổ chức thơng mại, cá nhân phủ toàn giới mở rộng cộng đồng ngời dùng, họ có khả truy nhập tới tài nguyên nội công ty Đồng thời, ngời dùng ngày thông thạo phức tạp Đáng tiếc, mét sè ng−êi ®· dïng hiĨu biÕt cđa hä víi mục đích không đáng Mặc dù hacker tiếng đợc đăng tải thông tin đại chúng, nhng nghiên cứu cho thấy phần lớn hành động xâm phạm máy tính không bị phát Những xu hớng làm nảy sinh thay đổi yêu cầu an toàn liên kết toàn cầu Không có ngạc nhiên mà an toàn lên nh vấn đề cốt lõi công ty mong muốn tận dụng lợi ích việc thực thi hệ thống phân tán toàn cầu, mà không làm nguy hiĨm tíi tÝnh bÝ mËt vµ toµn vĐn cđa thông tin nhạy cảm Vì thế, ngời quản trị hệ thống mạng phải có khả lựa chọn sản phẩm đáp ứng đầy đủ tính nhằm vào nhu cầu an toàn hay thay đổi họ Giải pháp Solaris Sun đa tập tính an toàn hoàn chỉnh đầy đủ phù hợp với yêu cầu khác môi trờng tính toán tập thể thời: Nó đa công cụ tự động đơn giản hoá cấu hình trạng thái an toàn hệ thống, thông báo điểm bị an toàn Nó cung cấp dịch vụ file th mục đợc phân phối an toàn sở cho việc phát triển ứng dụng an toàn Nó đáp ứng chuẩn quan trọng Mỹ quốc tế nh tính an toàn Internet gần 50 Cuối cùng, sản phẩm nhóm thứ ba bổ sung vào mà trớc Sun đa cho tổ chức loạt bảo vệ chống lại vi phạm an toàn xảy 1.2-Solaris: Giải pháp an toàn Solaris Sun bảo vệ chống lại xâm nhập trái phép giải pháp an toàn hệ thống mạng theo nhiều hớng Sơ đồ bảo vệ Solaris bốn mức cho phép ngời giám quản: Điều khiển ngời đăng nhập vào hệ thống Điều khiển khả truy nhập tài nguyên hệ thống để tự động ghi chép ngời dùng chơng trình Thực thi dịch vụ tệp th mục đợc phân phối an toàn cung cấp sở cho việc phát triển ứng dụng dịch vụ an toàn Điều khiển truy nhập tới mạng vật lý Những phần sau mô tả chi tiết bốn hớng an toàn Solaris 1.3-Mức 1: Điều khiển đăng nhập Solaris Mức thứ điều khiển an toàn Solaris bao gồm tính công cụ giúp ngời giám quản kiểm soát chặt chẽ ngời đăng nhập vào hệ thống Trọng tâm mục tiêu việc sử dụng mật dùng để kiểm tra định danh ngời cố gắng vào mạng Nói cách khác, có mật đợc xem riêng anh ta, chứng minh cá nhân cố gắng đăng nhập thực "đáng tin cậy" ngầm hiểu đợc cấp "quyền" đăng nhập hệ thống Đơng nhiên, hệ thống xác định mật bị ngời khác chủ nhân sử dụng Điều việc bảo vệ mật khÈu lµ cùc kú quan träng Solaris cã nhiỊu tÝnh điều khiển việc tạo, sử dụng lu trữ an toàn mật Những tính đợc hiểu cách chung chung tính quản lý mật khẩu, chúng bao gồm: Xác nhận mËt khÈu: Solaris so s¸nh mËt khÈu ng−êi dïng cung cấp với mật đặt lu trữ ngời dùng file đặc biệt (xem "File mật bóng") Nếu mật tơng hợp, ngời dùng đợc phép vào mạng Định thời gian cã hiƯu lùc cđa mËt khÈu: Solaris cho phÐp ng−êi giám quản đặt ngày hết hạn mật Solaris cảnh báo ngời dùng mật hết hạn yêu cầu đặt mật Khi mật hết hạn, không đặt mật mới, cố gắng vào mạng bị từ chối (Lu ý NIS+ Solaris 2.5 hỗ trợ định thời hạn mật phạm vi vùng) Không cho phÐp mËt khÈu cò: L©u l©u, mét mËt khÈu bị lặp lại, có nhiều khả tìm Tính ngăn chặn ngời dùng sử dụng lại mật dùng trớc Định tính mật khẩu: Solaris giúp đảm bảo bạn tạo đợc mật khó đoán Nó làm điều cách kiểm tra xem mật có đủ số lợng ký tự và/hoặc ký hiệu hay không 51 Che file mật khẩu: File "ẩn" (đợc gọi /etc./shadow) lu tất mật ngời dùng đọc từ gốc (root) Tr−íc thùc hiƯn che file mËt khÈu, nh÷ng ng−êi hợp pháp khác truy nhập file mật Định thời hạn tài khoản: Điều cho phép ngời giám quản hệ thống đặt ngày hết hạn tài khoản Sau ngày hết hạn, tài khoản không hiệu lực Dòng sản phẩm quản lý an toàn Sun tạo điều kiện cho sản phẩm Solaris có nhiều hạn chế đăng nhập Một số ví dụ nh sau: Hạn chế số truy nhập: Điều nghĩa ngời dùng không đợc phép vào mạng thời gian mà ngời giám quản hệ thống định trớc, ví dụ nửa đêm xung quanh Không cho phép vào mạng sau nhiều lần vô hiệu: Điều ngăn chặn ngời dùng (và chơng trình) đoán mật việc thử đăng nhập nhiều lần Tự động khoá hình khỏi mạng: Sau khoảng thời gian quy định không làm gì, trạm làm việc tự động khoá hình khỏi mạng Những điều khiển tăng cờng đặc quyền root/su: Yêu cầu cung cấp mật đặc biệt để truy nhập đặc quyền root superuser Bảo vệ truy nhập từ xa Vì truy nhập hệ thống trái phép có khả xảy thực đợc đờng điện thoại từ xa, nên Solaris cho phép cổng modem có mật bảo vệ Khi đặt mật cổng modem, ngời dùng điện thoại từ xa trớc hết đợc hỏi Nếu trả lời đúng, ngòi dùng đợc phép tiến hành trình đăng nhập hệ thống bình thờng Các sản phẩm bổ sung cung cÊp b¶o vƯ truy nhËp tõ xa kh¶ dơng với Solaris từ nhóm thứ ba Ví dụ, công nghệ thẻ số có từ công ty nh Enigma Logic Security Dynamics Thẻ số mật đợc dùng "chỉ lần" để điều khiển truy nhập từ xa Một tập thẻ số cầm tay đăng ký trớc trợ giúp thiết bị phải mang xa Theo lợc đồ này, mật không bị dùng lại, an toàn Một phiên phần mềm vùng công khai thẻ số S/Key có Internet truy nhập cách truyền file địa sau: thumper.bellcore.com /pub/nmh 1.4-Mức 2: Điều khiển truy nhập tài nguyên hệ thống Một ngời dùng vào mạng thành công, bắt đầu thử truy nhập tài nguyên Vì thế, Solaris cho phép ngời giám quản kiểm soát khả truy nhập tài nguyên chung hệ thống việc cung cấp công cụ thiết lập trạng thái an toàn tổng thể cho hệ thống Solaris hỗ trợ tính cho phép đặt quyền truy nhập file thích hợp Thêm nữa, khả kiểm soát đợc cung cấp nhằm theo dõi lần truy nhập Các tính đợc mô tả chi tiết dới 52 Thiết lập kiểm tra thực trạng an toàn Solaris Hầu hết ngời giám quản hệ thống đồng ý có nhiều lần muốn đánh giá thực trạng an toàn tổng thể hệ thống và/hoặc thiết lập cho phù hợp Để thực điều này, Solaris tính đến việc tự động đánh giá thực trạng hệ thống nh đặt ba mức an toàn xác định trớc: thấp, trung bình, cao Bằng việc chạy định kỳ, ASET cảnh báo ngời giám quản vi phạm an toàn xảy Dới ví dụ mà ASET kiểm tra: Sù tån t¹i cđa mËt khÈu EEPROM cđa hƯ thèng ngăn chặn cá nhân không đợc phép khởi động hệ thống chế độ có ngời dùng Sử dụng không an toàn biến UMASK điều khiển việc cài đặt tuỳ chọn file ban đầu file đợc tạo Sử dụng không an toàn biến PATH đa thứ tự th mục đợc tìm kiếm lệnh chơng trình thực cụ thể Những cài đặt quyền file hệ thống Sự tồn chơng trình cài đặt Các quyền th mục ban đầu Nội dung tệp: rhosts, /etc/passwd, /etc/group Kích thớc file /usr/bin /bin Lu ý ngời giám quản có tuỳ chọn cảnh báo vấn đề xảy th điện tử Khi sử dụng cài đặt hệ thống theo mô hình an toàn mức thấp, ASET đảm bảo thuộc tính file (các quyền) đợc đặt giá trị theo chuẩn ban hành Một vài kiểm tra đợc thực chỗ yếu an toàn có đợc thông báo Cài đặt an toàn mức trung bình đảm bảo an toàn thích đáng với hầu hết môi trờng ASET thay đổi cài đặt quyền số file hệ thống (ví dụ, ttytab, host.equiv) tham số hạn chế truy nhập hệ thống Những kiểm tra an toàn bổ sung đợc thực hiện, chỗ yếu thay đổi truy nhập đợc thông báo Cài đặt an toàn mức cao sản sinh hệ thống an toàn Nhiều file tham số hệ thống đợc cài đặt cho phép truy nhập tối thiểu Cài đặt an toµn møc cao còng cã thĨ hủ bá viƯc chun tiếp IP Tuy nhiên, chức nhờng hẳn cho sản phẩm SolsticeTMFileWall-1TM SolsticeTMSunScreenTM Sun đợc trình bày sau tài liệu Với ASET, ngời giám quản không cần lãng phí thời gian quý báu cố gắng tìm kiếm tay lỗ hổng an toàn hệ thống ASET tính Solaris sở hệ thống khác Bảo vệ file Solaris File tài nguyên phải đợc bảo vệ sở hệ thống từ PCs ®Õn c¸c m¸y tÝnh lín Solaris thùc thi hai biƯn pháp để bảo vệ file: cài đặt quyền "kiểu 53 Unix" truyền thống danh sách điều khiển truy nhập (ACLs) Với việc cài đặt quyền "kiểu Unix", thiết lập dẫn quyền đọc, ghi thực ngời sở hữu file, nhóm đợc lựa chọn, "mọi ngời" (cũng hiểu "ngời khác") Tuy nhiên, nhợc điểm cài đặt quyền việc truy nhập bị hạn chế sở nhóm tách riêng đặc quyền (hoặc hạn chế) cụ thể cá nhân Solaris hỗ trợ danh sách điều khiển truy nhập (ACLs) Các danh sách điều khiển truy nhập danh sách điều khiển truy nhập tới file Với ACLs, danh sách mở rộng thông tin cấp phép đợc trì file cho phép phân nhỏ điều khiển truy nhËp file VÝ dơ, víi ACLs truy nhËp cã thĨ đợc điều khiển sở ngời dùng thay sở nhóm ACLs Solaris tuân theo đặc tả POSIX 1003.6 Chúng đợc thực thi với c¶ HƯ thèng File Ng−êi dïng (UFS) còng nh− víi NFS phiên Kiểm toán Kiểm toán nằm phần giúp cho ngời giám quản theo dõi kiện liên quan tới an toàn bao gồm nhiều kiểu thử truy nhập khác Nếu vi phạm xảy ra, nhật ký kiểm tra giúp xác định xảy ra, giúp tìm thủ phạm! Solaris có hai phơng pháp kiểm tra: Nhật ký hệ thống Unix kiểm tra C2 Cả hai đợc đề cập đến phần Các nhật ký hệ thống Unix (syslogs) lu giữ dấu vết kiện đăng nhập, sử dụng tài nguyên, tiêu, nhiều Nhiều thiết bị hệ thống sử dụng syslog để ghi chép thông báo cho ngời giám quản hệ thống kiện quan trọng Các kịch chơng trình khung, gói đợc ghi vào CSDL syslog để kiểm soát tình đặc biệt Kiểm tra C2, gọi Bảo vệ Truy nhập có điều khiển, đa báo cáo kiểm tra chi tiết Vào năm 1980, Cục Bảo vệ định nghĩa kiểm tra C2 nh phần nguyên tắc đạo mức an toàn máy tính khác Các yêu cầu đợc đa Orange Book hay tiêu chuẩn đánh giá hệ thống máy tính tin cậy (TC-SEC) Các mức an toàn đợc liệt kê bắt đầu với D cho mức thấp nhất, A1 với mức cao Trung tâm an toàn máy tính quốc gia (NCSC) đánh giá hệ thống dựa vào tiêu chuẩn C2 tạo nhật ký kiểm tra từ ngời dùng, kiện lớp Hơn nữa, với C2 ghi lại kiện mà ngời giám quản hệ thống cho "liên quan" tới an toàn Kiểm tra C2 Solaris bao gồm chức mô hình an toàn (BSM) cho phép ghi lại kiện hoàn toàn mức gọi hệ thống Trong trờng hợp không xảy vi phạm an toàn, khả kiểm tra Solaris cung cấp cho ngời giám quản hệ thống kê khai chi tiết hành vi liên quan Thông tin quan trọng giúp tìm nguồn gốc vấn đề 54 1.5-Mức 3: Các dịch vụ phân tán an toàn tảng phát triển Môi trờng điều hành nhân Solaris kết hợp chặt chẽ với họ dịch vụ phân tán ONC+TM đợc cấu hình cách tuỳ ý để chạy với tính an toàn bổ sung cho phép Khi có điều kiện, ONC+ bao gồm dịch vụ đặt tên phân tán NIS+ an toàn, dịch vụ file phân tán NFS TM an toàn sở gọi thủ tục từ xa an toàn độc lập với cấu vận chuyển (TI-RPC) (còn đợc hiểu đơn giản RPC an toàn) để xây dựng ứng dụng dịch vụ phân tán Sun cung cấp họ dịch vụ DCE sản phẩm rời gọi DCE cho Solaris Sản phẩm bao gồm dịch vụ file phân tán DFS, dịch vụ đặt tên phân tán CDS sở phát triển dựa vào DCE RPC (và thêm chi tiết khác không thích hợp với tài liệu này) Cả hai dịch vụ ONC+ DCE dựa vào sở công nghệ đợc mô tả phần Cơ sở công nghệ cho dịch vụ an toàn Trớc ngời dùng hệ thống khách truy nhập tới tài nguyên server, server phải chắn ngời dùng đợc công nhận có quyền truy nhập "hợp pháp" tới server tài nguyên Vì thế, ngữ cảnh này, server phải có khả để: Kiểm tra định danh ngời dùng mạng Chức dịch vụ xác thực cung cấp bao hàm dịch vụ kê khai điểm bên dới Đảm bảo ngời dùng đợc phép truy nhập tài nguyên mà cố gắng truy nhập đợc xác thực cách hợp lệ Dịch vụ cấp phép cung cấp điều Duy trì tính bí mật toàn vẹn thông tin đợc trao đổi mạng Những điều nhờ cậy vào dịch vụ bí mật toàn vẹn Các dịch vụ xác thực, bí mật toàn vẹn Việc xác thực ngời dùng mạng đòi hỏi thông tin "nhãn quyền" nhạy cảm phải đợc trao đổi hệ thống khách chủ Vì cách đảm bảo thông tin không bị chặn lại tới đích, nên phải đợc bảo vệ không bị dịch thay đổi suốt tuyến Vì thế, dịch vụ phân tán an toàn phải có cách bảo vệ tính bí mật toàn vẹn thông tin Các dịch vụ bí mật toàn vẹn đợc gói với dịch vụ xác thực Dịch vụ bí mật cung cấp cách biến đổi thông tin thành dạng mà ngời nhận định trớc dịch đợc Điều đợc xem nh mã hoá liệu Ngời nhận có trách nhiệm giải mã liệu hay noí cách khác biến đổi trở lại dạng đọc đợc Dịch vụ toàn vẹn cung cấp cách tính toán tổng kiểm tra thông tin, mà kiểm tra đợc thông tin bị biến đổi nội dung ban đầu hay cha Hiện có nhiều dịch vụ xác thực tồn bật Vì vậy, Solaris đáp ứng kiến trúc mềm dẻo cho phép tiếp cận tới chế xác thực tơng lai Hiện thời Solaris, chế xác thực có Kerberos, Diffie-Hellman Unixstyle đợc đáp ứng tiếp cận thông qua giao diện TI-RPC an toàn Thực tế, NIS+ an toàn NFS an toàn đợc phát triển TI-RPC an toàn 55 Các dịch vụ DCE an toàn Solaris tiếp cận xác thực Kerberos thông qua giao diện DCE RPC Cả DFS CDS đợc lập trình cho giao diện DCE RPC tận dụng cho dịch vụ xác thực Kerberos Sun thực thi kiến trúc xác thực sửa lại dựa vào chuẩn Internet RFC 1508, hiểu dịch vụ an toàn API chung (GSSAPI- General Security Services Application Programming Interface) GSSAPI kÕt hỵp nhiỊu giải pháp xác thực dới API Nó đảm bảo xác thực "tải thêm đợc" tin cậy Điều có nghĩa chế xác thực đợc đa vào ghép nối mà không ảnh hởng tới ứng dụng dịch vụ tồn Thuật ngữ GSSRPC biểu diễn tích hợp TI-RPC với GSSAPI Sun Solaris GSSRPC đa ứng dụng dựa vào RPC tiếp cận với tuỳ chọn xác thực phức tạp Module xác thực tải thêm (PAM- Pluggable Authentication Module) Đợc phát triển ban đầu Sun OSF chấp nhận đa vào CDE/Motif PAM cung cấp mô hình tải thêm cho chế xác thực hệ thống nh dịch vụ liên quan khác chẳng hạn quản lý mật khẩu, tài khoản phiên Các dịch vụ đặc biệt có lợi cho ứng dụng cung cấp yêu cầu "đầu vào hệ thống" (hoặc đăng nhập) phải xác minh định danh ngời dùng nh thông tin tài khoản Một số ví dụ phổ biến øng dơng nµy lµ login, dtlogin, rlogin, rsh, telnet, ftp, Các chế an toàn tiếp cận qua PAM đợc thi hành ngời giám quản cài đặt module phần mềm chia xẻ, có khả tải động suốt ứng dụng PAM cho phép ngời giám quản cấu hình chế xác thực ngời dùng sở ứng dụng Ví dụ, cổng yêu cầu xác thực mật khÈu S/Key ®Ĩ truy nhËp Telnet ®ang cho phép phiên đăng nhập giao tiếp với xác thùc mËt khÈu UNIX Víi PAM còng cã thĨ cÊu hình nhiều chế xác thực cho ứng dụng Ví dụ, ngời giám quản muốn xác thực ngời dùng Kerberos RSA Cuối cùng, PAM cho phép ngời dùng ứng dụng cung cấp mật đơn lẻ mà nhiều dịch vụ xác thực sử dụng GSS-API GSS-API chuẩn đợc đề xuất, nh định nghĩa RFC-1508 RFC-1509 Nó trở thành chuẩn thực tế, nói chung kiểu tổng quát, để giao dịch với dịch vụ an toàn (chẳng hạn xác thực, toàn vẹn mã hoá) Các ứng dụng chạy độc lập với chế công nghệ an toàn bªn d−íi Nã còng cho phÐp cã thĨ di chun mức nguồn PAM API GSS-API phần bù nhau, PAM API hỗ trợ xác thực ngời dùng server lối vào hệ thống, GSSAPI hỗ trợ xác thực Client/Server dựa vào mạng Vì thế, ngời dùng hệ thống khách đợc xác thực thông qua PAM, họ kết nối cách an toàn với hệ thống server sử dụng GSSAPI dựa vào dịch vụ xác thực Các dịch vụ cấp phép Dịch vụ hay chế cấp phép cung cấp cách đảm bảo ngời dùng đợc cấp 56 phép truy nhập thông tin mà cố gắng truy nhập từ xa NFS cung cấp hai chế cấp phép: dấu hiệu quyền file POSIX 1003.6 tuân theo ACLs Cả quyền danh sách điều khiển truy nhập đợc đề cập phần có tiêu đề "Bảo vệ file Solaris" NIS+ an toàn dùng phơng pháp gọi quyền truy nhập bảng biểu thị cho phép truy nhập thông tin lu bảng NIS+ Để có thêm thông tin quyền truy nhập bảng, xem giải trình NIS+ DCE DFS sư dơng chn ACL riªng cđa nã nh− DCE ACLs Dịch vụ đặt tên phân tán DCE CDS khiến cho việc sử dụng DCE ACLs tốt Các tiện ích an toàn từ xa Bên cạnh dịch vụ an toàn, Solaris có tiện ích an toàn từ xa nh− lµ telnet, ftp, rcp, rsh vµ rlogin Cã mét số liên quan tới tiện ích "Kerberized" chúng thờng dùng xác thực Kerberos Dấu hiệu khởi đầu riêng Một vấn đề nhiều nhà sản xuất, môi trờng phân tán phải phù hợp với thực tế đa số trờng hợp, máy chủ server đòi hỏi ngời dùng cung cấp mật riêng để đợc truy nhập tới dịch vụ Một phơng pháp gọi dấu khởi đầu riêng nảy sinh để giải vấn đề Với dấu khởi đầu riêng, ngời dùng đa vào mật để đợc truy nhập tới tất hệ thống môi trờng phân tán Mặc dầu phần giải pháp, giao diện PAM đợc nói đến phần có tiêu đề "Các dịch vụ xác thực, bí mật toàn vẹn" giúp cho phép dấu khởi đầu riêng nhờ khả tích hợp nhiều chế xác thực Hiện tại, Sun phát triển dấu khởi đầu riêng để đáp ứng nhiều môi trờng, chẳng hạn ONC+ DCE Dòng sản phẩm quản lý an toàn Sun (kể Solaris) đồng Solaris với môi trờng nhiều nhà sản xuất khác nh Windows, IBM/MVS, VMS, 1.6-Møc 4: §iỊu khiĨn truy nhËp tíi mạng vật lý Các mạng máy tính trớc không đợc thiết kế để điều khiển an toàn chặt chẽ, đợc giả thiết cổng (và ngời dùng) kết nối với mạng có khả tin cậy lớn Thời gian kinh nghiệm cho thấy giả thiết đắn Thêm vào mối đe doạ từ bên xảy ra, ngời dùng nội đợc theo dõi cẩn thận vô tình để lộ liệu hay dịch vụ tổ chức từ mạng bên Vì thế, ngời ta mong muốn ngăn chặn hai loại vấn đề xảy mà không yêu cầu ngời trở thành chuyên gia an toàn Sun đáp ứng mức dịch vụ - Solaris với Solstice Filewall-1 sản phẩm Solstice Sunscreen rời cđa nã Solstice Firewall-1 Mơc ®Ých cđa mét "firewall", còng đợc hiểu hệ thống an toàn mạng, đảm bảo kết nối mạng cục tổ chức mạng mở tơng thích với sách an toàn mạng xác định tổ chøc Mét sè vÝ dơ vỊ c¸c chÝnh s¸ch an toàn mạng "cho phép truy nhập tới tất dịch vụ trừ bị từ chối thẳng thừng" "từ chối truy nhập tới tất dịch vụ trừ đợc cho phép rõ ràng" Một sách an toàn đợc thiết lËp, Firewall-1 cã thĨ trỵ gióp 57 viƯc thùc thi môi trờng mạng dựa vào sách thiết lập Solstice Firewall-1 giải pháp phần cứng phần mềm kết hợp đợc thiết kế cho phép không cho phép goí vào mạng nội dựa vào sách an toàn thiết lập Mạng mở rộng thờng mạng công cộng, chẳng hạn Internet Tuy nhiên, Firewall-1 đợc dùng để điều khiển lu thông trụ sở khác mạng cục Solstice Firewall-1 tổ hợp tính nh che gói đặc biệt "nhận ra" giao thức với mức ứng dụng cổng mạng để đảm bảo có máy lọc gói an toàn, tổng quát hiệu Bổ sung vào c«ng nghƯ läc, nã bao gåm mét hƯ thèng ghi chép biến đổi đủ mạnh để giúp phòng ngừa vi phạm cố ý Một giao diện ngời dùng trực quan, hớng đối tợng, cài đặt cấu hình thuận tiện đợc nói đến Solstice SunScreen Solstice SunScreen kết hợp chức firewall với xác thực mức mạng (hay IP), gọi SKIP (quản lý khoá đơn giản IP) Nó mạng, giao thức øng dơng ®éc lËp KiÕn tróc "lÊy lÐn" nhÊt SunScreen cho phép tổ chức có khả cài đặt mạng bí mật thực an toàn qua kết nối mạng công cộng, chẳng hạn Internet Vì router, nên gói qua mà không bị ghi lại dấu hiệu tồn Vì thế, Solstice SunScreen không cho kẻ định xâm nhập thiếu hiểu biết lợi dụng có khả phát Cấu hình SunScreen bao gồm thiết bị phần cứng trung tâm (gọi SunScreen SPF-100) trạm quản trị an toàn theo quy tắc tham số SunScreen đợc mô tả Nó cho phép vài mạng đợc quản trị nh mạng đơn lẻ với dãy địa IP Điều làm giảm nhu cầu địa IP giao diện bổ sung đảm bảo vị trí trung tâm ghi nhật ký quản trị 1.7-Các chuẩn an toàn Solaris đáp ứng tập chuẩn an toàn quan trọng mà Cục bảo vệ đa ra, POSIX kết nối Internet Ví dụ: Solaris thoả mãn tập điều kiện mà Sách da cam Cục bảo vệ đa cho hệ thống an toàn tính toán mức C2 Solaris 2.4SE cã chøng nhËn E2/F-C2 cđa ITSEC C¸c chøng nhËn Solaris đợc xúc tiến Solaris UFS NFS phiên đáp ứng mô tả POSIX 1003.6 danh sách điều khiển truy nhập (ACLs) Internet RFC 1508, GSSAPI triển khai Trạm theo mô hình chia ngăn (CMW-B1) cung cấp gọi "Solaris tin cậy" triển khai đối víi Solaris 2.X Trong t−¬ng lai, Solaris sÏ tiÕp tơc hoàn thiện đa chuẩn an toàn đáp lại yêu cầu khách hàng 1.8-Solaris- giải pháp lựa chọn môi trờng phân tán an toàn Không nghi ngờ cần thiết giải pháp an toàn phức tạp môi trờng mạng phân tán ngày Solaris trang bị cho tổ chức công cụ để bảo vệ liệu nhạy cảm tổ chức tránh kẻ xâm nhập với bốn mức an toàn 58 nó: Điều khiển Truy nhập Hệ thống, Điều khiển Truy nhập Tài nguyên, Dịch vụ phân tán an toàn Bảo vệ Mạng Vật lý Nó tôn trọng triệt để tập chuẩn an toàn cao tổ chức nh Cục bảo vệ POSIX đa nh cung cấp công nghệ để truy nhập mạng công cộng an toàn với sản phẩm rời nh Solstic Firewall-1 Solstice SunScreen Một số lợng lớn sản phẩm nhóm ba bổ sung đầy đủ vào có Sun Cuối cùng, Solaris đảm bảo tính mềm dẻo với loạt lựa chọn thoả mãn nhu cầu thách thức đa dạng phong phú tổ chức 59 Chơng II -Quản lý hệ thống an toàn Việc giữ an toàn thông tin hệ thống trách nhiệm giám quản hệ thống quan trọng Chơng cung cấp thông tin tổng quan quản lý an toµn hƯ thèng ë møc file, hƯ thèng mạng Sau danh sách thông tin tổng quan chơng "Cấp quyền truy nhập tới hệ thống máy tính" mục 2.1 "An toàn file" mục 2.2 "An toàn hệ thống" mục 2.3 "An toàn mạng" mục 2.4 mức file, hệ điều hành SunOS 5.7 cung cấp số tính an toàn chuẩn sử dụng để bảo vệ file, th mục thiết bị mức hệ thống mạng, vấn đề an toàn hầu nh giống Theo vị trí làm việc, mét sè hƯ thèng kÕt nèi víi server cã thĨ đợc xem nh hệ thống đa diện lớn Ngời giám quản hệ thống có trách nhiệm bảo vệ hệ thống hay mạng lớn Nó không quan trọng việc bảo vệ mạng tránh kẻ xâm nhập cố tình truy nhập mạng, mà đóng vai trò quan trọng việc đảm bảo tính toàn vẹn liệu hệ thống mạng 2.1-Cho phÐp truy nhËp tíi hƯ thèng m¸y tÝnh B−íc việc bảo vệ an toàn điều khiĨn truy nhËp tíi hƯ thèng cđa b¹n B¹n cã thể điều khiển theo dõi truy nhập hệ thống bằng: Duy trì an toàn cổng vật lý Duy trì điều khiển đăng nhập Hạn chế truy nhập tới liệu file Duy trì điều khiển mạng Kiểm soát việc sử dụng hệ thống Đặt biến đờng dẫn cách đắn An toàn file Theo dõi việc đăng nhập siêu ngời dùng (gốc) Cài đặt firewall Sử dụng công cụ tăng cờng an toàn tự động (ASET-Automated Security Enhancement Tool) Duy trì an toàn cổng vật lý Để điều khiển truy nhập tới hệ thống bạn, bạn phải trì an toàn vật lý môi trờng tính toán bạn Chẳng hạn, hệ thống đợc nối máy không bị giám sát, dùng hệ thống truy nhập đợc tới hệ điều hành mạng Bạn cần có nhận thức môi trờng xung quanh máy tính bạn bảo vệ mặt vật lý tránh truy nhập trái phép 60 Duy trì điều khiển đăng nhập truy nhập Bạn cần phải hạn chế đăng nhập bất hợp pháp vào hệ thống hay mạng, bạn làm điều thông qua mật điều khiển đăng nhập Tất tài khoản hệ thống nên có mật Một tài khoản mật tạo nên khả truy nhập toàn mạng bạn cho đoán đợc tên ngời dùng Phần mềm hệ thống Solaris 5.7 hạn chế điều khiển thiết bị hệ thống ngời dùng đăng ký tài khoản Tiến trình chạy ngời dùng cao cấp (superuser) hay ngời dùng bàn điều khiển truy nhập chuột, bàn phím, vùng đệm chính, hay thiết bị âm trừ /etc/logindevperm bị cắt xén Xem logindevperm(4) để có thêm chi tiết Hạn chế truy nhập tới liệu file Sau bạn thiết lập hạn chế đăng nhập, bạn điều khiển truy nhập tới liệu hệ thống bạn B¹n cã thĨ t ý cho phÐp mét sè ng−êi đọc số file, cho ngời khác quyền thay đổi hay xoá số file Bạn có số liệu mà bạn không muốn xem Chơng đề cập tới việc đặt quyền file nh Duy trì điều khiển mạng Các máy tính thờng phần cấu hình của hệ thống gọi mạng Một mạng cho phép hệ thống kết nối trao đổi thông tin truy nhập liệu tài nguyên khác có hệ thống đợc kết nối với mạng Nối mạng tạo nên cách tính toán mạnh phức tạp Tuy nhiên, nối mạng gây nguy hiểm cho an toàn máy tính Ví dụ, mạng máy tính, hệ thống riêng lẻ đợc mở cho phép chia xẻ thông tin Vì nhiều ngời truy nhập tới mạng, nên có nhiều hội cho phép truy nhập ý muốn, đặc biệt thông qua lỗi ngời dùng (ví dụ, thông qua việc dùng mật đơn giản) Giám sát sử dụng hệ thống Khi giám quản hệ thống, bạn cần giám sát hành vi hệ thống, nhận biết tất khía cạnh hệ thống bạn, gồm: Cái tải thông thờng? Ai truy nhập hệ thống? Khi cá nhân truy nhập hệ thống? Với loại thông tin này, bạn sử dung công cụ sẵn có để kiểm tra việc sử dụng hệ thống giám sát hành động ngời dùng đơn lẻ Việc giám sát có lợi nghi ngờ có vi phạm an toàn Đặt đờng dẫn Đặt biến đờng dẫn bạn cách đắn quan trọng; không, bạn tình cờ chạy chơng trình theo dẫn có hại cho liệu hay hệ thống bạn Loại chơng trình tạo nên mối nguy hiểm cho an toàn đợc gọi "Trojan horse" Ví dụ, chơng trình su thay đợc đặt th mục công cộng nơi mà bạn chạy với t cách ngời giám quản hệ thống Chẳng hạn, 61 trông giống nh lệnh su thông thờng; tự xoá bỏ sau thực hiện, nên bạn khó biết thực tế bạn chạy Trojan horse Biến đờng dẫn đợc đặt tự động thời điểm đăng nhập thông qua file starup: login, profile, cshrc Việc thiết lập đờng dẫn tìm kiếm ng−êi dïng cho th− mơc hiƯn thêi (.) trë thành th mục cuối ngăn bạn hay ngời dùng bạn không chạy kiểu Trojan horse Biến đờng dẫn superuser không nên có th mục hiƯn thêi TiƯn Ých ASET kiĨm tra c¸c file starup để đảm bảo biến đờng dẫn đợc thiết lập không chứa đầu vào chấm (.) An toàn file Vì hệ điều hành SunOS 5.7 hệ đa ngời dùng, an toàn hệ thống file rủi ro an toàn quan trọng hệ thống Bạn dùng bảo vệ file UNIX truyền thống hay danh sách điều khiển truy nhập (ACLs) an toàn để bảo vệ file bạn Ngoài ra, nhiều chơng trình thực phải đợc chạy với quyền root (đó là, với superuser) để làm việc đắn Những chơng trình thực chạy với tập ID ngời dùng (setuid=0) Bất kỳ quản lý chơng trình chạy chúng với ID gốc gây nên vấn đề an toàn không suy nghĩ an toàn viết chơng trình Ngoại trừ tệp thực đợc đóng gói với setuid đợc đặt cho root, bạn không nên cho phép sử dụng chơng trình setuid, giới hạn giữ việc sử dụng mức tối thiểu Cài đặt Firewall Một cách khác bảo vệ mạng bạn sử dụng firewall hệ thống cổng an toàn Firewall hệ thống chuyên dùng tách hai mạng, chúng xem khác nh mạng không tin cậy Khi bắt buộc, bạn quan tâm đến cài đặt mạng nội bạn mạng bên bất kỳ, chẳng hạn Internet, mà bạn muốn ngời dùng mạng nội kÕt nèi Firewall còng cã thĨ h÷u Ých gi÷a mét số mạng nội Ví dụ, firewall hay máy tính cổng an toàn không gửi gói liệu hai mạng máy tính cổng dịa khởi đầu hay đích gói Firewall thiết lËp gưi c¸c gãi chØ theo c¸c giao thøc thể Ví dụ, bạn cho phép gói truyền th, nhng không cho gói telnet rlogin Khi chạy mức an toàn cao, tiện ích ASET làm khả gửi gói giao thức Internet (IP) Thông báo vấn đề an toàn Nếu bạn có vi phạm an toàn đáng ngờ, bạn liên lạc với Computer Emergency Response Team/Coordination Center (CERT/CC), nơi có dự án Nhà nớc Defense Advanced Research Projects Agency (DARPA) đặt Viện Kỹ thuật Phần mềm trờng tổng hợp Carnegie Mellon Nó giúp bạn vấn đề an toàn mà bạn có Nó giới thiệu bạn với nhóm Computer Emergency Response có khả thích hợp với nhu cầu cụ thể bạn Bạn gọi CERT/CC theo đờng dây nóng 24 nó: (412) 2687090, liên lạc víi nhãm qua email cert@cert.sei.cmu.edu 62 2.2-An toµn file HƯ ®iỊu hµnh SunOS 5.7 lµ hƯ ®a ng−êi dïng, nghÜa tất ngời dùng đăng nhập vào hệ thống đọc sử dụng file thuộc ngời khác, cụ thể họ có quyền làm nh Bảng 2-1 mô tả ccác lệnh giám quản hệ thống file Xem chơng để có hớng dẫn bớc an toàn file Các lệnh quản lý file Bảng 2-1 liệt kê lệnh quản lý file mà bạn sử dụng file th mục Lệnh ls(1) chown(1) chgrp(1) chmod(1) Bảng 2-1 Các lệnh quản lý file Mô tả Liệt kê file th mục thông tin chúng Thay đổi quyền sở hữu file Thay đổi quyền sở hữu nhóm file Thay đổi quyền file Bạn sử dụng kiểu trừu tợng (các ký tự ký hiệu), kiểu xác (các số hệ 8) để thay đổi quyền file Mã hoá file Việc đặt file nhạy cảm vào th mục truy nhập đợc (kiểu 700) làm cho ngời khác đọc đợc file (kiểu 600) giữ cho an toàn hầu hết trờng hợp Tuy nhiên, số ngời doán đợc mật bạn hay mật gốc đọc ghi file Ngoài ra, file nhạy cảm đợc bảo quản băng lu lần bạn dự phòng file hệ thống vào băng May thay, tầng an toàn bổ sung sẵn có cho tất ngời dùng phÇn mỊm hƯ thèng SunOS 5.7 ë Mü - bé công cụ mã hoá file tuỳ chọn Bộ công cụ mã hoá gồm lệnh crypt(1) xáo trộn liệu để đoán đợc văn Các danh sách điều khiển truy nhập (ACLs) ACLs đảm bảo điều khiển tốt quyền file bảo vệ file UNIX truyền thống theo hệ điều hành SunOS không đủ Bảo vệ file UNIX truyền thống cung cấp quyền đọc, ghi, thực cho ba lớp ngời dùng: ngời sở hữu, nhóm lại Một ACL đảm bảo an toàn file tốt việc cho phép bạn định nghĩa quyền file ngời sở hữu, nhóm sở hữu, ngời khác, ngời dùng nhóm đặc biệt, quyền ngầm định cho loại Xem "Sử dụng danh sách điều khiển truy nhập (ACLs) chơng III ®Ĩ cã c¸c chØ dÉn tõng b−íc vỊ viƯc dïng ACLs Bảng 2-2 liệt kê lệnh ACL mà bạn dùng file th mục Lệnh setfacl(1) getfacl(1) Bảng 2-2 Các lệnh ACL Mô tả Chọn, thêm, thay đổi xoá khoản mục ACL Hiển thị khoản mục ACL 63 2.3- An toàn hệ thống Phần mô tả cách làm để bảo vệ hệ thống bạn chống lại truy nhập trái phép, chẳng hạn làm để ngăn chặn kẻ đột nhập đăng nhập vào hệ thống bạn, làm để lu giữ file mật khẩu, làm để ngăn chặn superuser trái phép truy nhập tới file chơng trình hệ thống nhạy cảm Bạn cài đặt hai hàng rào an toàn hệ thống Hàng rào an toàn thứ chơng trình đăng nhập Để vợt qua hàng rào truy nhập đợc vào hệ thống, ngời dùng phải cung cấp tên ngời dùng mật tơng ứng mà hệ thống cục dịch vụ tên (NIS NIS+) nhận biết đợc Hàng rào an toàn thứ hai đảm bảo superuser thay đổi di chuyển file chơng trình hệ thống Một superuser muốn làm đợc phải cung cấp tên ngời dùng gốc mật Những hạn chế đăng ký truy nhập Khi ngời dùng đăng nhập vào hệ thống, chơng trình đăng nhập tra cứu sở liệu thích hợp theo thông tin liệt kê file /etc/nsswitch.conf Những đầu vào file gồm files (chỉ file /etc), nis (chỉ sở liệu NIS) nisplus (chỉ sở liệu NIS+) Xem Solaris Naming Administration Guide nsswitch.conf(4) đặc tả file Chơng trình đăng nhập phê chuẩn tên mật ngời dùng đa vào Nếu tên ngời dùng không nằm file mật mật không với tên ngời dùng, chơng trình đăng nhập từ chối truy nhËp hƯ thèng Khi ng−êi dïng cung cÊp tªn có file mật mật với tªn, hƯ thèng cho phÐp ng−êi dïng truy nhËp hƯ thống Các cách đăng nhập đặc biệt Có hai cách phỉ biÕn ®Ĩ truy nhËp mét hƯ thèng - dïng cách đăng nhập ngời dùng quy ớc hay dùng cách đăng nhập gốc Bên cạnh đó, số cách đăng nhập hệ thống đặc biệt cho phép ngời dùng thi hành lệnh quản trị mà không dùng tài khoản gốc Ngời giám quản gán mật cho tài khoản đăng nhập Bảng 2-3 liệt kê tài khoản đăng nhập hệ thống cách sử dụng chúng Các cách đăng nhập hệ thống thực chức cụ thể, cách có số định danh nhóm riêng (GID) Mỗi cách đăng nhập có mật riêng mà đợc phân phối sở need-to-know Bảng 2-3 Các cách đăng nhập hệ thống Tài khoản đăng nhập GID Cách dùng root Hầu nh hạn chế không tính đến tất cách đăng nhập, bảo vệ quyền khác Tài khoản gốc có quyền truy nhập tới hệ thống đầu vào Mật để đăng nhập gốc cần đợc bảo vệ cẩn thËn daemon §iỊu khiĨn xư lý nỊn bin Sở hữu đa số lệnh 64 sys adm lp 71 uucp nuucp Së h÷u nhiỊu file hệ thống Sở hữu file quản trị Sở hữu file đối tợng liệu tác vụ song song với máy in Sở hữu file đối tợng liệu tác vụ song song với UUCP, chơng trình chép UNIX-toUNIX Đợc dùng cho hệ thống từ xa đăng nhập hệ thống bắt đầu truyền file Bạn nên đặt an toàn lệnh eeprom đòi hỏi mật Xem eeprom(1M) để biết thêm chi tiết Quản lý thông tin mật Khi đăng nhập vào hệ thống, ngời dùng phải đa vào tên ngời dùng mật Mặc dù cách đăng nhập đợc biết công khai, mật phải đợc giữ bí mật ngời dùng biết Bạn nên đề nghị ngời dùng bạn chọn mật họ cách cẩn thận, thay đổi chúng thờng xuyên Các mật đợc tạo từ đầu bạn cài đặt tài khoản ngời dùng Để trì an toàn cho tài khoản ngời dùng, bạn cài đặt thời hạn mật để buộc ngời dùng định kỳ thay đổi mật họ, bạn làm hiệu lực tài khoản ngời dùng băng việc chốt mật Xem "Quản lý tài khoản nhãm ng−êi dïng (Tæng quan)" System Adminitration Guide, Volumn I để có thông tin chi tiết cách cài đặt lu giữ mật File mật NIS+ Nếu mạng bạn sử dụng NIS+, thông tin mật đợc lu giữ sở liệu NIS+ Thông tin sở liệu NIS+ đợc bảo vệ việc hạn chế truy nhập ngời dùng hợp pháp Bạn sử dụng Solstice User Manager lệnh passwd(1) để thay ®ỉi mËt khÈu NIS+ cđa ng−êi dïng File mËt khÈu NIS Nếu mạng bạn sử dụng NIS, thông tin mật đợc lu giữ đồ mật NIS NIS không cung cấp thời hạn mật Bạn sử dụng SolsticeTM User Manager lệnh passwd(1) ®Ĩ thay ®ỉi mËt khÈu NIS cđa ng−êi dïng Các file /etc Nếu mạng bạn sử dụng file /etc, thông tin mật đợc lu giữ file /etc/passwd /etc/shadow Tên ngời dùng thông tin khác đợc lu giữ file mật /etc/passwd, thân mật đợc mã hoá lu giữ file shadow riêng, /etc/shadow Đó biện pháp an toàn ngăn chặn ngời dùng truy nhập tới mật mã hoá Trong tất ngời đăng nhập vào máy có thĨ tiÕp cËn víi file /etc/passwd, th× chØ superuser míi đọc đợc file /etc/shadow Bạn sử dụng Solstice AdminSuite's User Manager, Admintool, lệnh passwd(1) để thay đổi mật ngời dùng hệ thống cơc bé 65 Sư dơng Shell h¹n chÕ Shell chn cho phÐp ng−êi dïng më c¸c file, thùc hiƯn c¸c lệnh .Shell hạn chế đợc dùng để giới hạn khả thay đổi th mục thực lệnh ngời dùng Shell hạn chế (rsh) đợc đặt th mục /usr/lib (Lu ý Shell điều khiển từ xa, /usr/sbin/rsh) Shell hạn chế khác với Shell thông thờng điểm sau: Ngời dùng bị hạn chế th mục đầu (không thể dùng cd để thay đổi th− mơc) • Ng−êi dïng chØ cã thĨ sư dơng lệnh tập PATH ngời giám quản hệ thống (không thể thay đổi biến PATH) Ngời dùng chØ cã thĨ truy nhËp nh÷ng file th− mơc đầu th mục (không thể đặt tên lệnh file sử dụng tên đờng dẫn đầy đủ) Ngời dùng gửi lần với > >> Shell hạn chế cho phép ngời giám quản hệ thống hạn chế khả ngời dùng lạc vào file hệ thống, chủ yếu nhằm dựng lên ngời dùng cần thực công việc cụ thể Tuy nhiên, rsh không hoàn toàn an toàn, nhằm giữ cho ngời dùng không thạo khỏi lâm vào rắc rối Xem sh(1) để có thông tin shell hạn chế Theo dõi đăng nhập superuser (gốc) Hệ thống bạn yêu cầu mật gốc cho chế độ superuser Trong cấu hình ngầm định, ngời dùng từ xa đăng nhập vào hệ thống nh gốc Khi đăng nhập từ xa, ngời dùng phải đăng nhập theo thân sau dùng lệnh su để trở thành gốc Điều cho phép bạn theo dõi dùng quyền superuser hệ thống bạn Giám sát superuser hay ngời dùng khác Bạn phải dùng lệnh su để biến đổi thành ngời dùng khác, ví dụ bạn muốn trở thành superuser Để có lý lẽ an toàn, bạn muốn giám sát dùng lệnh su, đặc biệt cố gắng có đợc quyền truy nhập superuser ngời dùng Xem "Làm để giám sát ngời dùng lệnh su" chơng III để có thông tin chi tiết 2.4-An toàn mạng Truy nhập có giá trị qua mạng, thuận lợi hệ thống nối mạng Tuy nhiên, truy nhập tự chia xẻ liệu tài nguyên tạo nên vấn đề an toàn An toàn mạng thờng dựa vào việc hạn chế hay chặn thao tác từ hệ thống từ xa Hình 2-1 mô tả hạn chế an toàn mà bạn đặt thao tác điều khiển từ xa 66 Bøc t−êng lưa X¸c thùc CÊp qun Bøc t−êng lửa hạn chế kiểu thao tác từ xa mà hệ thống điểm cụ thể thực với hệ thống bên tờng lửa Phụ thuộc vào Các hệ thống từ xa sử dụng xác thực để hạn chế truy nhập bạn ai? ngời dùng cụ thể  Tôi đăng nhập? hệ thống cục Tôi copy file? hệ thống từ xa Nếu đợc phép, xin mêi hƯ thèng file hƯ thèng file cơc bé tõ xa C¸c hƯ thèng tõ xa sư dơng cÊp quyền để hạn chế ngời sử dụng đợc xác thực khỏi việc thực thao tác hệ thống file Hình 2-1 Các hạn chế an toàn ®èi víi c¸c thao t¸c tõ xa C¸c hƯ thèng Firewall B¹n cã thĨ thiÕt lËp mét hƯ thèng firewall để bảo vệ tài nguyên mạng bạn khỏi truy nhập bên Một hệ thống firewall máy chủ an toàn hoạt động nh hàng rào mạng nội bạn mạng bên Firewall có hai chức Nó hoạt động nh cổng cho liệu qua mạng, hoạt động nh hàng rào chặn gói liệu tự đến khỏi mạng Firewall yêu cầu ngời dùng mạng nội đăng nhập hệ thống firewall để truy nhập tới maý chủ mạng từ xa Một cách tơng tự, ngời dùng mạng bên phải đăng nhập hệ thống firewall trớc đợc phép truy nhập máy chủ mạng nội Ngoài ra, tất th điện tử gửi từ mạng nội gửi tới hệ thống firewall để truyền tới máy chủ mạng mở rộng Hệ thống firewall nhận tất th điện tử đến phân phát tới máy chủ mạng nội Chú ý - Firewall ngăn chặn ngời dùng trái phép truy nhập máy chủ mạng bạn Bạn trì chặt chẽ đòi hỏi khắt khe an toàn firewall, nhng an toàn máy chủ khác mạng bị xao nhãng Tuy nhiên, kẻ đột nhập can thiệp vào hệ thống firewall bạn, sau truy nhập tới tất máy chủ khác mạng nội Hệ thống firewall máy chủ tin cậy (Một máy chủ tin cậy máy mà ngời dùng đăng nhập không đòi hỏi kiểu mật khẩu.) Nó không chia xẻ file hệ thông nó, hay phần lớn file hƯ thèng víi c¸c server kh¸c 67 ASET cã thể dùng để làm cho hệ thống thành firewall tuân theo mức an toàn cao hệ thống firewall, nh mô tả chơng Bắt gói Hầu hết mạng cục truyền liệu máy tính theo khối gọi gói Thông qua thủ tục gọi packet smashing, ngời dùng trái phép làm hỏng phá hoại liệu Packet smashing bao hàm việc bắt gói trớc chúng tới đích, cấy liệu tuỳ ý vào nội dung, sau gửi gói trở lại hớng ban đầu chúng Trên mạng cục bộ, packet smashing, thời điểm gói đến tất hệ thống kể server Tuy nhiªn, trªn mét cỉng cã thĨ packet smashing, phải chắn tất cổng mạng đợc bảo vệ Những công nguy hiểm công ảnh hởng tới tính toàn vẹn liệu Những công nh liên quan tới việc thay đổi nội dung gói mạo nhận ngời dùng Những công liên quan đến việc nghe trộm - ghi lại nói chuyện nghe lại chúng sau không cần thủ vai ngời dùng - không làm tổn thơng tính toàn vẹn Tuy nhiên, công ảnh hởng tới tính bí mật Bạn bảo vệ bí mật thông tin nhạy cảm cách mã hoá liệu lu thông mạng Xác thực cấp phép Xác thực cách hạn chế truy nhập ng−êi dïng thĨ truy nhËp mét hƯ thèng từ xa, cài đặt hai mức hƯ thèng hay m¹ng Mét ng−êi dïng truy nhËp đợc tới hệ thống từ xa, cấp phép cách để hạn chế thao tác mà ng−êi dïng cã thĨ thùc hiƯn trªn hƯ thèng tõ xa Bảng 2-4 liệt kê kiểu xác thực cấp phép trợ giúp bảo vệ hệ thống bạn mạng chôngs lại việc sử dụng trái phép Bảng 2-4 Các kiểu Xác thực Cấp phép Kiểu Mô tả Nơi tìm thông tin NIS+ Dịch vụ đặt tên NIS+ cung cấp Solaris Naming xác thực cấp phép mức mạng Adminitration Guide Các chơng trình Các chơng trình đăng nhập từ xa Solaris System đăng nhập từ xa (rlogin, rcp, ftp) cho phép ngời dùng Administration đăng nhập vào hệ thống từ xa Guide, Chơng mạng sử dụng tài nguyên Nếu bạn có "máy chủ tin cậy", xác thực tự động, ngợc lại, bạn đợc yêu cầu xác thực thân bạn RPC an toµn RPC an toµn hoµn thiƯn an ninh cđa NFS Adminitration môi trờng mạng việc xác thực Guide ngời dùng đa yêu cầu hệ thống từ xa Bạn dùng UNIX, DES, hệ thống xác thực Kerberos cho RPC an toàn RPC đợc dùng để tăng NFS Sevices and 68 cờng an toàn cho môi trờng NFS, gọi NFS an toàn Mã hoá DES Các hàm mã hoá theo chuẩn mã hoá liệu (DES) dùng khoá 56-bit để mã hoá khoá bí mật Xác thực Diffie- Phơng pháp xác thực dựa vào khả Hellman hệ thống gửi dùng khoá công khai để mã hoá thời tại, mà hệ thống nhận giải mã kiểm tra dựa vào thời t¹i cđa nã Kerberos Version Kerberos dïng m· DES để xác thực ngời dùng đăng nhập vào hệ thống Solstice AdminSuite Sản phẩm Solstice AdminSuite cung cấp chế xác thực cấp phép để quản lý hệ thống từ xa với công cụ AdminSuite Secure RPC” ë ch−¬ng V "DES Encryption " ë ch−¬ng V "Diffie-Hellman Authentication" ë ch−¬ng V "Kerberos Version 4" ë chơng V Solstice AdminSuite 2.3 Adminitration Guide Chia xẻ file Một file server mạng điều khiển file nµo cã thĨ dïng chung Nã còng cã thĨ điều khiển client truy nhập tới file kiểu truy nhập hợp pháp client Nói chung, file server cấp quyền truy nhập đọc/ghi đọc cho tất client cho số client cụ thể Điều khiển truy nhập đợc mô tả tài nguyên kh¶ dơng víi lƯnh share Mét server cã thĨ dïng file /etc/dfs/dfstab để liệt kê hệ thống file khả dụng client mạng Xem NFS Adminitration Guide để có thêm thông tin chia xẻ file Hạn chế truy nhập superuser (gốc) Nói chung, superuser không đợc phép truy nhập gốc hệ thống file dùng chung qua mạng Trừ server cấp quyền cho superuser cách cụ thể, lại ngời dùng đăng nhập với vai trò superuser client truy nhập gốc tới file đợc đặt từ xa client Hệ thống NFS thực điều cách thay đổi ID ngời dùng ngời yêu cầu thành ID ngời sử dụng ứng với tên ngời dùng nobody; trờng hợp chung 60001 Các quyền truy nhập ngời dùng nobody tơng tự nh quyền đa cho public (hoặc ngời dùng không đợc ủ qun) ®èi víi file thĨ VÝ dơ, nÕu public chØ cã qun thùc hiƯn ®èi víi mét file, th× ng−êi dïng nobody chØ cã thĨ thùc hiƯn file ®ã Mét server NFS cã thĨ cÊp c¸c qun superuser hệ thống file dùng chung sở m¸y chđ dïng lùa chän root=hostname víi lƯnh share Sư dụng cổng bí mật Nếu bạn không muốn chạy RPC an toàn, thay c¬ chÕ "cỉng bÝ mËt" Solaris Mét cỉng bÝ mËt superuser xây dựng với số cổng 1024 Sau hệ thống client đợc xác thực uỷ quyền cđa client, nã thiÕt lËp kÕt nèi víi server th«ng qua cổng bí mật Sau server phê chuẩn uỷ qun client b»ng viƯc kiĨm tra sè cỉng cđa kÕt nối 69 Tuy nhiên client Non-Solaris khả kết nối thông qua cổng bí mật Vì chúng không thể, nên bạn thấy thông báo lỗi chẳng hạn nh: '' Weak Authentication NFS request from unprivileged port" Sử dụng công cụ tăng cờng an toàn tự động (ASET) Gói an toàn ASET cung cấp công cụ quản trị tự động cho phép bạn điều khiển giám sát an toanf hệ thống bạn Bạn mô tả mức độ an toàn - thấp, trung bình, cao - ASET chạy mức cao hơn, hàm điều khiển file ASET tăng cờng giảm quyền truy nhập file siết chặt an toàn hệ thống bạn Xem chơng VI để biết thêm thông tin 70 Chơng III- Các tác vụ an toàn File Chơng mô tả thủ tục an toàn file Dới danh sách dẫn bớc chơng Cách hiển thị thông tin file mục 3.2.1 Thay đổi quyền sở hữu file nh mục 3.3.1 Thay đổi quyền sở hữu file nhóm nh mục 3.3.2 Cách thay đổi quyền theo kiểu trực tiếp mục 3.4.1 Cách thay đổi quyền đặc biệt theo kiểu trực tiếp mục 3.4.2 Cách thay đổi quyền theo kiểu ký hiệu mục 3.4.3 Cách tìm file có quyền setuid mục 3.5.1 Làm để chơng trình không sử dụng stack khả thi mục 3.6.1 Cách cài đặt ACL file mục 3.7.3 Cách kiểm tra mét file cã ACL ” ë mơc 3.7.5 • Cách thay đổi đầu vào ACL (ACL entry) file mục 3.7.6 Cách hiển thị ACL entry cđa mét file” ë mơc 3.7.8 3.1-C¸c tÝnh an toàn file Phần mô tả tính tạo nên an toàn file 3.1.1-Các lớp ngời dùng Đối với file, có ba lớp ngời dùng định rõ ba mức an toàn: Ngời sở hữu file th mục (owner) - thờng ngời dùng tạo file File owner định có quyền đọc, ghi (thay đổi) nó, lệnh thực Các thành viên nhóm (group) Tất ngời dùng khác owner hay group Chỉ file owner root gán thay đổi quyền file 3.1.2-Các quyền file Bảng 3-1 liệt kê mô tả quyền mà bạn đa cho lớp ngời dùng file Ký hiệu Qun r Read w Write x Execute - Denied B¶ng 3-1 Các quyền file Cho phép ngời đợc gán quyền Có thể mở đọc nội dung file Có thể ghi vào file (thay đổi nội dung nó), bổ sung, hay xo¸ file Cã thĨ thùc hiƯn file (nÕu chơng trình hay shell script), chạy file với lời gọi exec(1) Không thể đọc, ghi hay thi hành file Các quyền file áp dụng cho file đặc biệt chẳng hạn thiết bị, sockets named pipes (FIFOs) nh thực với file thông thờng 71 Đối với liên kết ký hiệu, quyền áp dụng quyền file mà liên kết hớng tới 3.1.3-Các quyền th mục Bảng 3-2 liệt kê mô tả quyền mà bạn đa cho lớp ngời dïng ®èi víi mét th− mơc Ký hiƯu r w x Quyền Read Write Execute Bảng 3-2 Các quyền th mục Cho phép ngời đợc gán quyền Hiển thị file th mục Thêm xoá file liên kết th mục Mở thi hành file th mục Cũng tạo th mục th mục thời bên 3.1.4-Các quyền file đặc biệt (setuid, setgid Sticky Bit) Ba loại quyền đặc biệt có file khả thi th mục public Khi quyền đợc đặt, ngời dùng chạy file khả thi đợc gán user ID ngời sở hữu (hoặc nhóm) file khả thi Bạn phải cẩn thận đặt quyền đặc biệt này, quyền đặc biệt tạo nên rủi ro vỊ an toµn VÝ dơ, mét ng−êi cã thĨ có đợc quyền superuser việc thực thi chơng trình cài đặt user ID cho root Ngoài ra, tất ngời dùng đặt quyền đặc biệt file mà họ sở hữu tạo nên mối lo lắng an toàn khác Bạn nên giám sát hệ thống bạn việc tuỳ tiện sử dụng quyền setuid setgid để có đợc quyền superuser Xem Cách tìm thấy file có quyền setuid chơng để tìm kiếm hệ thống file in danh sách tất chơng trình sử dụng quyền Danh sách đáng ngờ danh sách cấp quyền sở hữu chơng trình nh cho ngời dùng mà bin hay sys Quyền setuid Khi quyền đặt định danh ngời dùng (setuid) đợc thiết lập file khả thi, tiến trình chạy file đợc cấp quyền truy nhËp dùa vµo file owner (th−êng lµ root), mµ ngời dùng chạy file khả thi Điều cho phép ngời dùng truy nhập file th mục thờng ngời sở hữu sẵn có VÝ dơ, qun setuid ë lƯnh passwd khiÕn nã cã thể làm cho ngời dùng thay đổi mật công nhận quyền root ID: -r-sr-sr-x root sys 10322 May 08:23 /usr/bin/passwd Điều rủi ro an toàn, số ngời dùng xác định tìm cách trì quyền cấp cho họ tiến trình setuid sau tiến trình kết thúc thực Ghi chó - ViƯc dïng c¸c qun setuid víi UIDs (0-99) dành riêng không cài đặt UID có hiệu cách đắn Nên dùng shell script thay tránh dùng UIDs dành riêng với quyền setuid 72 Quyền setgid Quyền đặt định danh nhóm (setgid) tơng tự với setuid, ngoại trừ ID nhóm có hiệu lực tiến trình nhóm sở hữu file thay đổi, ngời dùng đợc cấp quyền truy nhập dựa vào quyền cấp cho nhóm Chơng trình /usr/bin/mail có quyền setgid: -r-xsx bin mail 62504 May 07:58 /usr/bin/mail Khi quyền setgid đợc áp dụng cho th mục, file đợc tạo th mục thuộc nhóm sở hữu th mục, nhóm tạo Bất kỳ ngời dùng có quyền ghi thực th mục tạo file - nhiên, file không thuộc nhóm ngời dùng, mà thuộc nhóm th mục Bạn nên giám sát hệ thống bạn tránh việc tuỳ tiện sử dụng quyền setuid setgid để có đợc quyền superuser Xem Cách tìm thấy file có quyền setuid chơng để tìm kiếm hệ thống file in danh sách tất chơng trình sử dụng quyền Danh sách đáng ngờ danh sách cấp quyền sở hữu chơng trình nh cho ngời dùng mà lµ bin hay sys Sticky Bit Sticky bit lµ bit qun b¶o vƯ file mét th− mơc NÕu th− mục có sticky bit đợc đặt, có file owner, ng−êi së h÷u th− mơc hay root míi cã thể xoá file Điều ngăn chặn việc ngời dùng xoá file ngời dùng khác khỏi th mục public chẳng hạn /tmp: drwxrwxrwt sys sys 517 Mar 02:01 tmp Để chắn nên đặt sticky bit cách thủ công bạn tạo th mục public hệ thống file TMPFS 3.1.5-Umask mặc định Khi b¹n t¹o mét file hay th− mơc, nã cã tập quyền mặc định Các quyền mặc định đợc xác định giá trị umask(1) file hƯ thèng /etc/profile, hc file cshrc hay login cđa bạn Theo mặc định, hệ thống đặt quyền file text 666, cấp quyền đọc ghi cho ngời dùng, nhóm lớp khác, 777 th mục hay file khả thi Giá trị umask gán không đợc mặc định Điều có tác dụng từ chối quyền kiểu mà chmod cÊp cho chóng VÝ dơ, lƯnh chmod 022 cấp quyền ghi cho nhóm lớp khác, umask 022 từ chối quyền ghi nhóm lớp khác Bảng 3-3 đa số cài đặt umask điển hình có hiệu lực file khả thi Bảng 3-3 Các cài đặt umask cho mức an toàn khác umask Mức an toàn Từ chối Permissive (744) 022 w nhóm lớp khác 73 Moderate (740) Moderate (741) Severe (700) 027 026 077 w ®èi víi nhãm, rwx ®èi víi lớp khác w nhóm, rw lớp khác rw nhóm lớp khác 3.2-Hiển thị thông tin file 3.2.1- Cách hiển thị thông tin file Hiển thị thông tin tất c¸c file mét th− mơc b»ng c¸ch dïng lƯnh ls $ ls -la -l Hiển thị dạng chi tiết -a Hiển thị tất file kể file ẩn bắt đầu dấu chấm (.) Mỗi dòng có thông tin sau file: Kiểu file Một file có sáu kiểu Bảng 3-4 liệt kê kiểu file có Bảng 3-4 Các kiểu file Kiểu Text chơng trình Th mục File block đặc biệt File ký tự đặc biệt Named pipe (FIFO) Symblic link Ký hiÖu d b c p l • • • • • • • C¸c qun; xem mô tả bảng 3-1 bảng 3-2 Số liên kÕt cøng File owner Nhãm cđa file KÝch th−íc file tính byte Ngày tạo file hay ngày cập nhật file cuối Tên file Ví dụ - Hiển thị thông tin file Ví dụ sau hiển thị danh s¸ch c¸c file thĨ th− mơc /sbin $ cd /sbin $ ls -la total 11652 drwxrwxr-x drwxr-xr-x 30 -r-xr-xr-x lrwxrwxrwx -r-xr-xr-x -r-xr-xr-x -r-xr-xr-x root root bin root bin bin bin sys root bin root bin bin bin 512 512 199224 21 467856 430172 251500 Jun Jun May Jun May May May 11:47 / 14:13 / 21:23 autopush* 11:47 bpgetfile -> 21:23 dhcpagent* 21:23 dhcpinfo* 21:23 fdisk* 74 -r-xr-xr-x -r-xr-xr-x -r-xr-xr-x -r-xr-xr-x -r-xr-xr-x -r-xr-xr-x 1 1 bin bin root bin bin root bin bin sys root bin sys 762136 533272 515296 256272 223448 6935 May May May May May Jan 6 6 21:29 21:30 21:25 21:27 20:06 1970 hostconfig* ifconfig* init* jsh* mount* mountall* 3.3-Thay đổi quyền sở hữu file 3.3.1-Cách thay đổi file owner Trở thành superuser Theo mặc định, ngời sở hữu sử dụng lệnh chown để thay đổi file owner hay th mục Tuy nhiên, bạn cã thĨ cho phÐp ng−êi së h÷u dïng chown b»ng cách bổ sung dòng sau vào file /etc/system hệ thống khởi động lại hệ thống set rstchown = Xem chown(1) để biết thêm chi tiết Ngoài ra, nhận thấy có hạn chế khác việc thay đổi quyền sở hữu hƯ thèng file NFS Thay ®ỉi file owner b»ng c¸ch dïng lƯnh chown # chown newowner filename newowner filename đặc tả tên ngời dùng UID file owner hay th mục đặc tả file hay th mục Xác nhận file owner bị thay đổi # ls -l filename VÝ dơ - Thay ®ỉi file owner VÝ dụ sau đặt quyền sở hữu myfile cho ng−êi dïng rimmer # chown rimmer myfile # ls -1 myfile -rw-r r-1 rimmer scifi 112640 May 24 10:49 myfile 3.3.2-Cách thay đổi quyền sở hữu nhóm file Trở thành superuser Theo mặc định, ngời sở hữu chØ cã thĨ dïng lƯnh chgrp ®Ĩ thay ®ỉi nhãm file thành nhóm có ngời sở hữu Ví dụ, file owner thuộc vào nhóm 75 staff sysadm, ngời sở hữu thay đổi nhóm file thành nhóm staff hay sysadm mà Tuy nhiên, bạn cho phép ngời sở hữu thay đổi nhóm file thành nhóm ngời sở hữu cách bổ sung dòng sau vào file /etc/system hệ thống khởi động lại hệ thống set rstchown = Xem chgrp(1) để có thêm chi tiết Ngoài ra, nhận thấy có hạn chế khác việc thay đổi nhóm hệ thống file NFS Thay đổi nhóm sở hữu file cách dùng lệnh chgrp $ chgrp group filename group filename Đặc tả tên nhóm hay GID nhóm file hay th mục Đặc tả file hay th mục Xem chơng 13 để có thông tin cách soạn thảo tài khoản nhóm Xác nhận nhóm sở hữu file bị thay đổi $ ls -l filename Ví dụ - Thay đổi quyền sở hữu nhóm file Ví dụ sau đặt quyền sở hữu nhóm myfile thµnh nhãm scifi $ chgrp scifi myfile $ ls -l myfile -rwxrw rimmer scifi 12985 Nov 12 16:28 myfile 3.4-Thay đổi quyền file Lệnh chmod cho phép bạn thay đổi quyền file Bạn phải superuser file owner hay th mục thay đổi quyền Bạn sử dụng lệnh chmod để đặt quyền theo hai kiểu: • KiĨu trùc tiÕp - Dïng c¸c sè biĨu diƠn quyền file (phơng pháp đợc dùng để đặt quyền phổ biến nhất) Khi bạn thay đổi quyền cách dùng kiểu trực tiếp, bạn biểu diễn quyền ba số kiểu octal Kiểu ký hiệu - Dùng dãy ký tự ký hiệu để bổ sung hay loại bỏ quyền Bảng 3-5 liệt kê giá trị octal để đặt quyền file theo mô hình tuyệt đối Bạn sử dụng số tập ba số để đặt quyền cho ngời sở hữu, nhóm ngời khác (theo thứ tự) Ví dụ, giá trị 644 đặt quyền đọc/ghi cho ngời sở hữu, quyền đọc cho nhóm ngời khác 76 Bảng 3-5 Đặt quyền file theo kiểu trực tiếp Giá trị octal Tập quyền file Mô tả quyền Không có quyền g× x ChØ cã qun thùc thi -wChØ cã qun ghi -wx Qun ghi vµ thùc thi r-ChØ cã qun ®äc r-x Qun ®äc thực thi rwQuyền đọc ghi rwx Quyền đọc, ghi thực thi Bạn đặt quyền đặc biệt file theo kiểu trực tiếp ký hiệu Theo kiểu trực tiếp, bạn đặt quyền đặc biệt cách bổ sung giá trị octal vào bên trái ba quyền Bảng 3-6 liệt kê giá trị octal để đặt quyền đặc biệt file Bảng 3-6 Đặt quyền đặc biệt theo kiểu trực tiếp Giá trị octal Tập quyền đặc biệt Sticky bit setguid setuid Bảng 3-7 liệt kê ký hiệu để đặt qun file theo kiĨu ký hiƯu C¸c ký hiƯu cã thể đặc tả quyền đợc đặt hay thay đổi, thao tác đợc thực hiện, quyền đợc gán hay thay ®ỉi Ký hiƯu u g o a = + r w x l s S t T B¶ng 3-7 Đặt quyền file theo kiểu ký hiệu Chức Mô tả Who Ngời dùng (ngời sở hữu) Who Nhóm Who Others Who Tất Operation Gán Operation Thêm Operation Xoá Permission Đọc Permission Ghi Permission Thực thi Permission Khoá bắt buộc, setuid bit on, group execution bit off Permission setuid setgid bit on Permission suid bit lµ on, user execution bit lµ off Permission Sticky bit lµ on, execution bit cđa others lµ on Permission Sticky bit lµ on, execution bit cđa others lµ off Các định Who Operator Permission cột chức mô tả ký hiệu thay đổi quyền file th mục Who Đặc tả quyền đợc thay đổi 77 Operation Permissions Đặc tả thao tác thực Đặc tả quyền đợc thay ®ỉi 3.4.1-Thay ®ỉi qun theo kiĨu trùc tiÕp nh− thÕ Nếu bạn file owner hay th mục, trở thành superuser Chỉ ngời sở hữu hiƯn thêi hay superuser míi cã thĨ dïng lƯnh chmod thay đổi quyền file file hay th mục Dïng lƯnh chmod thay ®ỉi qun theo kiĨu trùc tiếp $ chmod nnn filename nnn Đặc tả giá trị octal biểu diễn quyền file owner, file group, others theo thứ tự Xem bảng 3-5 để có danh sách giá trị octal có hiệu lực filename Đặc tả file hay th mục Ghi - Nếu bạn dùng lệnh chmod thay đổi quyền nhóm sở hữu file file ACL entry, quyền nhóm sở hữu file ẩn ACL đợc biến đổi thành qun míi Suy r»ng c¸c qun Èn ACL thay đổi quyền có hiệu lực ngời dùng nhóm bổ sung có ACL entry file Dùng lệnh getfacl để chắn quyền thích hợp đợc đặt cho tất ACL entry Xác nhận quyền file thay ®ỉi $ ls -l filename VÝ dơ - Thay ®ỉi qun theo kiĨu trùc tiÕp VÝ dơ sau ®©y cách thay đổi quyền th mơc public tõ 744 (®äc /ghi /thùc thi, chØ ®äc đọc) thành 755 (đọc /ghi /thực thi, đọc /thực thi, đọc/thực thi) $ ls -ld public_dir drwxr r ignatz staff 6023 Aug 12:06 public_dir $ chmod 755 public_dir $ ls -ld public_dir drwxr-xr-x ignatz staff 6023 Aug 12:06 public_dir VÝ dô sau cách thay đổi quyền shell script thực thi từ đọc/ghi thành đọc/ghi/thực thi $ ls -l my_script rw - ignatz staff 6023 Aug 12:06 my_script $ chmod 700 my_script $ ls -l my_script -rwx ignatz staff 6023 Aug 12:06 my_script 78 3.4.2-Thay đổi quyền đặc biệt theo kiểu tuyệt đối nh Nếu bạn ngời sở hữu file hay th mục, trở thành superuser Chỉ ngời sở hữu thêi hay superuser míi cã thĨ dïng lƯnh chmod thay đổi quyềnđặc biệt file hay th mục Dùng lệnh chmod thay đổi quyền đặc biệt theo kiểu trực tiếp $ chmod nnnn filename nnnn Đặc tả giá trị octal thay đổi quyền file hay th mục Giá trị octal thứ bên trái đặt quyền đặc biệt file Xem bảng 3-6 để có danh sách giá trị octal có hiệu lực quyền đặc biệt filename Là file hay th− mơc Ghi chó - NÕu b¹n dïng lệnh chmod thay đổi quyền nhóm sở hữu file file ACL entry, quyền nhóm sở hữu file ẩn ACL đợc biến đổi thành quyền Suy r»ng c¸c qun Èn ACL míi cã thĨ thay đổi quyền có hiệu lực ngời dùng nhóm bổ sung có ACL entry file Dùng lệnh getfacl(1) để chắn quyền thích hợp đợc đặt cho tất ACL entry Xác nhận quyền file thay đổi $ ls -l filename Ví dụ - Đặt quyền đặc biệt theo kiểu trực tiếp Ví dụ sau đặt qun setuid trªn file dbprog $ chmod 4555 dbprog $ ls -l dbprog -r-sr-xr-x db staff 12095 May 09:29 dbprog Ví dụ sau đặt quyền setgid file dbprog2 $ chmod 2551 dbprog2 $ ls -l dbprog2 -r-xr-s x db staff 24576 May 09:30 dbprog2 Ví dụ sau đặt quyền sticky bit th mơc pubdir $ chmod 1777 pubdir 3.4.3-Thay ®ỉi qun theo kiểu ký hiệu nh Nếu bạn ngời sở hữu file hay th mục, trở thành superuser Chỉ ngời sở hữu thời hay superuser dùng lệnh chmod thay đổi qun file trªn file hay th− mơc 79 Dïng lƯnh chmod thay ®ỉi qun theo kiĨu ký hiƯu $ chmod who operation permission filename who operation permission who đặc tả quyền bị thay đổi, operator đặc tả thao tác thi hành, permission đặc tả quyền bị thay đổi Xem bảng 3-7 danh sách ký hiệu có hiệu lực filename Là file hay th− mơc X¸c nhËn c¸c qun cđa file ®· thay ®ỉi $ ls -l filename VÝ dơ - Thay đổi quyền theo kiểu ký hiệu Ví dụ sau loại bỏ quyền đọc others $ chmod o-r filea Ví dụ sau thêm quyền đọc vµ thùc thi cho user, group vµ others $ chmod a+rx fileb Ví dụ sau gán quyền đọc, ghi vµ thùc thi cho group $ chmod g=rwx filec 3.5-Kiểm soát quyền đặc biệt Bạn nên giám sát hệ thống bạn việc sử dụng trái phép quyền setuid setgid để có đợc quyền superuser Một danh sách đáng ngờ danh sách cấp quyền sở hữu chơng trình cho user mà bin hay sys 3.5.1-Tìm file có quyền setuid nh Trở thành superuser Dùng lệnh find tìm file có đặt quyền setuid # find directory -user root -perm -4000 -exec ls -ldb {}\ ; >/tmp/filename find directory - user root -perm -4000 -exec ls -ldb >/tmp/filename KiÓm tra tất đờng dẫn thiết lập th mục đặc biệt, root (/), sys, bin hay mail ChØ hiĨn thi nh÷ng file cđa root Chỉ hiển thị file có quyền đặt 4000 Hiển thị đầu lệnh find dới dạng ls -ldb Ghi kết vào file Hiển thị kết /tmp/filename Nếu bạn cần thông tin quyền setuid, xem mục "Quyền setuid" 80 Ví dụ - Tìm file có quyền setuid # find / -user root -perm -4000 -exec ls -ldb {}\ ; >/tmp/ckperm # cat /tmp/ckperm -r-sr-xr-x root bin 38836 Aug 10 16:16 /usr/bin/at -r-sr-xr-x root bin 19812 Aug 10 16:16 /usr/bin/crontab -s x x root sys 46040 Aug 10 15:18 /usr/bin/ct -r-sr-xr-x root sys 12092 Aug 11 01:29 /usr/lib/mv_dir -r-sr-xr-x root bin 33208 Aug 10 15:55 /usr/lib/lpadmin -r-sr-xr-x root bin 38696 Aug 10 15:55 /usr/lib/lpsched -s x - root rar 45376 Aug 18 15:11 /usr/rar/bin/sh -r-sr-xr-x root bin 12524 Aug 11 01:27 /usr/bin/df -rwsr-xr-x root sys 21780 Aug 11 01:27 /usr/bin/newgrp -r-sr-sr-x root sys 23000 Aug 11 01:27 /usr/bin/passwd -r-sr-xr-x root sys 23824 Aug 11 01:27 /usr/bin/su # Một ngời dùng trái phép (rar) tạo /usr/bin/sh riêng, đặt quyền nh setuid cho root Điều có nghĩa rar cã thĨ thùc hiƯn /usr/rar/bin/sh vµ trë thµnh ng−êi dùng hợp pháp Nếu bạn muốn ghi đầu ®Ĩ tham kh¶o vỊ sau, h·y chun file khái th mục /tmp 3.6-Các stack khả thi an toàn Một số lỗi kỹ thuật an toàn liên quan tới stack khả thi mặc định quyền chúng đợc đặt đọc, ghi thực thi Trong c¸c stack cã tËp c¸c qun thùc thi chịu ràng buộc SPARC ABI Intel ABI, hầu hết chơng trình vận hành cách đắn mà không dùng stack khả thi Biến noexec_user_stack bắt đầu khả dụng Solaris 2.6 loại bỏ cho phép bạn đặc tả xếp stack có khả thi hay không Theo ngầm đinh, biến đảm bảo tuân theo ABI Nếu biến đợc đặt khác 0, hệ thống đánh dấu stack tiến trình hệ thống đọc ghi, nhng không khả thi Một biến đợc đặt, chơng trình cố gắng thực mã stack chúng đợc gưi tÝn hiƯu SIGSEGV th−êng xt hiƯn kÕt thóc chơng trình với việc xổ lõi nhớ (core dump) Những chơng trình nh đa lời cảnh báo gồm tên chơng trình vi phạm, process ID, UID thực user chạy chơng trình Ví dụ: a.out[347] attempt to execute code on stack by uid 555 Th«ng báo đợc ghi lại nhờ trình syslogd(1M) tiện ích syslog kern đợc đặt mức notice Theo ngầm định, ghi đợc đặt file syslog.conf(4), nghĩa thông báo đợc gửi tới console file /var/adm/messages Thông báo thuận lợi cho việc theo dõi vấn đề an toàn xảy ra, nh xác định chơng trình hợp lệ dựa vào stack khả thi bị hoạt động sai lạc đặt biến Nếu ngời giám quản không muốn có thông báo 81 đợc ghi lại, đặt biến noexec_user_stack_log để làm mÊt hiƯu lùc cđa nã file /etc/system, mỈc dï tín hiệu SIGSEGV tiếp tục dẫn chơng trình ®ang thùc thi tíi core dump B¹n cã thĨ dïng mprotect(2) bạn muốn chơng trình đánh dấu chúng cách rõ ràng stack khả thi Vì hạn chế phần cứng, nên khả bắt thông báo vấn đề stack khả thi khả dụng sun4m, sun4d, sun4u 3.6.1-Làm để chơng trình không dùng stack khả thi Trở thành superuser Soạn thảo file /etc/system bổ sung dòng sau set noexec_user_stack=1 Khởi động lại hệ thống # init 3.6.2-Làm để không ghi lại thông báo stack khả thi Trở thành superuser Soạn thảo file /etc/system bổ sung dòng sau set noexec_user_stack_log=0 Khởi động lại hệ thống # init 3.7-Sử dụng danh sách điều khiển truy nhập (ACLs) Bảo vệ file UNIX truyền thống đảm bảo quyền đọc, ghi thực thi cho ba líp ng−êi dïng: ng−êi së h÷u file (file owner), nhãm file (file group) ngời dùng khác (others) ACL bảo đảm an toàn file tốt việc cho phép bạn định nghĩa quyền file cho file owner, file group, other, ngời dùng nhóm ngời dùng đặc biệt, quyền mặc định cho lớp Ví dụ, bạn muốn ngời nhóm đọc file, đơn giản bạn đặt cho nhóm quyền đọc file Bây giờ, giả sư b¹n chØ mn mét ng−êi nhãm cã thĨ ghi file UNIX chuẩn không cung cấp mức an toàn file Tuy nhiên, tình đợc hoàn thiện ACLs Các ACL entry cách định nghĩa ACL file, chúng đợc đặt thông qua lệnh setfacl(1) Đầu vào ACL gồm trờng sau đợc viết cách dấu hai chấm: 82 entry_type:[uid\gid]:perms entry_type uid gid perms Kiểu ACL entry đặt qun file VÝ dơ, entry_type cã thĨ lµ user (file owner) hay mặt nạ (ACL mask) Tên hay số định danh ngời dùng Tên hay số định danh nhóm Biểu diễn quyền đợc đặt entry_type perms đợc định rõ ký tự ký hiệu rwx hay số (các số tơng ứng với quyền sử dụng với lệnh chmod) Ví dụ sau cho thấy ACL entry đặt quyền đọc/ghi cho user nathan user : nathan : rwChó ý- C¸c thc tÝnh cđa hệ thống file UFS, chẳng hạn ACLs, đợc đáp ứng hệ thống UFS Điều có nghĩa bạn phục hồi hay chép file với ACL entry vào th mục /tmp thờng gắn với hệ thống file TMPFS, ACL entry bị Dùng th mục /var/tmp để lu trữ tạm thời file UFS 3.7.1-Các ACL entry file Bảng 3-8 liệt kê ACL entry có hiệu lực Ba ACL entry đảm bảo bảo vệ file UNIX Bảng 3-8 Các ACL entry file Đầu vào ACL Mô tả u[ser]::perms Các quyền sở hữu file g[roup]::perms Các quyền file group o[ther]::perms Các quyền ngời dùng file owner hay thành viên file group m[ask]::perms ACL mask Đầu vào mặt nạ định rõ quyền tối đa cho phép ngời dùng ( other owner) nhóm Mặt nạ cách thay đổi nhanh quyền tất ngời dùng nhóm u[ser]:uid:perms Các quyền ngời dùng cụ thể Đối với uid, bạn đặc tả tên ngời dùng UID kiểu số g[roup]:gid:perms Các quyền nhóm cụ thể Đối với gid, bạn đặc tả tên nhóm hay GID kiểu số 3.7.2-Các ACL entry th mục Để có ACL entry mô tả bảng 3-8, bạn đặt ACL entry mặc định th mục Các file hay th mục tạo th mục có ACL entry mặc định có đầu vào ACL nh ACL entry mặc định Bảng 3-9 liệt kê đầu vào mặc định cho th mục Khi lần bạn đặt ACL entry mặc định cho ngời dùng nhóm cụ thể, bạn phải đặt ACL entry mặc định cho file user, file group, others, 83 ACL mask (những điều đợc quy định bốn ACL entry mặc định bảng 3-9) Đầu vào ACL mặc định d[efault]:u[ser]::perms d[efault]:g[roup]::perms d[efault]:o[ther]::perms Mô tả Các quyền mặc định file owner Các quyền mặc định file group Các quyền mặc định ngời dùng file owner hay thành viên file group d[efault]:m[ask]:perms ACL mask mặc định d[efault]:u[ser]:uid:perms Các quyền mặc định ngời dùng cụ thể Đối với uid, bạn đặc tả tên ngời dùng, UID số d[efault]:g[roup]:gid:perms Các quyền mặc định nhóm cụ thể Đối với gid, bạn đặc tả tên nhóm GID số 3.7.3-Cài đặt ACL file nh Dùng lệnh setfacl để cài đặt ACL file $ setfacl -s user::perms, group::perms, mask:perms,acl_entry_list filename -s Đặt ACL file Nếu file sẵn có ACL, bị thay Lựa chọn đòi hỏi đầu vào file owner, file group other user::perms Đặc tả quyền file owner group::perms Đặc tả quyền file group other:perms Đặc tả quyền ngời dùng file owner, hay thành viên file group mask:perms Đặc tả quyền ACL mask Mặt nạ rõ quyền tối đa cho phép ngời dùng (other owner) nhóm acl_entry_list Là danh sách hay nhiều ACL entry cài đặt ngời dùng nhóm cụ thể file hay th mục Bạn đặt ACL entry mặc định th mục Bảng 3-8 bảng 3-9 trình bày ACL entry hợp lệ filename File hay th mục mà cài đặt ACL Xác nhận ACL cài đặt file, xem "Cách kiểm tra file có ACL" phần sau Dùng lệnh getfacl để thẩm tra ACL entry cài đặt file $ getfacl filename Ghi - Nếu ACL tồn file, tuỳ chọn -s sÏ thay thÕ toµn bé ACL b»ng ACL míi 84 Các ví dụ - Cài đặt ACL file Ví dụ sau đặt quyền file owner đọc/ghi, quyền file group đọc, quyền other none file ch1.doc Ngoài ra, ngời dùng george đợc gán cho quyền đọc/ghi file, quyền ACL mask đợc đặt đọc/ghi, nghĩa ngời dùng hay nhóm có quyÒn thùc thi $ setfacl -s user::rw-, group::r , other: -, mask:rw-, user:george:rw- ch1.doc $ ls -l -rw-r -+ nathan sysadmin 34816 Nov 11 14:16 ch1.doc -rw-r r nathan sysadmin 20167 Nov 11 14:16 ch2.doc -rw-r r nathan sysadmin 8192 Nov 11 14:16 notes $ getfacl ch1.doc # file: ch1.doc # owner: nathan # group:sysadmin user:: rwuser:george:rw#effective: rwgroup:: r-#effective: r-mask: rwother: VÝ dô sau cài đặt quyền file owner đọc/ghi/thực thi, quyền file group đọc, quyền other none, quyền ACL mask đọc file ch2.doc Ngoài ra, ngời dùng george đợc gán cho quyền đọc/ghi; nhiên, theo ACL mask, quyền có hiệu lực george ®äc $ setfacl -s u::7, group::4, o:0, m:4, user:george:7 ch2.doc $ getfacl ch2.doc # file: ch2.doc # owner: nathan # group:sysadmin user:: rwx user:george:rwx #effective: r-group:: r-#effective: r-mask: r-other: 3.7.4-C¸ch chÐp ACL Sao chÐp ACL cđa mét file cho file khác cách đổi hớng đầu cña getfacl $ getfacl filename1 | setfacl f - filename2 file1 file2 Đặc tả file, nơi chép ACL Đặc tả file, nơi đặt ACL Ví dụ - Sao chép ACL Ví dụ sau chép ACL trªn ch1.doc sang ch3.doc 85 $ getfacl ch2.doc | setfacl f - ch3.doc 3.7.5-C¸ch kiĨm tra mét file cã ACL Dïng lƯnh ls kiĨm tra mét file cã ACL $ ls -l filename file name Đặc tả file hay th mục Dấu '+' bên phải trờng kiểu file có ACL Ghi - File đợc xem có ACL "tầm thờng" dấu '+' không hiển thị, trừ bạn thêm ACL entry cho ngời dùng hay nhóm bổ sung file VÝ dơ - KiĨm tra mét file cã ACL VÝ dụ sau ch1.doc có ACL, danh sách có dấu '+' bên phải trờng kiểu $ ls -l ch1.doc -rwxr -+ nathan sysadmin 167 Nov 11 11:13 ch1.doc 3.7.6-Cách thay đổi ACL entry file Dùng lệnh setfacl để thay ®ỉi c¸c ACL entry $ setfacl -m acl_entry_list filename1 [filename2 ] -m acl_entry_list filename Thay ®ỉi ACL entry ®ang tồn Đặc tả danh sách hay nhiều ACL entry để thay đổi file hay th mục Bạn cung thay đổi ACL entry mặc định th mục Bảng 3-8 bảng 3-9 ACL entry hợp lệ Đặc tả file th mục Dùng lệnh getfacl để xác nhận ACL entry bị thay đổi file $ getfacl filename Các ví dụ - Thay đổi ACL entry file Ví dụ sau thay đổi quyền ®èi víi ng−êi dïng george thµnh ®äc/ghi $ setfacl -m user:george:6 ch3.doc $ getfacl ch3.doc # file: ch3.doc # owner: nathan # group: staff user:: rw- 86 user::george:rwgroup:: rmask: r-other: r- #effective: r-#effective: r Ví dụ sau thay đổi quyền mặc định nhóm staff thành đọc quyền ACL mask mặc định thành đọc/ghi trªn th− mơc book $ setfacl -m default:group:staff:4, default:mask:6 book 3.7.7-C¸ch xo¸ c¸c ACL entry khái file Dïng lƯnh setfacl để xoá ACL entry khỏi file $ setfacl -d acl_entry_list filename -d Xo¸ c¸c ACL entry thể acl_entry_list Đặc tả danh sách ACL entry (không mô tả quyền) cần xoá khỏi file hay th mục Bạncó thể xoá ACL entry ACL entry mặc định ngời dùng nhóm cụ thể Bảng 3-8 bảng 3-9 cho thấy ACL entry hợp lệ filename Đặc tả file th mục Bên cạnh đó, bạn dùng lệnh setfacl -s để xoá tất ACL entry file thay chúng ACL entry đợc mô tả Dùng lệnh getfacl để xác nhận ACL entry bị xoá khỏi file $ getfacl filename Ví dụ - Xoá ACL entry file Ví dụ sau xoá ngời dùng george khỏi file ch4.doc $ setfacl -d user:george ch4.doc 3.7.8-Lµm thÕ nµo để hiển thị ACL entry file Dùng lệnh getfacl để hiển thị ACL entry file $ getfacl [-a] [-d] filename -a -d filename Hiển thị tên file, file owner, file group, ACL entry file th mục cụ thể Hiển thị tên file, file owner, file group, ACL entry mặc định th mục cụ thể Đặc tả file th mục Nếu bạn đặc tả nhiều tên file dòng lệnh, ACL entry đợc tách dòng trống 87 Các ví dụ - Hiển thị ACL entry file Ví dụ sau cho thấy ACL entry file ch1.doc Ghi #effective: bên cạnh đầu vào user group rõ quyền sau bị thay đổi ACL mask $ getfacl ch1.doc # file: ch1.doc # owner: nathan # group: sysadmin user:: rwuser::george:r-#effective: r-group:: rw#effective: rwmask: rwother: Ví dụ sau cho thấy ACL entry cđa th− mơc book $ getfacl -d book # file: book # owner: nathan # group: sysadmin user:: rwx user:george:r-x #effective: r-x group:: rwx #effective: rwx mask: rwx other: default:user:: rwdefault:user:george:r-default:group:: rwdefault:mask: rwdefault:other: - 88 Ch−¬ng IV-Các tác vụ An toàn hệ thống Chơng mô tả thủ tục an toàn hệ thống Sau danh sách dẫn bớc chơng "Cách hiển thị trạng thái đăng nhập ngời dùng" mục 4.1 " Cách hiển thị ngời dùng thiếu mật khẩu" mục 4.2 " Cách vô hiệu hoá tạm thời đăng nhập ngời dùng" mục 4.3 "Cách lu lại đăng nhập thất bại" mục 4.4 "Cách tạo mật quay số" mục 4.5 "Cách vô hiệu hoá tạm thời đăng nhập quay số" mục 4.6 "Cách hạn chế Superuser (root) đăng nhập tới thiết bị điều khiển" mục 4.7 "Cách giám sát ngời sử dụng lệnh su" mục 4.8 "Cách hiển thị lần thử truy nhập tới thiệt bị điều khiển Superuser (root) mục 4.9 4.1-Cách hiển thị trạng thái đăng nhập ngời dùng Trở thành superuser Dùng lệnh logins để hiển thị trạng thái đăng nhËp cña ng−êi dïng # logins -x -l username -x -l username Hiển thị tập thông tin trạng thái đăng nhập mở rộng Hiển thị trạng thái đăng nhập ngời dùng cụ thể uername tên đăng nhập ngời dùng Nhiều tên đăng nhập phải đợc mô tả b»ng danh s¸ch viÕt c¸ch dÊu phÈy LƯnh logins(1M) dùng file /etc/passwd cục sở liệu mật NIS NIS+ để có đợc trạng thái đăng nhập ngời dùng Ví dụ - Hiển thị trạng thái đăng nhập ngời dùng Ví dụ sau hiển trạng thái đăng nhập ngời dùng rimmer # logins -x -l rimmer rimer 500 staff 10 Arnold J Rimmer /export/home/rimmer /bin/sh PS 010170 10 -1 Trong vÝ dơ nµy, rimmer 500 staff 10 Arnold J Rimmer Tên đăng nhập ngời dùng UID (ID ngời dùng) Nhóm ban đầu ngời dùng GID (ID nhóm) Lêi chó gi¶i 89 /export/home/rimmer /bin/sh PS 010170 10 -1 Th mục gốc ngời dùng Cấu trúc đăng nhập Thông tin thời hạn mật khẩu: Ngày cuối mật bị thay đổi Số ngày yêu cầu lần thay đổi Số ngày cho phép trớc có đòi hỏi thay đổi Khoảng thời gian cảnh báo 4.2-Cách hiển thị ngời dùng mật Bạn nên chắn tất ngời dùng có mật hợp lệ Trở thành superuser Dùng lệnh logins để hiển thị ngời dùng mật # logins -p -p Hiển thị danh sách ngời dùng mËt khÈu LƯnh logins dïng file /etc/passwd cơc bé vµ sở liệu mật NIS NIS+ để có đợc trạng thái đăng nhập ngời dùng Ví dụ - Hiển thị ngời dùng mật Ví dụ sau hiển thị pmorph ngời dïng kh«ng cã mËt khÈu # logins -p pmorph 501 other Polly Morph 4.3-Vô hiệu hoá tạm thời đăng nhập ngời dùng Bạn vô hiệu hoá tạm thời đăng nhập ngời dùng cách: Tạo file /etc/nologin Làm cho hệ thống chạy mức (mức ngời dùng đơn lẻ) Xem "Đóng hệ thống (các tác vụ)" System Adminitration Guide, Volume I để có thông tin cách làm cho hệ thống mô hình ngời dùng đơn lẻ Tạo file /etc/nologin Tạo file để không cho phép ngời dùng đăng nhập thông báo cho ngời dùng việc hệ thống không khả dụng khoảng thời gian hạn để đóng hệ thống bảo dỡng định kỳ Nếu ngời dùng đăng nhập tới hệ thống mà có file tồn tại, nội dung file nologins(4) đợc hiển thị, đăng nhập ngời dùng bị ngắt Những đăng nhập superuser không bị ảnh hởng Cách vô hiệu hoá tạm thời đăng nhập ngời dùng Trở thành superuser Dùng trình soạn thảo tạo file /etc/nologin # vi /etc/nologin 90 KÌm theo th«ng báo tính khả dụng hệ thống Đóng ghi file Ví dụ - Vô hiệu hoá đăng nhập ngời dùng Ví dụ sau trình bày cách làm để thông báo cho ngời dùng việc hệ thống không khả dụng # vi /etc/nologin (Thêm thông báo hệ thống đây) # cat /etc/nologin ***No logins permitted.*** ***The system will be unavailable until 12 noon.*** 4.4-Lu lại đăng nhập không thành công Bạn lu lại đăng nhập thất bại cách tạo file /var/adm/loginlog mà root có quyền đọc ghi Sau bạn tạo file loginlog, tất hành động đăng nhập lỗi đợc tự động ghi vào file sau năm thất bại Xem "Cách lu lại đăng nhập không thành công" sau để cã nh÷ng chØ dÉn chi tiÕt File loginlog chøa mét đầu vào cho lần lỗi Mỗi đầu vào chứa tên đăng nhập ngời dùng, thiết bị hiển thị kiểu điện báo (tty), thời gian đăng nhập lỗi Nếu ngời tiến hành năm không thành công, đợc ghi lại File loginlog tăng cách nhanh chóng Để sử dụng thông tin file ngăn chặn file trở nên lớn, bạn phải kiểm tra xoá nội dung Khi file lu nhiều hành động, cho thấy đột phá vào hệ thống máy tính Để biết thêm thông tin file này, xem loginlog(4) Cách lu lại đăng nhập không thành công Trở thành superuser Tạo file loginlog th mục /var/adm # touch /var/adm/loginlog Đặt quyền đọc ghi cho root file loginlog # chmod 600 /var/adm/loginlog Thay đổi thành viên nhóm sys file loginlog # chgrp sys /var/adm/loginlog Thử đăng nhập vào hệ thống năm lần với mật sai để chắn log làm việc sau file loginlog đợc tạo Sau hiển thị file /var/adm/loginlog 91 # more /var/adm/loginlog pmorph: /dev/pts/4:Mon Jun pmorph: /dev/pts/4:Mon Jun pmorph: /dev/pts/4:Mon Jun pmorph: /dev/pts/4:Mon Jun pmorph: /dev/pts/4:Mon Jun # 8 8 11: 08: 27 11: 08: 49 11: 09: 03 11: 09: 22 11: 09: 36 1998 1998 1998 1998 1998 4.5-B¶o vƯ mËt khÈu b»ng cách dùng mật quay số Bạn thêm tầng an toàn vào chế mật bạn việc yêu cầu mật quay số (dial-up password) cđa ng−êi dïng truy nhËp hƯ thèng th«ng qua modem hay cæng quay sè Mét mËt khÈu dial-up mật bổ sung mà ngời dùng phải đa vào trớc đợc phép truy nhập tới hệ thống Chỉ superuser tạo hay thay đổi mật dial-up Để đảm bảo toàn vẹn hệ thống, mật nên đợc thay đổi tháng lần Việc sử dụng chế hiệu đòi hỏi mật dial-up để có đợc quyền truy nhập tới hệ thống gateway Liên quan tới việc tạo mËt khÈu dial-up lµ hai file: /etc/dialups vµ /etc/d_passwd File thứ chứa danh sách cổng yêu cầu mật dial-up, file thứ hai chứa danh sách chơng trình khung yêu cầu mật mã hoá với t cách mật dial-up bổ sung File dialups(4) danh sách thiết bị cuối, ví dụ: /dev/term/a dev/term/b File d_passwd(4) cã hai tr−êng Tr−êng thø nhÊt lµ cấu trúc (shell) đăng nhập đòi hỏi mật khẩu, trờng thứ hai mật mã hoá Các file /etc/dialups vµ /etc/d_passwd lµm viƯc nh− sau: Khi ng−êi dùng thử đăng nhập cổng đợc liệt kê /etc/dialups, chơng trình đăng nhập xem xét mục đăng nhập ngời dùng lu /etc/passwd, so sánh shell đăng nhập với mục /etc/d_passwd Các mục xác định xem ngời dùng có phải đa vào mật dial-up hay không /usr/lib/uucp/uucico:encrypted_password: /usr/bin/csh:encrypted_password: /usr/bin/ksh:encrypted_password: /usr/bin/sh:encrypted_password: Dãy mật dial-up đợc trình bày hình 4-1 92 User mrdh logs in on /dev/term/b The login port is in /etc/dialups /etc/dialups /dev/term/a /dev/term/b /dev/term/c /etc/passwd mrdh:x:205:1000:mark:/usr/mrdh:/usr/bin/ksh Check login shell field of /etc/paswd and look for match in /etc/d_passwd Matching entry for /usr/bin/ksh found; prompt for password found in /etc/d_passwd /etc/d_passwd /usr/bin/csh: /usr/bin/ksh: /usr/bin/sh: Hình 4-1 Dãy mật dial-up File /etc/d_passwd Vì hầu hết ngời dùng quản lý shell họ đăng nhập, nên tất chơng trình khung nên đa vào /etc/d_passwd Những chơng trình nh thÕ bao gåm uucico, sh, ksh vµ csh NÕu mét số ngời dùng thực shell đăng nhập họ, có nghĩa shell đăng nhập file Nếu chơng trình đăng nhập ngời dùng (cụ thể /etc/passwd) không tìm thấy /etc/d_passwd, hay trờng shell đăng nhập /etc/passwd null, mật /usr/bin/sh đợc sử dụng Nếu shell đăng nhập ngời dïng /etc/passwd t−¬ng øng víi mét mơc /etc/passwd, ngời dùng phải đa vào mật dial-up Nếu shell đăng nhập ngời dùng không tìm thấy /etc/d_passwd, ngời dùng phải đa vào mật mặc định Mật mặc định mục /usr/bin/sh Nếu trờng shell đăng nhập /etc/passwd rỗng, ngời dùng phải đa vào mật mặc định (một mục /usr/bin/sh) Nếu /etc/d_passwd mục /usr/bin/sh, ngời dùng mà trờng shell đăng nhập họ /etc/passwd rỗng hay không tơng ứng với mục /etc/d_paswd không đợc nhắc đa vào mật dial-up Những đăng nhập dial-up bị vô hiệu hoá /etc/d_paswd có mục sau: /usr/bin/sh:*: 93 Cách tạo mật dial-up Chú ý - Lần bạn thiết lập mật dial-up, bạn chắn trì việc ghi lại thiết bị cuối kiểm tra mật thiết bị cuối khác Nếu bạn gây lỗi cài đặt mật khÈu phơ vµ kÕt thóc kiĨm tra mËt khÈu míi, bạn khả khởi hoạt trở lại Nếu bạn ghi lại thiết bị cuối khác, bạn quay lại sửa chữa lỗi bạn Trở thành superuser Tạo file /etc/dialups lu danh sách thiết bị cuối, bao gồm tất cổng đòi hỏi bảo vệ mật dial-up File /etc/dialups nên đợc thấy nh− sau: /dev/term/a /dev/term/b /dev/term/c T¹o file /etc/d_passwd l−u chơng trình đăng nhập đòi hỏi mật dial-up mật dial-up mã hoá Bao gồm chơng trình đăng nhập mà ngời dùng chạy đăng nhập, ví dụ uucico, sh, ksh csh File /etc/d_passwd nên đợc thấy nh sau: /usr/lib/uucp/uucico:encrypted_password: /usr/bin/csh:encrypted_password: /usr/bin/ksh:encrypted_password: /usr/bin/sh:encrypted_password: Đặt quyền sở hữu cho root hai file # chown root /etc/dialups /etc/d_passwd Đặt quyền sở hữu nhóm cho root hai file # chogrp root /etc/dialups /etc/d_passwd Đặt quyền đọc ghi cho root hai file # chmod 600 /etc/dialups /etc/d_passwd Tạo mật mã hoá a T¹o ng−êi dïng t¹m thêi # useradd user-name b T¹o mËt khÈu cho ng−êi dïng t¹m thêi # passwd user-name c G¸n mËt khÈu m· ho¸ # grep user-name /etc/shadow > user-name.temp d Soạn thảo file user-name.tmp Xoá tất trờng, ngoại trừ mật mã hoá (trờng thứ hai) Ví dụ, dòng sau mật mã hoá U9gp9SyA/JlSk temp:U9gp9SyA/JlSk:7967:::::7988 94 e Xoá ngời dùng tạm thời # userdel user-name Sao chÐp mËt khÈu m· ho¸ từ file user-name.tmp vào file /etc/d_passwd Bạn tạo mật khác cho shell đăng nhập, hay sử dụng mật 4.6-Cách vô hiệu hoá tạm thời đăng nhập dial-up Trở thành superuser Đặt mục sau vào file /etc/d_passwd: /usr/bin/sh:*: 4.7-Hạn chế truy nhập Superuser (root) thiệt bị điều khiển Hệ điều hành dùng tài khoản superuser để thự chức có điều khiển phạm vi rộng toàn hệ điều hành Nó truy nhập thực chơng trình hệ thống thiết yếu Vì vậy, hầu nh hạn chế chơng trình mà superuser thực Bạn bảo vệ tài khoản superuser cách hạn chế truy nhập tới thiết bị cụ thể thông qua file /etc/default/login Ví dụ, truy nhập superuser bị hạn chế thiệt bị điều khiển, bạn đăng nhập hƯ thèng víi t− c¸ch superuser (superuser login) chØ tõ thiệt bị điều khiển Khi đăng nhập hệ thống từ xa nhằm thực chức giám quản, trớc hết họ phải đăng nhập với t cách ngời dùng họ sau dùng lệnh su(1M) để trở thành superuser Xem "Cách hạn chế Superuser (root) Login tới thiệt bị điều khiển" để có chØ dÉn chi tiÕt Ghi chó - H¹n chÕ superuser login tới thiệt bị điều khiển đợc thiết lập mặc định bạn cài đặt hệ thống Cách hạn chế Superuser (root) login tới thiệt bị điều khiển Trở thành superuser Soạn thảo file /etc/default/login Không đa dòng sau CONSOLE=/dev/console Bất kỳ ngời dùng thử đăng nhập hệ thống từ xa trớc hết phải đăng nhập với t cách ngời dùng, sau dùng lệnh su để trở thành superuser Thử đăng nhập từ xa tới hệ thống với t cách superuser, thẩm tra thao tác lỗi 4.8-Giám sát ngời dùng lệnh su Bạn bắt đầu kiểm soát cố gắng su thông qua file /etc/default/su Qua file này, bạn làm cho file /var/adm/sulog có khả kiểm soát lần dùng 95 lệnh su để thay đổi thành ngời dùng khác Xem "Cách giám sát ngời dùng lệnh su" để có dẫn bớc File sulog liệt kê tất ngời dùng lệnh su, ngời sử dụng để chuyển từ ngời dùng thành superuser Các mục đa ngày thời gian mà lệnh đợc thực hiện, thành công hay không (+ -), cổng mà từ lệnh phát ra, cuối tên ngời dùng định danh chuyển đổi Thông qua file /etc/default/su, bạn thiết lập hệ thống hiển thị thiệt bị điều khiển lần dùng lệnh su để có đợc quyền truy nhập superuser từ hệ thống từ xa Đây cách tốt để phát kịp thời cố gắng có đợc quyền truy nhập superuser hệ thống mà bạn làm việc Xem "Cách hiển thị truy nhập superuser tới thiệt bị điều khiển" để có chØ dÉn chi tiÕt C¸ch kiĨm so¸t ng−êi dïng lƯnh su Trở thành superuser Soạn thảo file /etc/default/su Bỏ giải dòng sau SULOG=/var/adm/sulog Sau biến đổi file /etc/default/su, dùng lệnh su vài lần hiển thị file /var/adm/sulog Bạn nên xem danh sách lần bạn dùng lệnh su # more /var/adm/sulog SU 12/20 16:26 + pts/0 nathan-root SU 12/21 10:59 + pts/0 nathan-root SU 01/12 11:11 + pts/0 root-joebob SU 01/12 14:56 + pts/0 pmorph-root SU 01/12 14:57 + pts/0 pmorph-root 4.9-C¸ch hiển thị lần truy nhập superuser (root) tới thiết bị điều khiển Trở thành superuser Soạn thảo file /etc/default/su Không đa dòng sau CONSOLE=/dev/console Dùng lệnh su để trở thành root, kiểm lại thông báo đợc in thiết bị điều khiển hệ thống 96 Chơng V-Sử dụng dịch vụ xác thực Phần chơng cung cấp thông tin chế xác thực mà RPC an toàn sử dụng Cả hai kiểu xác thực Diffie-Hellman Kerberos version đợc hỗ trợ Phần thứ hai gồm kiến thức module xác thực tải thêm đợc (PAM) PAM cung cấp cách thức để "tải vào" dịch vụ xác thực đảm bảo trợ giúp nhiều dịch vụ xác thực Đây danh sách dẫn bớc chơng "Cách thiết lập nhãn quyền NIS+ xác thực Diffie-Hellman" mục 5.2.2 "Cách thiết lập nhãn quyền NIS xác thực Diffie-Hellman" mục 5.2.3 "Cách chia xẻ gán file xác thực Diffie-Hellman" mục 5.2.4 "Cách chia xẻ gán file xác thực Kerberos" mục 5.3.1 "Cách tiếp nhận nhãn Kerberos Superuser Client" mục 5.3.2 "Cách đăng nhập dịch vụ Kerberos" mục 5.3.3 "Cách truy nhập th mục với xác thực Kerberos" mục 5.3.5 "Cách bổ sung module PAM" mục 5.6.2 "Cách ngăn chặn truy nhËp tr¸i phÐp tõ c¸c hƯ thèng tõ xa b»ng PAM" mục 5.6.3 "Cách khởi hoạt trình báo lỗi PAM" mục 5.6.4 5.1-Tổng quan RPC an toàn RPC an toàn cách thức xác thực xác nhận máy chủ ngời dùng đa yêu cầu RPC an toàn dùng xác thực Diffie-Hellman Kerberos Cả hai chế xác thực dùng mã DES Các ứng dụng dùng RPC an toàn gồm NFS dịch vụ tên NIS+ 5.1.1-Các dịch vụ NFS RPC an toàn Phần mềm NFS cho phép vài máy chủ chia xẻ file mạng Theo hệ thống NFS, server chứa liệu tài nguyên vài client Các client truy nhập tới hệ thống file mà server đa cho client Những ngời dùng đăng nhập vào máy client truy nhập c¸c hƯ thèng file b»ng c¸ch kÐo tõ server Đối với ngời dùng máy client, xuất nh file đợc đặt client Một cách dùng môi trờng NFS phổ biến cho cài đặt hệ thống công sở, lu giữ file ngời dùng địa điểm trung tâm Một số tính hệ thống NFS, chẳng hạn mount -nosuidoption, đợc dùng để ngăn chặn ngời dùng trái phép mở thiết bị nh file hệ thống Môi trờng NFS dùng RPC an toàn để xác thực ngời dùng đa yêu cầu mạng Điều đợc hiểu nh NFS an toàn Cơ chế xác thực, AUTH_DH, dùng mã DES với xác thực Diffie-Hellman để bảo đảm truy nhập hợp pháp Cơ chế AUTH_DH đợc gọi AUTH_DES Cơ chế AUTH_KERB4 dùng mã DES với xác thực Kerberos Cơ chế đợc gọi AUTH_KERB 97 NFS Adminitration Guide mô tả cách thiết lập quản trị NFS an toàn Cách thiết lập bảng NIS+ đa tên vào bảng cred đợc đề cập Solaris Naming Adminitration Guide Xem "Thùc thi x¸c thùc Diffie-Hellman" để có nét phác thảo bớc liên quan tới xác thực RPC 5.1.2-Mã DES Các hàm mã theo chuẩn mã hoá liệu (DES) dùng khoá 56-bit ®Ĩ m· ho¸ kho¸ bÝ mËt NÕu hai ng−êi dïng có tác quyền (hay nguyên lý) biết kho¸ DES, hä cã thĨ kÕt nèi víi t− c¸ch cá nhân dùng khoá để mã hoá giải mã văn DES chế mã hoá tơng đối nhanh Một DES chip mã hoá nhanh hơn, nhng chip, thực thi phần mềm thay thÕ Rđi ro cđa viƯc chØ dïng kho¸ DES với đủ thời gian kẻ xâm nhập thu thập đầy đủ thông điệp văn mã đợc mã hoá khoá, phát khoá gải mã thông điệp Vì lý này, hệ thống an toàn nh NFS an toàn thờng xuyên thay đổi khoá 5.1.3-Xác thực Diffie-Hellman Phơng pháp xác thực ngời dùng Diffie-Hellman quan trọng kẻ xâm nhập để bẻ khoá Mỗi client server có khoá sở hữu riêng (đôi gọi khoá bí mật) đợc dùng với khoá công khai để tạo khoá công cộng Họ dùng khoá công cộng để kết nối với ngời khác dùng hàm mã hoá/giải mã thoả thuận (ví dụ DES) Phơng pháp đợc gọi xác thực DES ấn phẩm Solaris trớc Xác thực dựa vào khả hệ thống gửi sử dụng khoá công cộng mã hoá phiên hành mà hệ thống nhận giải mã kiểm tra ngợc lại phiên hành Bạn phải đảm bảo đồng thời gian client server Các khoá công khai bí mật đợc lu sở liệu NIS NIS+ NIS lu khoá theo sơ đồ publickey, NIS+ lu khoá bảng cred Các file chứa khoá công khai khoá bí mật cho tất ngời dùng tơng lai Ngời giám quản hệ thống có trách nhiệm thiết lập bảng NIS NIS+ sinh khoá công khai khoá bí mật cho ngời dùng Khoá bí mật đợc lu mã hoá mật ngời dùng Điều làm cho khoá bí mật có ngời dùng biết Sau mô tả loạt giao dịch phiên client-server dùng trình cấp phép DH (AUTH_DH) Sinh khoá công khai bí mật Đôi trớc giao dịch, ngời giám quản thực lệnh newkey lệnh nisaddcred sinh khoá công khai khoá bí mật (Mỗi ngời dùng có khoá công khai khoá bí mật nhất) Khoá công khai đợc lu sở liệu công khai; khoá bí mật đợc lu dới dạng mã sở liệu Dùng lệnh chkey để thay đổi cặp khoá 98 Thực lệnh keylogin Thông thờng, mật đăng nhập giống hệt mật RPC an toàn Trong trờng hợp này, không đòi hỏi keylogin Nếu mật khác nhau, ngời dùng phải đăng nhập, sau thực keylogin cách rõ ràng Trình keylogin nhắc ngời dùng mật RPC an toàn dùng mật để giải mã khoá bí mật Sau trình keylogin chuyển khoá bí mật giải mã tới trình gọi keyserver (Keyserver dịch vụ RPC an toàn với liệu cục máy tính) Keyserver lu lại khoá bí mật giải mã chờ ngời dùng khởi hoạt giao dịch RPC an toàn với server Nếu mật giống nhau, trình đăng nhập chun kho¸ bÝ mËt tíi keyserver NÕu c¸c mËt khÈu đợc yêu cầu khác ngời dùng phải chạy keylogin, trình keylogin đợc bao hàm file cấu hình môi trờng ngời dùng, chẳng hạn ~/.login, ~/.cshrc, ~/.profile, cho tự động chạy ngời dùng đăng nhập Sinh khoá giao tiếp Khi ngời dùng khởi hoạt giao dịch với server: Keyserver ngẫu nhiên sinh khoá giao tiếp Kernel dïng kho¸ giao tiÕp m· ho¸ tem thêi gian client (giữa thứ khác) Keyserver tìm khoá công khai server CSDL khoá công khai (xem trang chØ dÉn publickey(4)) Keyserver dïng kho¸ bÝ mật client khoá công khai server tạo khoá công cộng Keyserver mã hoá khoá giao tiếp khoá công cộng Liên lạc thứ với server Cuộc truyền bao gồm tem thời gian mã khoá giao tiếp mã đợc gửi tới server Cc trun nµy chøa mét nh·n qun vµ mét nhãn xác minh Nhãn quyền gồm ba thành phần: Tên mạng client Khoá giao tiếp mã hoá khoá công cộng Một "cửa sổ" ("window") mã hoá khoá giao tiếp Window độ vi sai mà client cho hợp lệ đồng hồ server tem thời gian client Nếu độ vi sai đồng hồ server tem thời gian client lớn window, server loại bỏ yêu cầu client Theo tình thông thờng điều không xảy client trớc hết phải đồng với server trớc bắt đầu phiên RPC Nhãn xác minh client gồm: Tem thời gian mã Một nhãn xác minh window mã giảm dần tới 99 Nhãn xác minh window cần thiết trờng hợp muốn mạo nhận ngời dùng ghi chơng trình bổ sung bit ngẫu nhiên, thay cho việc điền trờng nhãn quyền xác minh mã Server giải mã khoá giao tiếp thành khoá ngẫu nhiên dùng để thử giải mã window tem thời gian Kết đợc số ngẫu nhiên Tuy nhiên, sau vài nghìn thử nghiệm, có khả cặp window/tem thời gian ngẫu nhiên vợt qua hệ thống xác thực Nhãn xác minh window làm cho việc đoán nhãn quyền khó khăn nhiều Giải mã khoá giao tiếp Khi server tiếp nhận truyền từ client: Keyserver yêu cầu server tìm khoá công khai client CSDL khoá công khai Keyserver dùng khoá công khai client khoá bí mật server suy khoá công cộng - giống khoá công cộng client tính (Chỉ có client server tính khoá công cộng việc làm đòi hỏi biết khoá bí mật khoá khác) Kernel dùng khoá công cộng giải mã khoá giao tiếp Kernel gọi keyserver để giải mã tem thời gian client khoá giao tiếp giải mã Lu thông tin server Sau server gi¶i m· tem thêi gian cđa client, nã l−u mục thông tin vào bảng nhãn quyền: Tên máy tính client Khoá giao tiếp Độ vi sai (window) • Tem thêi gian cđa client Server l−u ba mục cho lần dùng sau Nó lu tem thời gian để bảo vệ chống lặp lại Server chØ chÊp nhËn nh÷ng tem thêi gian theo thø tù thời gian lớn tem cuối nhìn thấy, nên giao dịch lặp lại chắn bị loại bỏ Ghi - ẩn thủ tục tên ngời gọi cần đợc xác thực theo cách Keyserver dùng xác thực DES để làm điều tạo tắc nghẽn Để giải vấn đề này, keyserver lu khoá bí mật UID thừa nhận yêu cầu tiến trình root cục Gửi trả nhãn xác minh cho client Server trả lại nhãn xác minh cho client, gồm: Index ID mà server ghi cache nh·n qun cđa nã • Tem thêi gian cđa client trõ m· ho¸ b»ng kho¸ giao tiÕp Lý trõ ë tem thêi gian lµ để chắn tem thời gian bị sai dùng lại làm nhãn xác minh client Client xác thực server Client nhận nhãn xác minh xác thùc server Client biÕt r»ng chØ cã server míi cã thể gửi nhãn xác minh có server biết client gửi tem thời gian 100 Các giao dịch phụ Với giao dịch sau giao dịch đầu tiên, client trả lại index ID cho server giao dịch thứ hai gửi tem thời gian mã khác Serser gửi trở lại tem thời gian cđa client trõ m· ho¸ b»ng kho¸ giao tiếp 5.1.4-Kerberos version Kerberos hệ thống xác thực đợc phát triển Viện Công nghệ Massachusetts Kerberos dùng mã DES để xác thực ngời dùng đăng nhập hệ thống Xác thực dựa vào khả hệ thống gửi dùng khoá công cộng để mã phiên hành mà hệ thống nhận giải mã kiểm tra ngợc lại phiên hành Kerberos version đợc trợ giúp ban đầu phiên Solaris 2.6 Kerberos tiến hành xác thực mật đăng nhập ngời dùng Ngời dùng đa vào lệnh kinit để thu đợc thẻ phê chuẩn thời gian phiên (hoặc giờ, thời gian phiên mặc định) từ server xác thực Kerberos Khi ngời dùng logout, thẻ bị huỷ (dùng lệnh kdestroy) Phầnmềm Kerberos có từ dự án Athena MIT, phÇn cđa phÇn mỊm SunOS 5.7 PhÇn mỊm SunOS 5.7 cung cấp: Các lệnh APIs mà client dùng để tạo, yêu cầu phê chuẩn thẻ Tuỳ chọn xác thực cho RPC an toàn Trình hoạt động độc lập bên cạnh client, kerbd(1M) Sau mô tả bớc cách "Cài đặt xác thực Kerberos với NFS" nhằm đa nhìn tổng quan cách làm việc thủ tục xác thực Kerberos Ghi - Solaris cung cấp khả kết nối với tiện ích Kerberos Nó không cung cấp trọn gói Kerberos Tuy nhiên, bạn ftp nguồn Kerberos từ athenadist.mit.edu dùng anonymous làm tên ngời dùng địa email bạn làm mật Nguồn đợc đặt th mục pub/kerberos Quá trình sau giả thiết trung tâm phân phối khoá (KDC) đợc cài đặt sẵn mạng dùng nguồn sẵn có công khai từ dự án Athena MIT Tiện ích /usr/sbin/kerbd phải chạy client server NFS Tiện ích thông thờng đợc bắt đầu cần thiết inetd Có thể dùng lệnh rpcinfo để chắn dịch vụ kerbd đợc đăng ký kerbd lµ tiƯn Ých kiĨu ng−êi dïng Nã ghÐp nèi víi kernel RPC KDC Nó sinh phê chuẩn thẻ xác thực mount Ngời giám quản hệ thống gán cho NFS server dùng xác thực Kerberos Phần mềm Kerberos MIT thờng đăng ký tên yếu trung tâm phân phối khoá (KDC) Kerberos server Các mục sau đợc yêu cầu: root.hostname (đòi hỏi client) nfs.hostname (đòi hỏi NFS server) Ngời dùng thiết lập hệ thống file dùng chung Ngời dùng client phải có thẻ root client để thiết lập hệ thống file dïng chung Ng−êi dïng dïng lƯnh kinit ®Ĩ đăng nhập dịch vụ Kerberos 101 Server xác thực Kerberos xác nhận yêu cầu cấp thẻ cho dịch vơ cÊp thỴ Ng−êi dïng truy nhËp th− mơc ®· thiÕt lËp TiƯn Ých kerbd tù ®éng b¶o vƯ thẻ đại diện cho client NFS server xuất hệ thống file Tại điểm này, có hai thẻ có hiệu lực, thẻ cấp thẻ (ticket-granting ticket) ban đầu thẻ server Ngời dùng huỷ thẻ cuối phiên để ngăn làm tổn thơng chúng Lệnh kdestroy huỷ thẻ xác thực Kerberos có hiệu lực ngời dùng cách ghi số vào file chứa thẻ Bạn đặt lệnh kdestroy file logout bạn, cho tất thẻ Kerberos đợc huỷ tự động bạn thoát khỏi hệ thống Nếu thẻ bị huỷ trớc phiên làm việc kết thúc, ngời dùng phải yêu cầu thẻ lệnh kinit 5.2-Phân phối xác thực Diffie-Hellman Ngời giám quản hệ thống thực thi sách trợ giúp an toàn mạng Mức an toàn yêu cầu vị trí (site) khác Phần cung cấp dẫn số tác vụ kết hợp với an toàn mạng 5.2.1-Cách khởi động Keyserver Trở thành superuser Xác nhận tiện ích keyserv (keyserver) không chạy # ps -ef | grep keyserv root 100 16 Apr 11 ? 0:00 /usr/sbin/keyserv root 2215 2211 09:57:28 pts/0 0:00 grep keyserv Khởi động keyserver không chạy # /usr/sbin/keyserv 5.2.2-Cách thiết lập nhãn quyền NIS+ xác thực Diffie-Hellman Để có mô tả chi tiết an toàn NIS+, xem Solaris Naming Administration Guide Đặt khoá cho root NIS+ client Trở thành superuser Soạn thảo file /etc/nsswitch.conf bổ sung dòng sau: publickey: nisplus Khëi ho¹t NIS+ client # nisinit -cH hostname hostname tên NIS+ server tin cậy chứa đầu vào máy client bảng Bổ sung client vào bảng cred cách gõ lƯnh sau # nisaddcred local # nisaddcred des X¸c nhận cài đặt lệnh keylogin Nếu bạn đợc nhắc mật khẩu, thủ tục thành công 102 Ví dụ cách đặt khoá cho root NIS+ client Ví dụ sau dùng máy chủ pluto để đặt earth NIS+ client Bạn bỏ qua lời cảnh báo Việc chấp nhận lệnh keylogin xác nhận đặt earth nh mét NIS+ client an toµn # nisinit -cH pluto NIS Server/Client setup utility This machine is in the North.Abc.COM directory Setting up NIS+ client All done # nisaddcred local # nisaddcred des DES principal name : unix.earth@North.Abc.COM Adding new key for unix.earth@North.Abc.Com (earth.North.Abc.COM.) Network password: xxx Warning, password differs from login password Retype password: xxx # keylogin Password: # Đặt khoá cho NIS+ user: Bổ sung ngời dùng vào bảng cred root master server b»ng c¸ch gâ lƯnh sau: # nisaddcred -p unix UID@domainname -p username.domainname des L−u ý r»ng trờng hợp username.domainname phải kết thúc dấu chấm (.) Xác nhận cài đặt cách đăng nhập nh client gõ lệnh keylogin Ví dụ đặt khoá cho NIS+ user Ví dụ sau đa xác thực an toàn DES cho ngời dùng george # nisaddcred -p unix.1234@North.Abc.com -p george.North.Abc.COM des DES principal name : unix.1234@North.Abc.COM Adding new key for unix.1234@North.Abc.COM (george.North.Abc.COM.) Password: Retype password: # rlogin rootmaster -l george # keylogin Password: # 103 5.2.3-Cách đặt nhãn quyền NIS cho xác thực Diffie-Hellman Tạo khoá cho superuser client Trở thành superuser client Soạn thảo file /etc/nsswitch.conf bổ sung dòng sau: publickey: nis Tạo cặp khoá lệnh newkey # newkey -h hostname hostname tên client Ví dụ việc cài đặt NIS+ client để dùng an toàn Diffie-Hellman Ví dụ sau cài đặt earth NIS+ client # newkey -h earth Adding new key for unix.earth@North.Abc.COM New password: Retype password: Please wait for the database to get updated Your new key has been successfully stored away # T¹o mét khoá cho user Đăng nhập tới server với t cách superuser Chỉ ngời giám quản hệ thống đăng nhËp tíi NIS+ server míi cã thĨ sinh mét kho¸ cho user Tạo khoá cho user # newkey -u username username tên ngời dùng Hệ thông nhắc đa vào mật Ngời giám quản hệ thèng cã thĨ goc mËt khÈu chung Kho¸ bÝ mËt đợc lu mã hoá với mật chung # newkey -u george Adding new key for unix.earth@North.Abc.COM New password: Retype password: Please wait for the database to get updated Your new key has been successfully stored away # Lệnh cho ngời dùng đăng nhập gõ lệnh chkey -p Điều cho phép ngời dùng mã lại kho¸ bÝ mËt cđa hä víi mËt khÈu chØ cã ng−êi dïng biÕt earth% chkey -p Updating nis publickey database 104 Reencrypting key for unix.1234@Abc.North.Acme.COM Please enter the Secure-RPC password for george: Please enter the login password for george: Sending key change request to pluto # Ghi chó - Lệnh chkey đợc dùng để tạo cặp khoá cho user 5.2.4-Cách chia xẻ gắn file với xác thực Diffie-Hellman Điều kiện đầu Cho phép xác thực publickey Diffie-Hellman mạng Xem mục "Cách đặt nhãn quyền NIS+ cho xác thực Diffie-Hellman" "Cách đặt nh·n qun NIS cho x¸c thùc Diffie-Hellman" Dïng chung hƯ thống file với xác thực Diffie-Hellman Trở thành superuser Dïng chung hƯ thèng file víi x¸c thùc Diffie-Hellman # share -F nfs -o sec=dh /filesystem G¾n hƯ thèng file với xác thực Diffie-Hellman Trở thành superuser Gắn hệ thống file với xác thực Difie-Hellman # mount -F nfs -o sec=dh server.resource mountpoint Tïy chän -o sec=dh gắn hệ thống với xác thực AUTH_DH 5.3-Quản trị xác thực Kerberos version Ngời giám quản hệ thống thực thi sách trợ giúp an toàn mạng Mức an toàn yêu cầu vị trí (site) khác Phần cung cấp dẫn số tác vụ kết hợp với an toàn mạng 5.3.1-Cách chia xẻ gắn file với xác thực Kerberos Điều kiện đầu Phải cho phép xác thực Kerberos mạng Dùng chung hệ thống file với xác thực Kerberos Trở thành superuser Dùng chung hƯ thèng file víi x¸c thùc Kerberos # share -F nfs -o sec=krb4 /filesystem Gắn hệ thống file với xác thực Diffie-Hellman Trở thành superuser Gắn hệ thống file víi x¸c thùc Kerberos # mount -F nfs -o sec=krb4 server.resource mountpoint Tïy chän -o sec=krb4 g¾n hƯ thèng file với xác thực AUTH_KRB 105 5.3.2-Cách lấy thẻ Kerberos cho superuser client Nếu không gán đợc hệ thống file NFS mà bạn cần truy nhập, bạn cần có thẻ superuser client trớc vào Lấy thẻ cho hệ thống file cha sẵn sàng (not-yet-mounted) Trở thành superuser Lấy thẻ Kerberos client # kinit root.hostname hostname tên hệ thống client # kinit root.earth Pasword: # LÊy thỴ cđa hƯ thèng file sẵn sàng Nếu mục root.hostname client đợc đa vào file cấu hình /etc/srvtab, bạn dùng lệnh ksrvtgt để lấy thẻ cho superuser Trong trờng hợp này, bạn không bị yêu cầu đa mật superuser Tham khảo tài liệu MIT để có thông tin cách khởi hoạt file /etc/srvtab Trở thành superuser Lấy thẻ hệ thống file gán đợc # ksrvtgt root.hostname Ví dụ - Lấy thẻ Kerberos cho superuser client # ksrvtgt root.earth # 5.3.3-Cách đăng nhËp tíi dÞch vơ Kerberos Dïng lƯnh kinit -l username để đăng nhập tới dịch vụ Kerberos earth% kinit -l username Lệnh kinit nhắc bạn thời gian có hiệu lực thẻ (tuỳ chọn -l), mật bạn Nó in thông tin thẻ theo kiểu y (tuỳ chọn -v) Ví dụ đăng nhập dÞch vơ Kerberos earth% kinit -l jjones SunOS (earth) Kerberos Initialization for ''jjones'' Kerberos ticket lifetime (minutes): 480 Password: earth% 106 5.3.4-Cách liệt kê thẻ Kerberos earth% klist Ví dụ liệt kê thẻ Kerberos earth% klist Ticket file: /tmp/tkt8516 Principal: jjones@North.Abc.COM Issued Expires Principle Jan 14 20:40:54 Jan 15:04:40:54 krbtgt.North.Abc.COM@North.Abc.COM 5.3.5-C¸ch truy nhËp th− mơc víi x¸c thùc Kerberos Gâ cd /mountpoint Truy nhËp th− mơc ®· gán đợc, nh bạn có th mục gán đợc khác Bạn liệt kê file th mục lệnh ls, liệt kê thẻ Kerberos với lệnh klist mount Ví dơ vỊ c¸ch truy nhËp th− mơc víi x¸c thùc Kerberos Trong vÝ dơ sau, ng−êi dïng jjones cã thĨ biến đổi th mục mntkrb gán đợc liệt kê file th mục Tiện ích kerbd tự động bảo vệ thẻ đại diện cho ngời dùng NFS server xuất hệ thống file Tại điểm cã hai thỴ cã hiƯu lùc - thỴ cho viƯc cấp thẻ thẻ server Hai thẻ đợc liƯt kª b»ng klist earth% cd /mntkrb earth% ls -l /mntkrb -rw-r r-1 marks staff 29 Jul 14 12:22 sports drwxr-xr-x jjones staff 512 Sep 13 13:44 market earth% klist Ticket file: /tmp/tkt8516 Principal: jjones@North.Abc.COM Issued Expires Principle Jan 14 20:40:54 Jan 15:04:40:54 krbtgt.North.Abc.COM@North.Abc.COM Jan 14 20:43:21 Jan 15:04:43:21 nfs.pluto@North.Abc.COM 5.3.6-Cách huỷ thẻ Kerberos Gõ vào kdestroy Huỷ thẻ Kerberos phiên làm việc kết thúc, cho ngời dùng trái phép có đợc quyền truy nhập Nếu bạn muốn khởi hoạt lại xác thực Kerberos, th× dïng lƯnh kinit 107 VÝ dơ vỊ viƯc huỷ thẻ Kerberos Ví dụ sau trình bày cách huỷ thẻ Kerberos Sau ngời dùng thử thay đổi hay hiển thị th mục có bảo vệ Kerberos, ticket server tõ chèi truy nhËp earth% kdestroy Tickets destroyed earth% ls /mntkrb Can't get Kerberos key: No ticket file (tf_util) NFS getattr failed for server pluto: RPC: Authentication error can not access directory /mntkrb 5.4-Giíi thiƯu vỊ PAM Khung module xác thực khả cắm (PAM) cho phép bạn "cắm thêm" công nghệ xác thực mà không cần thay đổi dịch vụ hệ thống tiếp nhận nh login, ftp, telnet Bạn dùng PAM để tích hợp UNIX login với chế an toàn khác nh DCE Kerberos Cũng "cắm" khung vào chế để quản lý tài khoản, phiên mật 5.4.1-Những lợi ích việc dùng PAM PAM cho phép ngời giám quản hệ thống lựa chọn tổ hợp dịch vụ hệ thống tiếp nhận (ftp, login, telnet, rsh làm ví dụ) để xác thực ngời dùng Một số lợi ích mà PAM cung cấp là: Chính sách cấu hình linh hoạt Chính sách xác thực ứng dụng Khả lựa chọn chế xác thực mặc định Nhiều mật hệ thống an toàn cao Dễ dùng ngời dùng cuối Không phải gõ lại mật chúng giống chế khác Khả dùng mật riêng cho nhiều phơng thức xác thực tính ánh xạ mật khẩu, mật gắn với phơng thức xác thực khác Khả nhắc ngời dùng mật nhiều phơng thức xác thực mà không bắt ngời dùng đa vào nhiều lệnh Khả bỏ qua tham số tùy chọn dịch vụ xác thực ngời dùng PAM dùng module khả cắm thời gian thực để bảo đảm xác thực cho dịch vụ hệ thống tiếp nhận Các module đợc chia thành bốn kiểu khác dựa vào chức chúng: xác thực, quản lý tài khoản, quản lý phiên quản lý mật Tính xếp chồng (stacking) đợc cung cấp cho phép bạn xác thực ngời dùng nhiều dịch vụ, nh tính ánh xạ mật không đòi hỏi ngời dùng nhớ nhiỊu mËt khÈu 5.4.2-C¸c kiĨu PAM module Cã hiĨu biÕt kiểu PAM module quan trọngvì kiểu module xác định cách ghép nối với module Có bốn kiĨu PAM module thêi gian thùc: 108 C¸c module x¸c thực đảm bảo xác thực ngời dùng cho phép đặt, làm tơi huỷ nhãn quyền Chúng cung cấp công cụ giám quản có giá trị việc định danh ngời dùng Các module tài khoản kiểm tra thời hạn mật khẩu, làm hiệu lực tài khoản hạn chế thời gian truy nhập Sau ngời dùng đợc định danh thông qua module xác thực, module tài khoản xác định ngời dùng đợc truy nhập Các module phiên quản lý việc mở đóng phiên xác thực Chúng ghi lại hành động hay đảm bảo dọn dẹp sau phiên kết thúc Các module mật cho phép thay đổi mật 5.4.3-Tính stacking PAM cung cấp phơng pháp xác thùc ng−êi dïng nhiỊu dÞch vơ b»ng stacking Phơ thc vào cấu hình, ngời dùng đợc nhắc mật với phơng thức xác thực Trật tự mà theo dịch vụ xác thực đợc dùng đợc xác định thông qua file cấu hình PAM 5.4.4-Tính ánh xạ mật Phơng pháp stacking đòi hỏi ngời dùng nhớ vài mật Với tính ánh xạ mật khẩu, mật đợc dùng để giải mã mật khác, nên ngời dùng không cần nhớ hay đa vào nhiều mật Sự lựa chọn khác đồng mật chéo qua chế xác thực Lu ý rằng, điều làm tăng rủi ro an toàn, an toàn chế bị hạn chế dùng mật an toàn stack 5.5-Chức tiện ích PAM Phần mỊm PAM gåm mét th− viƯn, mét vµi module vµ file cấu hình Các phiên vµi lƯnh hay tiƯn Ých hƯ thèng tiÕp nhËn mang đến u điểm ghép nối PAM đợc bao hàm Hình 5-1 minh hoạ mối quan hệ ứng dung, th viện PAM, file pam.conf PAM module 109 ftp telnet login Applications pam.con ffile PAM Library PAM Module pam_unix.so.1 pam_dial_auth.so.1 pam_doe.so.1 H×nh 5-1 PAM làm việc nh Các ứng dụng (ftp, telnet, login) dùng th viện PAM để truy nhập module thích hợp File pam.conf xác định dùng module nào, sử dụng theo trật tự với ứng dụng Những câu trả lời từ module đợc truyền lại tới ứng dụng thông qua th viện Phần sau mô tả mối quan hệ 5.5.1-Th viện PAM Th viện PAM, /usr/lib/libpam cung cấp khung tải module thích hợp quản lý tiến trình stacking Nó đảm bảo cấu trúc chung cho tất module cắm vào 5.5.2-Các PAM module Mỗi PAM module thực thi chế cụ thể Khi cài đặt xác thực PAM, bạn cần đặc tả module kiểu module xác định module làm Có thể có nhiều kiểu module (xác thực, tài khoản, phiên, hay mật khẩu) đợc kết hợp với module Danh sách sau mô tả PAM module Module pam_unix, /usr/lib/security/pam_unix.so.1, đảm bảo trợ giúp xác thực, quản lý tài khoản, quản lý phiên qu¶n lý mËt khÈu Cã thĨ dïng bÊt kú mét bốn định nghĩa kiểu module với module Nó dùng mật UNIX để xác thực Trong môi trờng Solaris, điều khiển lựa chọn dịch vụ tên thích hợp để lấy ghi mật thông qua file /etc/nsswitch.conf Xem pam_unix(5) để có thêm thông tin 110 Module dial_auth, /usr/lib/security/pam_auth.so.1, cã thĨ chØ dïng ®Ĩ xác thực Nó dùng liệu lu file /etc/dialups /etc/d_passwd để xác thực Modle chủ yếu login dùng Xem pam_dial_auth(5) để có thêm thông tin Module rhosts_auth, /usr/lib/security/pam_rhosts_auth.so.1, dùng để xác thực Nó dùng liệu lu file ~/.rhosts /etc/host.equip thông qua ruserok() Module chủ yếu lệnh rlogin rsh dùng Xem pam_rhosts_auth(5) để có thêm thông tin Vì lý an toàn, file module phải root sở hữu ghi thông qua quyền group other Nếu file không root sở hữu, PAM không tải module 5.5.3-File cấu hình PAM File cấu hình PAM, /etc/pam.conf, xác định dịch vụ xác thực đợc sử dụng, thứ tự sử dụng chúng Có thể soạn thảo file để chọn chế xác thực cho ứng dụng hệ thống tiếp nhận Cú pháp file cấu hình File cấu hình PAM gồm mục víi có ph¸p nh− sau: service_name module_type control_flag module_path module_options service_name Tên dịch vụ (ví dụ, ftp, login, telnet) module_type Kiểu module cho dịch vụ control_flag Xác định tiếp tục hay giải nghĩa lỗi module module_path Đờng dẫn tới đối tơng th viện thực thi chức dịch vụ module_options Các tùy chọn đặc biệt đợc truyền tới module dịch vụ Bạn bổ sung lời dẫn giải vào file pam.conf cách gõ dấu # (dấu pao) đầu dòng Dùng dấu khoảng cách để phân biệt trờng Ghi - Một mục file cấu hình bị bỏ qua tồn điều kiện sau đây: dòng có bốn trờng, đa giá trị sai cho module_type hay control_flag, module tên không tìm thấy Các tên dịch vụ hợp lệ Bảng 5-1 liệt kê số tên dịch vụ hợp lệ , kiểu module dùng đợc với dịch vụ đó, tiện ích hay lệnh kết hợp với tên dịch vụ Có vài kiểu module không tơng thích với dịch vụ Ví dụ, kiểu module password đợc đặc tả để ®i víi lƯnh passwd Kh«ng cã kiĨu module auth kÕt hợp với lệnh không liên quan tới xác thực Bảng 5-1 Các tên dịch vụ hợp lệ /etc/pam.conf Tên dịch vụ Tiện ích hay Lệnh KiÓu module dtlogin /usr/dt/bin/dtlogin auth, account, session ftp /usr/sbin/in.ftpd auth, account, session init /usr/sbin/init session 111 login passwd rexd rlogin rsh sac su telnet ttymon uucp /usr/bin/login /usr/bin/passwd /usr/sbin/rpc.rexd /usr/sbin/in.rlogind /usr/sbin/in.rshd /usr/lib/saf/sac /usr/bin/su /usr/sbin/in.telnetd /usr/lib/saf/ttymon /usr/sbin/in.uucpd auth, account, session passwd auth auth, account, session auth, account, session session auth, account, session auth, account, session session auth, account, session C¸c cê điều khiển Để xác định tiếp tục hay hay xử lý lỗi từ module tiến trình xác thực, bạn phải chọn bốn cờ điều khiển cho mục Các cờ điều khiển rõ cách thử thành công hay thất bại thông qua module đợc thực Mặc dù cờ áp dụng cho tất kiểu module, lời giải nghĩa sau giả thiết cờ để dùng cho module xác thực Các cờ điều khiển nh sau: required - Module phải trả lại kết để có đợc kết tổng thể Nếu tất module có nhãn required, tất module phải có kết cho ngời dùng đợc xác thực Nếu số module lỗi , thông báo giá trị lỗi từ module bị lỗi Nếu lỗi xảy module đợc gán cờ required, tất module stack tiếp tục nhng trả lại lỗi Nếu module đợc gán cờ required, đầu vào dịch vụ phải có kết cho ngời dùng đợc xác thực requisite - Module phải trả lại kết để tiến hành xác thực bổ sung Nếu hỏng hóc xảy với module đợc gán cờ requisite, lỗi đợc trả lại tức cho ứng dụng xác thực bổ sung đợc thực Nếu stack module u tiên đợc gán cờ required bị hỏng, lỗi từ module bị trả lại Nếu module ban đầu đợc gán nhãn required bị hỏng, trả lại thông báo lỗi từ module required optional - Nếu module hỏng, cã thĨ cã kÕt qu¶ tỉng thĨ nÕu mét module khác stack trả lại kết Cờ optional đợc dùng kết stack đủ xác thực ngời dùng Cờ đợc sử dụng không quan trọng thành công chế cụ thể Nếu ngời dùng bạn cần có quyền kết hợp với chế đặc biệt để bắt đầu tiến hành công việc họ, bạn không nên dán nhãn optional sufficient - Nếu module thành công, bỏ qua module lại stack, kể chúng đợc gán nhãn required Cờ sufficient rõ xác thực thành công đủ để ngời dùng đợc cÊp qun truy nhËp Mơc "CÊu h×nh PAM" sÏ cung cấp hông tin thêm cờ này, mô tả file /etc/pam.conf mặc định 112 File pam.conf tổng quát Sau ví dụ file pam.conf tổng quát # PAM configuration # Authentication management # login auth required /usr/lib/security/pam_unix.so.1 login auth required /usr/lib/security/pam_dial.so.1 rlogin auth sufficient /usr/lib/security/pam_rhost_auth.so.1 rlogin auth required /usr/lib/security/pam_unix.so.1 dtlogin auth required /usr/lib/security/pam_unix.so.1 telnet auth required /usr/lib/security/pam_unix.so.1 su auth required /usr/lib/security/pam_unix.so.1 ftp auth required /usr/lib/security/pam_unix.so.1 uucp auth required /usr/lib/security/pam_unix.so.1 rsh auth required /usr/lib/security/pam_rhost_auth.so.1 OTHER auth required /usr/lib/security/pam_unix.so.1 # # Account management # login account required /usr/lib/security/pam_dial.so.1 rlogin account required /usr/lib/security/pam_unix.so.1 dtlogin account required /usr/lib/security/pam_unix.so.1 telnet account required /usr/lib/security/pam_unix.so.1 ftp account required /usr/lib/security/pam_unix.so.1 OTHER account required /usr/lib/security/pam_unix.so.1 # # Session management # login session required /usr/lib/security/pam_dial.so.1 rlogin session required /usr/lib/security/pam_unix.so.1 dtlogin session required /usr/lib/security/pam_unix.so.1 telnet session required /usr/lib/security/pam_unix.so.1 uucp session required /usr/lib/security/pam_unix.so.1 OTHER session required /usr/lib/security/pam_unix.so.1 # # Password management # passwd password required /usr/lib/security/pam_unix.so.1 OTHER password required /usr/lib/security/pam_unix.so.1 File pam.conf tổng quát định rõ: Khi chạy login, xác thực phải có kết cho hai module pam_unix pam_dial_auth Đối với rlogin, xác thực qua module pam_unix phải có kết quả, xác thực qua pam_rhost_auth hỏng 113 Cờ điều khiển sufficient rõ rlogin xác thực module pam_rhost_auth cung cấp thành công đủ đầu vào đợc bỏ qua Hầu hết lệnh khác đòi hỏi xác thực yêu cầu xác thực qua module pam_unix thành công Xác thực rsh phải có kết qua module pam_rhost_auth Tên dịch vụ OTHER cho phép mặc định đợc đặt cho lệnh khác đòi hỏi xác thực mà file Tuỳ chọn OTHER làm cho dễ dàng ngời quản trị file, nhiều lệnh dùng module dùng đầu vào đủ Ngoài ra, tên dịch vụ OTHER, dùng nh "catchall", đảm bảo truy nhập đợc kiểm soát module Theo quy ớc, đầu vào OTHER đợc đề cập cuối phần cho kiểu module Các mục lại file điều khiển việc quản lý tài khoản, phiên mật Bằng việc dùng tên dịch vụ mặc định, OTHER, file cấu hình PAM tổng quát đợc đơn giản hoá thành: # PAM configuration # # Authentication management # login auth required /usr/lib/security/pam_unix.so.1 login auth required /usr/lib/security/pam_dial.so.1 rlogin auth sufficient /usr/lib/security/pam_rhost_auth.so.1 rlogin auth required /usr/lib/security/pam_unix.so.1 rsh auth required /usr/lib/security/pam_rhost_auth.so.1 OTHER auth required /usr/lib/security/pam_unix.so.1 # # Account management # OTHER account required /usr/lib/security/pam_unix.so.1 # # Session management # OTHER session required /usr/lib/security/pam_unix.so.1 # # Password management # OTHER password required /usr/lib/security/pam_unix.so.1 Thông thờng, đầu vào cho module_path "root-relative" Nếu tên file bạn đa vào cho module_path không đợc bắt đầu dấu /, đờng dẫn /usr/lib/security/ đợc đặt trớc tên file Các module th mục khác phải dùng tên đờng dẫn đầy đủ Các giá trị cho module_options đợc tìm thấy trang trợ giúp module (Ví dụ, pam_unix(5)) 114 Các tuỳ chọn use_first_pass try_first_pass module pam_unix cung cÊp cho phÐp ng−êi dïng dïng lại mật xác thực mà gõ lại Nếu login đặc tả xác thực qua pam_local pam_unix, ngời dùng đợc nhắc đa vào mật cho module Trong trờng hợp mật giống nhau, tuỳ chọn module use_first_pass yêu cầu mật dùng mật để xác thực ngời dùng cho hai module Nếu mật khác nhau, xác thực lỗi Nói chung, tuỳ chọn nên dùng với cờ điều khiển optional, nh trình bày dới đây, để chắn ngời dùng đăng nhập # Authentication management # login auth required /usr/lib/security/pam_unix.so.1 login auth optional /usr/lib/security/pam_local.so.1 use_first_pass NÕu tuú chän module try_first_pass đợc dùng thay thế, local module yêu cầu mật thứ hai mật không tơng thích gây lỗi Nếu hai phơng pháp xác thực cần cho ngời dùng để có đợc quyền truy nhập tới tất công cụ họ cần, việc dùng tuỳ chọn dẫn đến số xáo trộn ngời dùng ngời dùng có đợc quyền truy nhập với kiểu xác thực 5.6-Cấu hình PAM Phần bên dới đề cập tới số tác vụ đợc yêu cầu để làm cho PAM đầy đủ chức Cụ thể, bạn nên biết số vấn đề an toàn kết hợp với file cấu hình PAM 5.6.1-Lập sơ đồ cho PAM Khi định cách dùng PAM tốt môi trờng bạn, bạn nên bắt đầu việc xem xét vấn đề sau: Xác định nhu cầu bạn gì, đặc biệt bạn nên chọn module Xác định dịch vụ cần ý đặc biệt; dùng OTHER thích hợp Quyết định thứ tự chạy module Chọn cờ điều khiển cho module Chọn tuỳ chọn cần cho module có số gợi ý đáng quan tâm trớc thay đổi file cấu hình PAM: Dùng đầu vào OTHER cho kiểu module cho ứng dụng nói đến Chắc chắn xem xét hiệu ứng an toàn kéo theo cờ điều khiển sufficient optional Xem lại trang trợ giúp với moduleđể hiểu cách hoạt động module, tuỳ chọn khả dụng tơng tác module xếp chồng Chú ý - Nếu file cấu hình PAM bị cấu hình thiếu hay có sai lạc, superuser đăng nhập Vì sulogin không dùng PAM, nên superuser đợc yêu cầu khởi động máy theo kiểu ngời dùng đơn lẻ sửa chữa lỗi 115 Sau thay đổi file /etc/pam.conf, xem lại kỹ đăng nhập với t cách superuser Kiểm tra tất lệnh bị ảnh hởng thay đổi bạn Ví dụ, bạn bổ sung module vào dịch vụ telnet, dùng lệnh telnet xác nhận thay đổi mà bạn tạo hoạt động nh mong đợi 5.6.2-Cách bổ sung PAM module Trở thành superuser Xác định cờ điều khiển tuỳ chọn khác sử dụng Tham khảo mục "PAM modules" th«ng tin vỊ module Sao chÐp module míi vào /usr/lib/security Đặt quyền cho root sở hữu file module quyền 555 Soạn thảo file cấu hình PAM, /etc/pam_conf, bổ sung module vào dịch vụ thích hợp Kiểm tra Một sè viƯc kiĨm tra lµ rÊt quan träng tr−íc hệ thống đợc khởi động lại trờng hợp file cấu hình bị sai Chạy rlogin, su, telnet trớc khởi động lại hệ thống Nếu dịch vụ mét tiƯn Ých ®ỉi chØ hƯ thèng khëi ®éng, cần khởi động lại hệ thống trớc bạn kiểm tra module đợc bổ sung 5.6.3-Cách ngăn chặn truy nhập trái phép từ hƯ thèng tõ xa b»ng PAM Lo¹i bá mơc rlogin auth rhosts_auth.so.1 khỏi file cấu hình PAM Điều ngăn việc đọc file ~/.rhosts suốt phiên rlogin ngăn chặn truy nhập trái phép tới hệ thèng cơc bé tõ c¸c hƯ thèng tõ xa TÊt truy nhập rlogin yêu cầu mật khẩu, bỏ qua sù hiƯn diƯn hay néi dung cđa bÊt kú file ~/.rhosts hay /etc/hosts.equip Ghi - Để ngăn chặn truy nhập trái phép khác tới file ~/.rhosts, nhớ làm hiệu lực file rsh Cách tốt loại bỏ đầu vào dịch vụ khỏi /etc/inetd.conf Thay đổi file cấu hình PAM không ngăn đợc dịch vụ bị khởi động 5.6.4-Cách kích hoạt thông báo lỗi PAM Soạn thảo /etc/syslog.conf để bổ sung mục mục thông báo lỗi PAM sau đây: auth.alert - thông báo điều kiện đợc sửa tức auth.crit - thông báo khẩn auth.err - thông báo lỗi auth.info - thông báo thông tin auth.debug - thông báo gỡ rối Khởi ®éng tiƯn Ých syslog hay gưi tÝn hiƯu SIGHUP tíi để kích hoạt thông báo lỗi PAM Ví dụ - Kích hoạt thông báo lỗi PAM Ví dụ sau hiển thị tất thông báo báo động thiết bị điều khiển Các thông báo khẩn đợc gửi cho root Các thông báo thông tin gỡ rối đợc bổ sung vào 116 file /var/log/pamlog auth.alert /dev/console auth.crit 'root' auth.info;auth.debug /var/log/pamlog Mỗi dòng ghi gồm nhãn thời gian, tên hệ thống sinh thông báo, thân thông báo File pamlog có khả ghi lại số lợng lớn thông tin 117 Chơng VI-Sử dụng công cụ tăng cờng an toàn tự động Chơng mô tả cách dùng công cụ tăng cờng an toàn tự động (ASETAutomated Security Enhancement Tool) để giám sát hạn chế truy nhập tới file hệ thống th mục Sau danh sách dẫn bớc chơng "Cách chạy ASET trực tuyến" mục 6.2.1 "Cách chạy ASET định kỳ" mục 6.2.2 "Cách ngừng chạy ASET định kỳ" mục 6.2.3 "Cách tập hợp báo cáo server" mục 6.2.4 6.1-Công cụ tăng cờng an toàn tự động (ASET) Phần mềm hệ thống SunOS 5.7 bao hàm công cụ tăng cờng an toàn tự động (ASET) ASET giúp bạn giám sát điều khiển an toàn hệ thống cách tự động thực tác vụ mà lẽ bạn làm theo cách thủ công Gói an toàn ASET cung cấp công cụ quản trị tự động cho phép bạn điều khiển giám sát an toàn hệ thống bạn Bạn đặc tả mức an toàn - thấp, trung bình, cao - nơi mà ASET chạy mức cao hơn, chức điều khiển file ASET tăng lên nhằm giảm truy nhập file siết chặt an toàn hệ thống bạn Có bảy tác vụ liên quan tới ASET, tác vụ thực kiểm tra hiệu chỉnh file hệ thống Các tác vụ ASET siết chặt quyền file, kiểm tra nội dung file hệ thống quan trọng chỗ thiếu an toàn, giám sát vùng định ASET bảo vệ mạng cách tâm vào yêu cầu hệ thống firewall hệ thống mà server giống nh hệ thống gateway ASET dùng file để cấu hình Các file bản, báo cáo file ASET khác nằm th mục /usr/aset Những file thay đổi cho phù hợp với yêu cầu cụ thể site bạn Mỗi tác vụ sinh báo cáo ghi lại điểm thiếu an toàn đợc phát thay đổi tác vụ tạo file hệ thống Khi chạy mức an toàn cao nhất, ASET cố gắng biến đổi tất điểm thiếu an toàn hệ thống Nếu hiệu chỉnh cố an toàn xảy ra, ASET thông báo tồn cố Bạn khởi hoạt phiên ASET cách dùng lệnh /usr/aset trực tuyến, bạn cài đặt ASET để chạy định kỳ cách đặt đầu vào file crontab Các tác vụ ASET cần nhiều đĩa can thiệp vào hoạt động thờng xuyên Để giảm tối đa ảnh hởng tới thực thi hệ thống, lịch trình ASET nên chạy mức hoạt động hệ thống thấp nhất, ví dụ, 24 48 lần vào nửa đêm 118 6.1.1-Các mức an toàn ASET ASET đợc cài đặt để hoạt động ba mức an toàn: thấp, trung bình cao mức cao hơn, chức điều khiển file ASET tăng lên nhằm giảm truy nhập file nâng cao an toàn hệ thống Các chức từ giám sát an toàn hệ thống mà không h¹n chÕ truy nhËp file cđa ng−êi dïng tíi viƯc siết chặt quyền truy nhập hệ thống thực an toàn Ba mức đợc phác thảo dới đây: An toàn thấp - Mức đảm bảo thuộc tính file hệ thống đợc đặt giá trị không chuẩn ASET thực vài kiểm tra báo cáo điểm thiếu an toàn xảy mức này, ASET không hành động không làm ảnh hởng tới dịch vụ hệ thống An toàn trung bình - Mức cung cấp điều khiển an toàn thích đáng cho hầu hết môi trờng ASET thay đổi số cài đặt file tham số hệ thống, hạn chế truy nhập hệ thống làm giảm rủi ro từ xâm phạm an toàn ASET thông báo điểm thiếu an toàn thay đổi mà tạo để hạn chế truy nhập mức này, ASET không ảnh hởng tới dịch vụ hệ thống An toàn cao - Mức mang lại hệ thống an toàn cao ASET chỉnh lý nhiều file hệ thống cài đặt tham số nhằm giảm tối đa quyền truy nhập Hầu hết ứng dụng lệnh hệ thống tiếp tục hoạt động bình thờng, nhng mức này, mối quan tâm an toàn trớc hết đặt cách xử lý hệ thống khác Ghi - ASET không thay đổi quyền file làm cho thiếu an toàn, hạ thấp mức an toàn hay cố tình trở lại hệ thống với cài đặt tồn chu kỳ chạy ASET 6.1.2-Các tác vụ ASET Phần đề cập tới vấn đề ASET làm Bạn nên hiểu tác vụ ASET - mục tiêu gì, thực thao tác gì, ảnh hởng tới thành phần hệ thống - để hiểu sử dụng báo cáo cách hiệu Các file báo cáo chứa thông báo mô tả tỉ mỉ đến mức cố tác vụ ASET phát Những thông báo giúp bạn chẩn đoán sửa chữa cố Tuy nhiên, sử dụng ASET thành công có sở bạn có hiểu biết chung quản trị hệ thống thành phần hệ thống Nếu bạn ngời giám quản mới, bạn tham khảo tài liệu quản trị hệ thống SunOS 5.7 khác trang tập sử dụng có liên quan để trang bị cho quản trị ASET Tiện ích taskstat nhận diện tác vụ hoàn thành tác vụ thực Mỗi tác vụ hoàn thành sản sinh file báo cáo Để có mô tả đầy đủ tiện ích taskstat, tham khảo taskstat(1M) KiĨm chøng c¸c qun víi c¸c file hƯ thèng T¸c vụ thiết lập quyền file hệ thống mức an toàn mà bạn thiết kế Nó chạy hệ thống đợc cài đặt Nếu sau bạn định thay đổi mức 119 thiết lập trớc đây, thực lại tác vụ mức an toàn thấp, quyền đợc đặt giá trị thích hợp với môi trờng chia xẻ thông tin mở mức an toàn trung bình, quyền đợc siết chặt để đa mức an toàn thích đáng cho đa số môi trờng mức an toàn cao, chúng đợc siết chặt nhằm hạn chế khắt khe truy nhập Mọi biến đổi mà tác vụ tạo quyền với file hệ thống hay cài đặt tham số đợc ghi lại file tune.rpt Mơc "Tune Files" ë 6.1.11 tr×nh bày ví dụ file mà ASET tra cứu đặt quyền Kiểm soát file hệ thống Tác vụ kiểm tra file hệ thống so sánh file với mô tả file đợc kê khai file File đợc tạo lần ASET thực tác vụ File chứa cài đặt file hệ thống mà checklist bắt buộc mức an toàn cụ thể Một danh sách th mục mà file chúng cần kiểm tra đợc xác định mức an toàn Bạn dùng danh sách mặc định, bạn biến đổi nó, đặc tả th mục khác mức Đối với file, tiêu chuẩn sau đợc kiểm tra: Ngời sở hữu nhóm Các bit qun KÝch th−íc vµ tỉng kiĨm tra (checksum) Sè liên kết Thời gian thay đổi lần cuối Mọi không quán tìm thấy ghi file cklist.rpt File chứa kết so sánh kích thớc file hệ thống, quyền giá trị tổng kiểm tra với file Kiểm soát ngời dùng/nhóm Tác vụ kiểm tra tính quán tính toàn vẹn tài khoản ngời dùng nhóm định nghĩa file passwd group Nó kiểm tra file mật cục NIS hay NIS+ Nh÷ng sù cè file mËt khÈu NIS+ đợc thông báo nhng không đợc hiệu chỉnh Tác vụ kiểm tra vi phạm sau đây: Các tên ID đúp Những đầu vào có định dạng sai Các tài khoản mật Các th mục đăng nhập vô hiệu Tài khoản nobody Mật nhóm null TÝn hiƯu céng (+) file /etc/passwd trªn NIS (hoặc NIS+) server Những điều không quán đợc ghi file usrgrp.rpt 120 Kiểm soát file cấu hình hệ thống Trong suốt tác vụ này, ASET kiểm tra bảng hệ thông khác nhau, hầu hết chúng th mục /etc Các file là: /etc/default/login /etc/hosts.equip /etc/inetd.conf /etc/aliases /var/adm/utmp /var/adm/utmpx /.rhosts /etc/vfstab /etc/dfs/dfstab /etc/ftpusers ASET thùc hiÖn kiểm tra biến đổi khác file này, ghi lại tất vấn đề file sysconf.rpt Kiểm tra môi trờng Tác vụ kiểm tra biến môi trờng PATH UMASK đợc đặt nh root ngời dùng khác file /.profile, /.login /.cshrc Những kết kiểm tra môi trờng an toàn đợc ghi file env.rpt Kiểm tra eeprom Tác vụ kiểm tra giá trị tham số an toàn eeprom nhằm bảo đảm đợc đặt mức an toàn thích hợp Bạn đặt tham số an toàn eeprom none, command, full ASET không thay đổi cài đặt này, nhng đa khuyến cáo file eeprom.rpt Thiết lập firewall Tác vụ đảm bảo hệ thống sử dụng an toàn nh rơle mạng Nó bảo vệ mạng nội tách khỏi mạng công cộng bên cách thiết lập hệ thống dành riêng làm firewall, xem mô tả "Firewall Systems" chơng II Hệ thống firewall tách hai mạng, mạng xem mạng không tin cậy Firewall cài đặt tác vụ làm hiệu lực chuyển tiếp gói giao thức Internet (IP) che thông tin dẫn đờng từ mạng bên Tác vụ firewall chạy tất mức an toàn, nhng ®−a hµnh ®éng chØ ë møc an toµn cao Nếu bạn muốn chạy ASET mức an toàn cao, nhng nhận thấy hệ thống bạn không yêu cầu bảo vệ firewall, bạn loại trừ tác vụ firewall cách soạn thảo file asetnev Mọi thay đổi tạo đợc ghi file firewall.rpt 121 6.1.3-Ghi nhËt ký thùc hiÖn ASET ASET sinh nhËt ký thực chạy trực tuyến theo Theo mặc định, ASET sinh file nhật ký đầu chuẩn Nhật ký thực khẳng định ASET chạy thời gian thiết kế, chứa thông báo lỗi xử lý Lệnh aset -n gửi nhật ký đợc phân phối th điện tử thẳng tới ngời thiết kế Để có danh sách tuỳ chọn ASET đầy đủ, tham khảo aset(1M) Ví dơ vỊ file nhËt ký thùc hiƯn ASET running at security level low Machine=example; Current time = 0325_08:00 aset: Using /usr/aset as working directory Excuting task list firewall env sysconfig usrgrp tune cklist eeprom All tasks excuted Some background tasks may still be running Run /usr/aset/util/taskstat to check their status: $/usr/aset/util/taskstat aset_dir Where aset_dir is ASET's operating directory, currently=/usr/aset When the tasks complete, the reports can be found in: /usr/aset/reports/latest/*.rpt You can view them by: more /usr/aset/reports/latest/*.rpt Đầu tiên nhật ký trình bày hệ thống thời gian ASET chạy Sau liệt kê tác vụ khởi hoạt ASET gọi trình cho tác vụ này, tác vụ đợc mô tả "ASET tasks" mục 6.1.2 Tác vụ đợc hiển thị nhật ký thực khởi hoạt; điều nghĩa hoàn thành Để kiểm tra c¸c t¸c vơ nỊn, dïng tiƯn Ých taskstat 6.1.4-C¸c báo cáo ASET Tất file báo cáo sinh tõ c¸c t¸c vơ ASET n»m c¸c th− mơc th mục /usr/aset/reports Phần mô tả cấu trúc th mục /usr/aset/reports, cung cấp dẫn việc quản lý file báo cáo ASET đặt file báo cáo th mục đợc đặt tên phản ánh thời gian ngày sinh báo cáo Điều cho phép bạn lu giữ dấu vết ghi trạng thái hệ thống biến đổi xử lý ASET cách có thứ tự Bạn theo dõi so sánh báo cáo để xác định an toàn đầy đủ hệ thống bạn 122 Hình 6-1 ®−a mét vÝ dơ vỊ cÊu tróc th− mơc reports /usr/aset masters reports 0124_01:00 firewall.rpt tune.rpt util 0124_01:00 sysconf.rpt eeprom.rpt latest usrgrp.rpt env.rpt cklist.rpt H×nh 6-1 CÊu tróc th− mục reports Hai th mục báo cáo đợc trình bày ví dụ này: 0124_01:00 0125_01:00 Tên th mục rõ ngày báo cáo đợc sinh Mỗi tên th mục báo cáo có định dạng nh sau: monthdate_hour:minute month, date, hour, minute số có hai chữ số Ví dơ, 0125_01:00 biĨu diƠn January 25, lóc giê s¸ng Mỗi cặp th mục báo cáo gồm tập báo cáo sinh từ lần thực ASET Th mục latest liên kết ký hiệu th mục chứa báo cáo gần Vì thế, nhìn vào báo cáo gần mà ASET sinh ra, bạn tới th mơc /usr/aset/reports/latest Cã mét file b¸o c¸o th− mơc cho tác vụ mà ASET thực lần thực gần Định dạng file báo cáo Mỗi file báo cáo đợc đặt tên sau tác vụ sinh Xem bảng 6-1 để có danh sách tác vụ báo cáo chúng 123 Bảng 6-1 Các tác vụ ASET báo cáo kết Các tác vụ Báo cáo Điều chỉnh quyền file hệ thống (tune) tune.rpt Danh s¸ch kiĨm tra c¸c file hƯ thèng (cklist) cklist.rpt KiÓm tra ng−êi dïng/nhãm (usrgrp) usrgrp.rpt KiÓm tra file cấu hình hệ thống (sysconf) sysconf.rpt Kiểm tra môi trờng (env) env.rpt Kiểm tra eeprom (eeprom) eeprom.rpt Cài đặt firewall (firewall) firewall.rpt Trong file báo cáo, thông báo đợc đặt dòng tiêu đề bắt đầu kết thúc Đôi tác vụ kết thúc sớm; ví dụ, thành phần ASET ngẫu nhiên bị loại bỏ tổn thơng Trong hầu hết trờng hợp, file báo cáo chứa thông báo gần thông báo cuối rõ nguyên nhân kết thúc sớm Sau file báo cáo mẫu, usrgrp.rpt *** Begin User and Group Checking *** Checking /etc/passwd Warning! Password file, line 10, no passwd :sync::1:1::/:/bin/sync end user check; starting group check Checking /etc/group *** End User and Group Checking *** KiĨm tra c¸c file báo cáo Sau lần chạy hay cấu hình lại ASET đầu tiên, bạn nên kiểm tra sít file báo cáo (Cấu hình lại bao gồm việc biến đổi file asetenv hay file th mục masters, thay đổi mức an toàn mà ASET hoạt động) Các báo cáo ghi lại lỗi đợc đa vào bạn cấu hình lại Bằng cách theo dõi chặt chẽ báo cáo, bạn đối phó giải cố chúng nảy sinh Đối chiếu file báo cáo Sau chu kỳ theo dõi file báo cáo mà thay đổi cấu hình hay cập nhật hệ thống, bạn thấy nội dung báo cáo mở đầu ổn định chứa thông tin không momg đợi có Bạn dùng tiện ích diff để đối chiếu báo cáo 6.1.5-Các file ASET Các file ASET, tune.high, tune.low, tune.med, uid_aliases đợc đặt th mục /usr/aset/masters ASET dùng file để định nghĩa mức an toàn Tune Files Các tệp tune.low, tune.med tune.high định mức an toàn có thĨ cđa ASET Chóng chØ c¸c thc tÝnh cđa tệp hệ thống mức định mức an toàn 124 File uid_aliases File uid_aliases chứa danh sách nhiều tài khoản ngời dùng dùng chung ID Thông thờng, ASET cảnh báo nhiều tài khoản ngời dùng nh thực tế làm giảm khả giải trình Bạn cho phép loại trừ quy tắc cách liệt kê loại trừ file uid_aliases ASET không đa mục vào với user ID đúp mục đợc mô tả file uid_aliases Cần tránh có nhiều tài khoản ngời dùng (các mục vào mật khẩu) dùng chung user ID Bạn nên xem xét phơng pháp khác thực mục tiêu bạn Ví dụ, bạn định cho vài ngời dùng dùng chung tập quyền, bạn tạo tài khoản nhóm Dùng chung user ID phơng sách cuối bạn, dùng thật cần thiết phơng pháp khác không đạt tới mục tiêu bạn Bạn dùng biến môi trờng UID_ALIASES để đặc tả file bí danh lần lợt Mặc định /usr/aset/masters/uid_aliases Các file Checklist Các file dùng phù hợp với hệ thống xếp danh sách kiểm tra đợc sinh bạn thcj ASET lần đầu, hay bạn chạy ASET sau bạn thay đổi mức an toàn Những file kiểm tra tác vụ đợc định nghĩa phù hợp với biến môi trờng sau: CKLISTPATH_LOW CKLISTPATH_MED CKLISTPATH_HIGH 6.1.6- File m«i tr−êng ASET (asetenv) File m«i trờng, asetenv, chứa danh sách biến tác động tới tác vụ ASET Các biến bị thay đổi làm giảm nhẹ hiệu ASET 6.1.7-Cấu hình ASET Phần đề cập tới cách cấu hình ASET môi trờng mà hoạt động ASET đòi hỏi quản trị cấu hình tối thiểu, đa số trờng hợp, bạn chạy với giá trị mặc định Tuy nhiên, bạn điều chỉnh xác số tham số ảnh hởng tới hoạt động cách xử lý ASET làm tăng tối đa lợi ích Trớc thay đổi giá trị mặc định, bạn nên hiểu ASET làm việc nh nào, tác động tới thành phần hệ thống bạn ASET dựa vào bốn file cấu hình để điều khiển cách xư lý cđa c¸c t¸c vơ cđa nã: /usr/aset/asetenv /usr/aset/masters/tune.low /usr/aset/masters/tune.med /usr/aset/masters/tune.high 125 Thay đổi file môi trờng (asetenv) File /usr/aset/asetenv có hai phần chính: Phần tham số cấu hình ngời dùng Phần biến môi trờng bên Bạn biến đổi phần tham số cấu hình ngời dùng Tuy nhiên, cài đặt phần biến môi trờng bên để dùng nội không nên thay đổi Bạn soạn thảo mục vào phần tham số cấu hình ngời dùng để: Chọn tác vụ để chạy Đặc tả th mục cho tác vụ checklist Lập kế hoạch thực ASET Đặc tả file bí danh Mở rộng kiểm tra tới bảng NIS+ Chọn tác vụ để chạy: TASKS Mỗi tác vụ ASET thực giám sát vùng an toàn hệ thống cụ thể Trong hầu hết môi trờng hệ thống, tất tác vụ cần thiết để bảo đảm giám sát an toàn tơng xứng Tuy nhiên, bạn định loại trừ nhiều tác vụ Ví dụ, tác vụ firewall chạy tất mức an toàn, nhng đa hành động mức an toàn cao B¹n cã thĨ mn ch¹y ASET ë møc an toàn cao, nhng không yêu cầu bảo vệ firewall Có thể cài đặt ASET chạy mức cao mà tính firewall cách soạn thảo danh sách biến môi trờng TASKS file asetenv Theo mặc định, danh sách TASKS chứa tất tác vụ ASET (Ví dụ trình bày bên dới) Để xoá tác vụ, loại bỏ cài đặt tác vụ khỏi file Trong trờng hợp này, bạn xoá biến môi trờng firewall khỏi danh sách Lần chạy ASET, tác vụ bị loại trừ không đợc thực TASKS='' env sysconfig usrgrp tune cklist eeprom firewall'' Đặc tả c¸c th− mơc cho t¸c vơ Checklist: CKLISTPATH C¸c file hƯ thèng kiĨm tra thc tÝnh c¸c file ë c¸c th mục hệ thống đợc chọn lần kiểm tra Bạn xác định th mục để kiểm tra cách dùng biến môi trờng checklist path sau: CKLISTPATH_LOW CKLISTPATH_MED CKLISTPATH_HIGH Biến CKLISTPATH_LOW xác định th mục đợc kiểm tra mức an toàn thấp Các biến môi trờng CKLISTPATH_MED CKLISTPATH_HIGH có chức tơng tự mức an toàn trung bình cao Danh sách th mục xác định qua biến møc an toµn thÊp sÏ lµ tËp cđa danh sách th mục xác định mức cao Ví dụ, tất th mục 126 CKLISTPATH_LOW bao hàm CKLISTPATH_MED, tất th mục CKLISTPATH_MED bao hàm CKLISTPATH_HIGH Những lần kiểm tra thực th mục không đệ quy; ASET kiểm tra th đợc liệt kê rõ ràng biến Nó không kiểm kiểm tra th mục chúng Bạn soạn thảo định nghĩa biến để bổ sung xoá th mục mà bạn muốn ASET kiểm tra Lu ý checklist có lợi file hệ thống mà thông thơng không thay đổi hàng ngày Ví dụ, th mục gốc ngời dùng nói chung động để làm ứng cử viên cho checklist Lập kế hoạch thực ASET: PERIODIC_SCHEDULE Khi bạn khởi động ASET, bạn trực tiếp khởi động , dùng chọn -p để yêu cầu chạy tác vụ ASET thời điểm chu kỳ đặt Bạn chạy ASET định kỳ, thời điểm hệ thống yêu cầu có đèn báo Ví dụ, ASET tra cứu PERIODIC_SCHEDULE để xác định tác vụ ASET thờng xuyên thực nh nào, vào thời điểm chạy chúng Để có dẫn chi tiết cách cài đặt ASET chạy định kỳ, xem mục "How to Run ASET Periodically" 6.2.2 Định dạng PERIODIC_SCHEDULE theo sau định dạng mục vào crontab Xem crontab(1) để có thông tin đầy đủ Đặc tả file bí danh: UID_ALIASES Biến UID_ALIASES mô tả file bí danh liệt kê userID dùng chung Mặc định /usr/aset/masters/uid_aliases Kiểm tra mở rộng bảng NIS+: YPCHECK Biến môi trờng YPCHECK đặc tả ASET có kiểm tra bảng file cấu hình hệ thống hay không YPCHECK biến logic; bạn gán true false cho Giá trị mặc định false, không kiểm tra bảng NIS+ Để hiểu biến làm việc nh nào, xét ảnh hởng file passwd Khi biến đợc đặt false, ASET kiĨm tra file passwd cơc bé Khi nã đợc đặt true, tác vụ kiểm tra file passwd NIS+ cđa domain hƯ thèng Chó ý - MỈc dầu ASET tự động sửa chữa bảng cục bộ, nhng thông báo cố xảy bảng NIS+; không thay đổi chúng Biến đổi file điều chỉnh (tune) ASET dùng ba file điều chỉnh bản, tune.low, tune.med, tune.high ASET dùng chúng để làm giảm siết chặt quyền truy nhËp tíi c¸c file hƯ thèng quan träng C¸c file đợc đặt th mục /usr/aset/masters, biến đổi chúng cho phù hợp với môi trờng bạn Để có thêm thông tin, xem "Tune Files" thuộc mục 6.1.11 127 File tune.low đặt quyền giá trị thích hợp với cài đặt hệ thống mặc định File tune.med hạn chế quyền gồm mục vào tune.low File tune.high hạn chế quyền nhiều Chú ý - Biến đổi cài đặt file điều chỉnh cách bổ sung xoá đầu vào file Đặt quyền giá trị hạn chế cài đặt tác dụng; tác vụ ASET không buông lỏng quyền bạn hạ mức an toàn hệ thống bạn xuống mức thấp 6.1.8-Khôi phục file hệ thống ASET biến đổi Khi ASET đợc thực lần đầu tiên, ghi lu trữ file hệ thống ban đầu Tiện ích aset.restore đặt lại file Nó đa vào lịch trình ASET, đợc lên lịch để thực định kỳ Tiện ích aset.restore đợc đặt th mục /usr/aset, th mục điều hành ASET Những thay đổi tạo với file hệ thống bị bạn chạy aset.restore Bạn nên dùng aset.restore: Khi bạn muốn loại bó thay đổi ASET khôi phục hệ thống ban đầu Khi bạn muốn đình hoạt ASET lâu dài, bạn loại bỏ khỏi lịch trình cron lệnh aset đợc bổ sung vào crontab root trớc Đối với th mục dùng cron để loại trừ thực tự động, xem môc "How to Stop Running ASET Perodically" 6.2.3 Sau thời gian ngắn thử nghiệm ASET, khôi phục lại trạng thái hệ thống ban đầu Khi số chức tiện ích hệ thống làm việc không hoàn hảo bạn ngờ ASET nguyên nhân vấn đề 6.1.9-Điều hành mạng dùng hệ thống NFS Nói chung, ASET đợc dùng theo kiểu trạm độc lập, hệ thống phần mạng Với t cách ngời giám quản hệ thống hệ thống độc lập bạn, bạn có trách nhiệm an toàn hệ thống bạn, chạy quản lý ASET để bảo vệ hệ thống bạn Bạn dùng ASET môi trờng phân tán NFS Với t cách ngời giám quản mạng, bạn có trách nhiệm cài đặt, chạy quản lý tác vụ quản trị tất client bạn Để tiện quản lý ASET qua vài hệ thống client, bạn đa thay đổi cấu hình đợc áp dụng tổng thể cho tất client, loại trừ nhu cầu bạn đăng nhập tới hệ thống để lặp lại tiến trình Khi định cách cài đặt ASET hệ thống mạng bạn, bạn nên xem xét vấn đề bạn muốn ngời dùng điều khiển an toàn hệ thống riêng họ đến đâu, bạn muốn tập trung trách nhiệm điều khiển an toàn đến đâu Cung cấp cấu hình tổng thể cho mức an toàn Một trờng hợp nảy sinh bạn muốn cài đặt nhiều cấu hình mạng Ví dụ, bạn muốn thiết lập cấu hình cho client đợc thiết kế với mức an toàn thấp, cấu hình khác với mức trung bình, cấu hình khác với mức cao 128 Nếu bạn cần tạo cấu hình mạng ASET riêng rẽ cho mức an toàn, bạn tạo ba cấu hình ASET server - cấu hình cho mức Bạn đa cấu hình cho client với mức an toàn thích hợp Một số thành phần ASET chung cho tất ba cấu hình đợc dùng chung liên kết Thu thập báo cáo ASET Bạn không tập trung thành phần ASET server mà client có đặc quyền superuser đợc truy nhập, mà bạn thiết lập th mục trung tâm server để thu thập tất báo cáo tác vụ chạy client khác sinh Để có dẫn cài đặt chế thu thËp, xem môc "How to Collect Reports on a Server" 6.2.4 Thiết lập tập hợp báo cáo server cho phép bạn xem lại báo cáo tất client từ vị trí Bạn dùng cách để biết client có đặc quyền superuser hay không Nh lựa chọn, bạn cho phép có th mục báo cáo hệ thống cục bạn muốn ngời dùng theo dõi báo cáo ASET riêng họ 6.1.10-Các biến môi trờng Bảng 6-2 liệt kê biến môi trờng ASET giá trị mà chúng mô tả Bảng 6-2 Các biến môi trờng ý nghĩa chúng Biến môi trờng Mô tả ASETDIR (Xem bên dới) Th mục làm việc ASET ASETSECLEVEL (Xem bên dới) Mức an toàn PERIOD_SCHEDULE Lịch trình chu kỳ TASKS Các tác vụ chạy UID_ALIASES File bí danh YPCHECK Mở rộng kiểm tra NIS NIS+ CKLISTPATH_LOW Danh sách th mục với mức an toàn thấp CKLISTPATH_MED Danh sách th mục với mức an toàn trung bình CKLISTPATH_HIGH Danh sách th mục với mức an toàn cao Các biến môi trờng liệt kê bên dới đợc tìm thấy file /usr/aset/asetenv Các biến ASETDIR ASETSECLEVEL tuỳ chọn đặt qua shell cách dùng lệnh aset Có thể đặt biến môi trờng khác cách soạn thảo file Các biến đợc mô tả dới Biến ASETDIR ASETDIR đặc tả th mục làm việc cña ASET Tõ C Shell, gâ: % setenv ASETDIR pathname Tõ Bourne Shell hc Korn Shell, gâ: 129 $ ASETDIR=pathname $ export ASETDIR Đặt pathname tên đờng dẫn đầy ®đ cđa th− mơc lµm viƯc cđa ASET BiÕn ASETSECLEVEL Biến ASETSECLEVEL mô tả mức an toàn mà tác vụ ASET đợc thực Từ C Shell, gõ: % setenv ASETSECLEVEL level Tõ Bourne Shell hc Korn Shell, gâ: $ ASETDIR=level $ export ASETDIR Trong câu lệnh trên, level đợc đặt giá trị sau: low Mức an toàn thấp med Mức an toàn trung bình high Mức an toàn cao Biến PERIODIC_SCHEDULE Giá trị PERIODIC_SCHEDULE theo định dạng nh file crontab Mô tả giá trị biến xâu ký tự gồm năm trờng đặt cặp dấu nháy, trờng phân cách dấu cách "minutes hours day-of-month month day-of-week" Bảng 6-3 Các giá trị biến PERIODIC_SCHEDULE Biến Giá trị minutes hours Đặc tả thời gian bắt đầu số phút theo (0-59) (0-23) day-of-month Đặc tả ngày tháng ASET chạy, dùng giá trị từ đến 31 month Đặc tả tháng năm ASET chạy, dùng giá trị từ đến 12 day-of-week Đặc tả ngày tuần ASET chạy, dùng giá trị từ đến 6; Chủ nhật ngày theo lợc đồ Các quy tắc áp dụng nh sau: Bạn đặc tả danh sách giá trị cho trờng nào, giá trị phân cách dấu phẩy Bạn đặc tả giá trị số, bạn đặc tả khoảng; nghĩa là, cặp số nối với dấu nối Một khoảng tác vụ ASET đợc thực thời điểm khoảng Bạn đặc tả giá trị cña mét tr−êng bÊt kú b»ng dÊu * DÊu * mô tả tất giá trị trờng, bao gồm tất 130 Đầu vào mặc định biến PERIODIC_SCHEDULE dẫn đến ASET thực vào 12 đêm hàng ngày: PERIODIC_SCHEDULE="0 * * *" Biến TASKS Biến TASKS kê khai tác vụ mà ASET thực Mặc định danh sách tất bảy t¸c vơ: TASKS="env sysconfig usrgrp tune cklist eeprom firewall" BiÕn UID_ALIASES Biến UID_ALIASES đặc tả file bí danh Nếu có, ASET tra cứu file để có danh sách bí danh phức tạp cho phép Định dạng UID_ALIASES=pathname pathname tên đờng dẫn đầy đủ file bí danh Mặc định là: UID_ALIASES=${ASETDIR}/masters/uid_aliases Biến YPCHECK Biến YPCHECK mở rộng tác vụ kiểm tra bảng hệ thống bao gồm bảng NIS NIS+ Nó biến logic, đặt true false Mặc định false, hạn chế việc kiểm tra bảng hệ thống cục bộ: YPCHECK=false Biến CKLISTPATH_level Ba biến đờng dẫn checklist kê khai th mục đợc kiểm tra tác vụ checklist Các định nghĩa sau biến đợc đặt mặc định; chúng minh hoạ mối quan hệ biến mức khác nhau: CKLISTPATH_LOW=${ASETDIR}/tasks:${ASETDIR}/util:${ASETDIR}/masters :/etc CKLISTPATH_MED=${CKLISTPATH_LOW:/usr/bin:/usr/ucb CKLISTPATH_HIGH=${CKLISTPATH_MED}:/usr/lib:/sbin:/usr/sbin:/usr/ucblib Các giá trị biến môi trờng đờng dẫn checklist tơng tự với giá trị biến đờng dẫn khung, chúng danh sách tên th mục ngăn cách dấu hai chấm (:) Bạn dùng dấu (=) để kết nối tên biến với giá trị 6.1.11-Các ví dụ file ASET Phần có vÝ dơ vỊ mét sè file ASET bao gåm c¸c file điều chỉnh file bí danh Các file điều chỉnh ASET trì ba file điều chỉnh Định dạng đầu vào tất ba file điều chỉnh đợc mô tả bảng 6-4 131 Bảng 6-4 Định dang đầu vào file điều chỉnh Đầu vào Mô tả pathname Tên đờng dẫn đủ file Số năm chữ số biểu diễn cài đặt quyền mode Ngời sở h÷u file owner Nhãm së h÷u file group KiĨu file type Các quy tắc áp dụng nh sau: Bạn dùng ký tự thay khung hợp lệ tên đờng dẫn tham chiếu phức tạp, chẳng hạn dấu * dấu ? Xem sh(1) để có thêm thông tin mode biểu diễn giá trị hạn chế tối thiểu Nếu cài đặt có sẵn nhiều hạn chế giá trị đợc mô tả, ASET không nới lỏng cài đặt quyền Ví dụ, giá trị mô tả 00777, quyền giữ nguyên không thay đổi, 00777 hạn chế đợc cài đặt Đây cách ASET thực cài đặt mode, mức an toàn bị hạ xuống bạn loại bỏ ASET Khi bạn giảm mức an toàn từ mức mà có lần thực trớc đó, bạn muốn khôi phục file hệ thống trạng thái mà chúng có trớc ASET đợc thực lần đầu tiên, ASET nhận biết bạn làm giảm mức bảo vệ Bạn phải dùng tên owner group thay cho ID b»ng sè B¹n cã thĨ dïng dÊu chÊm hái (?) vị trí owner, group type để ngăn chặn ASET khỏi việc thay đổi giá trị tồn tham số type symlink (liên kết ký hiệu), th mục, hay file (mọi thứ lại) Các file điều chỉnh mức an toàn cao đặt lại quyền file có hạn chế so với chúng có mức an toàn thấp Ngoài ra, mức cao hơn, file bổ sung đợc thêm vào danh sách Một file tơng thích với nhiều đầu vào file điều chỉnh Ví dụ, etc/passwd tơng thích với đầu vào etc/pass* /etc/* đâu hai đầu vào có quyền khác nhau, quyền file đợc đặt giá trị hạn chế Trong ví dụ sau, quyền /etc/passwd đợc đặt 00755 có nhiều hạn chế 00755 00770 /etc/pass* 00755 ? ? file /etc/* 00770 ? ? file Nếu hai đầu vào có định danh owner group khác nhau, đầu vào cuối đa quyền u tiên Ví dụ sau trình bày vài dòng file tune.low / 02755 root root directory /bin 00777 root bin symlink /sbin 02775 root sys directory /usr/sbin 02775 root bin directory /etc 02755 root sys directory /etc/chroot 00777 bin bin symlink 132 File c¸c bÝ danh File c¸c bÝ danh chøa mét danh s¸ch c¸c bÝ danh dïng cïng userID Mỗi đầu vào dạng này: uid=alias1=alias2=alias3= uid userID dùng chung aliasn Tài khoản ngời dùng dùng chung userID Ví dụ, đầu vào sau kê khai userID đợc sysadm root dùng chung: 0=root=sysadm 6.2-Chạy ASET Phần mô tả cách chạy ASET trực tuyến định kỳ 6.2.1-Cách chạy ASET trực tuyến Trở thành superuser Chạy ASET trực tuyến cách dùng lệnh aset # /usr/aset/aset -l level -d pathname level pathname Đặc tả mức an toàn Các giá trị hợp lệ low, medium, high Đặt mặc định low Xem mục "ASET Security Levels" để có thông tin chi tiết mức an toàn Đặc tả th mục làm việc ASET Mặc định /usr/aset Kiểm chứng ASET chạy cách xem nhật ký thực ASET đợc hiển thị hình Thông báo nhật ký thực cho thấy tác vụ đợc chạy Ví dụ - Cách chạy ASET trực tuyến Ví dụ sau chạy ASET mức an toàn thấp với th mục làm việc mặc định # /usr/aset/aset -l low ====== ASET Excution Log ====== ASET running at security level low Machine = jupiter; Current time = 0111_09:26 aset: Using /usr/aset as working directory Excuting task list firewall env sysconf usrgrp tune cklist eeprom 133 All tasks executed Some background tasks may still be running Run /usr/aset/util/taskstat to check their status: /usr/aset/util/taskstat [aset_dir] where aset_dir is ASET's operating directory, currently=/usr/aset When the tasks complete, the reports can be found in: /usr/aset/reports/latest/*.rpt You can view them by: more /usr/aset/reports/latest/*.rpt 6.2.2-Cách chạy ASET định kỳ Trở thành superuser Nếu cần, thiết lập thời gian mà bạn muốn ASET chạy định kỳ Bạn nên cho ASET chạy hệ thống yêu cầu có đèn báo Biến môi trờng PERIODIC_SCHEDULE file /usr/aset/asetenv đợc dùng để cài đặt thời gian cho ASET chạy định kỳ Theo mặc định, thời gian đợc đặt vào nửa đêm 24 hàng ngày Nếu bạn muốn đặt thời gian khác, soạn thảo biến PERIODIC_SCHEDULE file /usr/aset/asetenv Xem mục "PERIODIC_SCHEDULE Variable" để có thông tin chi tiết cách đặt biến PERIODIC_SCHEDULE Bổ sung mơc vµo file crontab, dïng lƯnh aset # /usr/aset/aset -p -p Chèn dòng vào file crontab mà ASET bắt đầu chạy thời điểm đợc xác định biến môi trờng PERIODIC_SCHEDULE file /usr/aset/asetenv Hiển thị đầu vào crontab để kiểm chứng ASET chạy # crontab -l root 6.2.3-Cách ngừng chạy ASET định kỳ Trở thành superuser Soạn thảo file crontab # crontab -e root Xoá đầu vào ASET Ghi lại thay đổi thoát Hiển thị đầu vào crontab để kiểm chứng đầu vào ASET bị xoá # crontab -l root 6.2.4-Cách tập hợp báo cáo server Trë thµnh superuser 134 ThiÕt lËp mét th− mơc trªn server: a Chun tíi th− mơc /usr/aset mars# cd /usr/aset b T¹o th− mơc rptdir mars# mkdir rptdir c Chuyển tới th mục rptdir tạo th mơc client_rpt mars# cd rptdir mars# mkdir client_rpt d B−íc tạo th mục (client_rpt) cho client Lặp lại bớc client mà bạn cần thu thập báo cáo Ví dụ sau tạo th mục all_reports, th mục pluto_rpt neptune_rpt mars# cd /usr/aset mars# mkdir all_reports mars# cd all_reports mars# mkdir pluto_rpt mars# mkdir neptune_rpt Bỉ sung c¸c th− mơc client_rpt vào file /etc/dfs/dfstab Các th mục có tuỳ chọn đọc/ghi Ví dụ, mục sau dfstab đợc chia xẻ với quyền đọc/ghi share -F nfs -o rw=pluto /usr/aset/all_reports/pluto_rpt share -F nfs -o rw=neptune /usr/aset/all_reports/neptune_rpt Lµm cho tài nguyên file dfstab khả dụng với client # shareall Trên client, gán th mục client từ server điểm gán, /usr/aset/masters/reports # mount server:/usr/aset/client_rpt /usr/aset/masters/reports Soạn thảo file /etc/vfstab để tự động thiÕt lËp th− mơc khëi ®éng Mơc mÉu sau /etc/vfstab neptune cho thấy th mục đợc gán từ mars, /usr/aset/all_reports/neptune_rpt, điểm gán neptune, /usr/aset/reports Tại thời điểm khởi động, th mục kê khai vfstab đợc tự động gán mars:/usr/aset/all_reports/neptune_rpt /usr/aset/reports nfs - yes hard 135 6.3-Sửa chữa cố ASET Phần đa thông báo lỗi ASET sinh ASET failed: no mail program found Nguyên nhân lỗi xảy Cách khắc phục ASET đợc lệnh gửi nhật ký thực Cài đặt chơng trình mail tới ngời dùng, nhng không tìm thấy chơng trình mail Usage: aset [-n user[@host]] in /bin/mail or /usr/ucb/mail Cannot decide current and previous security levels Nguyên nhân lỗi xảy Cách khắc phục ASET xác định mức an Đảm bảo mức an toàn đợc toàn lần gọi đặt thông qua tuỳ chọn dòng lệnh trớc biến môi trờng ASETDIR/archives/asetseclevel.arch phản ánh mức an toàn trớc Nếu giá trị không đợc đặt không đúng, mô tả chúng ASET working directory undefined To specify, set ASETDIR environment variable or use command line option -d ASET startup unsuccessful Nguyên nhân lỗi xảy Cách khắc phục Th mục làm việc (điều hành) ASET Dùng biến môi trờng ASETDIR không đợc định nghĩa, định tuỳ chọn dòng lệnh -d để mô tả nghĩa sai cách đắn, khởi động lại ASET ASET working directory $ASETDIR missing ASET startup unsuccessful Nguyên nhân lỗi xảy Cách khắc phục Th mục làm việc (điều hành) ASET Đảm bảo th mục - nghĩa là, không đợc định nghĩa, định th mục chứa hệ thống phân cấp th nghĩa sai Điều biến mục ASET - đợc tham chiếu tới ASETDIR hay tuỳ chọn dòng lệnh -d cách đắn tham chiếu tới th mục không tồn Cannot expand $ASETDIR to full pathname Nguyên nhân lỗi xảy ASET mở rộng tên th mục biến ASETDIR tuỳ chọn dòng lệnh -d đa thành tên đờng dẫn đầy đủ Cách khắc phục Đảm bảo tên th mục đợc đa đắn, tham chiếu tới th mục tồn mà ngời dùng truy nhập 136 aset: invalid/undefined security level To specify, set ASETSECLEVEL environment variable or use command line option -l, with argument= low/med/high Nguyên nhân lỗi xảy Cách khắc phục Mức an toàn không đợc định nghĩa Dùng biến ASETSECLEVEL hoặc đợc định nghĩa không chọn dòng lệnh -l đặc tả ba giá trị Chỉ giá trị low, med, high đợc chấp nhận ASET environment file asetenv not found in $ASETDIR ASET startup unsuccessful Nguyên nhân lỗi xảy Cách khắc phục ASET định vị file asetenv Đảm bảo có file asetenv trong th− mơc lµm viƯc cđa nã th− mơc lµm viƯc cđa ASET Xem asetenv(4) ®Ĩ cã chi tiÕt vỊ file filename doesn't exist or is not readable Nguyên nhân lỗi xảy File tham chiếu tới filename không tồn đọc Điều xảy rõ ràng dùng tuỳ chọn -u mà bạn đặc tả file chứa danh sách ng−êi dïng b¹n mn kiĨm tra ASET task list TASKLIST undefined Nguyên nhân lỗi xảy Danh sách tác vụ ASET lẽ đợc định nghĩa file asetenv, lại không đợc định nghĩa Điều có nghĩa file asetenv bị lỗi ASET task list $TASKLIST missing ASET startup unsuccessful Nguyên nhân lỗi xảy Danh sách tác vụ ASET lẽ đợc định nghĩa file asetenv, lại không đợc định nghĩa Điều có nghĩa file asetenv bị lỗi Cách khắc phục Đảm bảo đối số tuỳ chọn -u tồn đọc đợc Cách khắc phục Kiểm tra file asetenv bạn Đảm bảo danh sách tác vụ đợc định nghĩa phần User Configurable Ngoài kiểm tra phận khác file để đảm bảo file nguyên vẹn Xem asetenv(4) để có nội dung file asetenv tốt Cách khắc phục Kiểm tra file asetenv bạn Đảm bảo danh sách tác vụ đợc định nghĩa phần User Configurable Ngoài kiểm tra phận khác file để đảm bảo file nguyên vĐn Xem asetenv(4) ®Ĩ cã néi dung file asetenv tèt Schedule undefined for periodic invocation 137 No tasks excuted or scheduled Check asetenv file Nguyên nhân lỗi xảy Cách khắc phục Lập lịch ASET đòi hỏi dùng tuỳ chọn - KiĨm tra phÇn User Configurable p, nh−ng biÕn PERIODIC_ file asetenv để chắn biến SCHEDULE không đợc định nghĩa đợc định nghĩa có định dạng hoàn chØnh file asetenv Warning! Duplicate ASET excution scheduled Check crontab file Nguyên nhân lỗi xảy Cách khắc phục ASET đợc lập lịch nhiều lần Kiểm chứng thông qua giao diện lệnh Nói cách khác, lập lịch đợc yêu cầu crontab(1) mà lịch trình lịch trình có tác tác động Đảm bảo không cần đặt động Điều không cần lỗi mục crontab cho ASET thực nhiều lịch trình đợc yêu cầu, cần lời cảnh báo mà thông thờng điều không cần thiết bạn nên dùng định dạng lập lịch crontab(1) bạn muốn nhiều lịch trình Tài liệu sử dông Solaris System Administration Guide, Chapter 12 -> Chapter 16 Software White Paper: Solaris Security, Tµi liƯu tõ Internet 138 PHầN III AN NINH CủA CáC hệ điều hành họ Microsoft Windows 139 Các từ tiếng Anh đợc sư dơng tµi liƯu Access Control List (ACL) Active Dierectory (AD) CD-ROM File System (CDFS) Discretionary Access Controls (DAC) Data Encryption Standard (DES) Exteded DES (DESX) Domain model Encrypting File System (EFS) File Allocation Table (FAT) File Encryption Key (FEK) Local Security Authority (LSA) New Technology File System (NTFS) One-way function (OWF) OS (Operating System) Password Permission Remote Access Service (RAS) Security Account Manager (SAM) Security Reference Monitor (SRM) Unique security identifier (SID) Windows NT LAN Manager (NTLM) Workgroup model Danh sách điều khiển truy cập Đợc sử dụng để đọc liệu từ ổ CD-ROM Kiểm soát truy cập phân tách cụ thể (nhiệm ý) Chuẩn mật mã liệu DES mở rộng Mô hình miền Mã hoá hệ thống tệp Bảng xác định vị trí tệp Khoá mã tệp Thẩm quyền bảo mật cục Hệ thống tệp công nghệ hàm chiều Hệ điều hành (HĐH) Mật Đợc dùng để giao khớc từ quyền truy cập vào đối tợng (ví dụ tƯp hay th− mơc) DÞch vơ truy cËp tõ xa Trình quản lý tài khoản bảo mật Trình giám sát tham chiếu bảo mật mã định danh bảo mật Quản trị mạng LAN Windows NT Mô hình nhóm làm việc 140 Chơng Tổng quan Từ đời với hệ điều hành (HĐH) MS - DOS, phiên Windows đợc tung nh chơng trình bổ sung cho HĐH này, đến có phiên míi nhÊt mµ sù hiƯn diƯn cđa MS - DOS bị che dấu bị loại bỏ hẳn Chúng ta thấy đợc phát triển dòng HĐH Microsoft Hình Hãng Microsoft giữ đợc vị trí độc quyền nh ngày phần Hãng trọng phát triển phiên HĐH ngày tiện dụng, đảm bảo an toàn thông tin máy tính cá nhân mà làm việc mạng Để xem xét vấn đề an ninh, an toàn mạng họ HĐH Microsoft, cần nhắc lại mô hình mạng Windows 12/1997 Windows NT 4.0 Option Pack 9/1994 Windows NT 3.5 11/1987 Windows 2.0 6/1995 Windows NT 3.51 11/1987 Windows/386 8/1995 Windows 8/1996 Windows NT 4.0 5/1990 Windows 3.0 11/1985 Windows 1.0 2/1994 Windows for Workgroup 8/1993 Windows NT 3.1 4/1992 Windows 3.1 6/1998 Windows 98 5/1999 Windows 98 Second Edition 9/2000 Windows ME 2/2001 Windows XP 8/2000 Windows 2000 Datacenter 2/2000 Windows 2000 10/1991 Windows 3.0 H×nh Quá trình phát triển họ hệ điều hành Microsoft Mô hình lập mạng môi trờng Windows: 141 Mạng đợc hình thành gồm có hai phần chính: chủ (server) điều hành cung cấp dịch vụ, khách (client) nhận dịch vụ chịu điều hành Về có hai mô hình lập mạng môi trờng Windows: mô hình nhóm làm việc (workgroup model) mô hình miền (domain model) 1.1 Mô hình nhóm làm việc: Là mô hình mạng đơn giản ngời sử dụng trạm làm việc tham gia vào nhóm ngơì dùng khác để chia sẻ tài nguyên Ngời sử dụng cục chịu trách nhiệm việc giao quyền truy cập tài nguyên máy tính cho ngời sử dụng khác nhóm làm việc Mọi phiên hệ điều hành Microsoft (Windows 9x/NT/2000) hành hỗ trợ tính lập mạng nhóm làm việc Trong mô hình này, tên máy tính đóng vai trò quan trọng Có hai phơng pháp điều khiển truy cập trạm làm việc Windows: điều khiển truy cập cấp dùng chung điều khiển truy cập cấp ngời sử dụng Phơng pháp đầu sẵn dùng mạng Windows, phơng pháp sau đòi hỏi phải gắn với mạng máy tính Windows NT để điều quản tài nguyên ngời sử dụng Trong mô hình cấp dùng chung, ngời sử dụng định chia sẻ tài nguyên máy tính với ngời sử dụng khác mạng Các th mục đợc chia sẻ sở Read-Only (chỉ đọc), Full (toàn quyền) có Depend on Password (tuỳ thuộc vào mật khẩu) hay không Đây lợc đồ động, song không bảo mật mật thờng đợc trao đổi tuỳ ý Trong mô hình cấp ngời sử dụng, việc truy cập tài nguyên đợc giao cho ngời sử dụng riêng lẻ thay cho ngời Tên ngời sử dụng có sở liệu tài khoản ngời sử dụng đợc lu trữ máy tính Windows NT Ta chän danh s¸ch ng−êi sư dơng đó, họ đợc thẩm định quyền máy tính Windows NT quản lý tài khoản ngời sử dụng giao quyền truy cập Ngời sử dụng không cần gõ mật họ làm việc đăng nhập vào hệ phục vụ Theo cách mật đợc giữ bí mật Các điều khiển truy cập mô hình nhóm hạn chế ngời sử dụng mạng tự truy cập tệp máy tính mạng khác Tính bảo mật máy chạy HĐH Windows 9x, Windows 3.1, MS-DOS không tồn ngời bật máy tính chép tệp tin đĩa mềm Không có tiến trình đăng nhập hệ cấp phép để ngăn cản ngời sử dụng truy cập tệp Các máy tính Windows NT mang tính bảo mật hiểu theo nghĩa 1.2 Mô hình miền: Miền tập hợp máy tính ngời sử dụng máy tính đợc quản lý theo thẩm quyền tập trung Trong mô hình việc truy cập tài nguyên đợc điều khiển chặt chẽ điều hành viên trung tâm quản lý máy tính Windows NT Server chạy dịch vụ quản lý miền Mô hình thực thi tài khoản ngời sử dụng hợp lệ bắt buộc phải có để cấp quyền sử dụng tài nguyên dùng chung Mô hình miền thực tế dạng cao cấp mô hình nhóm làm việc Tập hợp máy tính nhóm làm việc đơn giản trở thành miền tính bảo mật tài khoản ngời sử dụng 142 đợc điều quản hệ điều khiển miền Tuy nhiên, dùng mô hình miền, hệ khách chọn chia sẻ tài nguyên máy tính với máy tính khác mạng dùng điều khiển truy cập cấp ngời sử dụng Khái quát an toàn, an ninh mạng làm việc môi trờng Windows 2.1 Trong môi trờng Windows 9x Nh phần xem xét thiết lập mạng theo mô hình nhóm làm việc mô hình miền, ta thấy HĐH Windows 9x/NT/2000 hỗ trợ tính làm việc mạng, nhng vấn đề quan trọng mà cần nhận thức rõ Windows 9x không đợc thiết kế nh− mét H§H an ninh nh− Windows NT Thùc tÕ, nh nhiều trờng hợp Microsoft muốn hi sinh tính bảo mật để đổi lấy khả dễ dùng hoạch định kiến trúc Windows 9x Ví dụ nh hộp thoại kiểm tra đăng nhập vào Windows 9x dễ dàng bỏ qua hay tên ngời dùng/mật hiệu đợc lu trữ cục theo ngầm định Windows 9x Tuy nhiên, mức đơn giản Windows 9x còng cã ®iỊu hay vỊ an ninh Do không đợc thiết kế để trở thành HĐH đa ngời dùng thực sự, nên có tính điều hành từ xa hạn chế Ta thi hành lệnh từ xa hệ thông Windows 9x thông qua công cụ cài sẵn, viƯc truy cËp tõ xa vµo Windows 9x Registry chØ yêu cầu truy cập đợc chuyển thông qua hệ thống cung cấp bảo mËt nh− hƯ phơc vơ Windows NT Windows 9x kh«ng thể tác động nh hệ phục vụ thẩm định quyền cấp ngời sử dùng Để xây dựng mạng thực an toàn dựa HĐH Windows NT Điều quan trọng mô hình an toàn kiểm soát truy nhập Nó bao gåm viƯc kiĨm so¸t cã thĨ truy cËp vào tệp, dịch vụ th mục Nó quan tâm đến thời gian mà truy cập xảy Phần xem xét HĐH mạng Windows NT 2.2 Giới thiệu hệ bảo mật Windows NT Hệ bảo mật NT cách để ®iỊu khiĨn viƯc truy cËp cđa ng−êi sư dơng vµo hệ thống mà ta so sánh với giÊy chøng nhËn th¸o kho¸n an ninh cho mét doanh nghiệp chí đặc khu quân Windows NT dùng điều khiển nhiệm ý (Discretionary Access Controls - DAC) cho phép điều khiển xác ngời sử dụng đợc quyền truy cập Cấp truy cập thay đổi tuỳ theo khu vực khác Hệ bảo mật Windows NT tơng tự nh hệ thống bảo vệ-và khoá thẻ: chốt bảo vệ cửa Windows NT hợp lệ hoá ngời sử dụng cho phép họ vào, sau giao cho họ khoá thẻ để họ truy nhậpcác tài nguyên bảo mật hệ thống 143 Windows NT sử dụng tính thẩm định quyền hai chiều Trớc tiên, ngời sử dụng phải có quyền truy cập tài nguyên hệ thống, sau tài nguyên phải cho phép Phía quyền bối cảnh đợc điều khiển tài khoản ngời sử dụng Trong môi trờng Windows NT, tài khoản ngời sử dụng đợc ví nh hồ sơ cá nhân nhân viên Nó chứa thông tin ngời sử dụng quyền mà họ có hệ thống Tài khoản đợc gán cho mã định danh bảo mật (unique security identifier - SID ) Nếu ngời sử dụng có tài khoản, mật hợp lệ, họ có giấy phép truy cập hệ thống, thẻ truy cập bảo mật (security access token) đợc phát sinh ngời sử dụng đăng nhập máy tính Windows NT Thẻ truy cập chứa SID ngời sử dụng ID dành cho nhóm ngời mà ngời sử dụng thuộc Khi ngời sử dụng truy cập tài nguyên hệ thống, thông tin thẻ truy cập đợc đối chiếu với thông tin mà tài nguyên lu giữ đợc xác ngời truy cập Đây lúc tính thẩm định hai chiều tay Mọi tài nguyên lu giữ danh s¸ch ng−êi sư dơng cã thĨ truy cËp nã; c¸c mục danh sách đợc đối chiếu với mục thẻ truy cập ngời sử dụng Sở dĩ Windows NT có đợc tính an toàn cao phần nhờ đặc điểm cấu tróc hƯ thèng vµ thiÕt kÕ 2.2.1 CÊu tróc hƯ thống Các thành phần cung cấp tính bảo mật Windows NT hình thành hệ bảo mật Trên H.2 giới thiệu cách kết hợp hệ thống kiến trúc Windows NT Cũng nh hầu hết mô hình khác, đợc xếp tầng với phần cứng máy tính nằm dới ứng dụng cấp cao nằm Ngời sử dụng tơng tác với thành phần cấp cao Tất tầng cung cấp dịch vụ cho tầng phía tơng tác với tầng thấp 144 Tiến trình đăng nhập Quản lý tài khoản bảo mật CSDL sách bảo mật Nhật ký kiểm toán CSDL tài khoản NSD ứng dụng Win32 Thẩm quyền bảo mật cục Hệ Win32 Các hệ môi trờng khác Chế độ NSD Chế độ Kenel Các dịch vụ điều hoạt Trình quản lý vào Trình quản lý đối tợng Trình giám sát tham chiếu bảo mật Trình quản lý tiến trình Đặc cụ gọi thủ tục cục Trình quản lý nhớ ảo Vi hạt nhân Tầng trừu tợng hoá phần cứng Phần cứng Hình Cấu trúc bảo mật Windows NT Nh hình vẽ, kết cấu đợc chia làm hai chế độ (mode): mode kernel, nơi mã đặc quyền cao yêu cầu truy cập trực tiếp đến nhớ thao tác phần cứng; mode ngời sử dụng, nơi đặt ứng dụng hệ Windows Trong mode ngời sử dụng, hệ điều hành đặt không gian nhớ, ứng dụng hệ đợc bảo vệ lẫn từ mã hệ điều hành đặc quyền Trong nhiều 145 hệ an toàn đợc đặt mode ngời sử dụng hai thành phần kiểm soát không hạn chế truy cập tới toàn tài nguyên hệ thống trình Kiểm soát tham chiếu bảo mật (Security Reference Monitor) trình Quản lý đối tợng (Object Manager) đợc đặt mode kernel 2.2.2 Thiết kế hớng đối tợng Windows NT đợc thiết kế dới dạng tập hợp đối tợng có quan hệ qua lại với nhau, cung cấp dịch vụ HĐH Nhờ vào thiết kế hớng đối tợng mà cung cấp độ tin cậy bảo mật Các đối tợng chìa khoá cung cấp cấp bảo mật cao hệ điều hành Windows NT Đối tợng nh hộp chứa thông tin chức để điều tác thông tin Việc bảo mật đợc thực nh sau Trớc tiên, đối tợng che giấu liệu chúng với bên cung cấp thông tin theo số cách định Điều ngăn cấm tiến trình bên trực tiếp truy cập liệu bên Sở dĩ Windows NT đạt đợc cấp bảo mật cao nhờ không cho phép chơng trình trực tiếp truy cập đối tợng Mọi hành động đối tợng đợc cấp quyền đợc thực hệ điều hành 2.2.3 Hệ bảo mật Windows NT Hệ bảo mật cung cấp hệ thống đơn lẻ thông qua truy cập đến đối tợng, kể tập tin đĩa, tiến trình nhớ, cổng thiết bị bên đợc kiểm tra để ứng dụng hay ng−êi sư dơng nµo cã thĨ truy cËp mµ quyền hạn đắn Các thành phần hệ b¶o mËt bao gåm: ThÈm qun b¶o mËt cơc (Local Security Authority - LSA) Đây thành phần trung tâm hệ bảo mật LSA có trách nhiệm xác nhận tính hợp lệ toàn đăng nhập ngời sử dụng chỗ nh từ xa, phát thẻ truy cập, quản lý sách an toàn cục bộ, bao gồm việc kiểm soát sách kiểm toán LSA có trách nhiệm ghi lại ghi kiện thông báo kiểm toán trình tham chiếu bảo mật tạo Tiến trình đăng nhập (Logon Process) Tiến trình đăng nhập đăng nhập cho ngời sử dụng cục lẫn từ xa Trình quản lý tài khoản bảo mật (Security Account Manager - SAM) Hệ thống có trách nhiệm kiểm soát trì sở liệu tài khoản ngời sử dụng đợc cấp quyền truy cập xác minh ngời sử dụng tiến trình đăng nhập (phê chuẩn ngời sử dụng cho LSA) Cơ sở liệu SAM chứa thông tin tài khoản tất (nhóm) ngời sử dụng cung cấp thông tin hỗ trợ ngời sử dụng hợp lệ trình đăng nhập Nó so sánh hàm hash mật mã mật đăng nhập với mật theo giá trị hàm hash đợc lu giữ sở liệu SAM Sau đó, 146 cấp SID cđa (nhãm) ng−êi sư dơng vỊ l¹i LSA Sau SID đợc sử dụng để tạo thẻ truy cập bảo mật cho phiên thời ngời sử dụng Mỗi hệ Windows NT có sở liệu SAM chỗ Mỗi máy trạm hay máy chủ có sở liệu SAM cho ngời sử dụng cục nhóm cụ thể với máy tính Mỗi trình kiểm soát vùng có sở liệu SAM để nhận dạng (nhãm) ng−êi sư dơng cã thĨ sư dơng toµn bé máy tính vùng Cơ sở liệu SAM đợc cập nhật nhân cho phép hệ điều khiển vùng đáp ứng yêu cầu xác thực Chỉ có máy phục vụ trạm làm việc Windows NT có SAM, lý máy tính Windows 95 nhiều máy tính khác thực gia nhập vùng Trình giám sát tham chiếu bảo mật (Security Reference Monitor - SRM) Đây thành phần chế độ Kernel; ngăn cấm tiến trình hay ngời sử dụng trực tiếp truy cập đối tợng Nó hợp lệ hoá tiến trình truy cập đối tợng Nó phát sinh thông báo kiểm toán thích hợp SRM có trách nhiệm buộc tất truy cập hợp lệ sách kiểm toán làm việc đắn bên nội quy bảo mật cơc bé Nh− vËy, nã h¹n chÕ viƯc truy cËp trực tiếp vào đối tợng ngời sử dụng hay tiến trình nào, bảo đảm việc bảo vệ nh đợc cung cấp cho đối tợng bên hệ thống SRM làm việc kết hợp với trình quản lý đối tợng nhằm hợp lệ hoá truy cập đối tợng phát thông điệp kiểm toán theo yêu cầu Khi truy lục đối tợng đợc yêu cầu, SRM so sánh nội dung ACL đối tợng với néi dung cđa phiÕu truy cËp cđa ng−êi sư dơng Nếu truy cập đợc cấp cho đối tợng, SRM bố trí điều khiển cho trình điều khiển đợc sử dụng tất yêu cầu truy cậpkhác tơng tự mà không cần phải kiểm tra truy cập thêm Cơ sở liệu th mục (Directory database) Trong môi trờng mạng, sở liệu tồn số máy Khi ngời sử dụng đăng nhập máy cục bộ, SAM máy truy lục ID ngời sử dụng từ sở liệu Trong môi trờng mạng vùng Windows NT, thông tin tài khoản ngời sử dụng đợc lu trữ sở liệu th mục hay nhiều hệ phục vụ có tên hệ điều khiển vùng (domain controllers), chúng chia sẻ cập nhật thông tin tài khoản Cơ sở liệu dùng chung cho phép ngời sử dụng đăng nhập lần để truy cập tài nguyên toàn mạng Kiểm soát truy cËp nhiÖm ý (Discretionary Access Controls - DAC) Nã cho phép kiểm soát đầy đủ tệp tài nguyên đợc truy cập ngời sử dụng thời điểm cho Mức độ mà hệ thống DAC kiểm soát tệp th mục đợc truy cập gọi Gnanularity Đó số đo xem kiểm soát truy cập cụ thể đến mức Ví dụ, 147 ta hạn chế truy cập đến năm tệp th mục cho nhóm ngời sử dụng ta lại cho phép tất ngời sử dụng truy cập đến tệp lại th mục Trong chế DAC kẻ bẻ khoá quyền truy cập đến tệp họ bẻ khoá đợc máy tính Do đặt quyền truy cập tệp đắn bớc làm an toàn máy tính Windows NT Muốn máy tính phải sư dơng hƯ thèng tƯp c«ng nghƯ míi (New Technology File System - NTFS) NTFS cha đợc hoàn thiện Đối với phiên 3.51 ngời sử dụng quyền u tiên xoá đợc tệp Một ví dụ khác chạy File Manager phiên quyền truy cập tệp bị bỏ qua Tuy nhiên Windows NT DAC hoàn toàn tốt Đó nguyên lý tạo tệp ngời chủ Với tệp đọc ngời này, viết ngời chạy lại ngời khác Có thể nói DAC phức tạp Tóm lại, HĐH nh MS-DOS, Windows thực tế đạt đợc hệ bảo mật cao cấp Các HĐH đợc thiết kế để ngời sử dụng truy cập tài nguyên hệ thống với hạn chế, có HĐH yếu phép bổ sung hệ bảo mật mạnh Windows NT HĐH hớng đối tợng, hệ bảo mật đợc xây dựng cấp thấp cấu trúc đối tợng Điều khiến Windows NT dễ bảo vệ an toàn so với hầu hết HĐH khác Những nội dung cần nghiên cứu Việc đảm bảo an toàn mạng việc thiết kế theo mô hình mạng đề cập phụ thuộc vào tính an toàn HĐH đợc sử dụng, mà HĐH Microsoft Có thể thấy từ có đời HĐH Windows 95 tính mạng đợc ý Tuy nhiên lúc Microsoft lại ý nhiều đến tính tiện dùng tính bảo mật Chỉ với HĐH Windows NT sau này, tính bảo mật đợc quan tâm thích đáng rõ ràng, tính an toàn mạng tăng lên đáng kể Theo báo cáo ITSEC (phát hành 20/6/2000) WIDOWS/DOS Windows 9x có tính bảo mật tối thiểu tính bảo mật Windows NT nói tốt với phiên An ninh an toàn mạng vấn đề lớn liên quan đến nhiều yếu tố Trong phần ta xem xét an ninh an toàn mạng HĐH Microsoft, mà chủ yếu HĐH Windows NT thông qua nội dung sau: Đăng nhập, sử dụng dịch vụ Phân quyền th mục, tệp NTFS 148 Chơng II Đăng nhập, sử dụng dịch vụ Mặc dù tài nguyên mạng đợc bảo vệ møc kh¸c nhau, nh−ng viƯc chóng ta mn truy cập vào vùng hay máy cụ thể phải qua cửa chế bảo mật đăng nhập Giống nh chìa hộ chiếu vào sân bay hay xuất trình thẻ vào quan, phải khai báo tên, mật khẩu, tên vùng hay máy mà muốn vào để tiến trình đăng nhập (logon) xác nhận ngời vùng với quyền hạn định tài nguyên, hệ thèng vµ cho phÐp nhËp vïng HiƯn nay, truy cËp tới hệ thống đợc thực nhờ đăng nhập bắt buộc Đây yêu cầu an toàn tuân thủ nguyên tắc bảo mật cấp C2 Sự nhận diện xác thực tảng hệ an toàn Không có nhận diện xác thực ngời sử dụng đăng nhập vào hệ thống, việc truy cập đến đối tợng không đợc kiểm soát, quyền thẩm quyền ngời sử dụng hiệu lực, trách nhiệm giải trình đợc trì nhờ kiểm toán Yêu cầu an toàn thống toàn HĐH thể cho ngời sử dụng trình đăng nhập Quá trình đăng nhập sai khác nhỏ phụ thuộc vào việc ngời sử dụng đăng nhập tới hệ cục hay tới vùng Có hai cách đăng nhập: cục từ xa Đăng nhập cục ngụ ý việc đăng nhập trực tiếp vào máy tính đợc đề cập Đăng nhập từ xa ám đăng nhập ngang qua mạng để truy cập tài nguyên dùng chung Việc đăng nhập đòi hỏi phải có tên đăng nhập mật hợp lệ Vì Windows 9x không đợc coi hệ điều hành an toàn? Mặc dù HĐH Windows 9x đợc thiết kế cho đa ngời sử dụng thực hạn chế đợc công từ xa song tiếp cận máy Windows 9x, dễ dàng lấy cắp đợc thông tin đăng nhập (tên ngời sử dụng, mật khẩu, tên vùng sử dụng để đăng nhập Ngoài số điểm yếu khác mËt khÈu, mËt m· cđa Windows 9x, mµ ta sÏ bàn đến sau, làm cho bị coi HĐH không an toàn Nói chung, bớc tiến trình đăng nhập xin giấy uỷ nhiệm (credentials) thẩm định quyền Đầu tiên, ngời sử dụng xin giấy uỷ nhiệm cách nhập thông tin ngời sử dụng (tên ngời sử dụng, mật khẩu, tên vùng) Thông tin đợc so sánh với thông tin ngời sử dụng mà hệ thống lu giữ Nếu xác ngời sử dụng đợc thẩm định quyền có quyền truy cËp hƯ thèng NÕu sai ng−êi sư dơng ®ã bị từ chối truy cập Nh mức độ an toàn thông tin ngời sử dụng cách thức thẩm định quyền định mức độ an toàn đăng nhập An toàn mật Mật thờng đợc lu giữ sở liệu Trong Windows 9x mật đợc mật mã yếu, mật LAN Manager, đặt tệp pwl Các dịch vụ tệp LAN 149 Manager đợc sử dụng cho dịch vụ tệp PC năm 1980 đầu năm 1990 có HĐH khác Windows 9x thực xác thực quản lý Nó dựa kí tự OEM chuẩn, không phân biệt chữ hoa chữ thờng dài tới 14 kí tự Mật LAN Manager đợc mật mã sử dụng thuật toán Chuẩn mật mã liệu (DES) Mật dễ bị công không phân biệt chữ hoa chữ thờng Mật dễ bị giải mã sử dụng kí tự thông thờng số lợng kí tự khác hay 14 Windows NT cã sư dơng thªm mËt khÈu Windows NT Mật dựa kí tự Unicode mật có phân biệt chữ hoa chữ th−êng vµ cã thĨ dµi tíi 128 kÝ tù MËt NT đợc mật mã việc sử dụng thuật toán Message Digest (MD4) Trong Windows NT mật đợc mã hoá kép sở liệu SAM Lần mã hoá phiên hµm mét chiỊu (one-way function - OWF) cđa mËt khÈu rõ Sau đó, mật đợc mã hoá lại để khiến trở nên khó hiểu Các mật mã hoá chiều thờng đợc xem giải mã Thực tế, sở liệu không đợc giải mã Thậm chí, SAM giải mã mật sở liệu Điều ngăn cấm viết chơng trình dùng SAM API để đọc mật mã hoá khỏi sở liệu Một chơng trình nh đợc dùng để tiến hành tiến công từ điển sở liệu SAM Trong Windows 2000 thông tin ngời sử dụng đợc mã hoá cất giấu SAM hƯ thèng cơc bé hay AD (Active Dierectory) cđa hƯ thống AD thay cho vùng sở liệu SAM registry điều khiển vùng thành phần tin cậy LSA Khác với sở liệu SAM có cấu trúc phẳng AD lại có cấu trúc phân cấp cho phép hạn chế truy cập trái phép Ngoài HĐH Windows NT Windows 2000 cho phép nhấn CTRL-ALT-DEL để khởi phát tiến trình đăng nhập Nh tránh đợc mối nguy hiểm chơng trình Trojan Horse Thẩm định quyền HĐH Windows NT quản lý truy cập mạng thông qua chế xác thực ngời sử dụng gồm tên ngời sử dụng mật tơng ứng Mật mã đợc đa từ trạm đăng nhập mạng trung tâm theo cách mã hoá đặc biệt theo hai cách sau đây: Một là, Windows NT dùng DES làm hàm chiều để mã hoá mật khÈu cđa ng−êi sư dơng MËt khÈu nµy dïng DES làm hàm chiều để mã hoá số qui ớc chuyển giá trị mã khoá đến sở liệu ngời sử dụng giá trị đợc đem so sánh với giá trị lu sở liệu Nếu trùng khớp đợc đăng nhập mạng không bị từ chối Mật không bị lộ tính ng−ỵc tÝnh chÊt mét chiỊu cđa DES 150 Hai là, sử dụng giao thức thẩm định quyền mã hoá Windows NT LAN Manager (NTLM) Khi đăng nhập SERVER gửi giá trị nonce dài 16 byte cho trạm CLIENT Mật ngời sử dụng đợc dùng ®Ĩ lËp m· nonce vµ gưi vỊ SERVER MËt khÈu đợc dùng làm khoá để mã số qui ớc trớc, sau giá trị chiều đợc dùng làm khoá để mã hoá nonce kết trả SERVER Một mặt SERVER nhận giá trị này, mặt khác lấy giá trị chiều sở liệu ngời sử dụng làm khoá lập mã nonce mà lu giữ, kết đợc so sánh với kết vừa nhận đợc từ CLIENT, hai kết trùng SERVER cho phép đăng nhập mạng Ngợc lại, từ chối đăng nhập mạng Nó mã hoá khoá số nhị phân 56 bit với 72 nghìn triệu triệu tổ hợp Khoá đợc phát sinh ngẫu nhiên cho phiên làm việc để tạo khuôn mẫu mã hoá thờng đợc xem bẻ khoá khoá giải mã Để thẩm định quyền ngời sử dụng Windows 2000 ngầm định sử dụng giao thức thẩm định quyền Kerberos Version Giao thức thẩm định quyền Kerberos Version giao thức thẩm định quyền an toàn phân tán dựa an toàn chuẩn Internet Nó thay NTLM, đợc dùng Windows NT Server 4.0, nh− mét giao thøc an toµn truy cập tài nguyên ngang qua mạng vùng Windows 2000 Server Hỗ trợ Kerberos bảo đảm đăng nhập an toàn, lần nhanh đến tài nguyên dựa Windows 2000 Server nh môi trờng khác có hỗ trợ giao thức Với Windows NT HĐH sau này, tài khoản ngời sử dụng cần đợc hợp thức hoá, nhng máy tính cục tự hợp thức đợc mật đợc mật mã hoá truyền kênh mật đợc thiết lập trớc Thẩm định qun ng−êi sư dơng hai u tè Cã thĨ dïng thiết bị bảo mật bên thứ ba để cải thiƯn hƯ b¶o mËt cho ng−êi sư dơng quay sè vợt mức bảo mật sẵn có dịch vơ Windows NT RAS (Remote Access Service - DÞch vơ truy cập từ xa) Các thiết bị bảo mật thờng thẻ khoá [keycards]: thiết bị bảo mật có kích cỡ thẻ tín dụng hiển thị mã số khác theo phút Thẻ khoá đợc đồng hoá với thiết bị tơng tự hệ phát sinh mã số Khi ngời sử dụng đăng nhập, mã số thẻ khoá ngời sử dụng đợc gửi đến hệ phục vụ quay số dới dạng biện pháp bổ trợ cho thủ tục đăng nhập bình thờng Kỹ thuật bảo đảm ngời sử dụng hợp pháp có mật mã số thẻ khoá hợp lệ đăng nhập hệ thống Hai yếu tố lợc ®å nµy lµ mËt khÈu mµ ng−êi sư dơng biÕt giá trị thẻ khoá mà họ có vào lúc đăng nhập Các thiết bị bảo mật tồn theo dạng phần cứng phần mềm Các thiết bị phần cứng thờng có kích cỡ nh thẻ tín dụng có hình LCD nhỏ để nêu mã số truy cập Các thiết bị phần mềm chơng trình chạy máy tính ngời sử dụng thực chức nh thiết bị phần cứng Nói chung, thiết bị phần mềm tiện dụng chúng tự động hoá tiến trình không yêu cầu khoá 151 ngời sử dụng mã số truy cập Tuy nhiên, thiết bị phần mềm thờng an ninh hơn, hắc có hội để bẻ khoá thông tin nằm nhớ đĩa Việc bổ trợ đăng nhập từ xa theo cách cho ta mét cÊp b¶o mËt cao Cïng víi sù đời Windows 2000 ứng dụng thẻ thông minh nó.Thẻ thông minh bảo đảm lu giữ chống lục lọi nhằm bảo vệ khoá riêng t, số tài khoản, mật thông tin cá nhân khác Các thẻ thông minh nâng cao giải pháp phần mềm bao gồm thẩm định quyền hệ khách Thẻ thông minh thành phần chủ chốt sở hạ tầng khoá an toàn mà Microsoft tích hợp HĐH Windows 2000 Trong tơng lai, mật đợc bảo mật thêm nhờ phơng pháp nhận dạng sinh học sử dụng đặc tính cá thể nh vân tay, mẫu võng mạc, mồ hôi, DNA, thay đổi giọng nói nhịp điệu đánh máy bàn phím 152 Chơng III Phân quyền th mục, tệp Phần đề cập đến giai đoạn đầu, giai đoạn quyền tính thẩm định quyền hai chiều hệ thống mạng an toàn Phần trình bày giai đoạn hai , giai đoạn cho phép permission đối tợng cụ thể Nh trình bày trên, đối tợng HĐH cđa Microsoft bao gåm mäi thø tõ c¸c tƯp, c¸c cổng truyền thông, đến xâu thi hành Mỗi đối tợng đợc phân quyền riêng lẻ dới dạng nhóm tuỳ thuộc vào HĐH Các đối tợng có kiểu permission khác đợc dùng để giao hc kh−íc tõ qun truy cËp chÝnh chóng Trong chơng đề cập đến đối tợng cần phân quyền th mục tệp Đối với đối tợng có permission Read, Write, Execute Các th mục đối tợng thùng chứa lu giữ tệp, permission gán cho thùng chứa đợc thừa kế đối tợng tệp chứa Để xem xét tính phân quyền th mục tệp, cần tìm hiểu hệ thống tệp đợc hệ điều hành Microsoft hỗ trợ, sau permission chúng Nên lu ý rằng, điều khiển truy cập quyền tài khoản ngời sử dụng hai khía cạnh khác hệ bảo mật Windows NT Hệ bảo mật tài khoản ngời sử dụng định danh hợp lệ hoá ngời sử dụng, điều khiển truy cập lại hạn chế ngời sử dụng làm việc với đối tợng Cũng nh đối tợng khác, đối tợng th mục tệp có dấu mô tả bảo mật (security descriptor) để mô tả thuộc tính bảo mật Dấu mô tả bảo mật bao gồm: ID bảo mật ngời sử dụng sở hữu đối tợng, thờng ngời tạo đối tợng đợc gọi chủ nhân (owner) ACL (Access Control List - danh sách điều khiển truy cập), lu giữ thông tin ngời sử dụng nhóm truy cập đối tợng ACL hệ thống, có liên quan đến hệ kiểm toán ID bảo mật nhóm, dợc dùng hệ POSIX Các ACL điểm then chốt phần thảo luận Về bản, ACL danh sách ng−êi sư dơng vµ nhãm cã permission truy cËp vµo đối tợng Đối tợng th mục tệp có ACL riêng Các chủ nhân tạo mục ACL thông qua công cụ nh File Manager cách ấn định tính chất cho tệp th mục (trong Windows NT 4.0) Network Services Control panel trình tiện ích khác dùng để ấn định permission Ngời sử dụng cã thĨ cã nhiỊu mơc ACL cđa mét ®èi tợng, cung cấp mức truy cập khác cho chóng VÝ dơ, mét ng−êi sư dơng cã thĨ cã giấy phép Read tệp dựa tài khoản ngời sử dụng họ giấy phép Read/Write dựa 153 t cách thành viên nhóm Mỗi giấy phép đợc nêu mục riªng biƯt ACL Khi ng−êi sư dơng truy cËp đối tợng, họ thờng có quyền truy cập thoả đáng định, nh Read hay Read/Write Để giao (hay khớc từ) truy cập, SRM đối chiếu thông tin thẻ truy cập ngời sử dụng với mục ACL Thẻ truy cập chứa ID bảo mật danh sách nhóm mà ng−êi sư dơng ®ã thc vỊ SRM sÏ ®èi chiÕu thông tin với hay nhiều mục ACL tìm thấy đủ giấy phép để trao quyền truy cập thoả đáng Nếu không thấy đủ giấy phép, việc truy cập bị khớc từ Nếu SRM tìm thÊy vµi mơc dµnh cho ng−êi sư dơng, nã sÏ xem xét mục để xem (tổ hợp các) mục ®ã cã thĨ giao cho ng−êi sư dơng giÊy phÐp thoả đáng để dùng đối tợng hay không Các hệ thống tệp đợc hệ điều hành Microsoft hỗ trợ: Một yêu cầu HĐH công tác quản lý liệu: dùng loại đĩa với HĐH đó, cách thức HĐH chia đĩa thành nhiều phần nhỏ, liệu tệp đợc lu giữ theo cách thức nào, nhiều vấn đề khác Mục cung cấp tổng quan khả hỗ trợ hệ thống tệp họ HĐH Microsoft (đợc liệt kê Bảng 1) Các hệ thống tệp có tính khác nh độ dài tên tệp, tính bảo mật, dung lợng tối đa tệp phân hoạch Bảng Các hệ điều hành Hỗ trợ hệ thống tệp Windows NT, Microsoft Windows File Allocation Table (FAT) 95/98, MS-DOS, IBM OS/2 Windows NT/2000 Windows NT File System (NTFS), New Technology File System Windows NT, Microsoft Windows CD-ROM File System (CDFS) OS/2, Windows NT High Perfomance File System (HPFS) • CDFS đợc sử dụng để đọc liệu từ ổ CD-ROM Vì CDFS hệ thống tệp đặc biệt đọc (read-only) nên phạm vi ứng dụng bị hạn chế FAT mà quen gọi bảng xác định vị trí tệp đợc sử dụng nhiều năm máy chạy MS - DOS, chạy HĐH Microsoft Windows 9x, IBM OS/2, Windows NT FAT hỗ trợ qui ớc tên tệp 8.3 (số ký tự phần bên trái dấu chấm không số ký tự phần bên phải dấu chấm không 3) cho phiên HĐH Ngoài FAT hỗ trợ thêm qui ớc đặt tên dài cho tệp/th mục, vốn đợc áp dụng Windows 95/98/NT 154 Trong hệ thống tệp này, tệp th mục tồn cấp gốc (root) phân chia FAT chØ ®Õn mét mơc nhËp FAT nhËn diƯn số bắt đầu cho tệp/th mục Nếu tệp lớn cụm (cluster) sector đơn lẻ (có kích hớc phụ thuộc vào kích thớc phân chia), cụm sector đến cụm FAT không cố gắng tèi −u ho¸ tƯp : cơm sector kÕ tiÕp cđa tệp cụm khả dụng đĩa, bất chấp vị trí cụm trớc Cụm sector ci cïng mµ tƯp chiÕm dơng cã dÊu hiƯu End of File Th mục gốc FAT bị giới hạn 512 mục nhập (có thể tệp th mục con) Th mục (subdirectory) tệp liệt kê tệp th mục khácchứa nó, với dấu hiệu cho biết th mục Th− mơc cã thĨ chøa th− mơc vµ tƯp trùc thc víi sè l−ỵng bÊt kú HƯ thèng tệp FAT bị giới hạn số lợng nhập định: ban đầu MS-DOS hỗ trợ tối đa 4096 mục nhập, nhng Windows 95/98/NT lại hỗ trợ đến 65536 mục nhập FAT Vì FAT bị giới hạn số lợng cluster cố định, nên cluster kích thớc nh hai volume không kích thớc Chỉ tệp đợc định cho cluster, không gian thừa cluster cuối đợc gán cho tệp bị bỏ phí Không thể bảo vệ đợc phân hoạch FAT tính bảo mật th mục tệp cục (local file) HĐH Duy có chế độ bảo mật cho phân hoạch FAT mạng: chế độ đợc cung cấp thông qua nguyên tắc chia sẻ HĐH Điều có nghĩa phân hoạch FAT, HĐH không hỗ trợ tính bảo mật đến mức tệp; muốn thiết đặt để truy cập đợc tệp đó, ta phải khởi tạo th mục, thiết đặt trạng thái không chia sẻ (không dùng chung) cho th mục đặt tệp nói th mục Một nhợc điểm việc chia sẻ khó quản lý giả sử có hàng trăm ngời sử dụng máy chủ ngời lại có th mục riêng, phải thiết lập hàng trăm chia sẻ, chia sẻ lại chồng chéo nên gây thêm phiền toái HƯ thèng tƯp c«ng nghƯ míi (New Technology File System - NTFS) đợc hỗ trợ Windows NT/2000 hệ thèng tƯp thÝch hỵp nhÊt cho Windows NT/2000 mét số lí do, đặc biệt lý bảo mật Khác với FAT, NTFS không bị giới hạn số lợng sector định cluster hệ thống tệp này, cluster đơn vị sở Thừa số cluster đợc định nghĩa số lợng byte, việc định dạng volume theo NTFS bảo đảm thừa số cluster bội số kích thớc sector ổ đĩa Vì NTFS nhận diện thứ theo số hiệu cluster, nên hệ thống tệp không tính đến kích thớc sector Do vậy, số lợng sector cluster giá trị có tính đề nghị thay giá trị cố định NTFS cho phép điều chỉnh số lợng sector mặc định cluster cho thích hợp với mức độ sử dụng thực tế volume NTFS tìm kiếm không gian ®Üa liỊn tr−íc ghi hc chÐp tƯp vào đĩa 155 Chúng ta nên dùng phân hoạch NTFS có yêu cầu bảo mật cho máy chủ máy cá nhân NTFS hỗ trợ điều khiển truy cậpvà đặc quyền riêng quan trọng để đảm bảo tính thống liệu Mặc dù th mục máy chạy Windows NT/2000 đợc gán thêm permission chia sẻ không phụ thuộc vào hệ thống tệp dùng, với tệp c¸c th− mơc NTFS, ta vÉn cã thĨ g¸n permission để chúng đợc dùng chung hay không NTFS hệ thèng tƯp nhÊt trªn Windows NT/2000 cho phÐp ta khả thiết đặt permission tới tệp th mục riêng Phân quyền th mục tệp thực chất bảo mật tài nguyên mạng thông qua permission chia sẻ Các th mục đợc chia sẻ (hay đợc dùng chung - shared folders) cho phép ngời sử dụng truy cập vào tệp ổ đĩa mạng 2.1 Giới thiệu chung Khái niệm chia sẻ tài nguyên khái niệm quan trọng môi trờng làm việc mạng Nếu làm việc máy tính cục bộ, hoàn toàn truy cập khai thác tài nguyên máy Nhng tình hình khác muốn truy cập vào chơng trình vào sở sở liệu đợc cài máy khác Muốn sử dụng tài nguyên mạng (không có máy mình), tài nguyên phải đợc chia sẻ Việc chia sẻ tài nguyên mạng mang lại lợi ích Trớc hết, ngời sử dụng truy cập tài nguyên theo cách thức tập trung Đối với ngời quản trị, điều có nghĩa việc nắm quyền kiểm soát tài nguyên mạng đợc thực cách dễ dàng Lợi ích thứ hai việc chia sẻ việc sử dụng tài nguyên cách có hiệu kinh tế nhiều Cuối cùng, với sách thích hợp, việc bảo mật tài nguyên đợc thực cách hữu hiệu Các HĐH hỗ trợ mạng Microsoft cho phép thiết đặt để chia sẻ tài nguyên cho ngời khác Tuy nhiên mức độ cho phép ngời khác dùng đến đâu ngời chia sẻ định a Các th mục đợc chia sẻ Một th mục đợc chia sẻ th mục đợc thiết đặt cho ngời có quyền hợp pháp kết nối tới th mục khai thác tài nguyên lu giữ Ngoài ra, với Windows NT thiết đặt permission chia sẻ (shared permission) cho tài khoản ngời sử dụng (và tài khoản nhóm) để điều khiển ngời sử dụng thực đợc điều với nội dung th mục đợc chia sẻ Những ngời sử dụng máy khác dùng tiện ích duyệt (Browser) nh− Explorer cđa Windows 9x, Windows NT Explorer ®Ĩ truy cập đợc tài nguyên 156 th mục đợc chia sẻ hay kết nối đến th mục nh phân hoạch ảo (E, F, hay G) máy mình; gọi ổ ảo ổ đĩa mạng Tất th mục mäi hƯ thèng tƯp (FAT, NTFS, CDFS, HPFS) ®Ịu cã thể chia sẻ đợc Muốn chia sẻ th mục cần có điều kiện sau: Serser Service đợc khởi động Ngời thao tác có quyền chia sẻ ngời thuộc nhóm: Administrators, Server Operators, Power Users Nếu phân hoạch đợc định dạng theo hệ thống tệp FAT, việc thiết đặt chia sẻ hay không chia sẻ th mục cách thức đảm bảo tính bảo mật cho tài nguyên phân hoạch Nếu phân hoạch đợc định dạng theo hệ thống tệp NTFS, chia sẻ th mục thết đặt thêm permission NTFS để đảm bảo tính bảo mật cao b Permission th mục đợc chia sẻ Để điều khiển ngời sử dụng truy cập vào th mục đợc chia sẻ, gán permission chia sẻ (share permision) cho ngời sử dụng, cho nhóm cho hai Mọi giấy phép th mục có tác dụng tệp th mục đợc chứa Bảng liệt kê permission th mục đợc chia sẻ Bảng Giấy phép Dùng để No access Đặt chế độ này, ngời sử dụng nhìn thấy th mục (không đợc truy mạng nhng không truy cập vào đợc nh không cập) nhìn thấy không khai thác đợc tệp hay th mục Read Có thể xem tên tệp th mục con, xem liệu thuộc tính (Đọc) tệp, chạy tệp chơng trình truy cập tới th mơc chøa th− mơc ®ã Change Cã thĨ tạo th mục con, thêm tệp, thay đổi liệu (Thay đổi) nh thêm liệu vào tệp, thay đổi thuộc tính tệp, xoá tệp th mơc Full control Cã thĨ lµm mäi viƯc cđa chế độ Change, thay đổi permission (Toàn quyền) tệp, lấy quyền sở hữu tệp, th mục NTFS Nh ta thấy, bảng liệt kê bốn loại giấy phép, mức độ giấy phép tăng dần theo thứ tự liệt kê, từ giấy phép gán quyền hạn chÕ nhÊt tíi giÊy phÐp réng r·i nhÊt c Ph¹m vi tác dụng permission th mục đợc chia sẻ Có thể đặt permission tài nguyên đợc chia sẻ mà không phụ thuộc vào hệ thống tệp phân hoạch Tuy nhiên giấy phép có tác dụng ta truy cập thông qua mạng Permission chia sẻ th mục tác dụng ngời đăng nhập cách cục thành công vào máy có chứa th mục 157 Khi có toàn quyền việc truy cập th mục tệp Hiển nhiên, việc klhai thác tài nguyên tệp có thành công hay không phụ thuộc vào tính bảo mật chơng trình ứng dụng tạo tệp (nh tệp văn Word đợc cài đặt mật chẳng hạn) Nếu ngời quyền đăng nhập cục (Log on locally) máy chủ Windows NT Server điều không gây phiền toái Mặt khác, máy chạy Windows NT Workstation, ngời sử dụng đợc gán quyền cách tự động vấn đề phức tạp hơn; họ bỏ qua permission chia sẻ để truy cập tới tệp máy cục d Hiệu lực kết hợp permission Chúng ta gán permission chia sẻ th mục cách trực tiếp cho ngời sử dụng nh gán permission cho nhóm mà ngời sử dụng thành viên Nếu ngời sử dụng thành viên nhiều nhóm cần định rõ giấy phép thực tế áp dụng cho ngời sử dụng dựa theo hai nguyên tắc sau: thứ nhất, mức giấy phép thực tế ngời mức giấy phép bị hạn chế số permission đó; thứ hai, số tất møc giÊy phÐp cã giÊy phÐp No Access th× møc giấy phép thực tế ngời No Access 2.2 Chia sẻ th mục Để thiết đặt th mục có đợc chia sẻ hay không cần phải thực vài thao tác đơn giản Nhng trớc thực vài thao tác đơn giản trình suy ngẫm công phu để hoạch định nên sách chia sẻ tài nguyên Hệ thống có hoạt động tốt, đáp ứng vừa đủ nhu cầu đa dạng ngời sử dụng hay không hệ tất yếu trình hoạch định a Hoạch định th mục đợc chia sẻ Trớc chia sẻ phải trả lời đợc câu hỏi: chia sẻ tài nguyên cho Để mạng máy tính hoạt động trơn tru, ngời sử dụng hợp thức phải dễ dàng truy cập đợc chơng trình mạng, liệu dïng chung còng nh− c¸c th− mơc chøa c¸c tƯp tài nguyên khác Sau vài gợi ý: Hãy xác định xem ngời sử dụng truy cập vào th mục Hãy tổ chức lại th mục có mức bảo mật vào th mục Chẳng hạn, nên đa th mục chứa tệp cho phép đọc vào th mục Sử dụng tên chia sẻ trực quan để ngời sử dụng dễ dàng đoán nhận truy cập tới Sử dụng tên chia sẻ tên th mục đọc đợc HĐH tất máy trạm Đối với máy chạy HĐH Windows NT Windows 95 tên chia sẻ tên tệp tối đa 255 ký tự, máy chạy HĐH MS DOS, 158 Windows 3.x Windows for Workgroup tên chia sẻ tên tệp phải tuân theo qui tắc 8.3 b Hoạch định để gán permission th mục đợc chia sẻ Cũng nh việc chia sẻ, việc gán permission th mục đợc chia sẻ đến đối tợng, nhóm sử dụng công việc đòi hỏi hoạch định tính toán kỹ lỡng Sau gợi ý: Xác định nhóm có nhu cầu truy cập tới tài nguyên mức độ truy cập cần thiết họ Tạo nhóm cục (local group) tài nguyên đợc chia sẻ Nếu th mục đợc chia sẻ nằm máy chủ thành viên hay máy chạy Windows NT Workstation nhóm cục tài nguyên đợc chia sẻ đợc tạo máy Nếu tài nguyên nằm máy Điều khiển vùng nhóm cục tạo máy naò có chạy User Manager for Domains Chỉ gán permission cho nhóm thực có nhu cầu truy cập tới tài nguyên Gán giấy phép hạn chế cho nhóm cục tài nguyên, song phải ®¶m b¶o cho phÐp ®Õn møc ®Ĩ hä cã thĨ thực đợc công việc Chẳng hạn, ngời sử dụng có nhu cầu đọc tệp th mục nên gán giấy phép Read cho họ Để đảm bảo tính bảo mật cao, h·y xo¸ bá giÊy phÐp Full control cđa nhãm Everyone NÕu mn mäi ng−êi sư dơng ®Ịu cã thĨ truy cập đợc tài nguyên, tốt nên sử dụng nhãm Users Trong mét vïng nhãm Users chØ bao gåm tài khoản ngời sử dụng vùng mà tạo Trong nhóm công tác, Users chứa bg−êi sư dơng cơc bé Ngoµi ra, t theo tÝnh chất loại tài nguyên đợc chia sẻ (chơng trình ứng dụng hay liệu), cần có chiến lợc gán permission cách phù hợp Đối với mạng lớn, có hay nhiều máy chủ giữ vai trò lu giữ chơng trình Khi cần: Tạo th mục đợc chia sẻ dùng để lu chơng trình Gán giấy phép Full control cho nhóm Administrators để họ truy cập quản trị chơng trình • Xo¸ bá giÊy phÐp Full control cđa nhãm Everyone gán giấy phép Read cho nhóm Users để đảm bảo tính bảo mật cao Gán giấy phép Change cho nhóm ngời chịu trách nhiệm nâng cấp hay giải vấn đề phần mềm Với th mục chứa liệu công cộng nh liệu nhạy cảm cần phải có hoạch định tơng tự Thiết lập chia sẻ tíi møc tƯp chØ cã NTFS mµ chóng ta xem phần sau 159 Chơng IV NTFS Trong chơng đề cập đến tính hệ thống tệp NTFS, u điểm nhợc điểm Giới thiệu chung Trong phần II.2 đa tổng quan hệ thống tệp mà HĐH Microsoft hỗ trợ Phần sâu vào NTFS NTFS hỗ trợ tính sau: Hỗ trợ tên tệp dài Các tên tệp th mục dài tới 255 ký tự, bao gồm phần mở rộng Hỗ trợ tính bảo mật cục Chúng ta nên dùng phân hoạch NTFS có yêu cầu bảo mật cho máy chủ máy cá nhân NTFS hỗ trợ điều khiển truy cập đặc quyền riêng quan trọng để đảm bảo tính thống liệu Mặc dù th mục máy chạy Windows NT/2000 đợc gán thêm shared permission không phụ thuộc vào hệ thống tệp dùng, với tệp th mục NTFS, ta gán permission để chúng đợc dùng chung hay không NTFS hệ thống tệp Windows NT/2000 cho phép ta khả thiết đặt permission tới tệp th mục riêng Kích thớc phân hoạch tệp NTFS: phụ thuộc vào phần cứng máy, cỡ tệp lớn nằm khoảng GB 64 GB Do việc sử dụng không gian đĩa liên quan liên quan ®Õn viƯc dïng NTFS, cì tèi thiĨu cđa mét phân hoạch NTFS nên lớn 50 MB Một đặc tính NTFS khả nén tệp Tỉ lệ nén, thực tế, thay đổi tuỳ vào chất tệp đợc nén Việc nén tệp làm giảm cỡ tệp ứng dụng văn cỡ tệp liệu khoảng 50% giảm cỡ tệp thực khoảng 40% Chơng trình ứng dụng truy cập tệp đợc nén NTFS tệp đợc giải nén yêu cầu Tệp đợc nén đợc đóng lu lại Chỉ có hệ thống tệp NTFS đọc đợc nội dung nén liệu Khi trình ứng dụng lệnh, Copy chẳng hạn, yêu cầu truy cập tệp, NTFS giải nén tệp trớc hoạt động chép diễn Sao chép tệp tin đợc nén vào th mục đợc nén thật phải trải qua nhiều công đoạn, bao gồm giải nén, chép, nÐn l¹i tƯp Cã thĨ cho phÐp nÐn tƯp/th− mơc cá thể, nén toàn volume, nhng không nên nén môi trờng máy phục vụ Các tính phụ: NTFS có tính phụ để trở thành hệ thống tệp mạnh động o Khả khôi phục lại dựa tác vụ (transaction) NTFS có độ tin cậy cao Nó hệ thống tệp có khả khôi phục cách sư dơng viƯc cËp nhËt nhËt ký t¸c vơ cđa tất th mục tệp cách tự động Nhật ký đợc Windows NT sử dụng dể lặp lại khôi phục thao tác bị hỏng xảy cố hệ thống bị hỏng điện 160 o Hỗ trợ việc tái ánh xạ chùm (cluster remapping) Nếu lỗi xảy có cung (sector) bị hỏng đĩa cứng, NTFS cấp phát chùm để thay chùm có cung bị hỏng Sau NTFS lu địa chùm chứa cung bị hỏng, cung bị hỏng không đợc sử dụng lại o Hỗ trợ tệp Macitosh o Hỗ trợ yêu cầu POSIX Dùng chế độ bảo mật NTFS Trên phân hoạch NTFS, đặt permission NTFS th mục tệp Permission NTFS bảo mật tài nguyên máy cục ngời sử dụng nối tới tài nguyên mạng 2.1 Một số khái niệm: Permission NTFS Permission NTFS permission có phân hoạch đợc định dạng qua hệ thống tệp Windows NT/2000 Permission cung cấp bảo mật mức độ cao chúng gán tới th mục tíi c¸c tƯp thĨ Permission NTFS cho th− mơc tệp đợc áp dụng với ngời sử dụng làm việc máy nơi có th mục tệp lu trữ ngời truy cập th mục tệp từ mạng thông qua việc nối tới th mục đợc chia sẻ Kiểm soát (Audit) Ghi vào nhật ký vấn đề liên quan đến bảo mật xảy sau dùng chức Event Viewer (xem kiện) để xem lại • LËp nhËt ký c¸c sù kiƯn (Event log) Khi tệp hay th mục đợc sửa đổi, Dịch vơ TƯp nhËt ký (Log File Service) theo dâi mäi thông tin thao tác redo hay undo cho việc sửa đổi Những thông tin redo cho phép NTFS tạo lại sửa đổi trờng hợp hệ thống cã sù cè Th«ng tin vỊ undo cho phÐp NTFS bỏ sửa đổi nh thực đợc hoàn toàn xác NTFS cố gắng redo giao dịch undo redo Quyền sở hữu (Ownership) Ngời tạo tệp hay th mục hay nhà quản trị có toàn quyền sử dụng hay cho phép ngời khác sử dụng tài nguyên Chỉ có họ thay đổi cấp độ truy cập áp dụng cho đối tợng Họ chuyển giao quyền sở hữu cho ngời sử dụng khác mà cấp quyền giành quyền sở hữu Ngời sử dụng phải dành quyền sở hữu th mục/tệp sau đợc cấp quyền làm thÕ 2.2 Sư dơng permission NTFS Chóng ta cã thĨ sử dụng permission NTFS để bảo vệ nguồn tài nguyên, tránh ngời sử dụng truy cập máy theo đờng sau: Một cách cục bộ, ngồi làm việc máy nơi lu trữ tài nguyên Từ xa, cách nối tới th mục đợc chia sẻ 161 Chúng ta đặt permission tệp tới mức chi tiết Thí dụ, đặt permission khác cho tƯp mét th− mơc Chóng ta cã thĨ cho phÐp mét ng−êi sư dơng ®äc néi dung cđa mét tệp thay đổi nó, cho phép ngời khác đợc đọc tệp ngăn cản ngời khác truy cập vào tệp Trên phân hoạch NTFS, ngời tạo th mục tệp chủ nhân th mục tệp Nếu ngời thành viên quản trị nhóm quản trị trở thành chủ nhân th mục tệp Chủ nhân gán thay đổi permission th mục tệp họ Permission NTFS đợc gán cho tài khoản ngời sử dụng tài khoản nhóm theo cách mà permission chia sẻ gán Một ngời sử dụng đợc gán permission NTFS cách trực tiếp nh thành viên hay nhiều nhóm Permission th mục NTFS đợc ¸p dơng nh− sau: • Gièng nh− c¸c phÐp chia sẻ, permission NTFS cung cấp permission hiệu cho ngời sử dụng bao gồm tổ hợp permission nhóm permission ngơì sử dụng, trừ trờng hợp ngoại lệ No Access Giấy phép No Access đứng tất permission khác Không giống nh permission chia sẻ, permission NTFS bảo vệ tài nguyên cục đợc gán cho th mục tệp khác cïng c©y ph©n cÊp Permission tƯp NTFS cã qun cao permission đợc gán cho th mục mà tệp ®ã thc vµo ThÝ dơ, nÕu mét ng−êi sư dơng cã giÊy phÐp Read tíi mét th− mơc vµ giÊy phép Write tới tệp th mục đó, ngời ghi vào tệp nhng tạo tệp th mục 2.3 C¸c møc giÊy phÐp truy cËp tƯp NTFS Permission truy cËpthĨ hiƯn sù ®iỊu khiĨn ®èi víi ng−êi sư dụng tài nguyên tệp nh mức độ sử dụng Đối với tệp, mức độ giấy phép truy cậptơng øng víi c¸c qun sau: GiÊy phÐp R X W D P O No Access (Không đợc truy nhập) Read (Đoc) Change (Thay đổi) Full control ☯ ☯ ☯ ☯ ☯ ☯ (Toµn qun) Special File Access Có thể chọn tổ hợp chế độ (Truy cập tệp đặc biệt) Trong đó: R: Xem đợc liệu, thuộc tính, ngời sở hữu mức giấy phép 162 X: Chạy đợc tệp (thí dụ tệp exe) W: Ghi vào tệp hay thay ®ỉi c¸c thc tÝnh cđa nã D: Xo¸ tƯp P: Thay ®ỉi permission ®èi víi tƯp O: LÊy qun së hữu 2.4 Các mức giấy phép truy cập th mục NTFS Permission truy cËpth− mơc thĨ hiƯn sù ®iỊu khiĨn ngời sử dụng tài nguyên th mục nh mức độ sử dụng th mục Đối với th mục, mức độ giấy phép truy cậptơng ứng víi c¸c qun sau: GiÊy phÐp R X W D P O No Access (Không đợc truy nhập) List (Liệt kê) Read (Đọc) Add (Thêm) Add & Read (Thêm & Đọc) Change ☯ ☯ ☯ ☯ (Thay ®ỉi) Full control ☯ ☯ ☯ ☯ ☯ ☯ (Toµn qun) Special File Access Cã thể chọn tổ hợp chế độ (Truy cậptệp đặc biệt) Trong đó: R: Hiện liệu th mục, thuộc tính, ngời sở hữu mức giấy phép X: Chạy đợc tệp th mục (thí dụ tệp exe) W: Tạo tệp th mục, sửa đổi tệp hay thay đổi c¸c thc tÝnh cđa th− mơc D: Xo¸ c¸c tƯp th mục P: Thay đổi mức giấy phép ®èi víi th− mơc O: LÊy qun së h÷u 2.4.1 Sự thay đổi mức giấy phép trờng hợp chÐp hay di chun Thao t¸c chÐp (copy) tệp khác với di chuyển (move) tệp Một tệp đợc di chuyển sau tệp vào vị trí xoá vị trí cũ Trên thùc tÕ, di chun mét tƯp th× chØ cã trỏ cấu truc tệp thay đổi, mặt vật lý, tệp nguyên chỗ cũ Ta di chuyển đợc tệp ổ logic Còn tệp giữ 163 hai hai vị trí khác Theo logic thông thờng, ngpì ta đặt sách bảo mật khác cho hai thao tác Trong trờng hợp chép, tệp đích đợc coi lµ mét tƯp míi vµ nh− vËy permission hiƯn có đợc thay permission nh tệp th mục đích Khi tệp hay th mục đợc chép, thừa hởng giÊy phÐp cđa th− mơc ®Ých cïng víi giÊy phÐp ngầm định tệp Ngời chép trở thành chủ sở hữu có mäi qun Trong tr−êng hỵp di chun, mäi møc giÊy phép nh chủ sở hữu giữ nguyên nh cũ Muốn di chuyển, ngời sử dụng phải có quyền đa tệp nh th mục vào th mục đích 2.4.2 Tơng quan giấy phép cá nhân giÊy phÐp cđa nhãm GiÊy phÐp truy cËp ®èi víi cá nhân kết hợp với giấy phép nhóm mà thành viên cho phép nhiều từ đó, ngoại trừ trờng hợp No Access, tổng hợp permission No Access Theo ngầm định, ngời tạo tệp hay th mục ngời chủ sở hữu tệp hay th mục Ta đa trực tiếp quyền sở hữu tệp hay th− mơc cho mét ng−êi kh¸c nh−ng ta cã thĨ cho ngời đợc phép đoạt quyền sở hữu Ngời quản trị (Administrator) luôn đoạt quyền sở hữu tệp hay th mục, chí hä bÞ tõ chèi qun truy cËptƯp hay th− mơc Khi thành viên nhóm Administrators đoạt quyền sở hữu tất thành viên nhóm có quyền sở hữu Một chủ nhân thay đổi quyền sở hữu tài nguyên mà họ làm chủ Họ gán cho ngời khác nhóm khác giấy phép lấy quyền sở hữu tài nguyên Tính bảo mật tài nguyên đợc đảm bảo không bị ngời sử dụng khác tạo sửa tệp sau tạo chúng nh thuộc quyền sở hữu ngời khác 2.5 So sánh permission cục mạng Một th mục hay tệp chịu hai chế độ giấy phép: chế độ chia sẻ, chế độ bảo mật cục phân hoạch NTFS Bảo mật cục hệ thống tệp NTFS có mức giấy phép truy cập khác Tổ hợp lấy mức giấy phép yếu 2.6 Kết hợp permission chia sẻ permission NTFS Permission chia sẻ phân hoạch NTFS làm việc theo tổ hợp giấy phép tệp th mục Để cung cấp cho ngời sử dụng quyền truy cậpđợc vào tài nguyên đĩa, th mục chứa tài nguyên phải đợc chia sẻ Một th mục 164 đợc chia sẻ, bảo vệ cách gán permission chia sẻ tới ngời sử dụng nhóm công tác Tuy nhiên, permission chia sẻ bị hạn chế việc bảo mật lí sau đây: Cho ngời sử dụng mức truy cậptới tất th mục bên th mục đợc chia sẻ Không có tác dụng ngời sử dụng truy cập đợc vào tài nguyên cách cục cách ngồi máy có đặt nguồn tài nguyên Không thể sử dụng để bảo mật tệp có tính sở hữu riêng Nếu th mục đợc chia sẻ nằm phân hoạch NTFS ta dùng permission NTFS để khoá cách có hiệu thay đổi truy cậpnào ngời sử dụng tới th mục đợc chia sẻ Ta có đợc tính bảo mật mức cao cách kết hợp permission NTFS với permission chia sẻ Mã hoá hệ thống tệp (Encrypting File System - EFS) Một đặc trng an toàn cục bé míi cđa Windows 2000 lµ EFS EFS cho phÐp ngời sử dụng cất giữ số liệu an toàn máy tính cục cách mã giải mã số liệu tệp th mục NTFS cần thiết EFS đợc thiết kế để cất giữ thông tin đặc biệt máy tính cục không hỗ trợ khả chia sẻ tệp mã hoá EFS tích hợp vào NTFS làm cho việc quản lý mã hoá dễ dàng suốt với ngời sử dụng EFS tự động tạo cặp khoá mã cho ngời sử dụng cặp khoá cha tồn Cặp khoá gồm khoá công khai khoá mật cho ngời sử dụng Nếu cặp khoá mã cần tạo, ngời sử dụng đăng nhập vào mạng theo mô hình miền, việc tạo khoá xảy điều khiển (kiểm soát) miền; ngời sử dụng đăng nhập vào mạng theo mô hình nhóm làm việc, việc tạo khoá xảy máy tính cục Bộ điều khiển (kiểm soát) miền máy tính thực mã hoá kép hai khoá Hệ thống máy tính yêu cầu EFS tạo số giả ngẫu nhiên cho tệp, đợc gọi khoá mã tệp (File Encryption Key - FEK) FEK sau đợc dùng để giải mã số liƯu tƯp Tht to¸n m· ho¸ DES më réng (Exteded Data Encryption Standard - DESX) sư dơng FEK ®Ĩ m· hoá tệp Các tệp mã hoá đợc cất giữ đĩa cứng Đến đây, thuật toán mã hoá khoá mật xong Tuy nhiên trình nhiều bớc Để đảm bảo hoàn toàn an toàn cho FEK, đợc mã hoá khoá công khai ngời sử dụng; cách đảm bảo chắn ngời sử dụng không dùng chung khoá giải mã FEK sau mã đợc cất giữ với tệp đợc mã hoá Đến FEK tệp đợc cất giữ an toàn Các tài khoản hệ thống khác có permission tệp mã hoá, ví dụ permission giành quyền sở hữu, mở đợc tệp khoá mật ngời mã hoá khoá mật đợc phục hồi ngời đại diện Tuy nhiên vài permission khác lại không bị ảnh hởng Ví dụ ngời quản trị có permission xoá bỏ tệp mã hoá khả chí mở đọc tệp 165 ... cục An toàn mạng cần thiết nh an toàn máy chủ cục Với hàng trăm, hàng nghìn trí nhiều máy tính mạng bạn tin cậy vào máy tính hệ thống máy tính an toàn Đảm bảo ngời sử dụng đợc ủy quyền sử dụng mạng. .. toµn 2.1-Cho phÐp truy nhËp tíi hệ thống máy tính 2.2 -An toàn file 2.3- An toàn hệ thống 2.4 -An toàn mạng Chơng III- Các tác vụ an toàn File 3.1-Các tính an toàn file 3.1.1-Các líp ng−êi dïng 3.1.2-C¸c... /usr/src/drivers/char/random.c biÕt sù mô tả giải thuật 7- An toàn mạng An toàn mạng ngày quan trọng ngời nhiỊu thêi gian ®Ĩ kÕt nèi Sù tháa hiƯp an toàn mạng dễ dàng thỏa hiệp vật lý thỏa 19 hiệp an toàn cục

Ngày đăng: 24/03/2018, 02:39

Từ khóa liên quan

Mục lục

  • Mục lục

  • Phần I. An ninh của hệ điều hành Linux

    • 1. Linux Security

      • Giới thiệu

      • Bảo vệ vật lý

      • Bảo vệ cục bộ

      • An toàn file và hệ thông file

      • An toàn mật khẩu và sự mã hóa

      • An toàn nhân

      • An toàn mạng

      • 2. Login và xác thực người dùng

        • Đăng nhập-Login

        • Tài khoản quản ký tài khoản và xác thực người dùng trên hệ thống

        • Mật khẩu shadow

        • Pam

        • Tài liệu tham khảo

        • Phần II. An toàn của hệ điều hành Sun Solaris

          • 1. Giới thiệu và đánh giá khả năng an toàn của Solaris

          • 2. Quản lý hệ thống an toàn

            • Cho phép truy nhập tới hệ thống máy tính

            • An toàn file

            • An toàn hệ thống

            • 3. Các tác vụ an toàn file

              • Các tính năng an toàn file

              • Hiển thị thông tin file

              • Thay đổi quyền sở hữu file

Tài liệu cùng người dùng

Tài liệu liên quan