Bảo mật Proxmox Home Lab: Hướng dẫn từng bước
Để hiểu rõ hơn về các tính năng và khả năng của Proxmox, người dùng mới thường thích thiết lập một môi trường thử nghiệm bằng cách sử dụng một máy chủ Proxmox, được gọi là “phòng thí nghiệm tại nhà Proxmox”. Việc đảm bảo các biện pháp bảo mật phù hợp cho hệ thống phòng thí nghiệm tại nhà Proxmox của bạn là điều cần thiết. Bài viết trên blog này trình bày các phương pháp hay nhất về bảo mật Proxmox mà bạn nên áp dụng để ngăn ngừa mất dữ liệu và bảo vệ hệ thống khỏi các mối đe dọa mạng.
Tại sao việc bảo mật Proxmox Home Lab lại rất quan trọng
Nếu không có các biện pháp bảo mật thích hợp, môi trường Proxmox của bạn có thể trở nên dễ bị tổn thương trước các mối đe dọa mạng, rò rỉ dữ liệu và truy cập trái phép. Bảo mật Proxmox Home Lab là yếu tố then chốt cho cả mục đích cá nhân lẫn công việc. Người dùng trái phép truy cập vào máy chủ Proxmox có thể đe dọa đến máy chủ đó, các máy ảo, Thiết bị NAS và các máy chủ khác kết nối với mạng. Việc truy cập trái phép có thể dẫn đến nhiễm phần mềm độc hại và ransomware, gây rò rỉ và mất mát dữ liệu. Do các máy chủ Proxmox thường chạy trên phần cứng vật lý, kẻ tấn công có thể sử dụng các tài nguyên phần cứng này để khai thác tiền điện tử, thực hiện các hoạt động tội phạm mạng khác, biến máy chủ Proxmox thành một phần của mạng botnet, chạy các tập lệnh độc hại, v.v. Những yếu tố này có thể làm giảm đáng kể hiệu suất của máy chủ và các máy ảo.
Các biện pháp bảo mật thiết yếu cho Proxmox
Để giảm thiểu rủi ro truy cập trái phép vào phòng thí nghiệm Proxmox tại nhà, bạn cần hiểu cách bảo mật môi trường Proxmox và triển khai các thực hành bảo mật thiết yếu.
Đặt mật khẩu mạnh và kích hoạt xác thực hai yếu tố (2FA)
Sử dụng mật khẩu mạnh cho các tài khoản quản trị là hàng phòng thủ đầu tiên. Hãy sử dụng mật khẩu duy nhất có ít nhất 8 ký tự. Mật khẩu nên bao gồm chữ thường, chữ hoa, số và ký tự đặc biệt. Bạn có thể sử dụng cụm mật khẩu đáp ứng các yêu cầu này để dễ nhớ hơn. Một mật khẩu mạnh đáp ứng các yêu cầu về độ phức tạp sẽ là rào cản đối với kẻ tấn công vì các cuộc tấn công brute force không thể dễ dàng bẻ khóa được. Để tăng cường bảo mật, bạn có thể cấu hình xác thực hai yếu tố (xác thực đa yếu tố, MFA hoặc 2FA). Proxmox hỗ trợ cấu hình xác thực hai yếu tố theo nhiều cách, chẳng hạn như sử dụng Mật khẩu Một Lần Dựa trên Thời gian (TOTP) hoặc YubiKey OTP. Bạn có thể chỉnh sửa cài đặt xác thực tại Quyền truy cập > Xác thực hai yếu tố trong giao diện web Proxmox VE.
Tăng cường bảo mật truy cập SSH
Việc quản lý Proxmox được thực hiện thông qua giao diện người dùng web đồ họa, nhưng các cấu hình chi tiết nhất có thể được thực hiện trên dòng lệnh thông qua kết nối SSH. Máy chủ SSH có sẵn trên máy chủ Proxmox, tương tự như trên các máy Linux để quản lý máy chủ. Nếu kẻ tấn công có thể truy cập SSH vào máy chủ, chúng có thể có quyền truy cập đầy đủ và chạy phần mềm độc hại.Bạn có thể triển khai các biện pháp bảo mật bổ sung để giảm thiểu rủi ro truy cập trái phép. Ví dụ: bạn có thể thay đổi cổng SSH mặc định (22) thành một cổng tùy chỉnh (9522). Vô hiệu hóa đăng nhập với tài khoản root và sử dụng sudo để có được quyền quản trị. Việc sử dụng khóa công khai thay vì mật khẩu để đăng nhập qua SSH đòi hỏi cấu hình phức tạp hơn nhưng có thể mang lại mức độ bảo mật cao hơn.
Triển khai VLAN để phân đoạn mạng
Bạn nên cân nhắc cấu hình một VLAN nếu muốn kết nối bất kỳ thiết bị nào có thể dễ bị tấn công vào mạng được kết nối với máy chủ Proxmox hoặc các máy ảo (VM). VLAN được sử dụng để phân đoạn mạng ở lớp thứ hai của mô hình OSI, cho phép bạn tách biệt các thiết bị một cách logic trong cùng một mạng vật lý. Các ví dụ về VLAN trong Proxmox VE được sử dụng cho phòng thí nghiệm tại nhà bao gồm:
- VLAN Quản lý: Chỉ dành cho giao diện người dùng Proxmox (GUI), SSH và các công cụ quản trị.
- VLAN Máy ảo (VM): Dành cho các tác vụ cụ thể như máy chủ web, cơ sở dữ liệu hoặc môi trường phát triển.
- VLAN lưu trữ: Dành riêng cho NAS, NFS, iSCSI hoặc máy chủ sao lưu Proxmox.
- VLAN IoT: Tách biệt các thiết bị nhà thông minh khỏi cơ sở hạ tầng quan trọng.
Việc sử dụng VLAN giúp giảm thiểu diện tích tấn công và mang lại các lợi ích sau:
- Hạn chế sự lây lan của phần mềm độc hại giữa các VLAN khác nhau.
- Ngăn chặn các máy ảo bị xâm nhập truy cập vào hệ thống quản lý Proxmox.
- Áp dụng kiểm soát truy cập nghiêm ngặt giữa các dịch vụ.
Ví dụ: nếu phần mềm độc hại lây nhiễm vào một máy ảo (VM) kết nối với VLAN 20 và lây lan trên mạng, nó sẽ không thể truy cập vào giao diện quản lý máy chủ Proxmox kết nối với VLAN 10. Bạn nên cấu hình tường lửa Proxmox và các quy tắc tường lửa ở lớp thứ ba của mô hình OSI, bên cạnh việc cấu hình các VLAN ở lớp thứ hai.
- Chỉ cho phép truy cập SSH vào Proxmox từ VLAN Quản trị 10 (192.168.10.0/24).
- Chặn mọi giao tiếp giữa VLAN Khách 30 (192.168.30.0/24) và VLAN quản lý Proxmox.
- Chỉ cho phép truy cập NAS đối với các máy ảo (VM) cần thiết, không phải toàn bộ mạng.
Một ví dụ về kiến trúc VLAN cho phòng thí nghiệm Proxmox tại nhà được trình bày trong bảng.
| ID VLAN | Mục đích | Mạng con | Quyền truy cập |
| 10 | Quản lý | 192.168.10.0/24 | Giao diện người dùng Proxmox, SSH, Quản lý Hypervisor |
| 20 | Mạng máy chủ/VM | 192.168.20.0/24 | Máy chủ web, máy chủ ứng dụng, VM cơ sở dữ liệu |
| 30 | VLAN khách | 192.168.30.0/24 | Thiết bị có mức độ tin cậy thấp (máy tính xách tay khách, IoT) |
| 40 | VLAN lưu trữ | 192.168.40.0/24 | NFS, iSCSI, NAS, máy chủ sao lưu Proxmox |
| 50 | DMZ (Kết nối với mạng công cộng) | 192.168.50.0/24 | Máy chủ web công cộng, proxy ngược |
Sử dụng bộ chuyển mạch được quản lý để tạo VLAN và gắn thẻ cho các cổng kết nối với Proxmox. Có thể tạo VLAN trong cấu hình mạng Proxmox bằng cách chỉnh sửa /etc/network/interfaces Dưới đây là ví dụ về nội dung tệp cấu hình để tạo VLAN trên các giao diện cầu nối: auto vmbr0 iface vmbr0 inet manual bridge-ports eno1 bridge-stp off bridge-fd 0 # VLAN quản lý (ID 10) auto vmbr0.10 iface vmbr0.10 inet static address 192.168.10.2/24 vlan-raw-device vmbr0 # VLAN máy ảo (ID 20) auto vmbr0.20 iface vmbr0.20 inet static address 192.168.20.2/24 vlan-raw-device vmbr0
Hạn chế truy cập qua các cổng không cần thiết
Kẻ tấn công có thể lợi dụng các cổng mở dành cho các dịch vụ khác nhau để xâm nhập vào máy chủ Proxmox thông qua các lỗ hổng bảo mật hiện có. Hãy chặn truy cập qua các cổng không cần thiết bằng cách sử dụng tường lửa hoặc chỉ cho phép truy cập vào địa chỉ IP của Proxmox và các cổng cụ thể đối với các địa chỉ IP đáng tin cậy được định nghĩa thủ công. Vì Proxmox là một Dựa trên Linux hệ thống, Proxmox VE sử dụng tường lửa mạnh mẽ dựa trên iptables. Trong trường hợp bạn đang sử dụng cụm Proxmox, tường lửa sẽ lưu trữ cấu hình và chạy trên từng nút trong cụm. Để truy cập cấu hình tường lửa Proxmox trong giao diện web Proxmox VE, hãy truy cập Datacenter > Firewall > Security rules và thêm một Nhóm mới với các quy tắc tường lửa tùy chỉnh.
Thiết lập máy ảo (VM) tường lửa hoặc bộ định tuyến
Việc chạy tường lửa trên máy chủ Proxmox hoặc cụm máy chủ Proxmox không chỉ bảo vệ các máy chủ Proxmox trong phòng thí nghiệm tại nhà mà còn bảo vệ nhiều thiết bị khác. Bạn có thể thiết lập một máy ảo chuyên dụng dành cho các tác vụ tường lửa để bảo vệ toàn bộ mạng và tất cả các thiết bị kết nối. Cấu hình này thường được gọi là kiến trúc “tường lửa ảo” hoặc “máy ảo tường lửa”. Các giải pháp tường lửa phổ biến như pfSense, OPNsense hoặc các tường lửa dựa trên Linux như iptables có thể được triển khai theo cách này.Lưu ý rằng cấu hình phòng thí nghiệm Proxmox tại nhà với máy ảo tường lửa này có thể thuận tiện nếu máy chủ Proxmox hoạt động liên tục. Nếu máy chủ Proxmox bị tắt định kỳ, máy ảo tường lửa được sử dụng cho toàn bộ mạng cũng sẽ bị tắt nguồn. Điều này có thể gây ra sự cố nếu máy ảo tường lửa được sử dụng để truy cập internet cho tất cả các thiết bị trong mạng (trong trường hợp này, việc sử dụng một thiết bị vật lý được cấu hình làm tường lửa có thể thuận tiện hơn). Bạn nên xem xét các ưu và nhược điểm của cấu hình này đối với môi trường của mình trước khi quyết định có nên sử dụng máy ảo tường lửa hay không.
Mã hóa đĩa ZFS để bảo vệ dữ liệu
Nếu bạn sử dụng hệ thống tệp ZFS trên máy chủ Proxmox và cần mức độ bảo mật cao nhất, hãy cân nhắc kích hoạt tính năng mã hóa ZFS cho Proxmox để mã hóa các nhóm lưu trữ và ngăn chặn truy cập trái phép vào các ổ đĩa chứa dữ liệu. Hãy cẩn thận trước khi thực hiện bất kỳ thao tác nào với đĩa và hệ thống tệp. Sao lưu dữ liệu quan trọng trước khi thay đổi cấu hình lưu trữ. Ví dụ về việc mã hóa một nhóm ZFS trên máy chủ Proxmox: zfs create pool-name/safe -o encryption=on -o keyformat=passphrase
Không bao giờ để Proxmox tiếp xúc với mạng internet công cộng
Không cho phép truy cập công khai vào máy chủ Proxmox từ internet. Nếu bạn cần cấp quyền truy cập vào máy chủ Proxmox từ các vị trí bên ngoài, hãy cấu hình tường lửa để cho phép truy cập từ các địa chỉ IP cụ thể vào máy chủ Proxmox của bạn bằng cách chỉ định rõ các địa chỉ IP và số cổng. Bạn có thể sử dụng tính năng chuyển tiếp cổng (port forwarding) trên tường lửa cho mục đích này. Ngoài ra, bạn có thể cấu hình một máy chủ VPN trong môi trường nơi đặt phòng thí nghiệm Proxmox tại nhà và sử dụng kết nối VPN để truy cập máy chủ Proxmox từ các mạng bên ngoài.
Giám sát và Kiểm tra Bảo mật Proxmox
Giám sát Các máy chủ Proxmox trong phòng thí nghiệm tại nhà có thể giúp nâng cao mức độ bảo mật tổng thể. Hãy theo dõi nhật ký trên máy chủ Proxmox và giám sát việc sử dụng CPU, RAM và đĩa cứng. Đảm bảo rằng các nhật ký tích hợp sẵn của Proxmox đã được kích hoạt:
- Syslog: /var/log/syslog – Nhật ký hệ thống chung.
- Xác thực: /var/log/auth.log – Các lần đăng nhập qua SSH và giao diện đồ họa (GUI).
- Nhật ký riêng của Proxmox: /var/log/pve/ – Nhật ký liên quan đến các dịch vụ của Proxmox.
Ngoài ra, bạn có thể sử dụng các công cụ giám sát tập trung chuyên dụng (giải pháp miễn phí hoặc trả phí) để theo dõi các máy chủ Proxmox và hệ điều hành khách trên các máy ảo. Cấu hình cảnh báo và thông báo để khắc phục các sự cố tiềm ẩn càng sớm càng tốt. Hãy chú ý đến các điều kiện sau khi cấu hình xác thực tự động:
- Hơn 5 lần đăng nhập SSH thất bại trong vòng 5 phút.
- Tỷ lệ sử dụng CPU của một máy ảo duy trì trên 90% trong hơn 10 phút.
- Phát hiện cổng mở bất thường trên máy chủ Proxmox.
Thực hiện kiểm tra định kỳ và quét bảo mật. Cài đặt các bản vá bảo mật và cập nhật thường xuyên để khắc phục các lỗ hổng đã biết. Kiểm tra các quy tắc tường lửa để đảm bảo chúng được tối ưu hóa, đồng thời xem xét các thay đổi mới nhất trong hạ tầng.
Bảo vệ bản sao lưu Proxmox khỏi phần mềm tống tiền
Bản sao lưu Proxmox cho phép bạn bảo vệ dữ liệu trong môi trường ảo Proxmox. Hãy sao lưu các máy ảo thường xuyên và lưu trữ bản sao lưu ở nơi an toàn. Nếu ransomware lây nhiễm vào các máy ảo và mã hóa dữ liệu không thể khôi phục, bạn có thể khôi phục từ các bản sao lưu để tránh mất dữ liệu. Tuy nhiên, các bản sao lưu cũng là mục tiêu của ransomware. Đảm bảo rằng chỉ những người dùng được ủy quyền mới có thể truy cập vào bộ lưu trữ sao lưu và các ứng dụng liên quan. Sử dụng bộ lưu trữ cách ly (air-gapped) và tính bất biến của bản sao lưu để đảm bảo bảo vệ tối ưu khỏi ransomware cho phòng thí nghiệm Proxmox tại nhà và các bản sao lưu Proxmox của bạn. Bộ lưu trữ cách ly có thể là ổ cứng (HDD) được ngắt kết nối vật lý, đĩa quang, băng từ, v.v. Tính bất biến của bản sao lưu là một tính năng sử dụng phương pháp ghi một lần – đọc nhiều lần (WORM). Một khi dữ liệu đã được ghi, nó không thể bị sửa đổi hoặc xóa cho đến khi thời hạn bất biến hết hiệu lực. NAKIVO Backup & Replication là một giải pháp bảo vệ dữ liệu chuyên dụng hỗ trợ sao lưu Proxmox cho các máy ảo và tính bất biến. Các bản sao lưu bất biến có thể được cấu hình trên kho lưu trữ dự phòng cục bộ được kết nối với Linux Phương tiện vận chuyển, Amazon S3, đám mây và bộ lưu trữ đối tượng tương thích với S3.
Kết luận
Các biện pháp bảo mật hiệu quả của Proxmox bao gồm chính sách xác thực mạnh mẽ, phân đoạn mạng, hạn chế truy cập trong tường lửa, bảo mật SSH của Proxmox, giám sát môi trường, sao lưu dữ liệu và bảo vệ chống ransomware. Hãy triển khai các biện pháp này trên hệ thống Proxmox của bạn trong môi trường phòng thí nghiệm để giảm thiểu rủi ro nhiễm mã độc và ngăn ngừa mất dữ liệu. Sử dụng NAKIVO Backup & Replication để sao lưu các máy ảo Proxmox và bảo vệ các bản sao lưu khỏi ransomware nhờ tính bất biến.