Giáo trình Quản trị hệ điều hành Linux
Cài đặt máy chủ Linux
Lưu ý: trước khi cài đặt, cần tìm hiểu các thông tin về phần cứng của hệ thống, bao
gồm
- Thông tin về ổ đĩa cứng
- Thông tin về card mạng
- Thông tin về card đồ hoạ
- Thông tin về màn hình
- Thông tin về giao thức và cấu hình mạng nếu kết nối mạng
- Thông tin về các thiết bị ngoài.
Có thể chọn nhiều phương án cài đặt như cài đặt từ đĩa mềm, từ đĩa cứng, từ đĩa CD
Rom hoặc qua mạng. Tài liệu này chọn hướng dẫn quá trình cài đặt phiên bản 7.0 từ
đĩa CDRom. Yêu cầu máy cài đặt có khả năng khởi động (boot) từ ổ đĩa CD-Rom
(được hỗ trợ hầu hết trong các máy tính hiện nay).
Sau đây là các bước cài đặt cụ thể. Khi kết thúc bước trước chương trình cài đặt tự
động chuyển sang bước sau. Một số bước cài đặt cho phép quay lại bước trước bằng
cách chọn Back.
Tóm tắt nội dung tài liệu: Giáo trình Quản trị hệ điều hành Linux
Giáo trình Quản trị hệ điều hành Linux Upload bởi www.viet-ebook.co.cc 1 QUẢN TRN HỆ ĐIỀU HÀNH LINUX MỤC LỤC 1. Giới thiệu hệ điều hành Linux 1.1 Lịch sử Linux 1.2 Cài đặt Linux 2. Giao tiếp trên môi trường Linux 2.1 Giới thiệu trình soạn thảo vi 2.2 Giới thiệu tiện ích mc 2.3 Các câu lệnh cơ bản trên Linux 2.3.1 Hiểu biết về các câu lệnh trong Linux 2.3.2 Các câu lệnh về thư mục và file 2.3.3 Các câu lệnh nén dữ liệu 2.3.4 Các câu lệnh quản lý tiến trình 3. Giới thiệu hệ thống tập tin, thư mục. 3.1 Giới thiệu 3.1.1 Thư mục chủ 3.1.2 Các thư mục hệ thống 3.2 Các quyền truy cập file, thư mục 3.2.1 Thay đổi quyền sở hữu file, thư mục sử dụng lệnh chown 3.2.2 Thay đổi nhóm sử dụng file/thư mục với lệnh chgrp 3.2.3 Sử dụng số theo hệ cơ số 8 tương ứng với thuộc tính truy cập 3.2.4 Sử dụng ngôn ngữ tự nhiên tương ứng với quyền truy cập 3.2.5 Thay đổi quyền truy cập file thư mục sử dụng lệnh chmod 3.2.6 Các chú ý đặc biệt trên các quyền thư mục 3.3 Thiết lập một chính sách cho server nhiều người sử dụng 3.3.1 Thiết lập cấu hình các quyền truy cập file của người sử dụng 3.3.2 Thiết lập mặc định các quyền truy cập file cho người sử dụng 3.3.3 Thiết lập các quyền có thể thực thi cho các file 3.4 Làm việc với file, thư mục 3.4.1 Xem các file và các thư mục 3.4.2 Chuyển đến thư mục 3.4.3 Xác định kiểu file 3.4.4 Xem thống kê các quyền của file hay thư mục 3.4.5 Sao chép file và thư mục 3.4.6 Dịch chuyển các file và thư mục 3.4.7 Xóa các file và thư mục 3.4.8 Tìm kiếm file 4. Quản lý người dùng và tài nguyên 4.1 Khái niệm 4.2 Tạo superuser 4.3 Quản lý người dùng với các công cụ dòng lệnh 4.3.1 Tạo một tài khoản người sử dụng mới 4.3.2 Tạo một nhóm mới 4.3.3 Sửa đổi một tài khoản người sử dụng đang tồn tại 4.3.4 Thay đổi đường dẫn thư mục chủ Simpo PDF Merge and Split Unregistered Version - Upload bởi www.viet-ebook.co.cc 2 4.3.5 Thay đổi UID 4.3.6 Thay đổi nhóm mặc định 4.3.7 Thay đổi thời hạn kết thúc của một tài khoản 4.3.8 Sửa đổi một nhóm đang tồn tại 4.3.9 Xóa hoặc hủy bỏ một tài khoản người sử dụng 4.4 Cài đặt máy in 4.4.1 Cấu hình máy in 4.4.2 Cài đặt máy in cục bộ 4.4.3 Cài đặt máy in trên hệ thống Unix ở xa 4.4.4 Cài đặt máy in Samba (SMB) 4.4.5 Chọn trình điều khiển Print Driver và kết thúc 4.4.6 Thay đổi thông số cấu hình các máy in có sẵn 4.4.7 Backup các thông số cấu hình máy in 4.4.8 Quản lý công việc in ấn 5. Trình diễn thiết lập mạng và cài đặt Diul-up trên Linux 5.1 Thiết lập mạng 5.1.1 HĐH Linux và card mạng 5.1.2 Cấu hình card mạng 5.1.3 Các tiện ích mạng: Telnet và ftp 5.2 Cài đặt Diul-up 5.2.1 Cài đặt 5.2.2 Quay số từ xa 6. Lập trình shell 6.1 Tạo và chạy chương trình shell 6.2 Sử dụng các biến 6.2.1 Gán một giá trị cho một biến 6.2.2 Tham số và các biến Shell có sẵn 6.3 Sử dụng dấu trích dẫn 6.4 Làm việc với câu lệnh test 6.5 Sử dụng các câu lệnh rẽ nhánh 6.5.1 Lệnh if 6.5.2 Lệnh case 6.6 Sử dụng các câu lệnh vòng lặp 6.6.1 Lệnh for 6.6.2 Lệnh while 6.6.3 Lệnh until 6.6.4 Lệnh shift 6.6.5 Lệnh select 6.6.6 Lệnh repeat 6.7 Sử dụng các hàm 6.8 Tổng kết 7. Cài đặt và Quản trị WebServer 7.1 Hướng dẫn cài đặt trên môi trường Linux 7.2 Quản trị WebServer 7.2.1 Phần mềm Apache 7.2.2 Biên dịch và cài đặt 7.2.3 Khởi động và tắt WebServer 7.2.4 Cấu hình Apache 7.2.5 Xác thực người dùng Simpo PDF Merge and Split Unregistered Version - Upload bởi www.viet-ebook.co.cc 3 8. Quản lý tiến trình 8.1 Tiến trình 8.1.1 Tiến trình tiền cảnh 8.1.2 Tiến trình hậu cảnh 8.2 Điều khiển và giám sát tiến trình 8.2.1 Sử dụng lệnh ps để lấy thông tin trạng thái của tiến trình 8.2.2 Phát tín hiệu cho một chương trình đang chạy 8.2.3 Giao tiếp giữa các tiến trình 8.3 Lập kế hoạch các tiến trình 8.3.1 Sử dụng lệnh at 8.3.2 Sử dụng lệnh crontab 9. Bảo mật hệ thống 9.1 Những nguy cơ an ninh trên Linux 9.2 Xem xét chính sách an ninh của bạn 9.3 Tăng cường an ninh cho KERNEL 9.4 An toàn các giao dịch trên mạng 9.5 Linux firewall 9.6 Dùng công cụ dò tìm để khảo sát hệ thống 9.7 Phát hiện sự xâm nhập qua mạng 9.8 Kiểm tra khả năng bị xâm nhập 9.9 Đối phó khi hệ thống bị tấn công Simpo PDF Merge and Split Unregistered Version - Upload bởi www.viet-ebook.co.cc 4 1. Giới thiệu hệ điều hành Linux 1.1. Lịch sử Linux là hệ điều hành mô phỏng Unix, được xây dựng trên phần nhân (kernel) và các gói phần mềm mã nguồn mở. Linux được công bố dưới bản quyền của GPL (General Public Licence). Unix ra đời giữa những năm 1960, ban đầu được phát triển bởi AT&T, sau đó được đăng ký thương mại và phát triển theo nhiều dòng dưới các tên khác nhau. Năm 1990 xu hướng phát triển phần mềm mã nguồn mở xuất hiện và được thúc đNy bởi tổ chức GN U. Một số licence về mã nguồn mở ra đời ví dụ BSD, GPL. N ăm 1991, Linus Torvald viêt thêm phiên bản nhân v0.01 (kernel) đầu tiên của Linux đưa lên các BBS, nhóm người dùng để mọi người cùng sử dụng và phát triển. N ăm 1996, nhân v1.0 chính thức công bố và ngày càng nhận được sự quan tâm của người dùng. N ăm 1999, phiên bản nhân v2.2 mang nhiều đặc tính ưu việt và giúp cho linux bắt đầu trở thành đối thủ cạnh tranh đáng kể của MSwindows trên môi trường server. N ăm 2000 phiên bản nhân v2.4 hỗ trợ nhiều thiết bị mới (đa xử lý tới 32 chip, USB, RAM trên 2GB...) bắt đầu đặt chân vào thị trường máy chủ cao cấp. Quá trình phát triển của linux như sau: - N ăm 1991: 100 người dùng. - N ăm 1997: 7.000.000 người dùng. - N ăm 2000: hàng trăm triệu người dùng, hơn 15.000 ngưòi tham gia phát triển Linux. Hàng năm thị trường cho Linux tăng trưởng trên 100%. Các phiên bản Linux là sản phNm đóng gói Kernel và các gói phần mềm miễn phí khác. Các phiên bản này được công bố dưới licence GPL. Một số phiên bản nổi bật là: Redhat, Caldera, Suse, Debian, TurboLinux, Mandrake. Giống như Unix, Linux gồm 3 thành phần chính: kernel, shell và cấu trúc file. Kernel là chương trình nhân, chạy các chương trình và quản lý các thiết bị phần cứng như đĩa và máy in. Shell (môi trường) cung cấp giao diện cho người sử dụng, còn được mô tả như một bộ biên dịch. Shell nhận các câu lệnh từ người sử dụng và gửi các câu lệnh đó cho nhân thực hiện. N hiều shell được phát triển. Linux cung cấp một số shell như: desktops, windows manager, và môi trường dòng lệnh. Hiện nay chủ yếu tồn tại 3 shell: Bourne, Korn và C shell. Bourne được phát triển tại phòng thí nghiệm Bell, C shell được phát triển cho phiên bản BSD của UN IX, Korn shell là phiên bản cải tiến của Bourne shell. N hững phiên bản hiện nay của Unix, bao gồm cả Linux, tích hợp cả 3 shell trên. Cấu trúc file quy định cách lưu trữ các file trên đĩa. File được nhóm trong các thư mục. Mỗi thư mục có thể chứa file và các thư mục con khác. Một số thư mục là các thư mục chuNn do hệ thống sử dụng. N gười dùng có thể tạo các file/thư mục của riêng mình cũng như dịch chuyển các file giữa các thư mục đó. Hơn nữa, với Linux người dùng có thể thiết lập quyền truy nhập file/thư mục, cho phép hay hạn chế một người dùng hoặc một nhóm truy nhập file. Các thư mục trong Linux được tổ chức theo cấu trúc cây, bắt đầu bằng một thư mục gốc (root). Các thư mục khác được phân nhánh từ thư mục này. Kernel, shell và cấu trúc file cấu thành nên cấu trúc hệ điều hành. Với những thành phần trên người dùng có thể chạy chương trình, quản lý file, và tương tác với hệ thống. Simpo PDF Merge and Split Unregistered Version - Upload bởi www.viet-ebook.co.cc 5 1.2. Cài đặt máy chủ Linux Lưu ý: trước khi cài đặt, cần tìm hiểu các thông tin về phần cứng của hệ thống, bao gồm - Thông tin về ổ đĩa cứng - Thông tin về card mạng - Thông tin về card đồ hoạ - Thông tin về màn hình - Thông tin về giao thức và cấu hình mạng nếu kết nối mạng - Thông tin về các thiết bị ngoài. Có thể chọn nhiều phương án cài đặt như cài đặt từ đĩa mềm, từ đĩa cứng, từ đĩa CD Rom hoặc qua mạng. Tài liệu này chọn hướng dẫn quá trình cài đặt phiên bản 7.0 từ đĩa CDRom. Yêu cầu máy cài đặt có khả năng khởi động (boot) từ ổ đĩa CD-Rom (được hỗ trợ hầu hết trong các máy tính hiện nay). Sau đây là các bước cài đặt cụ thể. Khi kết thúc bước trước chương trình cài đặt tự động chuyển sang bước sau. Một số bước cài đặt cho phép quay lại bước trước bằng cách chọn Back. 1. Đưa đĩa CD Rom Redhat vào ổ đĩa. Khởi động lại máy (lưu ý phải đảm bảo máy có khả năng khởi động từ đĩa CD-Rom. Chọn chế độ cài text 2. Chọn chế độ cài text boot: text 3. Lựa chọn ngôn ngữ Chọn ngôn ngữ mặc định là English Simpo PDF Merge and Split Unregistered Version - Upload bởi www.viet-ebook.co.cc 6 4. Lựa chọn kiểu bàn phím Lựa chọn kiểu thể hiện bàn phím là us. 5. Màn hình chào mừng Sau khi đã lựa chọn xong ngôn ngữ cài đặt, bàn phím và phương pháp cài đặt, màn hình chào mừng xuất hiện. Bấm OK để tiếp tục. 6. Chọn kiểu cài đặt Simpo PDF Merge and Split Unregistered Version - Upload bởi www.viet-ebook.co.cc 7 Hộp hội thoại cho phép bạn chọn lựa kiểu cài đặt hệ điều hành Linux RedHat như một Workstation, Server, Custom hay chỉ là nâng cấp phiên bản đã cài đặt. Chọn kiểu cài đặt là Custom System. Chọn OK để tiếp tục. 7. Lựa chọn phần mềm phân chia ổ đĩa Linux đưa ra cho bạn hai phần mềm để phân chia ổ đĩa dành cho Linux: đó là Disk Druid và fdisk. Chọn Disk Druid để tiếp tục. Bạn cần tạo 2 partition để install RedHat, nhớ đừng delete những partition có sẵn trong máy bạn (nếu không thì dữ liệu có sẵn sẽ mất, tốt nhất là bạn nên sao lưu dữ liệu trước cho bảo đảm!). Dùng các chức năng add, edit, delete tạo 1 partition với type là Simpo PDF Merge and Split Unregistered Version - Upload bởi www.viet-ebook.co.cc 8 Linux swap, dung lượng bằng dung lượng RAM của máy. Tiếp theo tạo một partion tên "/" với loại Linux native, dung lượng ít nhất là 500Mb (tuỳ theo dung lượng còn trống của đĩa bạn, nếu bạn muốn install trọn gói RedHat thì cần đến khoảng 2288MB). Hãy yên chí là nếu bạn tạo sai (partition kích thước quá lớn, lớn hơn dung lượng còn trống của đĩa) thì RedHat sẽ không cho bạn đi tiếp. Chỉ cần tạo 2 partition này là đủ rồi. Khi nào bạn click được N ext thì coi như là thành công! Để tạo một partition mới, chọn Add. Màn hình Edit New Partition xuất hiện Một số vấn đề có thể xảy ra khi thêm một partition Simpo PDF Merge and Split Unregistered Version - Upload bởi www.viet-ebook.co.cc 9 8. Hiệu chỉnh một partition Chọn một partition cần hiệu chỉnh, nhấn Edit, màn hình mới sẽ cho phép bạn thay đổi các thông số của partition đã chọn như kích thước, kiểu, ... 9. Hoàn thành việc phân chia đĩa Chương trình cài đặt sẽ yêu cầu bạn format lại phân vùng vừa tạo, chú ý không chọn những phân vùng dữ liệu quan trọng đối với bạn. Simpo PDF Merge and Split Unregistered Version - Upload bởi www.viet-ebook.co.cc 10 10. Khởi tạo LILO LInux LOader (LILO) cho phép bạn xác định thời gian để khởi tạo Linux hay một hệ điều hành nào khác. Khi khởi tạo cho server, LILO được cấu hình tự động trên Master Boot Record [MBR]. If you are performing a custom-class installation, the LILO Installation dialogs let you indicate how or whether to install LILO. Việc chọn LILO trong cửa sổ LILO Configuration cho phép bạn thêm các tuỳ chọn mặc định vào lệnh boot LILO và các tùy chọn này được chuyển cho Linux kernel tại thời điểm boot. Simpo PDF Merge and Split Unregistered Version - Upload bởi www.viet-ebook.co.cc 11 . Chú ý rằng nếu bạn chọn Skip, bạn sẽ không thể boot hệ thống Red Hat Linux một các trực tiếp mà sẽ phải sử dụng phương pháp boot khác (boot disk chẳng hạn) Bạn chỉ nên lựa chọn cách này khi bạn chắc chắn đã có cách khác để boot hệ thống Red Hat Linux của bạn. Dùng lựa chọn đặt boot loader tại Master Boot Record để khởi tạo ngay hệ điều hành Linux khi bật máy. Màn hình này cho phép bạn đặt tên cho máy tính của mình. Bạn có thể thay đổi hostname sau khi đã cài đặt xong bằng lệnh hostname newname, trong đó newname là tên mà bạn muốn đặt. Simpo PDF Merge and Split Unregistered Version - Upload bởi www.viet-ebook.co.cc 12 11. Cấu hình kết nối mạng N ếu máy không có card mạng, sẽ không nhận được màn hình này. Thực hiện cấu hình mạng cho máy như sau Bỏ lựa chọn config using DHCP (chế độ cấp phát địa chỉ IP động), nhập địa chỉ IP, subnetmask theo hướng dẫn của giáo viên hướng dẫn thực hành. 12. Cấu hình firewall: chọn Medium 13. Cấu hình chuột Simpo PDF Merge and Split Unregistered Version - Upload bởi www.viet-ebook.co.cc 13 Thông thường thì chương trình cài đặt sẽ tự phát hiện loại chuột của máy bạn. N ếu không, bạn hãy chọn loại chuột phù hợp trong danh sách, và nếu bạn không biết chuột của mình loại gì thì cứ để yên, click Next để tiếp tục. Lựa chọn Emulate 3 Buttons cho phép bạn sử dụng chuột của bạn như chuột có 2 nút trong đó dùng nút giữa bằng cách bấm hai nút cùng một lúc.N ếu bạn có chuột hai nút, bạn hãy sử dụng chức năng này vì XWindow trở nên dễ dùng nhất với khi chuột có ba nút. 14. Cấu hình Time Zone N ếu bạn muốn thiết lập đồng hồ cho CMOS theo giờ GMT (Greenwich Mean Time), chọn Hardware clock set to GMT. Tuy nhiên, nếu máy tính của bạn sử dụng một hệ Simpo PDF Merge and Split Unregistered Version - Upload bởi www.viet-ebook.co.cc 14 điều hành khác thì việc thiết đặt đồng hồ theo giờ GMT sẽ khiến cho hệ điều hành khác đó hiển thị sai thời gian. Để đặt giờ VN , chọn Asia/Saigon Để thay đổi cấu hình về thời gian sau khi bạn đã cài đặt, bạn có thể dùng lệnh /usr/sbin/timeconfig 15. Thiết lập mật khNu root Hộp thoại Root Password buộc bạn phải thiết lập một mật khNu root cho hệ thống của bạn. Bạn sẽ sử dụng mật khNu này để log vào hệ thống và thực hiện các chức năng quản trị hệ thống của mình. 16. Tạo user Bạn có thể tạo tài khoản user cho chính mình để sử dụng hàng ngày. User root (superuser) có đủ quyền truy nhập vào hệ thống nhưng rất nguy hiểm, chỉ nên sử dụng để bảo dưỡng hay quản trị hệ thống. Mật khNu của user có phân biệt chữ hoa chữ thường và ít nhất là 6 ký tự. Simpo PDF Merge and Split Unregistered Version - Upload bởi www.viet-ebook.co.cc 15 15. Bạn có thể tạo tiếp nhiều user theo cửa sổ sau: 16. Cấu hình xác thực người dùng Do bạn khởi tạo theo chế độ custom, bước này cho phép bạn cấu hình cách mà hệ điều hành linux của bạn sử dụng để xác thực mật khNu. Lựa chọn Use Shadow Passwords: mật khNu của bạn đáng nhẽ nằm trong tệp /etc/passwd sẽ được thay thế bằng thư mục /etc/shadow và chỉ được truy nhập bởi superuser (root) Tuỳ chọn Enable MD5 Passwords -- cho phép mã hóa mật khNu theo chuNn MD5. Simpo PDF Merge and Split Unregistered Version - Upload bởi www.viet-ebook.co.cc 16 17. Tiếp theo, bạn có thể chọn lựa các gói tin để cài đặt. Bạn nên chọn các phần mềm, dịch vụ hay sử dụng nhất để cài đặt sẵn trên máy khi khởi động. Tuy nhiên, tuy nhiên, bạn cũng có thể cài đặt sau này tuỳ theo nhu cầu sử dụng. Các gói tin này nếu được cài đặt sẽ được ghi lại trong tệp /tmp/install.log sau khi khởi tạo lại hệ thống của bạn. Có thể cài đặt từng gói tin nhỏ hơn bằng cách chọn Select individual packages và nhấn OK. Simpo PDF Merge an ... , linh hoạt cho kernel. N hưng sau khi một module được nạp vào kernel, nó sẽ trở thành một phần của kernel và có thể hoạt động như kernel nguyên thủy. Vì vậy, các chưng trình mục đích xấu có thể được viết dạng module và nạp vào kernel, rồi sau đó hoạt động như một virus. o Các process không được bảo vệ. Các process như web server có thể trở thành mục tiêu bị tấn công của hacker sau khi thâm nhập hệ thống. Để cải thiện tính an ninh cho các server Linux, chúng ta cần có một kernel an toàn hơn. Điều này có thể thực hiện được bằng cách sửa đổi kernel nguyên thuỷ bằng các ‘patch’ tăng cường tính an ninh cho hệ thống. Các patch này có các tính năng chính yếu sau: Simpo PDF Merge and Split Unregistered Version - Upload bởi www.viet-ebook.co.cc 107 o Bảo vệ – bảo vệ các file hệ thống quan trọng khỏi sự thay đổi ngay cả với user root. Bảo vệ các process quan trọng khỏi bị ngừng bởi lệnh ‘kill’. Chặn các tác vụ truy cập IO mức thấp (RAW IO) của các chương trình không được phép. o Phát hiện – Phát hiện và cảnh báo với người quản trị khi server bị scan. Cũng như khi có các tác vụ trên hệ thống vi phạm các luật (rules) định trước. o Đối phó – Khi phát hiện sự vi phạm trên hệ thống, các ghi nhận chi tiết sẽ được thực hiện cũng như có thể ngừng lập tức phiên làm việc gây ra Một vài công cụ sửa đổi kernel được sử dụng rộng rãi là LIDS (Linux Intrusion Detection System), Medusa, ... 9.4. An toàn các giao dịch trên mạng Có rất nhiều dịch vụ mạng truyền thống giao tiếp thông qua giao thức văn bản không mã hoá, như TELN ET, FTP, RLOGIN , HTTP, POP3. Trong các giao dịch giữa người dùng với máy chủ, tất cả các thông tin dạng gói được truyền qua mạng dưới hình thức văn bản không được mã hoá. Các gói tin này có thể dễ dàng bị chặn và sao chép ở một điểm nào đó trên đường đi. Việc giải mã các gói tin này rất dễ dàng, cho phép lấy được các thông tin như tên người dùng, mật khNu và các thông tin quan trọng khác. Việc sử dụng các giao dịch mạng được mã hoá khiến cho việc giải mã thông tin trở nên khó hơn và giúp bạn giữ an toàn các thông tin quan trọng. Các kỹ thuật thông dụng hiện nay là IPSec, SSL, TLS, SASL và PKI. Quản trị từ xa là một tính năng hấp dẫn của các hệ thống UN IX. N gười quản trị mạng có thể dễ dàng truy nhập vào hệ thống từ bất kỳ nơi nào trên mạng thông qua các giao thức thông dụng như telnet, rlogin. Một số công cụ quản trị từ xa được sử dụng rộng rãi như linuxconf, webmin cũng dùng giao thức không mã hoá. Việc thay thế tất cả các dịch vụ mạng dùng giao thức không mã hoá bằng giao thức có mã hoá là rất khó. Tuy nhiên, bạn nên cung cấp việc truy cập các dịch vụ truyền thống như HTTP/POP3 thông qua SSL, cũng như thay thế các dịch vụ telnet, rlogin bằng SSH. 9.5. Linux firewall An toàn hệ thống luôn luôn là một vấn đề sống còn của mạng máy tính và firewall là một thành phần cốt yếu cho việc đảm bảo an ninh. Một firewall là một tập hợp các qui tắc, ứng dụng và chính sách đảm bảo cho người dùng truy cập các dịch vụ mạng trong khi mạng bên trong vẫn an toàn đối với các kẻ tấn công từ Internet hay từ các mạng khác. Có hai loại kiến trúc firewall cơ bản là : Proxy/Application firewall và filtering gateway firewall. Hầu hết các hệ thống firewall hiện đại là loại lai (hybrid) của cả hai loại trên. N hiều công ty và nhà cung cấp dịch vụ Internet sử dụng máy chủ Linux như một Internet gateway. N hững máy chủ này thường phục vụ như máy chủ mail, web, ftp, hay dialup. Hơn nữa, chúng cũng thường hoạt động như các firewall, thi hành các chính sách kiểm soát giữa Internet và mạng của công ty. Khả năng uyển chuyển khiến cho Linux thu hút như là một thay thế cho những hệ điều hành thương mại. Simpo PDF Merge and Split Unregistered Version - Upload bởi www.viet-ebook.co.cc 108 Tính năng firewall chuNn được cung cấp sẵn trong kernel của Linux được xây dựng từ hai thành phần : ipchains và IP Masquerading. Linux IP Firewalling Chains là một cơ chế lọc gói tin IP. N hững tính năng của IP Chains cho phép cấu hình máy chủ Linux như một filtering gateway/firewall dễ dàng. Một thành phần quan trọng khác của nó trong kernel là IP Masquerading, một tính năng chuyển đổi địa chỉ mạng (network address translation- N AT) mà có thể che giấu các địa chỉ IP thực của mạng bên trong. Để sử dụng ipchains, bạn cần thiết lập một tập các luật mà qui định các kết nối được cho phép hay bị cấm. Ví dụ: # Cho phép các kết nối web tới Web Server của bạn /sbin/ipchains -A your_chains_rules -s 0.0.0.0/0 www -d 192.16.0.100 1024: -j ACCEPT # Cho phép các kết nối từ bên trong tới các Web Server bên ngoài /sbin/ipchains -A your_chains_rules -s 192.168.0.0/24 1024: -d 0.0.0.0/0 www -j ACCEPT # Từ chối truy cập tất cả các dịch vu khác /sbin/ipchains -P your_chains_rules input DENY N goài ra, bạn có thể dùng các sản phNm firewall thương mại như Check Point FireWall-1, Phoenix Adaptive Firewall, Gateway Guardian, XSentry Firewall, Raptor, ... hay rất nhiều các phiên bản miễn phí, mã nguồn mở cho Linux như T.Rex Firewall, Dante, SIN US, TIS Firewall Toolkit, ... 9.6. Dùng công cụ dò tìm để khảo sát hệ thống Thâm nhập vào một hệ thống bất kỳ nào cũng cần có sự chuNn bị. Hacker phải xác định ra máy đích và tìm xem những port nào đang mở trước khi hệ thống có thể bị xâm phạm. Quá trình này thường được thực hiện bởi các công cụ dò tìm (scanning tool), kỹ thuật chính để tìm ra máy đích và các port đang mở trên đó. Dò tìm là bước đầu tiên hacker sẽ sử dụng trước khi thực hiện tấn công. Bằng cách sử dụng các công cụ dò tìm như N map, hacker có thể rà khắp các mạng để tìm ra các máy đích có thể bị tấn công. Một khi xác định được các máy này, kẻ xâm nhập có thể dò tìm các port đang lắng nghe. N map cũng sử dụng một số kỹ thuật cho phép xác định khá chính xác loại máy đang kiểm tra. Bằng cách sử dụng những công cụ của chính các hacker thường dùng, người qun trị hệ thống có thể nhìn vào hệ thống của mình từ góc độ của các hacker và giúp tăng cường tính an toàn của hệ thống. Có rất nhiều công cụ dò tìm có thể sử dụng như: N map, strobe, sscan, SATAN , ... Dưới đây là một ví dụ sử dụng N map: # nmap -sS -O 192.168.1.200 Starting nmap V. 2.54 by Fyodor (fyodor@dhp.com, www.insecure.org/nmap/) Interesting ports on comet (192.168.1.200): Port State Protocol Service Simpo PDF Merge and Split Unregistered Version - Upload bởi www.viet-ebook.co.cc 109 7 open tcp echo 19 open tcp chargen 21 open tcp ftp ... TCP Sequence Prediction: Class=random positive increments Difficulty=17818 (Worthy challenge) Remote operating system guess: Linux 2.2.13 Nmap run completed -- 1 IP address (1 host up) scanned in 5 seconds Tuy nhiên, sử dụng các công cụ này không thể thay thế cho một người quản trị có kiến thức. Bởi vì việc dò tìm thường dự báo một cuộc tấn công, các site nên ưu tiên cho việc theo dõi chúng. Với các công cụ dò tìm, các nhà quản trị hệ thống mạng có thể phát hiện ra những gì mà các hacker có thể thấy khi dò trên hệ thống của mình. 9.7. Phát hiện sự xâm nhập qua mạng N ếu hệ thống của bạn có kết nối vào internet, bạn có thể trở thành một mục tiêu bị dò tìm các lỗ hổng về bảo mật. Mặc dù hệ thống của bạn có ghi nhận điều này hay không thì vẫn không đủ để xác định và phát hiện việc dò tìm này. Một vấn đề cần quan tâm khác là các cuộc tấn công gây ngừng dịch vụ (Denial of Services - DoS), làm thế nào để ngăn ngừa, phát hiện và đối phó với chúng nếu bạn không muốn hệ thống của bạn ngưng trệ. Hệ thống phát hiện xâm nhập qua mạng (N etwork Intrusion Detection System - N IDS) theo dõi các thông tin truyền trên mạng và phát hiện nếu có hacker đang cố xâm nhập vào hệ thống (hoặc gây gây ra một vụ tấn công DoS). Một ví dụ điển hình là hệ thống theo dõi số lượng lớn các yêu cầu kết nối TCP đến nhiều port trên một máy nào đó, do vậy có thể phát hiện ra nếu có ai đó đang thử một tác vụ dò tìm TCP port. Một N IDS có thể chạy trên máy cần theo dõi hoặc trên một máy độc lập theo dõi toàn bộ thông tin trên mạng. Các công cụ có thể được kết hợp để tạo một hệ thống phát hiện xâm nhập qua mạng. Chẳng hạn dùng tcpwrapper để điều khiển, ghi nhận các dịch vụ đã được đăng ký. Các chương trình phân tích nhật ký hệ thống, như swatch, có thể dùng để xác định các tác vụ dò tìm trên hệ thống. Và điều quan trọng nhất là các công cụ có thể phân tích các thông tin trên mạng để phát hiện các tấn công DoS hoặc đánh cắp thông tin như tcpdump, ethereal, ngrep, N FR (N etwork Flight Recorder), PortSentry, Sentinel, Snort, ... Khi hiện thực một hệ thống phát hiện xâm nhập qua mạng bạn cần phải lưu tâm đến hiệu suất của hệ thống cũng như các chính sách bảo đảm sự riêng tư. 9.8. Kiểm tra khả năng bị xâm nhập Kiểm tra khả năng bị xâm nhập liên quan đến việc xác định và sắp xếp các lỗ hổng an ninh trong hệ thống bằng cách dùng một số công cụ kiểm tra. N hiều công cụ kiểm tra cũng có khả năng khai thác một số lỗ hổng tìm thấy để làm rõ quá trình thâm nhập trái phép sẽ được thực hiện như thế nào. Ví dụ, một lỗi tràn bộ đệm của chương trình phục vụ dịch vụ FTP có thể dẫn đến việc thâm nhập vào hệ thống với quyền ‘root’. N ếu người quản trị mạng có kiến thức về kiểm tra khả năng bị xâm nhập trước khi nó xảy ra, họ có thể tiến hành các tác vụ để nâng cao mức độ an ninh của hệ thống mạng. Simpo PDF Merge and Split Unregistered Version - Upload bởi www.viet-ebook.co.cc 110 Có rất nhiều các công cụ mạng mà bạn có thể sử dụng trong việc kiểm tra khả năng bị xâm nhập. Hầu hết các quá trình kiểm tra đều dùng ít nhất một công cụ tự động phân tích các lỗ hổng an ninh. Các công cụ này thăm dò hệ thống để xác định các dịch vụ hiện có. Thông tin lấy từ các dịch vụ này sẽ được so sánh với cơ sở dữ liệu các lỗ hổng an ninh đã được tìm thấy trước đó. Các công cụ thường được sử dụng để thực hiện các kiểm tra loại này là ISS Scanner, Cybercop, Retina, N essus, cgiscan, CIS, ... Kiểm tra khả năng bị xâm nhập cần được thực hiện bởi những người có trách nhiệm một cách cNn thận. Sự thiếu kiến thức và sử dụng sai cách có thể sẽ dẫn đến hậu quả nghiêm trọng không thể lường trước được. 9.9. Đối phó khi hệ thống bị tấn công Gần đây, một loạt các vụ tấn công nhắm vào các site của những công ty lớn như Yahoo!, Buy.com, E-Bay, Amazon và CN N Interactive gây ra những thiệt hại vô cùng nghiêm trọng. N hững tấn công này là dạng tấn công gây ngừng dịch vụ "Denial-Of- Service" mà được thiết kế để làm ngưng hoạt động của một mạng máy tính hay một website bằng cách gửi liên tục với số lượng lớn các dữ liệu tới mục tiêu tấn công khiến cho hệ thống bị tấn công bị ngừng hoạt động, điều này tương tự như hàng trăm người cùng gọi không ngừng tới 1 số điện thoại khiến nó liên tục bị bận. Trong khi không thể nào tránh được mọi nguy hiểm từ các cuộc tấn công, chúng tôi khuyên bạn một số bước mà bạn nên theo khi bạn phát hiện ra rằng hệ thống của bạn bị tấn công. Chúng tôi cũng đưa ra một số cách để giúp bạn bảo đảm tính hiệu qủa của hệ thống an ninh và những bước bạn nên làm để giảm rủi ro và có thể đối phó với những cuộc tấn công. Nếu phát hiện ra rằng hệ thống của bạn đang bị tấn công, hãy bình tĩnh. Sau đây là những bước bạn nên làm: o Tập hợp 1 nhóm để đối phó với sự tấn công: - N hóm này phải bao gồm những nhân viên kinh nghiệm, những người mà có thể giúp hình thành một kế hoạch hành động đối phó với sự tấn công. o Dựa theo chính sách và các quy trình thực hiện về an ninh của công ty, sử dụng các bước thích hợp khi thông báo cho mọi người hay tổ chức về cuộc tấn công. o Tìm sự giúp đỡ từ nhà cung cấp dịch vụ Internet và cơ quan phụ trách về an ninh máy tính: - Liên hệ nhà cung cấp dịch vụ Internet của bạn để thông báo về cuộc tấn công. Có thể nhà cung cấp dịch vụ Internet của bạn sẽ chặn đứng được cuộc tấn công. - Liên hệ cơ quan phụ trách về an ninh máy tính để thông báo về cuộc tấn công Simpo PDF Merge and Split Unregistered Version - Upload bởi www.viet-ebook.co.cc 111 o Tạm thời dùng phương thức truyền thông khác (chẳng hạn như qua điện thoại) khi trao đổi thông tin để đảm bo rằng kẻ xâm nhập không thể chặn và lấy được thông tin. o Ghi lại tất cả các hoạt động của bạn (chẳng hạn như gọi điện thoại, thay đổi file, ...) o Theo dõi các hệ thống quan trọng trong qúa trình bị tấn công bằng các phần mềm hay dịch vụ phát hiện sự xâm nhập (intrusion detection software/services). Điều này có thể giúp làm giảm nhẹ sự tấn công cũng như phát hiện những dấu hiệu của sự tấn công thực sự hay chỉ là sự quấy rối nhằm đánh lạc hướng sự chú ý của bạn(chẳng hạn một tấn công DoS với dụng ý làm sao lãng sự chú ý của bạn trong khi thực sự đây là một cuộc tấn công nhằm xâm nhập vào hệ thống của bạn). - Sao chép lại tất cả các files mà kẻ xâm nhập để lại hay thay đổi (như những đoạn mã chương trình, log file, ...) o Liên hệ nhà chức trách để báo cáo về vụ tấn công. Những bước bạn nên làm để giảm rủi ro và đối phó với sự tấn công trong tương lai : o Xây dựng và trao quyền cho nhóm đối phó với sự tấn công o Thi hành kiểm tra an ninh và đánh giá mức độ rủi ro của hệ thống o Cài đặt các phần mềm an toàn hệ thống phù hợp để giảm bớt rủi ro o N âng cao khả năng của mình về an toàn máy tính Các bước kiểm tra để giúp bạn bảo đảm tính hiệu quả của hệ thống an ninh o Kiểm tra hệ thống an ninh mới cài đặt : chắc chắn tính đúng đắn của chính sách an ninh hiện có và cấu hình chuNn của hệ thống. o Kiểm tra tự động thường xuyên : để khám phá sự “viếng thăm” của những hacker hay những hành động sai trái của nhân viên trong công ty. o Kiểm tra ngẫu nhiên: để kiểm tra chính sách an ninh và những tiêu chuNn, hoặc kiểm tra sự hiện hữu của những lỗ hổng đã được phát hiện (chẳng hạn những lỗi được thông báo từ nhà cung cấp phần mềm) o Kiểm tra hằng đêm những file quan trọng: để đánh giá sự toàn vẹn của những file và cơ sở dữ liệu quan trọng o Kiểm tra các tài khoản người dùng: để phát hiện các tài khoản không sử dụng, không tồn tại, ... o Kiểm tra định kỳ để xác định trạng thái hiện tại của hệ thống an ninh của bạn BẠN CÓ THỂ XEM THÊM THÔNG TIN TẠI Các trung tâm giúp đối phó tai nạn trên Internet • Simpo PDF Merge and Split Unregistered Version - Upload bởi www.viet-ebook.co.cc 112 • • • Một số website về an toàn máy tính • • • • • • • • Thông tin về an toàn từ nhà cung cấp • • • Một số sách về an toàn máy tính • Actually Useful Internet Security Techniques by Larry J. Hughes Jr. • Applied Cryptography: Protocols, Algorithms and Source Code in C by Bruce Schneier • Building Internet Firewall by Brent Chapman & Elizabeth D. Zwicky • Cisco IOS N etwork Security by Mike Kaeo • Firewalls and Internet Security by Bill Cheswick & Steve Bellovin • Halting the Hacker: A practical Guide To Computer Security by Donal L. Pipkin • Intrusion Detection: An Introduction to Internet Surveillance, Correlation, Traps, Trace Back and Response by Edward G. Amoroso • Intrusion Detection: N etwork Security Beyond the Firewall by Terry Escamilla • Linux Security by Jonh S. Flowers Simpo PDF Merge and Split Unregistered Version -
File đính kèm:
- giao_trinh_quan_tri_he_dieu_hanh_linux.pdf