24 cách để bảo mật Linux VPS của bạn

Tác giả sysadmin, T.Tám 15, 2023, 02:11:02 CHIỀU

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

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

24 cách để bảo mật Linux VPS của bạn


Nhiệm vụ làm cứng VPS là một công việc không bao giờ kết thúc. Các phương pháp hay nhất để bảo mật VPS liên quan đến việc tìm hiểu cài đặt, các bước và tùy chọn cần thiết để giữ an toàn cho máy chủ của bạn. Bạn cũng sẽ thấy mình liên tục nghiên cứu và cập nhật kiến thức cũng như các công cụ phần mềm để luôn cập nhật bảo mật.


Bảo mật máy chủ phụ thuộc vào tất cả những người tương tác với máy chủ. Do đó, điều quan trọng cần lưu ý là tất cả các quản trị viên làm việc trên VPS đều chịu trách nhiệm về bảo mật của nó.

Bài viết này sẽ giải thích cách bảo mật VPS theo 24 cách khác nhau. Một số mục này sẽ tập trung vào máy chủ, trong khi những mục khác sẽ áp dụng cho hệ điều hành, ứng dụng hoặc phần mềm trang web của bạn.

1. Sử dụng Tường lửa – APF và CSF

Có nhiều loại tường lửa mà bạn có thể sử dụng để tăng cường bảo mật cho VPS. Điều quan trọng là bạn phải bật hoặc định cấu hình ngay khi máy chủ đang chạy. Tường lửa có thể giúp phát hiện và ngăn chặn các nỗ lực đăng nhập thô bạo, quét cổng và các cuộc tấn công dựa trên mạng khác trong lưu lượng máy chủ web của bạn.

1.1. APF – Tường lửa chính sách nâng cao

Tường lửa chính sách nâng cao (APF) phải được cài đặt trên máy chủ của bạn theo mặc định.

APF cho phép dễ dàng quản lý các quy tắc tường lửa iptables của bạn cho những việc như mở cổng trong tường lửa của bạn.

Dưới đây là một số lệnh ví dụ.

Thêm IP vào các host được phép:

Mã nguồn [Chọn]
apf -a 123.123.123.123 "Note"
Chặn IP từ máy chủ:

Mã nguồn [Chọn]
apf -d 123.123.123.123 "Note"
Bỏ chặn IP bị chặn:

Mã nguồn [Chọn]
apf -u 123.123.123.123
Chặn dải IP:

Mã nguồn [Chọn]
apf -d 123.123.123.123/24
Cách được đề xuất để chặn dải IP truy cập cổng 80

Mã nguồn [Chọn]
vi /etc/apf/deny_hosts.rules d=80:s=123.123.123.123/24
1.2. CSF – Tường lửa máy chủ cấu hình

ConfigServer Firewall (CSF) cũng cho phép quản lý iptables dễ dàng. CSF mới hơn và mạnh mẽ hơn APF. Nó cho phép chặn tạm thời các IP và có cả tính năng chống lũ SYN để giúp chống lại các cuộc tấn công DDoS lũ SYN, cũng như LFD là mô-đun tích hợp xử lý việc bảo vệ đăng nhập bằng vũ lực.

Dưới đây là một số lệnh ví dụ.

Cho phép một IP:

Mã nguồn [Chọn]
csf -a 123.123.123.123
Tạm thời cho phép một IP:

Mã nguồn [Chọn]
csf -ta 123.123.123.123 15s
Chặn một IP:

Mã nguồn [Chọn]
csf -d 123.123.123.123
Chặn tạm thời một IP

Mã nguồn [Chọn]
csf -td 123.123.123.123 15s
Bỏ chặn IP bị chặn vĩnh viễn:

Mã nguồn [Chọn]
csf -dr 123.123.123.123
Bỏ chặn IP bị chặn tạm thời:

Mã nguồn [Chọn]
csf -tr 123.123.123.123
Liệt kê các IP và thời lượng bị chặn tạm thời:

Mã nguồn [Chọn]
csf -t
Xóa tất cả các dãy IP tạm thời:

Mã nguồn [Chọn]
csf -tf
Ghi nhật ký tất cả các gói SYN từ một IP

Mã nguồn [Chọn]
csf -w 123.123.123.123
Để biết thêm chi tiết về những gì bạn có thể làm với các tường lửa này, vui lòng xem Các phương pháp hay nhất về bảo mật máy chủ.

2. Đóng các cổng không cần thiết

Bạn nên đóng các cổng không cần thiết để ngăn chặn việc sử dụng chúng bởi lưu lượng truy cập trái phép. Để xem các cổng đang mở trên máy chủ của bạn, bạn có thể chạy lệnh netstat. Thao tác này sẽ hiển thị tất cả các cổng mạng đang mở và các dịch vụ liên quan của chúng.

Mã nguồn [Chọn]
netstat
Bạn cũng có thể sử dụng lệnh Nmap để khám phá các máy chủ và dịch vụ.

Mã nguồn [Chọn]
nmap domain.com
Một số tùy chọn của nmap bao gồm:

  • Cung cấp thông tin về các mục tiêu, bao gồm tên DNS đảo ngược, loại thiết bị và địa chỉ MAC
  • Phát hiện máy chủ – xác định máy chủ trên mạng
  • Quét cổng – xác định các cổng đang mở
  • Phát hiện hệ điều hành – tìm hệ điều hành và thông tin phần cứng của các thiết bị mạng

Dưới đây là một ví dụ về các kết quả từ quá trình quét Nmap:


Để tìm hiểu thêm về cách đóng cổng với APF, vui lòng xem Đóng cổng mở để tuân thủ PCI.

3. Thay đổi cổng nghe SSH mặc định

Cổng 22 là cổng SSH mặc định và nó được mở theo mặc định. Thay đổi cổng SSH máy chủ của bạn có thể bảo vệ bạn khỏi nhiều cuộc tấn công ít tinh vi hơn. Nếu bạn là quản trị viên cPanel có quyền truy cập gốc Trình quản lý WebHost (WHM), thì bạn nên tắt quyền truy cập SSH cho các tài khoản cPanel không cần đến nó.

Dưới đây là các bước cơ bản, nhưng để tìm hiểu thêm về cách thay đổi cổng, vui lòng xem Cách thay đổi cổng SSH máy chủ của bạn. Cách thay đổi cổng SSH như dưới đây.

  • Kết nối với máy chủ của bạn thông qua SSH với tư cách là người dùng root.
  • Chỉnh sửa tệp cấu hình SSH của bạn ở vị trí sau:

Mã nguồn [Chọn]
/etc/ssh/sshd_config
  • Tìm dòng chứa #Port 22, sau đó xóa thẻ bắt đầu bằng # và thay thế 22 bằng cổng bạn muốn sử dụng.

4. Trình quét AV phần mềm độc hại

Phần mềm độc hại liên tục phát triển và các hệ thống được sử dụng để theo dõi và xóa phần mềm độc hại khỏi máy chủ của bạn cũng vậy. Bảo mật máy chủ không hoàn hảo. Lưu lượng truy cập độc hại có thể đi qua. 

Vì vậy, điều quan trọng là bạn phải cài đặt, cập nhật thường xuyên và sử dụng phần mềm chống phần mềm độc hại. Phần mềm chống phần mềm độc hại nên được coi là thiết yếu và là một phần bắt buộc trong các bước tăng cường bảo mật VPS cho tài khoản lưu trữ của bạn. 

Nếu bạn đang sử dụng máy chủ lưu trữ được quản lý, rất có thể nhóm lưu trữ của bạn đã sử dụng phần mềm cho mục đích này. Họ có thể không cho bạn biết phần mềm chính xác của họ (vì mục đích bảo mật), nhưng bạn nên hỏi để đảm bảo rằng họ thường xuyên quét máy chủ của bạn.

ClamAV và Maldet là hai ứng dụng nguồn mở có thể quét máy chủ của bạn và xác định các mối đe dọa tiềm ẩn. Có nhiều trình quét phần mềm độc hại khác có sẵn với nhiều yêu cầu thanh toán. Dưới đây là danh sách phần mềm chống vi-rút/phần mềm độc hại miễn phí:

  • ClamTk – trình quét virus nhẹ, nhanh; cung cấp một giao diện đồ họa
  • Comodo Anti-virus For Linux (CAVL) – các tính năng bao gồm quét chống vi-rút, hệ thống chống thư rác, cập nhật tự động và lập lịch quét
  • Sophos cho Linux – quét phần mềm chống vi-rút/phần mềm độc hại có lập lịch, tác động thấp đến tài nguyên hệ thống
  • ChkrootKit – kiểm tra các tệp nhị phân hệ thống để sửa đổi rootkit; cũng bao gồm các tập lệnh khác để kiểm tra việc xóa
  • RootKit Hunter – công cụ giám sát bảo mật nhẹ giúp quét rootkit và nhiều mối đe dọa khác đối với hệ thống LInux.

5. Phần mềm phát hiện xâm nhập

Phần mềm phát hiện xâm nhập giám sát hoạt động mạng và cảnh báo cho quản trị viên khi xảy ra sự kiện đáng ngờ. Một số phần mềm phát hiện xâm nhập có thể ngay lập tức phản ứng với các sự kiện kích hoạt cụ thể. Những phản hồi tự động này có thể giúp ngăn chặn các cuộc tấn công quy mô lớn do thời gian phản ứng sớm của chúng.

Fail2Ban là phần mềm theo dõi nhật ký hệ thống và chặn hacker sau nhiều lần đăng nhập thất bại. Ngoài Fail2Ban, có một số ứng dụng phần mềm phát hiện xâm nhập mà bạn có thể xem xét. Bao gồm các:

  • OSSEC
  • Tripwire
  • Wazuh

6. An ninh Brute Force

Bảo mật Brute Force được sử dụng để ngăn chặn nhiều cuộc tấn công đăng nhập nhằm bẻ khóa thông tin đăng nhập bằng mật khẩu. Có nhiều giải pháp khác nhau có thể sử dụng để giúp ngăn chặn các cuộc tấn công vũ phu bao gồm plugin, tường lửa và cPHulk của cPanel. Fail2ban cũng có thể được sử dụng để giúp ngăn chặn các cuộc tấn công vũ phu khi nó theo dõi thông tin đăng nhập.

6.1. cPHulk

Ứng dụng cPHulk Brute Force Protection mà cPanel cung cấp hoạt động ở cấp Mô-đun xác thực có thể cắm (PAM) để phát hiện các lần đăng nhập không thành công. Khi đã đạt đến số lần thử đăng nhập không thành công đã đặt, cPHulk sẽ chặn mọi lần thử đăng nhập tiếp theo từ địa chỉ IP đã thử chúng.

Vì cPHulk chặn IP ở cấp PAM, nên có thể an toàn đưa toàn bộ khối địa chỉ IP vào danh sách đen, chẳng hạn như một quốc gia nhất định, mà không phải lo lắng về việc người dùng từ các IP đó không thể truy cập trang web của bạn hoặc gửi email cho bạn. Đơn giản là họ sẽ bị từ chối quyền truy cập để thử đăng nhập vào một trong các dịch vụ cốt lõi của cPanel.

6.2. Phát hiện lỗi đăng nhập CSF

Tường lửa Máy chủ cấu hình (CSF) cũng có thể được sử dụng trong bảo vệ Brute Force bằng cách bật LFD (Phát hiện lỗi đăng nhập). Bạn có thể kích hoạt tính năng bảo vệ LFD brute force bằng cách chỉnh sửa:

Mã nguồn [Chọn]
vi /etc/csf/csf.conf

LF_DAEMON=1

Bạn có thể sử dụng thêm cài đặt LF_* trong tệp để đặt giới hạn đăng nhập cho từng dịch vụ trên máy chủ.

7. Sử dụng Khóa SSH

Khi bạn có nhiều người dùng đăng nhập vào máy chủ, một trong những cách tốt nhất để đăng nhập an toàn là sử dụng xác thực khóa SSH. Không cần đăng nhập mật khẩu, sử dụng các cặp khóa công khai và riêng tư đảm bảo đăng nhập an toàn.

Khóa SSH hoạt động bằng cách sử dụng khóa chung và khóa riêng. Khóa riêng được ẩn khỏi người dùng, trong khi khóa chung được chia sẻ với máy chủ nơi họ yêu cầu quyền truy cập. Các khóa được khớp trong khi đăng nhập cho phép xác thực mà không cần sử dụng mật khẩu.


cPanel giúp dễ dàng quản lý và tạo các khóa cần thiết. Bạn có thể thấy giao diện cPanel trong ảnh chụp màn hình ở trên.

Sự phức tạp của mã hóa giúp giữ cho thông tin đăng nhập an toàn trước các cuộc tấn công vũ phu. Bạn có thể tìm hiểu cách tạo khóa trong hướng dẫn này:  Cách tạo khóa SSH. 

8. Sử dụng SFTP thay vì FTP

Trước đây, việc quản lý tệp trên máy chủ của bạn thường diễn ra qua FTP, viết tắt của File Transfer Protocol. Tuy nhiên, giờ đây chúng tôi thực sự khuyên bạn nên sử dụng SFTP để bảo vệ và bảo mật máy chủ của bạn tốt hơn. Tìm hiểu lý do tại sao FTP không an toàn, tại sao bạn nên sử dụng SFTP thay thế, cách tắt FTP trên toàn bộ máy chủ của bạn hoặc cho một người dùng cPanel cụ thể, sau đó chúng tôi sẽ chỉ cho bạn cách sử dụng SFTP.

Hãy nhớ rằng cung cấp hỗ trợ cho SFTP trên tất cả các tài khoản lưu trữ của nó.

8.1. Tại sao FTP không an toàn?

FTP đã xuất hiện từ rất lâu và không được thiết kế với các biện pháp bảo mật hiện đại. Với FTP, thông tin đăng nhập sử dụng văn bản thuần túy nên chúng không được mã hóa, điều này có thể bị chặn trong quá trình truyền. Một vấn đề khác là dữ liệu hoặc lệnh bạn gửi và nhận từ máy chủ của mình có thể bị lộ.

Khi được bật, máy chủ FTP có thể là mục tiêu của các cuộc tấn công từ chối dịch vụ phân tán (DDoS). Điều này có thể ảnh hưởng tiêu cực đến hiệu suất chung của toàn bộ máy chủ của bạn.

Ngoài ra, bạn không bao giờ nên kích hoạt đăng nhập FTP ẩn danh vì nó sẽ cho phép bất kỳ ai tải lên/tải xuống các tệp từ máy chủ của bạn, đây là một rủi ro bảo mật rất lớn.

8.2. Tại sao nên sử dụng SFTP?

SFTP, viết tắt của SSH FTP hoặc Secure FTP thường sử dụng thông tin đăng nhập người dùng và mật khẩu và có thể được truy cập thông qua SSH, Máy khách FTP (chẳng hạn như FileZilla) hoặc bằng giao diện FTP do phần mềm máy chủ cung cấp.

Để giúp cung cấp bảo mật tốt hơn, máy chủ của bạn sẽ chặn tất cả người dùng theo mặc định. Người dùng chỉ có thể kết nối sau khi địa chỉ IP của họ đã được đưa vào danh sách trắng. Điều này có nghĩa là chỉ những máy cụ thể được thêm vào danh sách "cho phép" mới có thể kết nối và giao tiếp với máy chủ. Tất cả người dùng khác sẽ bị chặn.

8.3. Cách vô hiệu hóa FTP trên máy chủ

  • Đăng nhập vào WHM.
  • Tìm kiếm FTP, sau đó chọn tùy chọn FTP Server Selection trong phần Service Configuration.


  • Đặt tùy chọn Máy chủ FTP thành Đã tắt.


  • Nhấp vào nút Lưu.

8.4. Cách vô hiệu hóa FTP cho người dùng cPanel cụ thể

Vì tất cả người dùng cPanel có thể tự động kết nối bằng FTP, bạn cũng nên xem xét việc vô hiệu hóa quyền truy cập cho từng người dùng. Điều này sẽ đảm bảo rằng họ chỉ có thể kết nối qua SFTP.

  • Kết nối với máy chủ của bạn thông qua SSH, với tư cách là người dùng root.
  • Chỉnh sửa tệp /etc/ftpusers. Nếu nó chưa có, bạn có thể tạo nó bằng lệnh sau.

Mã nguồn [Chọn]
nano /etc/ftpusers
Liệt kê từng người dùng mà bạn muốn chặn trên một dòng riêng, ví dụ:

Mã nguồn [Chọn]
user01
user02
user03
user04

  • Lưu các thay đổi của bạn bằng cách nhấp vào Ctrl+ Orồi nhấn Enterphím.
  • Sau đó, bạn có thể xác minh người dùng đã bị vô hiệu hóa bằng cách cố gắng kết nối qua FTP. Trong thử nghiệm của mình, tôi nhận được thông báo sau: "Critical error: Could not connect to server"


8.5. Cách kết nối bằng SFTP

  • Xác định địa chỉ IP của máy tính bạn muốn kết nối từ đó.
  • Thêm địa chỉ IP vào tường lửa của máy chủ.
  • Cuối cùng, bạn có thể kết nối bằng ứng dụng khách SFTP như FileZilla, WinSCP hoặc Cyberduck. Dưới đây là cài đặt SFTP mặc định, để biết thêm thông tin chi tiết, hãy xem hướng dẫn đầy đủ của chúng tôi về cách Kết nối với SFTP.

Bạn cũng có thể tìm hiểu thêm về bảo mật SSH và SFTP nếu đang sử dụng Ubuntu Cloud Server.

9. Lọc thư rác

Tính năng lọc thư rác rất quan trọng vì nó giúp ngăn chặn vectơ phần mềm độc hại xâm nhập vào máy chủ hoặc người dùng của bạn. Nó cũng sẽ giúp giữ cho máy chủ email hoạt động thông qua hàng nghìn email không cần thiết có thể làm chậm máy chủ của bạn.

Hosting cung cấp dịch vụ lưu trữ cPanel bao gồm Bộ lọc thư rác do SpamAssassin cung cấp. Để tìm hiểu thêm, hãy xem các bài viết của chúng tôi về SpamAssassin: Chống thư rác.

10. Vô hiệu hóa IPV6

IPv6 được tạo ra vì địa chỉ IP trong hệ thống IPv4 đã hết. Tuy nhiên, hầu hết mọi người vẫn chỉ sử dụng iPv4.

Hiện tại, việc sử dụng iPv6 có thể khiến máy chủ của bạn dễ bị tấn công. Mặc dù dịch vụ lưu trữ của bạn có thể hỗ trợ IPv6, nhưng hiện tại bạn nên tắt dịch vụ lưu trữ này để giúp chặn đường lưu lượng truy cập độc hại có thể có vào trang web của bạn.

Hỏi dịch vụ lưu trữ của bạn xem họ có hỗ trợ IPv6 không và họ có định điều chỉnh nó không nếu không. Nếu bạn không quen với việc tắt IPv6, bạn có thể yêu cầu họ trợ giúp với yêu cầu này. Nếu muốn tự làm, bạn cần đăng nhập vào máy chủ của mình và chạy các lệnh sau với quyền root.

  • Sử dụng trình chỉnh sửa để chỉnh sửa tệp sysctl.conf. Nó nằm ở đây: /etc/sysctl.conf
  • Thêm hai dòng sau:

Mã nguồn [Chọn]
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1

  • Tiếp theo, hãy chạy lệnh sau để sử dụng các cài đặt đó:

Mã nguồn [Chọn]
sysctl -p
Bạn có thể tìm thêm thông tin trong tài liệu cPanel để tắt IPv6.

11. Vô hiệu hóa đăng nhập user root

Một cách khác để tăng cường bảo mật VPS là vô hiệu hóa quyền truy cập Root. Thông tin đăng nhập truy cập root cung cấp cho bạn quyền truy cập đầy đủ vào máy chủ. Vì người dùng mặc định là "root", nên hệ thống dễ bị tấn công bằng vũ lực nhằm giành quyền truy cập vào tài khoản.

Bạn có thể tạo một tên người dùng mới và sau đó sử dụng lệnh "sudo" để thực thi các lệnh cấp gốc.

Đảm bảo rằng bạn tạo tài khoản quản trị viên mới với các cấp truy cập phù hợp trước khi vô hiệu hóa tài khoản gốc.

Bạn cần có quyền truy cập root trước khi thay đổi tham số PermitRootLogin trong tệp sshd_config. Thay đổi giá trị thành "Không" sẽ ngăn người dùng "root" được sử dụng để đăng nhập vào máy chủ.

Lưu ý: Bạn có thể yêu cầu quyền truy cập root đối với tài khoản VPS Hosting, nhưng nó không được cung cấp theo mặc định.

Trước khi bắt đầu, bạn nên chọn một người dùng tài khoản cPanel hiện có mà bạn muốn nâng cao quyền truy cập hoặc bạn có thể tạo một tài khoản cPanel mới sẽ bao gồm một người dùng mới. Người dùng này về cơ bản sẽ "thay thế" người dùng root.

  • Đăng nhập vào WHM.
  • Tìm kiếm 'bánh xe', sau đó nhấp vào tùy chọn Quản lý người dùng nhóm bánh xe trong Trung tâm bảo mật.


  • Trong phần có nhãn " Thêm người dùng vào nhóm bánh xe ", chọn người dùng bạn muốn sử dụng để truy cập root và nhấp vào nút Thêm vào nhóm. Sau đó, bạn sẽ thấy một thông báo cho biết rằng người dùng đã được thêm vào nhóm bánh xe.


  • Kết nối với máy chủ của bạn qua ssh với người dùng bánh xe mới. Ví dụ:

Mã nguồn [Chọn]
ssh [email protected]
  • Chạy lệnh su và nhập mật khẩu root của bạn để thay đổi thành người dùng root.

Mã nguồn [Chọn]
su
  • Sau đó, bạn sẽ thấy root@ được liệt kê trong thiết bị đầu cuối của mình.


Bây giờ chúng ta sẽ chỉnh sửa tệp sshd_config để vô hiệu hóa người dùng root. Trong ví dụ này, tôi đang sử dụng lệnh nano nhưng bạn có thể sử dụng bất kỳ trình chỉnh sửa nào bạn thích.

Mã nguồn [Chọn]
nano /etc/ssh/sshd_config
  • Định vị dòng sau trong tệp:

Mã nguồn [Chọn]
#PermitRootLogin yes
  • Xóa thẻ bắt đầu bằng # '#' trong dòng và thay đổi có thành không. Sau đó, nó sẽ trông như thế này:

Mã nguồn [Chọn]
PermitRootLogin no

  • Lưu các thay đổi của bạn. Nếu bạn đang sử dụng nano, nó sẽ là Ctrl+x, ychìa khóa, sau đó là Enter.
  • Bây giờ chúng ta sẽ khởi động lại ssh bằng cách đăng nhập vào WHM và tìm kiếm 'openssh', sau đó nhấp vào liên kết SSH Server (OpenSSH) bên dưới Restart Service.
  • Nhấp vào nút Yes trên trang SSH Daemon.
 

12. Giới hạn quyền truy cập của người dùng – Xem xét và quản lý người dùng

Trong nhiều trường hợp, một máy chủ được truy cập bởi nhiều người dùng. Điều này yêu cầu bạn giám sát và quản lý những người dùng có quyền truy cập. Bạn nên thường xuyên xem lại những người dùng có quyền truy cập vào máy chủ. 

12.1. Giám sát người dùng

Để xem danh sách người dùng thông qua SSH, hãy sử dụng lệnh sau

Mã nguồn [Chọn]
getent /etc/passwd
Điều này sẽ hiển thị tất cả người dùng, bao gồm cả những người được xác thực thông qua LDAP. Nếu bạn không sử dụng LDAP, thì bạn có thể liệt kê tất cả người dùng bằng cách sử dụng LESS để hiển thị từng trang tệp mật khẩu.

Mã nguồn [Chọn]
less /etc/passwd
Giám sát hoạt động của người dùng trong Linux sẽ yêu cầu sử dụng các tiện ích kế toán. Các tiện ích này được bao gồm trong gói psacct hoặc acct. Bạn sẽ cần cài đặt các gói này và bắt đầu dịch vụ. Các hệ thống Linux dựa trên RPM sử dụng psacct.

  • Sử dụng lệnh này để cài đặt các tiện ích kế toán. Lưu ý rằng một số biến thể của Linux có thể có các lệnh cài đặt khác nhau.

Mã nguồn [Chọn]
sudo apt install acct
  • Khi quá trình cài đặt hoàn tất, hãy sử dụng lệnh này để kích hoạt nó.

Mã nguồn [Chọn]
sudo systemctl enable acct
  • Sau đó, bạn sẽ cần bắt đầu dịch vụ như thế này:

Mã nguồn [Chọn]
sudo systemctl start acct
  • Khi dịch vụ được bắt đầu, hãy kiểm tra trạng thái của dịch vụ bằng lệnh này:

Mã nguồn [Chọn]
sudo systemctl status acct
Các tùy chọn trong tiện ích kế toán cho phép bạn truy xuất các hoạt động được lưu trữ bởi người dùng gốc. Điều này bao gồm tất cả người dùng trong quá trình cài đặt. Vì vậy, ngay cả khi người dùng xóa lịch sử dòng lệnh của họ, các bản ghi sẽ vẫn tồn tại do chúng được lưu với người dùng root.

Các tiện ích kế toán bao gồm các tùy chọn sau để theo dõi hoạt động của người dùng:

  • người dùng ac – Hiển thị số liệu thống kê về thời gian đăng nhập của người dùng cụ thể
  • người dùng lastcomm – hiển thị thông tin về các lệnh đã thực thi của một người dùng cụ thể
  • dưới dạng -m – hiển thị số lượng quy trình và số phút CPU trên mỗi người dùng
  • dump-acct – chuyển đổi tệp đầu ra thành định dạng mà con người có thể đọc được

Sử dụng trang man cho các lệnh để xem tất cả các tùy chọn của chúng.

Khi bạn đang xem xét người dùng của mình, hãy kiểm tra những điều sau:

  • Tần suất truy cập của họ. Họ có đang truy cập máy chủ quá mức không? Họ có hiếm khi truy cập máy chủ không? Nếu cần, hãy điều chỉnh quyền của người dùng hoặc ngày hết hạn.
  • Sử dụng tài nguyên của người dùng. Bạn có thể xác định những người dùng sử dụng các mức tài nguyên cao hơn và sau đó xác định xem có cần thay đổi hay không.
  • Tính hợp lệ của quyền truy cập của họ. Xem lại những lệnh họ sử dụng để đảm bảo họ có quyền truy cập phù hợp và không lạm dụng máy chủ.
  • Người dùng hiện tại và lỗi thời. Xóa người dùng không còn cần truy cập vào máy chủ.

12.2. Quản lý người dùng

Các lệnh điển hình để quản lý người dùng sử dụng SSH trong Linux là useradd, usermod và userdel. Bạn cũng sẽ tìm thấy thông tin tài khoản người dùng trong tệp /etc/passwd. Để thêm bảo mật cho mật khẩu băm trong tệp /etc/passwd, tệp /etc/shadow đã được tạo. Tệp /etc/shadow chỉ có thể đọc được bằng root.

Tệp /etc/shadow chứa tên người dùng, phiên bản băm của mật khẩu, thời gian thay đổi mật khẩu và trạng thái của người dùng.

Ví dụ về các lệnh useradd, usermod và userdel :

Useradd được sử dụng để thêm người dùng.

Mã nguồn [Chọn]
sudo useradd username
Usermod sửa đổi người dùng.

Mã nguồn [Chọn]
sudo usermod -l new-user-name old-user-name
Userdel xóa người dùng.

Mã nguồn [Chọn]
sudo userdel -f username
Mỗi lệnh có nhiều tùy chọn được nhìn thấy rõ nhất trên trang hướng dẫn tương ứng.

12.3. Hết hạn mật khẩu

Bạn cũng có thể đặt ngày hết hạn cho người dùng và mật khẩu bằng các lệnh cụ thể. Để xem ngày hết hạn của người dùng, hãy sử dụng lệnh sau:

Mã nguồn [Chọn]
chage -l username
Đầu ra sẽ xuất hiện như thế này:

  • Thay đổi mật khẩu lần cuối: ngày 5 tháng 2 năm 2023
  • Mật khẩu hết hạn: không bao giờ
  • Mật khẩu không hoạt động : không bao giờ
  • Tài khoản hết hạn: không bao giờ
  • Số ngày tối thiểu giữa các lần thay đổi mật khẩu: -1
  • Số ngày tối đa giữa các lần thay đổi mật khẩu: -1
  • Số ngày cảnh báo trước khi mật khẩu hết hạn : -1

Để thay đổi ngày hết hạn:

Mã nguồn [Chọn]
usermod -E 2023-02-28 username
Sau đó, bạn có thể lặp lại lệnh chage một lần nữa để xác minh sự thay đổi trong ngày hết hạn của người dùng.

Khoảng thời gian giữa các lần thay đổi mật khẩu cũng có thể được đặt bằng lệnh chage. Bạn có thể đặt số ngày tối đa mà mật khẩu có hiệu lực, số ngày tối thiểu giữa các lần thay đổi mật khẩu và số ngày cảnh báo trước khi bắt buộc thay đổi mật khẩu.

Đây là một ví dụ về cài đặt số ngày tối đa cho mật khẩu cho một tài khoản.

Mã nguồn [Chọn]
chage -M 30 username
Lệnh này đặt số ngày tối đa giữa một lần thay đổi mật khẩu được yêu cầu. Nếu bạn xem thông tin cũ bằng cách sử dụng chage -l và nó sẽ giống như thế này:

  • Thay đổi mật khẩu lần cuối: ngày 5 tháng 2 năm 2023
  • Mật khẩu hết hạn: không bao giờ
  • Mật khẩu không hoạt động : không bao giờ
  • Tài khoản hết hạn: không bao giờ
  • Số ngày tối thiểu giữa các lần thay đổi mật khẩu: -1
  • Số ngày tối đa giữa các lần thay đổi mật khẩu: 30
  • Số ngày cảnh báo trước khi mật khẩu hết hạn : -1

Có nhiều tùy chọn lệnh, nhưng các tùy chọn tối thiểu và cảnh báo được trình bày chi tiết bên dưới:

  • Thay đổi -m: Đặt số ngày tối thiểu giữa các lần thay đổi mật khẩu. Nếu giá trị là "0" thì người dùng có thể thay đổi mật khẩu bất cứ lúc nào.
  • Thay đổi -W: Đặt số ngày cảnh báo trước khi cần thay đổi mật khẩu.

13. Thiết lập Kế hoạch khôi phục thảm họa – Sao lưu

Tạo một kế hoạch khắc phục thảm họa liên quan đến nhân viên CNTT hoặc nhân viên chịu trách nhiệm bảo trì máy chủ của bạn. Trước tiên, bạn cần đảm bảo rằng bạn đang duy trì các bản sao lưu hiện tại và an toàn cho công việc của mình. 

Kế hoạch của bạn nên tính đến sự xâm nhập hoặc tổn thất nhân sự và mất dịch vụ. Bạn nên có các tài liệu an toàn cho phép bạn khôi phục dữ liệu và/hoặc thông tin đăng nhập của mình. Nếu bạn có thể khôi phục các dịch vụ của mình trên một máy chủ khác, thì bạn sẽ có thể khôi phục dữ liệu và hoạt động của mình mà không gặp nhiều phiền phức.

Các bản sao lưu phải tuân theo quy tắc 3/2/1 để tránh mất dữ liệu:

  • (3) Ba bản sao dữ liệu được lưu trữ trên...
  • (2) Hai loại phương tiện khác nhau (ví dụ: máy chủ từ xa và ổ đĩa ngoài cục bộ) với
  • (1) Một máy chủ hoàn chỉnh sao lưu được lưu trữ bên ngoài trang web ở một địa điểm xa (đặc biệt quan trọng trong trường hợp thiên tai có thể ảnh hưởng đến máy chủ lưu trữ của bạn)

Quá trình sao lưu của bạn phải được tự động hóa và xem xét thường xuyên. Trang web và dữ liệu của bạn có giá trị gì đối với bạn? Rất có thể, nó là vô giá. Xác minh tính toàn vẹn của các bản sao lưu của bạn và đảm bảo chúng nằm trong khu vực an toàn.

Với VPS, bạn có khả năng bật và lên lịch sao lưu tự động cho tài khoản cPanel của mình. Dưới đây là các bước cơ bản nhưng chúng tôi khuyên bạn nên có hướng dẫn đầy đủ về Lập lịch sao lưu cPanel trong WHM để biết thêm thông tin chi tiết.

  • Đăng nhập vào WHM với tư cách là người dùng root.
  • Nhấp vào  tùy chọn Cấu hình sao lưu  trong phần Sao lưu.
  • Chọn tùy chọn Bật trong phần Trạng thái sao lưu.


  • Sau đó, bạn có thể chọn cài đặt sao lưu của mình. Cụ thể, bạn có thể chọn sao lưu Hàng ngày, Hàng tuần hoặc Hàng tháng trong phần Lập lịch và Lưu giữ.


  • Nhấp vào nút Lưu cấu hình.

14. Luôn cập nhật mọi thứ

Giữ cho tất cả phần mềm luôn "cập nhật" có vẻ như là lẽ thường nhưng nó có thể phức tạp hơn bạn nghĩ. Là quản trị viên, bạn nên theo dõi tất cả các phần mềm và ứng dụng yêu cầu cập nhật thủ công cũng như những phần mềm và ứng dụng tự động cập nhật. 

Ngoài ra, điều quan trọng không kém là theo dõi phần mềm không cập nhật, đặc biệt là trong thời gian dài. Phần mềm không cập nhật thường xuyên có thể dễ gặp phải các sự cố bảo mật. Ngoài ra, nó có thể gây ra xung đột khi các hệ thống khác của bạn được cập nhật.

Ví dụ: bạn có thể có các plugin trên trang web của mình không được cập nhật. Nhưng khi phần mềm CMS cập nhật, plugin của bạn có thể không còn hoạt động chính xác nữa.

Mặc dù việc theo dõi tất cả phần mềm và ứng dụng mà bạn chạy trên VPS có thể là một cơn ác mộng nhỏ, nhưng điều quan trọng hơn là bạn phải hiểu phần mềm mình đang sử dụng và đảm bảo phần mềm đó được cập nhật để giữ mọi thứ an toàn và an toàn.

15. Theo dõi nhật ký máy chủ

Giám sát trang web của bạn là một bước quan trọng khác trong nỗ lực tăng cường bảo mật VPS. Bạn có thể theo dõi nhật ký trang web bao gồm lưu lượng truy cập, tài nguyên và lỗi.

Bạn cũng có thể xem nhật ký cho máy chủ bao gồm tải của máy chủ, mức sử dụng tài nguyên (CPU, bộ nhớ, băng thông, v.v.), nhật ký email và nhật ký máy chủ web. Điều này sẽ thông báo cho bạn về tình trạng và tải trên máy chủ. 

Giám sát thường xuyên sẽ giúp bạn thiết lập đường cơ sở về cách máy chủ của bạn hoạt động bình thường so với khi máy chủ hoạt động dưới tải nặng hoặc hoàn toàn không tải. CPanel cung cấp một số nhật ký có thể giúp bạn với tài khoản cPanel cụ thể đó. 

Để xem danh sách nhật ký từ cPanel, hãy xem nhật ký cPanel: Access, Apache, Email, Error, FTP, MySQL và WHM. 

16. Thực hiện chính sách mật khẩu mạnh

Chính sách mật khẩu mạnh có nghĩa là tất cả nhân viên được yêu cầu sử dụng mật khẩu đáp ứng các tiêu chuẩn bảo mật đã đặt.

Độ dài mật khẩu từ 8 ký tự trở lên, có ít nhất 1 chữ in hoa, số, ký tự đặc biệt là tiêu chuẩn bảo mật khá. Việc thực thi chính sách này phải được tự động hóa để mọi người phải tham gia.

Tìm hiểu thêm trong bài viết của chúng tôi Độ mạnh và bảo mật của mật khẩu.

17. Tuân thủ PCI DSS

Nhiều doanh nghiệp yêu cầu máy chủ phải tuân thủ Tiêu chuẩn bảo mật dữ liệu ngành thẻ thanh toán (PCI DSS). Điều này cho phép cài đặt an toàn cho các khoản thanh toán tại cửa hàng trực tuyến. Tuân thủ PCI yêu cầu nhiều tùy chọn bảo mật mà chúng tôi đã thảo luận trong bài viết này. Chúng bao gồm:

  • Cấu hình tường lửa hiện tại
  • Phần mềm diệt virus
  • Giám sát mạng
  • Kiểm tra bảo mật thường xuyên
  • ID duy nhất và mật khẩu mạnh
  • Mã hóa dữ liệu chủ thẻ trên mạng công cộng

Để tìm hiểu thêm về các tiêu chuẩn Bảo mật PCI, hãy truy cập trang web của họ:  PCI Security   Đăng nhập để xem liên kết.

18. Sử dụng chứng chỉ SSL

Chứng chỉ SSL rất quan trọng trong việc cung cấp kết nối an toàn giữa máy chủ web của bạn và khách truy cập của bạn. Điều quan trọng là phải có chứng chỉ SSL phù hợp với nhu cầu của trang web và doanh nghiệp của bạn. 

Mặc dù có chứng chỉ SSL miễn phí nhưng cũng có nhiều loại chứng chỉ SSL trả phí có thể cung cấp thêm xác thực cho trang web của bạn. Chẳng hạn, Chứng chỉ SSL xác thực mở rộng sẽ xác thực không chỉ chủ sở hữu tên miền mà còn xác thực tính hợp lệ của doanh nghiệp tuyên bố là chủ sở hữu trang web. Mặc dù mã hóa hoạt động theo cùng một cách, nhưng lớp xác thực bổ sung này có thể giúp khách truy cập của bạn tin tưởng vào trang web và doanh nghiệp của bạn như một thực thể.

Nếu bạn đang di chuyển trang web của mình đến một vị trí mới, hãy luôn nhớ rằng chứng chỉ SSL có thể là một phần của quá trình di chuyển. Trong một số trường hợp, nó có thể yêu cầu hỗ trợ từ máy chủ lưu trữ mới của bạn, nhưng nó nên được coi là một bước bắt buộc đối với trang web kinh doanh của bạn.

19. Tiêu đề HTTP bảo mật và tính toàn vẹn của nguồn phụ (SRI)

Tiêu đề Bảo mật HTTP được trao đổi giữa trình duyệt (hoặc máy khách web) và máy chủ để xác thực giao tiếp HTTP. Có nhiều loại tiêu đề HTTP, nhưng chúng tôi sẽ liệt kê một số loại và mô tả chúng:

  • X-Frame-Options HTTP Header – tiêu đề bảo mật được sử dụng để tránh các cuộc tấn công Sửa lại giao diện người dùng bắt đầu bằng Clickjacking. Nó được hỗ trợ bởi tất cả các trình duyệt chính
  • Content-Security-Policy (CSP) – tiêu đề bảo mật được sử dụng để bảo vệ trang web và khách truy cập khỏi các cuộc tấn công kịch bản chéo trang (XSS) cũng như các cuộc tấn công tiêm dữ liệu.
  • HTTP Strict-Transport-Security (HSTS) – cho các trình duyệt biết rằng trang web chỉ có thể được truy cập bằng HTTPS.
  • X-Content-Type-Options – được máy chủ sử dụng để chỉ ra rằng các loại MIME được liệt kê trong tiêu đề Loại nội dung nên được sử dụng và không được thay đổi. Được sử dụng để tránh Mime đánh hơi. Mime sniffing nói chung là tiền thân của các cuộc tấn công XSS vì nó có thể thay đổi cách trình duyệt diễn giải tệp nội dung khiến tệp dễ bị tổn thương trước một loại tệp khác có thể được sử dụng để vận chuyển mã phần mềm độc hại.
  • Tiêu đề HTTP cũng kiểm soát cài đặt tính năng trình duyệt, lưu trữ cookie, v.v. Ngoài ra còn có các plugin cho phần mềm CMS như Joomla và WordPress có thể cung cấp bảo mật tiêu đề HTTP.

Tính toàn vẹn của nguồn phụ (SRI) là một tính năng bảo mật cho phép các trình duyệt xác thực rằng máy chủ mà chúng đang nhận dữ liệu/phương tiện từ đó đang được gửi mà không bị một nguồn không mong muốn thao túng. SRI hoạt động bằng cách sử dụng hàm băm được mã hóa phải khớp với tài nguyên từ nơi bạn nhận phương tiện của mình.

20. Phiên bản PHP

PHP thường là xương sống của phần mềm trang web và ứng dụng được sử dụng trên máy chủ VPS. Các phiên bản mới của phần mềm thường được phát hành để cải thiện hiệu suất và bảo mật cho các ứng dụng sử dụng nó. Thường xuyên cập nhật các phiên bản PHP của bạn nên là một bước bắt buộc trong nỗ lực tăng cường bảo mật VPS của bạn.

Các phiên bản PHP thường có thể yêu cầu cài đặt thông qua phần phụ trợ của máy chủ. Ví dụ: trong CENTOS, các phiên bản PHP mới thường được cài đặt thông qua EasyApache.

Tùy thuộc vào máy chủ của bạn, một số phiên bản có thể không có sẵn ngay lập tức. Tuy nhiên, điều quan trọng là phải hỏi nhóm hỗ trợ kỹ thuật của bạn để biết khi nào có phiên bản mới để bạn có thể cài đặt chúng trên máy chủ của mình.

21. Phân vùng đĩa

Phân vùng đĩa được sử dụng trên máy chủ và máy tính để xác định không gian trên ổ cứng có thể được chỉ định một không gian logic. Ví dụ: bạn có thể chia ổ đĩa thành hai không gian riêng biệt – c: và d:.

Các phân vùng này sau đó có thể được sử dụng để tách hệ điều hành và các ứng dụng trên ổ cứng gốc. Việc tách biệt các ứng dụng thực thi khỏi dữ liệu của bạn sẽ tăng cường bảo mật cho VPS vì dữ liệu được viết hoặc tạo có thể được bảo vệ khỏi phần mềm độc hại ảnh hưởng đến ứng dụng.

Điều này cho phép bạn khôi phục hoặc tải lại các ứng dụng phần mềm hoặc hệ điều hành mà không thực sự ảnh hưởng đến dữ liệu của bạn có thể được lưu trong một phân vùng khác. Nó cũng giúp giữ cho các bản sao lưu của bạn ở kích thước có thể quản lý được, vì các bản sao lưu của bạn chỉ có thể được giới hạn ở những dữ liệu cần được lưu.

22. Bảo mật cụ thể cho Hệ điều hành của bạn

Bạn có thể có phần mềm có các tùy chọn bảo mật tích hợp tùy thuộc vào phần mềm được tải vào máy chủ của bạn. Đây có thể là hệ điều hành cho máy chủ hoặc phần mềm CMS được sử dụng để xây dựng trang web của bạn. Có nhiều tùy chọn tích hợp hoặc tiện ích bổ sung hoạt động để tăng cường bảo mật cho VPS của bạn.

22.1. Tùy chọn bảo mật cPanel

cPanel là phần mềm máy chủ cũng cung cấp phần mềm WHM cung cấp cho bạn giao diện đồ họa để quản lý máy chủ. cPanel bao gồm nhiều tùy chọn bảo mật bao gồm Cố vấn bảo mật trong WHM cung cấp các đề xuất cho chính sách mật khẩu, cơ sở dữ liệu, SSH, email, v.v.


ModSecurity là tường lửa ứng dụng web mã nguồn mở. Nó cho phép bạn thiết lập các quy tắc có thể thiết lập theo dõi và ghi nhật ký theo thời gian thực. Nó cũng có thể được sử dụng để lọc lưu lượng HTTP. Công cụ ModSecurity được triển khai bên trong máy chủ web để nó có thể giám sát lưu lượng HTTP đến và đi. Để tìm hiểu thêm về cách sử dụng ModSecurity, hãy xem Mô-đun Apache: ModSecurity.

22.2. Tùy chọn bảo mật CMS

Tùy chọn bảo mật CMS sẽ thay đổi từ CMS này sang CMS khác. Những người năng động và phổ biến như

WordPress có nhiều tùy chọn mà bạn có thể triển khai. Thông thường, các bảo mật này

tùy chọn sẽ là plugin. Nhưng cũng có những dịch vụ có thể được thuê sẽ giúp

theo dõi trang web của bạn để giữ cho nó an toàn và bảo mật.

Một số ví dụ về plugin bảo mật cho WordPress bao gồm: 

  • iTheme Security – dừng các cuộc tấn công tự động, giám sát hoạt động đáng ngờ, quét các plugin và chủ đề dễ bị tấn công, chặn các bot xấu, giảm thư rác, củng cố thông tin đăng nhập của người dùng
  • WordFence Security – cung cấp bảo mật đăng nhập, quản lý tập trung, xác thực hai yếu tố, quét phần mềm độc hại, tường lửa và Nhóm ứng phó sự cố 24/7
  • Bullet Proof Security – plugin cung cấp trình quét phần mềm độc hại, giám sát và bảo mật đăng nhập, ghi nhật ký bảo mật, ghi lỗi, thư mục plugin ẩn, sao lưu
  • Sucuri Security – vừa là plugin bảo mật vừa là dịch vụ trả phí; cung cấp loại bỏ phần mềm độc hại và hack, tường lửa, quét bảo mật, giám sát và loại bỏ danh sách chặn, hỗ trợ và giám sát SSL cũng như dịch vụ CDN

23. Đào tạo và Nghiên cứu Bảo mật VPS

Làm việc trong lĩnh vực bảo mật và nghiên cứu bảo mật cho máy chủ VPS của bạn sẽ là một nhiệm vụ không bao giờ kết thúc. Tuy nhiên, việc bảo vệ máy chủ của bạn khỏi các cuộc tấn công là điều đáng làm vì nó bảo vệ doanh nghiệp của bạn cũng như quyền riêng tư và dữ liệu của khách hàng của bạn.

Đào tạo về bảo mật có thể dẫn đến các chứng chỉ và bằng cấp, đồng thời sẽ cần một chút trí tưởng tượng vì các cuộc tấn công vào máy chủ của bạn có thể đến từ nhiều hướng khác nhau.

Các hội nghị thường niên như Mũ đen, Hội nghị thượng đỉnh về bảo mật mở và các sự kiện của Tổ chức Linux cho thấy rằng bảo mật đang liên tục phát triển để đáp ứng các mối đe dọa và thay đổi đối với ngành cũng như thế giới xung quanh chúng ta.

24. Tìm một dịch vụ lưu trữ VPS an toàn

Khi bạn đang tìm kiếm một máy chủ lưu trữ cho máy chủ VPS, hãy đảm bảo kiểm tra danh tiếng của họ bằng cách đọc các bài đánh giá về dịch vụ và bảo mật của họ.

Nếu bạn không có nhiều thông tin, hãy đảm bảo đặt câu hỏi cho họ về chính sách và kinh nghiệm của họ khi làm việc để tăng cường bảo mật VPS và hỗ trợ kỹ thuật.

Thông tin bạn nên tìm kiếm khi tìm kiếm một máy chủ lưu trữ máy chủ VPS an toàn tốt bao gồm:

  • Vị trí máy chủ
  • Biện pháp giảm thiểu mất điện tại trung tâm dữ liệu
  • Bảo mật vật lý tại trung tâm dữ liệu
  • Hỗ trợ tại chỗ để bảo trì máy chủ vật lý
  • Giám sát mạng
  • Sao lưu cho dữ liệu và ứng dụng của bạn
  • Phòng chống DDoS
  • Kế hoạch mạng dự phòng trong trường hợp ngừng dịch vụ

25. Hosting được quản lý so với Hosting không được quản lý

Dịch vụ lưu trữ được quản lý an toàn hơn vì nó thường liên quan đến một nhóm người tích cực giám sát máy chủ. Họ cũng sẽ giúp cập nhật phần mềm máy chủ.

Một máy chủ "không được quản lý" thường sẽ là máy chủ mà bạn có quyền tải phần mềm bảo mật và duy trì giám sát. Các máy chủ không được quản lý có thể mang lại nhiều tự do hơn nhưng chúng cũng sẽ khó bảo mật hơn.

Học cách bảo mật VPS là một nhiệm vụ khó khăn và không bao giờ kết thúc. Tuy nhiên, giá bảo mật cho khách hàng hoặc khách truy cập của bạn không thể được đánh giá thấp. Danh sách 24 đề xuất này sẽ giúp hướng dẫn bạn đạt được mục tiêu bảo mật VPS của mình, nhưng điều quan trọng cần lưu ý là bạn không phải là người duy nhất tham gia vào nhiệm vụ này. Người dùng, quản trị viên và thậm chí cả nhóm hỗ trợ kỹ thuật từ máy chủ lưu trữ của bạn đều đóng vai trò quan trọng trong việc giữ cho dữ liệu và ứng dụng của bạn an toàn và bảo mật.