Bài viết này được viết dành cho hệ điều hành CentOS 8/7 được dùng để nâng cao bảo mật cho hệ thống. Hướng dẫn này có thể được sử dụng cho phần lớn các loại server từ vật lí tới servers ảo. Thậm chí cũng có thể áp dụng cho máy tính cá nhân hoặc Raspberry Pi
Mục lục
- 1. Bảo vệ ở mức vật lý
- 2. Giảm thiểu các tác động gián điệp
- 3. Bảo mật BIOS/UEFI
- 4. Bảo mật Boot Loader
- 5. Sử dụng các phân vùng ổ đĩa riêng biệt
- 6. Sử dụng LVM và RAID
- 7. Chỉnh sửa cài đặt của fstab
- 8. Mã hoá ổ đĩa ở cấp độ block với LUKS
- 9. Sử dụng PGP và Public Keys
- 10. Chỉ cài đặt những packages thực sự cần thiết
- 11. Cập nhật phần mềm thường xuyên
- 12. Khoá tổ hợp phím Ctrl + Alt + Del
- 13. Gỡ bỏ các packages không cần thiết
- 14. Khởi động lại các Systemd Services sau khi thực hiện Daemon Updates
- 15. Xoá bỏ các Services không cần thiết
- 16. Mã hoá các dữ liệu được truyền dẫn
- 17. Quét các Port trong mạng
- 18. Lọc các packet qua Firewall
- 19. Kiểm tra các giao thức của mỗi gói tin với Tcpdump
- 20. Phòng ngừa tấn công DNS
1. Bảo vệ ở mức vật lý
Đảm bảo phòng server của các bạn được khoá cẩn thận, sử dụng các chìa khoá và camera an ninh. Bởi vì việc cho những người không có thẩm quyền tiếp cận vào phòng server sẽ đặt ra nhiều rủi ro về bảo mật. Ví dụ như mật khẩu BIOS có thể dễ dàng gỡ bỏ bằng cách tháo pin CMOS và chúng ta hoàn toàn có thể boot một Distro dưới chế độ LIVE sau đó clone hoặc copy data mà khó bị phát hiện
2. Giảm thiểu các tác động gián điệp
Trong trường hợp có nhiều dữ liệu nhạy cảm, bạn có thể sử dụng các giải pháp bảo vệ vật lí nâng cao như đặt server trong một thiết bị như Faraday Cage hoặc dùng một giải pháp có hơi hướng quân động như TEMPEST để giảm thiểu các tác động gián điệp bằng sóng radio hoặc qua nguồn điện
3. Bảo mật BIOS/UEFI
Bắt đầu quá trình bảo mật bắt đầu từ các cài đặt là BIOS/UEFI, đặt một mật khẩu BIOS/UEFO và chặn việc boot từ các thiết bị bên ngoài (CD/DVD/USB) cũng như ngăn chặn việc thay đổi cài đặt BIOS cũng như việc boot từ thiết bị bên ngoài. Tuy nhiên để thực hiện những bảo mật này bạn cần phải xem xét là mainboard của các bạn có hỗ trợ các tính năng bảo mật nâng cao này không
4. Bảo mật Boot Loader
Đặt một password dành cho GRUB để ngăn chặn việc khởi động vào chế độ single-user và đặt lại Password Root từ đó chiếm quyền sở hữu hệ thống
5. Sử dụng các phân vùng ổ đĩa riêng biệt
Khi cài đặt, bạn nên lưu trữ các thành phần chính của hệ thống ra các phân vùng riêng biệt. Ví dụ như: /(root), /boot, /home, /tmp, /var
6. Sử dụng LVM và RAID
Phân vùng /var là nơi mà các log của hệ thống được ghi vào ổ đĩa. Riêng phần này của hệ thống có thể gia năng rất nhanh về dung lượng, do vậy bạn có thể xem xét việc thiết lập phân vùng này sử dụng logical volumes (LVM) hoặc gập nhiều ổ đĩa vật lí thành một ổ ảo lớn RAID 0 để có thể chịu đựng được lượng dữ liệu lớn, về dữ liệu, xem xét việc dùng kiến trúc LVM ở trên cấp độ RAID 1
7. Chỉnh sửa cài đặt của fstab
Với các phân vùng chỉ dùng để lưu trữ dữ liệu thì bạn có thể ngăn chặn việc thực thi các phần mềm ở đây, bạn có thể thêm các thiết đặt vào fstab như hình dưới
/dev/sda5 /nas ext4 defaults,nosuid,nodev,noexec 1 2
Để ngăn chặn việc leo thang đặc quyền và việc thực thi script trái phép bạn có thể tạo một phân vùng riêng cho thư mục /tmp và mount nó dưới dạng nosuid, nodev và noexec
/dev/sda6 /tmp ext4 defaults,nosuid,nodev,noexec 0 0
8. Mã hoá ổ đĩa ở cấp độ block với LUKS
Để bảo vệ các dữ liệu nhạy cảm trong trường hợp ai đó đánh cắp ổ đĩa của bạn. Bạn nên học cách mã hoá đĩa trong bài hướng dẫn mã hoá ổ đĩa Linux với LUKS ở đây
9. Sử dụng PGP và Public Keys
Ngoài việc dùng LUKS bạn có thể dùng PGP và Public-Key và câu lệnh OpenSSL để mã hoá và giải mã các files nhạy cảm với mật khẩu như đã trình bày trong bài hướng dẫn ở đây.
10. Chỉ cài đặt những packages thực sự cần thiết
Hạn chế việc cài đặt những phần mềm không cần thiết để tránh việc gặp các lỗ hổng ở các phần mềm. Hãy giảm thiểu tối đa số lượng các package tồn tại trên hệ thống, chỉ cài khi thực sự cần thiết
11. Cập nhật phần mềm thường xuyên
Cập nhật phần mềm thường xuyên và đảm bảo nhân Linux của bạn được đồng bộ với các bản vá mới nhất của hệ thống cũng như các phần mềm được cài đặt trên hệ thống được cập nhật mới nhất bằng cách chạy câu lệnh dưới đây
yum update
12. Khoá tổ hợp phím Ctrl + Alt + Del
Nếu bạn muốn việc ngăn chặn người dùng khởi động lại hệ thống bạn nên sử chặn quyền sử dụng tổ hợp phím Ctrl + Alt + Del bằng cách sử dụng câu lệnh
systemctl mask ctrl-alt-del.target
13. Gỡ bỏ các packages không cần thiết
Như đã nói ở điều 10 bạn nên gỡ bỏ các packages không cần thiết để đảm bảo sự an toàn cho hệ thống. Bạn có thể thực hiện theo các bước sau
Xác minh các packages đã cài trong hệ thống bằng câu lệnh
rpm -qa
Tạo một danh sách các packages đã cài và lưu lại dưới tên files installed.txt
yum list installed >> installed.txt
Gỡ bỏ các packages không cần thiết bằng câu lệnh
yum remove tên packages
14. Khởi động lại các Systemd Services sau khi thực hiện Daemon Updates
Sử dụng câu lệnh sau đây để khởi động lại các dịch vụ liên quan tới systemd sau khi một bản cập nhật hệ thống được thực hiện thành công. Chẳng hạn với dịch vụ HTTPD
systemctl restart httpd.service
15. Xoá bỏ các Services không cần thiết
Xác định các services đang hoạt động trong hệ thống bằng câu lệnh ss
ss -tulpn
Để xem danh sách tất cả các dịch vụ đang hoạt động với trạng thái output của chúng, chúng ta sử dụng câu lệnh
systemctl list-units -t service
Ví dụ, với cài đặt mặc định của CentOS có đi kèm dịch vụ Postfix được cài đặt và hoạt động dưới port 25. Vì vậy hãy Gỡ bỏ dịch vụ postfix sẽ nếu server của bạn không sử dụng vào mục đích làm mail server
yum remove postfix
16. Mã hoá các dữ liệu được truyền dẫn
Không sử dụng các giao thức kém an toàn như Telnet, FTP hoặc các giao thức plain text như SMTP, HTTP, NFS hoặc SMB. Chỉ sử dụng SFTP, SCP để truyền files và SSH hoặc VNC qua SSH tunnels khi bạn cần remote vào hệ thống với giao diện đồ hoạ. Ví dụ để chuyền VNC Console qua SSH sử dụng cổng 5901 bạn có thể dùng câu lệnh
ssh -L 5902:localhost:5901 remote_machine
Trên máy local bạn chạy câu lệnh sau để kết nối
vncviewer localhost:5902
17. Quét các Port trong mạng
Kiểm tra các port bên ngoài dùng công cụ Nmap từ một hệ thống khác trong mạng LAN. Kiểu scan này có thể dùng để kiểm tra các lỗ hổng trong mạng cũng như kiểm tra các quy tắc trên firewalls
nmap -sT -O 192.168.1.10
18. Lọc các packet qua Firewall
Sử dụng công cụ firewalld để bảo vệ các cổng của hệ thống, đóng hoặc mở một cổng cụ thể (Đặc biệt là các port phổ biến <1024)
Cài đặt, khởi động, kích hoạt và liệt kê các quy tắc của firewall bằng cách sử dụng các câu lệnh dưới đây
yum install firewalld systemctl start firewalld.service systemctl enable firewalld.service firewall-cmd --list-all
19. Kiểm tra các giao thức của mỗi gói tin với Tcpdump
Sử dụng công cụ tcpdump để giữ lại các packets trong mạng của bạn và kiểm tra nội dung của chúng nhằm tìm ra các traffic đáng ngờ (Dựa theo ports đích, giao thức TCP/IP, layer two traffic, hoặc những yêu cầu ARP đáng ngờ)
Bạn có thể phân tích files captured của tcpdump bằng các công cụ nâng cao như Wireshark
tcpdump -i eno16777736 -w tcpdump.pcap
20. Phòng ngừa tấn công DNS
Kiểm tra nội dung của bộ phân giải của bạn, đặc biệt là files /etc/resolv.conf. Vốn định nghĩa ra các địa chỉ IP của các máy chủ DNS nó sẽ sử dụng để query các domain. Nhằm phòng ngừa các cuộc tấn công do người đứng giữa, các traffic không cần thiết cho DNS Server, Spoò hoặc tạo ra một cuộc tấn công DOS
Máy chủ vật lý
4 Lợi Ích Thiết Thực Mà Máy Chủ Vật Lý Mang Lại Cho Doanh Nghiệp
Trong thời đại chuyển đổi số mạnh mẽ như hiện nay, việc đầu tư vào [...]
Giải pháp
Cách Phòng Chống DDoS Cho Website, VPS, và Server Hiệu Quả
Các cuộc tấn công DDoS (Distributed Denial of Service) là một mối đe dọa lớn [...]
Chưa được phân loại portal portal cloudzone Về Portal
Mã đăng nhập Portal Cloudzone là gì? 3 cách lấy mã đăng nhập
Ngày nay, khi công nghệ số phát triển mạnh mẽ, việc bảo mật thông tin [...]
Cloud hosting Blog
So sánh Cloud Hosting cPanel, DirectAdmin và Plesk
Khi lựa chọn dịch vụ Cloud Hosting để lưu trữ website hoặc ứng dụng, một [...]
Cloud VPS
[2024] Kinh Nghiệm Chọn VPS Treo Game Không Lo Gián Đoạn
Với sự phát triển nhanh chóng của các trò chơi trực tuyến, việc duy trì [...]
Blog
Tuyển Đại lý dịch vụ Cloud – Chiết khấu đến 35%
Cloudzone tuyển đại lý dịch vụ Cloud, Data Center với lợi nhuận không giới hạn, [...]