Đề xuất các biện pháp khắc phục lỗ hổng

Một phần của tài liệu Phân tích lỗ hổng bảo mật và tiến hành xâm nhập trên Sar-1 Vulnhub (Trang 39 - 44)

CHƯƠNG 3. TIẾN HÀNH XÂM NHẬP TRÊN SAR-1

3.3. Đề xuất giải pháp bảo mật sau kiểm tra

3.3.2. Đề xuất các biện pháp khắc phục lỗ hổng

3.3.2.1. Cập nhật polkit lên phiên bản mới nhất

- Lỗ hổng CVE-2021-4034 tồn tại trong phiên bản pkexec của polkit. Việc

cập nhật phiên bản mới nhất sẽ khắc phục lỗ hổng này, loại bỏ khả năng khai thác nó.

Cách thực hiện:

- Trên các hệ điều hành Linux, việc cập nhật có thể được thực hiện dễ dàng bằng cách sử dụng các trình quản lý gói.

Ví dụ:

- Ubuntu/Debian:

sudo apt update sudo apt upgrade

- CentOS/Red Hat:

sudo yum update polkit

Sau khi cập nhật, bạn cần kiểm tra lại phiên bản polkit để chắc chắn rằng bạn đã cài đặt phiên bản mới nhất:

pkaction --version

Nếu phiên bản hiện tại không còn chứa lỗ hổng, hệ thống sẽ an toàn khỏi việc khai thác CVE-2021-4034.

3.3.2.2. Áp dụng biện pháp giảm thiểu nếu chưa thể cập nhật ngay

Trong trường hợp không thể cập nhật ngay lập tức, các biện pháp giảm thiểu này giúp ngăn chặn hacker khai thác lỗ hổng trong thời gian chờ cập nhật.

Cách thực hiện:

- Xóa hoặc vô hiệu hóa pkexec: Bằng cách thay đổi quyền truy cập của

pkexec, bạn có thể ngăn chặn các người dùng không được ủy quyền thực thi mã với quyền root.

Ví dụ: chmod 0755 /usr/bin/pkexec

Điều này làm cho pkexec chỉ có thể được thực thi bởi người dùng root, giúp giảm nguy cơ khai thác lỗ hổng.

- Giám sát hoạt động pkexec: Tạo các quy tắc giám sát đặc biệt cho pkexec

để phát hiện các hoạt động đáng ngờ.

- Auditd: Sử dụng Auditd để giám sát các lệnh thực thi với pkexec:

auditctl -w /usr/bin/pkexec -p x -k pkexec-execution

Điều này cho phép ghi lại mọi lần thực thi pkexec, giúp bạn phát hiện và phản ứng kịp thời nếu có hoạt động khai thác.

3.3.2.3. Rà soát và củng cố quyền hạn người dùng

Hạn chế quyền hạn người dùng giúp giảm thiểu tác động nếu tài khoản người dùng bị chiếm đoạt. Hacker sẽ gặp khó khăn hơn khi cố gắng khai thác lỗ hổng hoặc leo thang đặc quyền.

Cách thực hiện:

- Xem xét lại quyền hạn: Sử dụng lệnh usermod hoặc chỉnh sửa trực tiếp

tệp /etc/sudoers để hạn chế quyền sử dụng sudo chỉ cho các tài khoản thực sự cần thiết.

Ví dụ:

visudo

Chỉ định rõ ràng những người dùng nào được phép thực hiện các lệnh với quyền root. Giới hạn quyền này sẽ giảm thiểu nguy cơ bị tấn công qua việc khai thác lỗ hổng.

- Tách biệt vai trò: Đảm bảo rằng các tài khoản người dùng với quyền hạn

cao chỉ được sử dụng cho mục đích quản trị và không được sử dụng cho các hoạt động hàng ngày như duyệt web, đọc email, v.v.

3.3.2.4. Áp dụng các công cụ và chính sách bảo mật bổ sung

Bảo vệ đa lớp là chìa khóa để ngăn chặn các cuộc tấn công leo thang đặc quyền. Việc sử dụng các công cụ như SELinux hoặc AppArmor có thể ngăn chặn tiến trình thực thi các hành vi không mong muốn, ngay cả khi chúng có quyền root.

Cách thực hiện:

- Cấu hình SELinux/AppArmor: Kích hoạt và cấu hình SELinux hoặc

AppArmor để giám sát và kiểm soát quyền truy cập của các tiến trình.

- SELinux: Trên các hệ thống Red Hat hoặc CentOS, SELinux có thể được

kích hoạt bằng cách chỉnh sửa tệp /etc/selinux/config và đặt chế độ thành enforcing.

Ví dụ:

setenforce 1

- AppArmor: Trên các hệ thống Ubuntu, bạn có thể cấu hình AppArmor để

kiểm soát chặt chẽ các dịch vụ và tiến trình.

Ví dụ:

sudo aa-enforce /etc/apparmor.d/*

Các công cụ này sẽ giúp giảm thiểu tác động của các cuộc tấn công, ngay cả khi hacker chiếm được quyền root.

3.3.2.5. Giám sát và cảnh báo về hoạt động bất thường

Giám sát liên tục là yếu tố then chốt để phát hiện sớm các hoạt động đáng ngờ và ngăn chặn các cuộc tấn công trước khi chúng gây ra thiệt hại nghiêm trọng.

Cách thực hiện:

- Sử dụng các công cụ giám sát: Cài đặt và cấu hình các công cụ giám sát

như OSSEC, Auditd, hoặc Falco để theo dõi các hành vi bất thường trong hệ thống.

Ví dụ:

+) Falco: Đây là một công cụ giám sát runtime dành cho Kubernetes, nhưng

cũng có thể sử dụng trên máy chủ để phát hiện các hành vi bất thường. Bạn có thể tạo các quy tắc để giám sát các hành vi không mong muốn, chẳng hạn như thực thi pkexec:

yaml - rule: Unexpected pkexec execution desc: Detect unexpected pkexec execution

condition: evt.type = execve and proc.name = pkexec and not user_known_pkexec_user

output: "Unexpected pkexec execution (user=%user.name parent=

%proc.pname cmdline=%proc.cmdline)"

priority: WARNING tags: [user]

3.3.2.6. Thực hiện kiểm tra và đánh giá bảo mật định kỳ

Các cuộc kiểm tra định kỳ giúp đảm bảo rằng hệ thống luôn trong trạng thái an toàn và có khả năng phát hiện sớm các lỗ hổng tiềm ẩn khác.

Cách thực hiện:

- Kiểm tra bảo mật: Thực hiện kiểm tra bảo mật định kỳ để đảm bảo rằng

hệ thống đã áp dụng đầy đủ các bản vá và không có lỗ hổng nào bị bỏ sót.

- Penetration Testing: Thực hiện các cuộc kiểm tra thâm nhập để đánh giá

khả năng bảo vệ của hệ thống và phát hiện các lỗ hổng mới có thể bị khai thác.

Sử dụng các công cụ như Metasploit, Nessus, hoặc các dịch vụ kiểm tra thâm nhập chuyên nghiệp để kiểm tra hệ thống từ góc nhìn của hacker.

Một phần của tài liệu Phân tích lỗ hổng bảo mật và tiến hành xâm nhập trên Sar-1 Vulnhub (Trang 39 - 44)

Tải bản đầy đủ (DOCX)

(47 trang)
w