Các bước bảo mật CentOS

Tác giả Network Engineer, T.Sáu 05, 2020, 03:35:32 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Các bước bảo mật CentOS


CentOS là một trong những bản phân phối Linux an toàn nhất, ít nhất là trong số các bản phân phối hữu ích trên máy chủ. Nó là một nền tảng ổn định, đáng tin cậy và an toàn. Nhưng mọi bản phân phối máy chủ đều yêu cầu một số kỹ năng từ người quản trị để đảm bảo rằng nó an toàn nhất có thể.

Chúng tôi quan tâm đến việc tăng cường bảo mật và giám sát cho các máy khách được quản lý của chúng tôi, nhưng các khách hàng chọn máy chủ không được quản lý nên biết về quy trình bảo mật CentOS. Trong bài viết này, chúng tôi sẽ trình bày sáu bước cơ bản để bảo mật máy chủ Linux. Đây không phải là một danh sách toàn diện - các yêu cầu bảo mật phụ thuộc vào phần mềm mà máy chủ đang chạy - nhưng nó cung cấp một nền tảng vững chắc cơ bản và an toàn.

1. Truy cập SSH qua SSH key

Đăng nhập dựa trên mật khẩu là một sự tấn công thường xuyên. Các kẻ tấn công sử dụng các cuộc tấn công dựa trên từ điển và brute-force để đoán tên người dùng và mật khẩu cho đến khi họ đánh đúng vào tổ hợp. Thật không may, họ đã thành công thường xuyên hơn người ta hy vọng. Tùy chọn an toàn nhất là vô hiệu hóa đăng nhập dựa trên mật khẩu và sử dụng thông tin đăng nhập dựa trên khóa để thay thế.


Đăng nhập dựa trên khóa sử dụng cặp khóa bảo mật: khóa chung trên máy chủ và khóa riêng trên máy cục bộ của bạn. Người dùng chỉ có thể đăng nhập nếu họ có khóa riêng phù hợp. Các khóa riêng về cơ bản là không thể đoán được, và chúng là một hệ thống phòng thủ đáng tin cậy chống lại các cuộc tấn công brute-force.

2. Sử dụng tường lửa


CentOS bao gồm tường lửa iptables Linux, nhưng nó có thể gây đau đầu khi sử dụng nếu bạn không phải là chuyên gia bảo mật máy chủ. FirewallD là một tường lửa sử dụng iptables cung cấp giao diện trực quan hơn. Nó bị vô hiệu hóa theo mặc định trên CentOS 7, nhưng có thể được kích hoạt bằng các lệnh sau:

Mã nguồn [Chọn]
udo systemctl start firewalld
sudo systemctl enable firewalld

Firewalld cung cấp công cụ firewall-cmd để truy cập vào trạng thái hiện tại của tường lửa và thêm các quy tắc mới. Ví dụ: để xem danh sách đầy đủ các quy tắc hãy chạy lệnh này:

Mã nguồn [Chọn]
firewall-cmd –list-all
Bạn có thể thêm các quy tắc tường lửa bằng cách sử dụng cùng một công cụ. Ví dụ: để  bỏ truy cập vào cổng 80 - thường được sử dụng cho HTTP - hãy chạy lệnh sau.

Mã nguồn [Chọn]
sudo firewall-cmd –zone=public –remove-service=https –permanent
Tôi sẽ xem xét kỹ hơn về FirewallD trong một bài viết sau, bao gồm một cuộc thảo luận chi tiết về các Zone, nhưng để giới thiệu nhanh, hãy xem hướng dẫn này.

3. Cài đặt hệ thống phát hiện xâm nhập (IDS)

Hệ thống phát hiện xâm nhập giám sát các thư mục quan trọng trên máy chủ của bạn, báo cáo nếu họ tìm thấy những thay đổi bất ngờ. IDS có thể ngăn chặn máy chủ của bạn bị hack, nhưng đó là cách tốt nhất để tìm ra nhanh chóng.


Có một số dịch vụ IDS có sẵn, nhưng Advanced Intrusion Detection Environment (AIDE) được hỗ trợ tốt nhất trên CentOS. AIDE nằm trong kho CentOS, vì vậy bạn có thể cài đặt nó bằng lệnh yum.

Mã nguồn [Chọn]
yum install aide
IDS hoạt động bằng cách quét toàn bộ các thư mục hệ thống và sau đó so sánh các lần quét trong tương lai với đường cơ sở này. AIDE có một tập hợp các thư mục mặc định hợp lý, nhưng bạn có thể thay đổi chúng bằng cách chỉnh sửa tệp /etc/aide.conf.

Để tạo cơ sở dữ liệu ban đầu, hãy chạy lệnh aide –init. Điều này sẽ tạo một tập tin cơ sở dữ liệu tại /var/lib/aide/aide.bb.new.gz. Để sử dụng AIDE, bạn phải đổi tên cơ sở dữ liệu này bằng lệnh sau:

Mã nguồn [Chọn]
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
Sau đó, bạn có thể chạy AIDE với aide –check, và nó sẽ tiến hành quét mới và so sánh nó với cơ sở dữ liệu cơ sở, hiển thị một báo cáo về bất kỳ sự khác biệt nào nó tìm thấy.

AIDE có thể tự chạy một cách tự động, do đó bạn sẽ phải chạy định kỳ hoặc tạo một công việc định kỳ.

4. Cài đặt Fail2Ban

Fail2Ban chặn yêu cầu đăng nhập lặp đi lặp lại. Các bot Brute-force sẽ tấn công máy chủ của bạn bất cứ lúc nào, vì vậy, đó là một ý tưởng tốt để thực hiện chính sách bỏ qua các yêu cầu đăng nhập quá mức.

Fail2Ban không phải là một phần của kho lưu trữ CentOS tiêu chuẩn, nhưng nó nằm trong repo EPEL, có thể được cài đặt với bản phát hành epel yum. Khi bạn đã cài đặt repo EPEL, bạn có thể cài đặt Fail2Ban với lệnh yum install fail2ban.


Fail2Ban đi kèm với một tập hợp các tập tin cấu hình mặc định trong kho /etc/ ail2ban. Mở tập tin /etc/fail2ban/jail.conf trong chương trình chỉnh sửa văn bản và tự làm quen với các tùy chọn. Tại đây bạn có thể thêm và xóa các dịch vụ mà Fail2Ban giám sát. Mặc định là hợp lý cho nhiều thiết lập máy chủ phổ biến, nhưng bạn có thể muốn thực hiện một số điều chỉnh. Bạn không nên chỉnh sửa tập tin này trực tiếp vì nó có thể bị ghi đè lên bởi các bản cập nhật, thay vào đó, hãy tạo một bản sao có tên /etc/fail2ban/fail2ban.local và thực hiện các thay đổi của bạn ở đó.

Khi bạn đã hài lòng với cấu hình, hãy kích hoạt Fail2Ban với lệnh systemctl start fail2ban. Để thực hiện việc này liên tục trên các lần khởi động lại, hãy chạy lệnh systemctl enable fail2ban..

5. Xóa các dịch vụ không sử dụng

CentOS bao gồm một bộ dịch vụ mặc định, phần mềm lắng nghe các kết nối mạng đến. Nếu bạn không sử dụng một dịch vụ, bạn nên hủy kích hoạt nó. Một dịch vụ không sử dụng là một lỗ hổng bảo mật tiềm năng.

Trên CentOS, kích hoạt và hủy kích hoạt dịch vụ rất đơn giản. Nếu bạn làm theo các gợi ý trong bài viết này, bạn đã thực hiện nó nhiều lần rồi. Trước tiên, bạn nên chạy lệnh netstat -tulpn để xem dịch vụ nào hiện đang chạy. Sau đó, bạn có thể vô hiệu hóa và gỡ cài đặt các dịch vụ mà bạn không cần. Ví dụ: nếu bạn không cần chạy máy chủ email Postfix, trước tiên bạn sẽ tắt nó và sau đó gỡ cài đặt như vậy:

Mã nguồn [Chọn]
systemctl stop postfix
yum remove postfix

Một lời cảnh báo: hãy cẩn thận không tắt máy chủ SSH (hoặc chặn nó bằng quy tắc tường lửa). Nếu bạn làm như vậy, bạn sẽ không thể đăng nhập.

6. Thực hiện cập nhật thường xuyên

Cuối cùng, bạn nên thường xuyên cập nhật máy chủ của mình để có các bản vá bảo mật mới nhất. Nếu bạn quen thuộc với các bản phân phối khác, bạn có thể lo lắng rằng các bản cập nhật có thể cài đặt các thay đổi phá vỡ cấu hình hoặc làm gián đoạn hoạt động sự trơn tru của máy chủ của bạn. Các bản cập nhật của CentOS rất khó có thể bao gồm các thay đổi vi phạm hoặc không tương thích: một trong những lý do khiến CentOS trở nên phổ biến là các bản cập nhật giữ được các cấu hình cũ.

Tuy nhiên, các bản cập nhật mang đến các bản sửa lỗi bảo mật, vì vậy bạn nên thường xuyên chạy cập nhật yum để tải xuống và cài đặt các bản vá bảo mật mới nhất.

Việc thực hiện các đề xuất này sẽ khiến việc xâm nhập máy chủ của bạn trở nên khó khăn hơn nhiều. Tin tặc sẽ không thể khai thác lỗ hổng trong các dịch vụ không cần thiết, brute force máy chủ SSH của bạn hoặc các dịch vụ khác hoặc thay đổi tập tin mà bạn không biết. Bảo mật máy chủ CentOS của bạn sẽ loại bỏ các tác nhân xấu và cung cấp nền tảng an toàn để xây dựng các ứng dụng của bạn. Chúng ta đã trải qua bao gồm các bước cơ bản để cho máy chủ CentOS an toàn hơn.