Báo cáo bài tập lớn nguyên lý hệ điều hành nghiên cứu tìm hiểu về hệ thống bảo vệ trong hđhlinux

29 0 0
Báo cáo bài tập lớn nguyên lý hệ điều hành nghiên cứu tìm hiểu về hệ thống bảo vệ trong hđhlinux

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Trang 5 Chương 1: An toàn hệ thốngBảo vệ hệ thống là một cơ chế kiểm soát việc sử dụng tài nguyên của cácchủ thể tiến trình và người sử dụng để đối phó với các tình huống lỗi có thểphát

lOMoARcPSD|39211872 BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN =========***========= BÁO CÁO BÀI TẬP LỚN: NGUYÊN LÝ HỆ ĐIỀU HÀNH NGHIÊN CỨU TÌM HIỂU VỀ HỆ THỐNG BẢO VỆ TRONG HĐH LINUX Giáo viên hướng dẫn: Nguyễn Bá Nghiễn Nhóm thực hiện: Nhóm 6 Lớp: 20233IT6025002 Thành viên: Phùng Thái Sơn - 2021601859 Nguyễn Hoàng Sơn - 2021601842 Nguyễn Thế Việt - 2021602172 Đinh Quang Nam - 2021602737 Nguyễn Đức Thắng - 2021606863 Hà Nội, năm 2024 1 Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 KẾ HOẠCH THỰC HIỆN BÀI TẬP LỚN NHÓM 6 Tên lớp: 20233IT6025002 Tên nhóm: Nhóm 6 Họ tên thành viên của nhóm: Phùng Thái Sơn, Nguyễn Hoàng Sơn, Nguyễn Thế Việt, Đinh Quang Nam, Nguyễn Đức Thắng Tên chủ đề: Nghiên cứu tìm hiểu về hệ thống bảo vệ trong HĐH Linux Tuần Người thực hiện Nội dung công Phương pháp 2 Tất cả thành viên việc thực hiện Phùng Thái Sơn, Thảo luận chủ Họp online qua Nguyễn Hoàng Sơn đề, phân chia Zoom công việc Tham khảo tài liệu Tìm hiểu về hệ : Internet thống bảo vệ Nguyễn Thế Việt, Tìm hiểu về các Tham khảo tài liệu: Đinh Quang Nam vấn đề về an Sách giáo trình và toàn hệ thống Internet 3 Phùng Thái Sơn Tìm hiểu các Tham khảo tài liệu Nguyễn Đức Thắng khái niệm về bảo :Sách giáo trình, vệ hệ thống và Internet và áp dụng virus máy tính thực tế trên máy tính Đinh Quang Nam, Tìm hiểu về thiết Tham khảo tài liệu Nguyễn Đức Thắng lập hệ thống bảo : Internet và giáo vệ trong HĐH trình 4 Linux Nguyễn Hoàng Sơn Tìm hiểu về Tham khảo tài liệu Nguyễn Thế Việt nguyên lý quản : Internet và giáo lý tài nguyên trình phân quyền Tất cả thành viên Tổng kết Tham khảo các phần đã hoàn thành 5 Tất cả thành viên Thảo luận và Tổng hợp và trao hoàn thiện bài đổi qua zoom tập lớn Ngày 22 tháng 2 năm 2024 Giảng viên Nguyễn Bá Nghiễn 2 Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 MỤC LỤC KẾ HOẠCH THỰC HIỆN BÀI TẬP LỚN NHÓM 6 2 LỜI NÓI ĐẦU 4 1.1 Các vấn đề an toàn hệ thống 5 1.2 Các cơ chế an toàn hệ thống 5 1.2.1 Kiểm định danh tính 5 1.2.2 Ngăn chặn nguyên nhân từ phía các chương trình 6 1.2.3 Ngăn chặn nguyên nhân từ phía hệ thống 6 Chương 2 Bảo vệ hệ thống 7 2.1 Mục tiêu của bảo vệ hệ thống 7 2.2 Firewall 7 2.2.1:Khái Niệm Firewall 7 2.3 Giao diện (Interface) kiểm soát truy cập (ACI) 8 2.3.1 Khái niệm về ACI 8 2.4 Phân quyền (Permission): 9 2.5 Virus máy tính 10 2.5.1 Khái niệm virus 10 2.5.2 Phân loại virus 11 2.5.3 Cơ chế hoạt động virus 12 Chương 3.Các bước ban đầu để thiết lập một hệ thống bảo mật trong Linux 13 3.1 Sử dụng chế độ bảo mật mặc định Kernel 13 3.2 Ngắt kết nối tới các mạng không mong muốn 14 3.3 Vô hiệu hóa các Service không sử dụng 17 3.4 Sử dụng TCP Wrapper 19 3.5 An toàn cho các giao dịch trên mạng 20 Chương 4: Nguyên lý quản lí tài nguyên phân quyền 21 4.1 Quyền truy nhập thư mục và file 21 4.2 Chế độ truy nhập 23 4.2.1 Cách xác lập tương đối 24 4.2.2 Cách xác lập tuyệt đối 25 4.3 Một số lệnh thay đổi chế độ truy cập 27 4.3.1 Thay đổi quyền sở hữu file với lệnh chown 27 4.3.2 Thay đổi quyền truy nhập file với lệnh chmod 27 Tổng kết: 28 3 Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 LỜI NÓI ĐẦU Linux là tên gọi của một hệ điều hành máy tính và cũng là tên hạt nhân của hệ điều hành Nó có lẽ là một ví dụ nổi tiếng nhất của phần mềm tự do và của việc phát triển mã nguồn mở Thuật ngữ “Linux” được sử dụng để chỉ Nhân Linux Phiên bản Linux đầu tiên do Linus Torvalds viết vào năm 1991, lúc ông còn là một sinh viên của Đại học Helsinki tại Phần Lan Ông cho ra đời phiên bản Linux 1.0 vào năm 1994 Bộ phận chủ yếu này được phát triển và tung ra trên thị trường dưới bản quyền GNU General Public License Do đó mà bất cứ ai cũng có thể tải và xem mã nguồn của Linux Ngày nay khi Internet trở nên phổ biến các mối nguy đi kèm với nó cũng gia tăng từ virut đến các cuộc tấn công mạng quy mô lớn gây thiệt hại nặng nề không chỉ trên phạm vi một đơn vị, tổ chức mà toàn thế giới Nếu như trên Windows, những con virus, mã độc, … luôn là thứ khiến bạn phải chật vật đối mặt thì Linux sẽ mang lại cho bạn cảm giác an toàn Điều tuyệt vời là tất cả bọn chúng đều không thể hoạt động được trên nền tảng này Công việc của bạn chỉ là xóa khi thấy bọn chúng trong USB hay ổ cứng di động (ổ cứng SSD Đó là một vài ưu điểm trong rất nhiều ưu điểm mà hệ điều hành Linux đem lại về các đặc tính an toàn và bảo mật khiến nó trở thành hệ điều hành đáng tin cậy cho người dùng Mong nhận được sự đóng góp , nhận xét của thầy Chúng em chân thành cảm ơn thầy Nhóm sinh viên thực hiện! 4 Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 Chương 1: An toàn hệ thống Bảo vệ hệ thống là một cơ chế kiểm soát việc sử dụng tài nguyên của các chủ thể (tiến trình và người sử dụng) để đối phó với các tình huống lỗi có thể phát sinh trong hệ thống Trong khi đó khái niệm an toàn hệ thống muốn đề cập tới mức độ tin cậy mà hệ thống cần duy trì khi phải đối phó không những với các vấn đề nội bộ mà còn cả với những tác động đến từ môi trường bên ngoài 1.1 Các vấn đề an toàn hệ thống Hệ thống được coi là an toàn nếu các tài nguyên được sử dụng đúng quy định trong mọi hoàn cảnh, điều này khó có thể đạt được trong thực tế Thông thường, cơ chế an toàn hệ thống bị vi phạm vì các nguyên nhân vô tình hoặc cố ý Việc ngăn chặn các nguyên nhân cố ý là rất khó khăn và dường như không thể đạt hiệu quả hoàn toàn Bảo đảm an toàn ở hệ thống cấp cao như chống lại các nguyên nhân hỏa hoạn, thiên tai, mất điện… cần được thực hiện ở mức độ vật lí và nhân sự Nếu an toàn môi trường được đảm bảo thì an toàn của hệ thống sẽ được duy trì nhờ các cơ chế của hệ điều hành Cần chú ý rằng nếu bảo vệ hệ thống có thể đạt độ tin cậy 100% thì các cơ chế an toàn hệ thống được cung cấp chỉ nhằm ngăn chặn bớt các tình huống bất lợi hơn là đạt đến độ an toàn tuyệt đối 1.2 Các cơ chế an toàn hệ thống 1.2.1 Kiểm định danh tính Để đảm bảo an toàn, hệ điều hành cần phải giải quyết tốt các vấn đề kiểm định danh tính (authentication) Hoạt động của hệ thống bảo vệ phụ thuộc vào khả năng xác định các tiến trình đang xử lí Khả năng này, đến lượt nó lại phụ thuộc vào khả năng xác định các tiến trình đang xử lí Khả năng này, đến lượt nó lại phụ thuộc vào khả năng xác đinh các tiến trình đang sử dụng hệ thống để có thể kiểm tra xem người dùng này được phép thao tác trên những tài nguyên nào Cách tiếp cận phổ biến nhất để giải quyết vấn đề là sử dụng mật khẩu (password) để kiểm tra danh tính của người sử dụng Mỗi khi người dùng muốn 5 Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 sử dụng một tài nguyên, hệ thống sẽ so sánh mật khẩu của họ nhập vào với mật khẩu lưu trữ nếu đúng mới được phép sử dụng tài nguyên Mật khẩu có thể được áp dụng để bảo vệ cho từng đối tượng trong hệ thống, thậm chí cùng đối tượng sẽ có các mật khẩu khác nhau tương ứng với các quyền truy nhập khác nhau Cơ chế mật khẩu rất đơn giản và dễ sử dụng do đó được các hệ điều hành áp dụng rộng rãi, tuy nhiên điểm yếu nghiêm trọng của nó là khả năng bảo mật mật khẩu rất khó đạt được sự hoàn hảo Những tác nhân tiêu cực có thể tìm ra mật khẩu của người khác nhờ nhiều cách thức khác nhau 1.2.2 Ngăn chặn nguyên nhân từ phía các chương trình Trong môi trường hoạt động mà một chương trình được tạo lập bởi một người lại có thể được người khác sử dụng rất có thể sẽ xảy ra các tình huống sử dụng sai chức năng, từ đó dẫn tới hậu quả không lường trước Hai trường hợp điển hình gây mất an toàn hệ thống có thể là: - Ngựa thành Troy: Khi người sử dụng A kích hoạt một chương trình ( do người sử dụng B viết) dưới danh nghĩa của mình, chương trình này có thể trở thành “ chú ngựa thành Troy” vì khi đó các đoạn lệnh trong chương trình có thể thao tác với các tài nguyên mà người sử dụng A có quyền nhưng người sử dụng B lại bị cấm - Cánh cửa nhỏ(Trap-door): Mối đe dọa đặc biệt nguy hiểm và khó chống đỡ do vô tình hoặc cố ý của các lập trình viên khi xây dựng các chương trình Các lập trình viên có thể đã để lại một “ cánh cửa nhỏ” trong phần mềm của họ để thông qua đó can thiệp vào hệ thống Chính “ cánh cửa nhỏ” này đã tạo cơ chế cho các hacker thâm nhập và phá hoại hệ thống của người sử dụng 1.2.3 Ngăn chặn nguyên nhân từ phía hệ thống Hầu hết các tiến trình hoạt động trong hệ thống đều có thể tạo ra các tiến trình con Trong cơ chế hoạt động này, các tài nguyên hệ thống rất dễ bị sử dụng sai mục đích gây mất an toàn cho hệ thống Hai mối đe dọa phổ biến là: 6 Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 - Các chương trình sâu (Worm): một chương trình sâu là chương trình lợi dụng cơ chế phát sinh ra các tiến trình con của hệ thống để đánh bại chính hệ thống - Các chương trình virus: virus là một chương trình phá hoại khá nguy hiểm đối với các hệ thống thông tin Chương 2 Bảo vệ hệ thống 2.1 Mục tiêu của bảo vệ hệ thống Khi các tiến trình hoạt động song hành trong hệ thống thì một tiến trình gặp lỗi có thể ảnh hưởng đến các tiến trình khác và ảnh hưởng tới toàn bộ hệ thống Hệ điều hành cần phải phát hiện, ngăn chặn không cho lỗi lan truyền và đặc biệt là phát hiện lỗi tiềm ẩn trong hệ thống để tăng cường độ tin cậy Mặt khác mục tiêu của bảo vệ hệ thống còn chống truy nhập bất hợp pháp, bảo đảm cho các tiến trình khi hoạt động trong hệ thống sử dụng tài nguyên phù hợp với quy định của hệ Bảo vệ hệ thống cần phải cung cấp một cơ chế và chiến lược để quản trị việc sử dụng tài nguyên, quyết định những đối tượng nào trong hệ thống được bảo vệ và quy định các thao tác thích hợp trên đối tượng này 2.2 Firewall 2.2.1 Khái Niệm Firewall Firewall là một phần quan trọng trong hệ thống bảo mật của một máy tính hoặc một mạng, bao gồm cả trong một hệ điều hành Linux Firewall là một cấu trúc phần mềm hoặc phần cứng được thiết kế để kiểm soát và giám sát lưu lượng mạng đi vào và ra khỏi hệ thống hoặc mạng máy tính, dựa trên các quy tắc được xác định trước - Tường lửa gói (Packet Filtering Firewall): Đây là loại firewall cơ bản nhất và phổ biến nhất Nó hoạt động ở mức độ gói tin, quyết định xem một gói tin được chuyển tiếp hoặc bị từ chối dựa trên các quy tắc định sẵn Các công cụ phổ biến cho tường lửa gói trong Linux bao gồm iptables và nftables - Tường lửa ứng dụng (Application Firewall):Loại firewall này hoạt động ở mức độ ứng dụng, kiểm soát lưu lượng dựa trên các ứng dụng cụ thể hoặc giao thức 7 Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 Ví dụ, ngăn chặn truy cập vào các dịch vụ web hoặc email cụ thể Một số ứng dụng firewall ở mức ứng dụng trong Linux bao gồm ufw (Uncomplicated Firewall) và Firewalld - Firewall Stateful (Stateful Firewall): Loại firewall này có khả năng theo dõi trạng thái của các kết nối mạng và quyết định xem một gói tin thuộc về một kết nối hiện đang mở hay không Điều này giúp tăng cường bảo mật và hiệu suất bằng cách chặn các kết nối không mong muốn Iptables và nftables cũng có thể được cấu hình để hoạt động như tường lửa stateful - Proxy Firewall: Proxy firewall hoạt động như một trung gian giữa người dùng và các dịch vụ mạng bên ngoài Nó kiểm soát và lọc lưu lượng dựa trên các quy tắc và chính sách được cấu hình trước, cho phép kiểm soát chi tiết hơn và ghi lại các hoạt động mạng - Các công cụ quản lý Firewall: Linux cung cấp các công cụ quản lý firewall như iptables, nftables, ufw, Firewall và các giao diện người dùng đồ họa như GUFW (Gufw - GUI for Uncomplicated Firewall) để giúp người dùng dễ dàng cấu hình và quản lý tường lửa - Tường lửa trong hệ thống Linux có một vai trò quan trọng trong việc bảo vệ hệ thống và mạng khỏi các mối đe dọa bảo mật Việc cấu hình chính xác và quản lý thường xuyên của tường lửa là rất quan trọng để đảm bảo an toàn cho hệ thống và dữ liệu 2.3 Giao diện (Interface) kiểm soát truy cập (ACI) 2.3.1 Khái niệm về ACI Giao diện kiểm soát truy cập (Access Control Interface - ACI) là một phương thức hoặc giao diện mà người dùng hoặc các ứng dụng có thể sử dụng để thực hiện và quản lý các chính sách kiểm soát truy cập trong hệ thống hoặc ứng dụng Trong ngữ cảnh của hệ điều hành Linux, ACI thường được sử dụng để áp dụng các quy tắc kiểm soát truy cập chi tiết vào các tệp, thư mục và nguồn tài nguyên khác trên hệ thống Dưới đây là một số giao diện kiểm soát truy cập phổ biến trong Linux: - POSIX ACLs (Access Control Lists): POSIX ACLs mở rộng khả năng kiểm soát truy cập so với hệ thống phân quyền chuẩn bằng cách cho phép người dùng và nhóm người dùng cụ thể được gán quyền truy cập vào tệp và thư mục 8 Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 POSIX ACLs cho phép người dùng đặt quyền truy cập chi tiết cho các đối tượng, bao gồm quyền đọc, ghi và thực thi - SELinux (Security-Enhanced Linux): SELinux là một hệ thống kiểm soát truy cập dựa trên chính sách (MAC) được tích hợp sâu vào hạt nhân Linux Nó cho phép quản lý quyền truy cập dựa trên các quy tắc chính sách cụ thể được xác định trước cho từng tệp, thư mục và nguồn tài nguyên khác - AppArmor: Tương tự như SELinux, AppArmor là một hệ thống kiểm soát truy cập dựa trên chính sách (MAC) được tích hợp vào Linux Nó cho phép quản lý quyền truy cập dựa trên các quy tắc chính sách cụ thể được xác định trước cho các ứng dụng cụ thể - Xác thực và Quản lý Mật khẩu: Một phần của ACI là các giao diện và công cụ để quản lý người dùng, nhóm người dùng và các chính sách xác thực như PAM (Pluggable Authentication Modules) trong Linux PAM cung cấp một giao diện tiêu chuẩn cho việc xác thực người dùng và cho phép tùy chỉnh các quy trình xác thực Các giao diện kiểm soát truy cập này cung cấp các công cụ và cơ chế để người quản trị hệ thống có thể cấu hình và quản lý các chính sách kiểm soát truy cập chi tiết trong hệ thống Linux, đảm bảo an toàn và bảo mật cho dữ liệu và tài nguyên 2.4 Phân quyền (Permission): - Trong hệ thống Linux, phân quyền (permission) là cơ chế quản lý quyền truy cập vào các tệp và thư mục Phân quyền quy định xem người dùng nào được phép đọc (read), ghi (write), thực thi (execute) hoặc thậm chí là truy cập vào các tài nguyên cụ thể trên hệ thống Cơ chế phân quyền trong Linux thường được thể hiện thông qua ba loại quyền chính: - Quyền của Chủ sở hữu (Owner Permissions):Quyền này áp dụng cho người dùng hay nhóm người dùng mà tệp hoặc thư mục thuộc về Chủ sở hữu thường 9 Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 có quyền lớn nhất đối với tệp hoặc thư mục đó Ba quyền cơ bản của chủ sở hữu là read (đọc), write (ghi), và execution (thực thi) - Quyền của Nhóm (Group Permissions): Quyền này áp dụng cho các nhóm người dùng mà tệp hoặc thư mục thuộc về Nhóm này thường bao gồm nhiều người dùng khác nhau Tương tự như quyền của chủ sở hữu, quyền của nhóm bao gồm read, write và execute - Quyền của Tất cả mọi người (Other Permissions): Quyền này áp dụng cho tất cả các người dùng khác không phải là chủ sở hữu và không thuộc vào nhóm của tệp hoặc thư mục đó Quyền của tất cả mọi người cũng bao gồm read, write và execute Mỗi tệp hoặc thư mục trong Linux sẽ được gán một bộ quyền đặc biệt, thể hiện thông qua các ký tự hoặc biểu tượng như r (read-only), rw- (read-write), và r-x (read-executable) Các quyền này có thể được xem và thay đổi thông qua lệnh `ls -l` để hiển thị chi tiết về quyền truy cập - Việc quản lý phân quyền rất quan trọng để bảo vệ dữ liệu và tài nguyên trên hệ thống Linux, đảm bảo rằng chỉ các người dùng được ủy quyền mới có thể truy cập, sửa đổi hoặc thực thi các tệp và thư mục cụ thể 2.5 Virus máy tính 2.5.1 Khái niệm virus Virus máy tính là một chương trình có khả năng gián tiếp tự kích hoạt, tự lan truyền trong môi trường của hệ thống tính toán và làm thay đổi môi trường hệ thống hoặc cách thực hiện chương trình Virus tự kích hoạt là lan truyền trong môi trường làm việc của hệ thống mà người sử dụng không hề hay biết thông thường, virus nào cũng mang tính chất phá hoại, nó gây ra lỗi khi thực hiện chương trình, điều này có thể dẫn đến việc chương trình hoặc dữ liệu bị hỏng, không khôi phục được, thậm chí chúng có thể bị xóa Như vậy, virus là chương trình thông minh, mang yếu tố tự thích nghi, lan truyền xa và do đó khả năng phá hoại là rất lớn Một số biểu hiện của máy tính bị nhiễm virus: 10 Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 - Nếu có các cổng không mong muốn đang mở, bạn có thể ngắt kết nối từ chúng # Chặn kết nối đến một cổng cụ thể sudo iptables -A INPUT -p tcp dport -j DROP # Lưu lại cấu hình iptables sudo service iptables save - Kiểm tra lại bằng ‘netstat -an’ để đảm bảo rằng các cổng đã bị chặn Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:7120 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN Ở đây chúng ta thấy rằng hệ thống này đang nghe ngóng cho những kết nối trên cổng 7120, 600 và 22 Nhìn vào /etc/services, hoặc sử dụng -p với lệnh netstat, có thể thường tiết lộ mạng ma nào đang giao tiếp với những cổng đó Trong trường hợp này nó là X font server, X Window System server và SSH Nếu bạn nhìn thấy rất nhiều những cổng khác mở - cho những thứ như telnet, sendmail hãy tự hỏi bạn xem liệu bạn có thực sự cần những daemons đó chạy không Qua thời gian, những vấn đề bảo mật sẽ càng bộc lộ, và trừ phi bạn có nhiều kinh nghiệm trong việc theo dõi tất cả những cập nhật bảo mật, nếu không hệ thống của bạn có thể bị tổn thương từ những cuộc tấn công Bởi vậy, telnetd, ftpd, và rshd tất cả bảo gồm gửi các mật khẩu thông qua mạng Internet cho việc chứng thực, một giải pháp tốt hơn là sử dụng sshd, nó mã hóa dữ liệu và sử dụng một cơ chế chứng thực mạnh hơn Thậm chí nếu bạn chưa bao giờ sử dụng telnet thì để nó chạy trên hệ thống của bạn không phải là một ý kiến hay trong trường hợp một ai đó cố tìm một cách phá vỡ nó 15 Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 Ngắt các dịch vụ thường phải chỉnh sửa các file cấu hình tương ứng cho bản phân phối của bạn và khởi động lại hệ thống Trên các hệ thống Red Hat, ví dụ, nhiều daemons được bắt đầu bằng các kịch bản trong thư mục /etc/rc.d/init.d Đổi tên hoặc gỡ bỏ những file kịch bản đó có thể ngăn chặn daemons tương ứng từ lúc khởi động Những daemon khác được khởi động bởi inetd hoặc xinetd trong việc trả lời các kết nối mạng; sửa những cấu hình của những hệ thống đó có thể giới hạn tập hợp các daemon chạy trên hệ thống của bạn Nếu bạn thực sự cần một dịch vụ chạy trên máy của bạn (chẳng hạn như X server), hãy tìm những cách để ngăn chặn các kết nối tới dịch vụ đó từ những máy chủ không mong muốn, chẳng hạn, sẽ là an toàn nhất để cho phép kết nối ssh chỉ từ những máy chủ tin tưởng, chẳng hạn chỉ từ những máy trong mạng nội bộ của bạn Trong trường hợp của X server và X font server, cái mà chạy trên nhiều máy Linux, thường không có lí do để cho phép các kết nối tới những daemon từ bất kỳ thứ gì ngoài chính mạng cục bộ Lọc các kết nối tới những daemon có thể được thực hiện bởi TCP wrapper hoặc IP filtering, chúng ta sẽ mô tả trong phần sau 3.3 Vô hiệu hóa các Service không sử dụng Để tránh tình trạng có lỗ hổng bảo mật sau này bạn lên vô hiệu hoá và gỡ bỏ những chương trình, Service không dùng đến trên hệ thống của mình Bạn có thể sử dụng các công cụ quản lý để hiển thị danh sách những gói phần mềm nào đã được cài đặt để thực hiện việc này (Redhat Package Manager - Linux ) Bạn có thể sử dụng ‘yum’ để quản lý các gói phần mềm, cũng như vô hiệu hóa và quản lý dịch vụ: 1 Kiểm tra các dịch vụ đang chạy: systemctl list-units type=service all Xem danh sách các dịch vụ và xác định những dịch vụ bạn muốn vô hiệu hóa 2 Dừng và vô hiệu hóa dịch vụ bằng ‘systemctl’ 16 Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 Sử dụng lệnh ‘systemctl’ để dừng và vô hiệu hóa dịch vụ Thay bằng tên của dịch vụ # Dừng dịch vụ systemctl stop # Vô hiệu hóa dịch vụ (không cho chạy cùng hệ thống) systemctl disable Ví dụ: để vô hiệu hóa dịch vụ Apache, sử dụng các lệnh sau: systemctl stop httpd systemctl disable httpd 3 Kiểm tra lại danh sách các dịch vụ: Sử dụng lại lệnh systemctl để xem danh sách các dịch vụ và đảm bảo rằng dịch vụ đã được vô hiệu hóa không còn chạy systemctl list-units type=service all 4 Kiểm tra khởi động cùng hệ thống Sử dụng lệnh systemctl để kiểm tra xem dịch vụ có được cấu hình để khởi động cùng hệ thống không systemctl is-enabled Nếu cần thiết, vô hiệu hóa dịch vụ khởi động cùng hệ thống systemctl disable Ví dụ đổi với Apache: systemctl is-enabled httpd systemctl disable httpd 17 Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 Về cơ bản! các Service được định nghĩa hoạt động bởi inetd (trên một số hệ thống Linux mới nó có thể là xinetd) Nội dung Service được định nghĩa hoạt động bởi inetd được chứa ở /etc/inetd.conf Mỗi Service được định nghĩa đằng sau ký tự "#" Bạn có thể vô hiệu hóa Service không sử dụng Thư mục /etc/rc*.d và /etc/rc.d/rc* là nơi chứa các Shell Script và các thông số để điều khiển sự thực hiện của Network và Service trong suốt thời gian nó hoạt động Bạn có thể xoá bỏ hết những thứ liên quan đến những Service mà bạn không cần sử dụng Đối với hệ thống Redhat, SuSE, Mandrake bạn có thể sử dụng lệnh: root@localhost#chkconfig list root@localhost#chkconfig del Gỡ bỏ một gói phần mềm: root@localhost# rpm -e root@localhost# dpkg -r Liệt kê danh sách những gói đã được cài đặt với thông tin chi tiết cho mỗi gói: root@localhost# rpm -qvia root@localhost# dpkg -l Liệt kê thông tin chính xác các File của gói đã được chỉ định: root@localhost# rpm -qvpl root@localhost# dpkg -c Hiển thị thông tin về một gói phần mềm: root@localhost# rpm -qpi root@localhost# dpkg -I Kiểm tra tính toàn vẹn cho một gói phần mềm: root@localhost# rpm -Va root@localhost# debsums -a Cài đặt một gói phần mềm mới: root@localhost# rpm -Uvh root@localhost# dpkg -i 18 Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 3.4 Sử dụng TCP Wrapper Trước khi Server FTP được chạy Đầu tiên tcpd sẽ xác định những địa chỉ nguồn được cho phép, các kết nối sẽ được gửi đến Syslog để đối chiếu sau này Nếu bạn muốn vô hiệu hóa tất cả các Service, bạn chỉ việc thêm dòng sau vào File /etc/host.denny ALL:ALL Để gửi Email đến nhà quản trị hệ thống và thông báo những lần kết nối bị thất bại, bạn thêm vào các dòng sau: ALL: ALL: /bin/mail \ -s "%s connection attempt from %c" admin@mydom.com Nếu bạn muốn cho phép những địa chỉ tin cậy chạy những dịch vụ mà họ được phép, bạn hãy chỉnh sửa nội dung File /etc/host.allow sshd: magneto.mydom.com, juggernaut.mydom.com in.ftpd: 192.168.1 Để đảm bảo an toàn bạn lên kiểm soát và điều khiển quá trình truy nhập một cách cẩn thận hơn Sử dụng tcpdchk để kiểm tra sự truy nhập File, sử dụng Syslog để ghi lại những lần đăng nhập thất bại Bạn lên điều khiển sự truy nhập cho hệ thống của mình theo nguyên tắc: Sự truy cập chỉ được thực hiện khi Client/Deadmon có địa chỉ phù hợp với nội dung được cho phép trong /etc/hosts.allow 12:18/-strong/-heart:>:oh Đã gửi Xem trước khi gửi Thả Files vào đây để xem lại trước khi gửi 3.5 An toàn cho 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ư TELNET, 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 khẩu 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 UNIX 19 Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 Ngườ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 SSH Chương 4: Nguyên lý quản lí tài nguyên phân quyền 4.1 Quyền truy nhập thư mục và file Mỗi file và thư mục trong Linux đều có một chủ sở hữu và một nhóm sở hữu, cũng như một tập hợp các quyền truy nhập Cho phép thay đổi các quyền truy nhập và quyền sở hữu file và thư mục nhằm cung cấp truy nhập nhiều hơn hay ít hơn Tính chất kiểm soát truy nhập hệ thống file Linux được thực hiện bằng cách sử dụng bộ dữ liệu, được bảo tồn riêng cho từng file này là dữ liệu chung gọi các chế độ truy nhập, hoặc gọi là các mod của file Các chế độ là một phần của file, giữ lại những thông tin trong các hệ thống file đó Mỗi file của chế độ kiểm soát truy cập có 3 lớp: - User: những người dùng sở hữu file - Group: Những nhóm sở hữu file - Other: tất cả những người dung trên hệ thống Bản dưới đây liệt kê các kiểu file, thư mục trong Linux: Chữ cái biểu diễn Kiểu file, thư mục D Thư mục (directory) 20 Downloaded by mon hon (monmon1@gmail.com)

Ngày đăng: 22/03/2024, 22:39

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

Tài liệu liên quan