Các Cách Cơ Bản Để Tăng Cường Bảo Mật Máy Chủ Linux
Bảo mật máy chủ Linux là một phần quan trọng để bảo vệ hệ thống khỏi các cuộc tấn công mạng, truy cập trái phép và lỗ hổng bảo mật. Dưới đây là những cách cơ bản nhưng hiệu quả để tăng cường bảo mật cho máy chủ Linux của bạn.
1. Cập Nhật Hệ Thống Thường Xuyên
Các bản cập nhật giúp vá lỗ hổng bảo mật và nâng cấp phần mềm. Hãy đảm bảo máy chủ Linux luôn được cập nhật:
- Đối với Ubuntu/Debian:
sudo apt update && sudo apt upgrade -y
- Đối với CentOS/RHEL:
sudo yum update -y
- Đối với hệ thống dùng dnf:
sudo dnf update -y
Bạn cũng có thể tự động hóa quá trình này bằng cách sử dụng unattended-upgrades trên Ubuntu/Debian:
sudo apt install unattended-upgrades -y
2. Kiểm Soát Quyền Truy Cập SSH
2.1. Thay Đổi Cổng SSH Mặc Định
Mặc định SSH sử dụng cổng 22, dễ bị dò quét. Thay đổi nó giúp giảm nguy cơ bị tấn công brute-force:
- Mở tệp cấu hình SSH:
sudo nano /etc/ssh/sshd_config
- Tìm dòng #Port 22, sửa thành:
Port 2222
- Khởi động lại dịch vụ SSH:
sudo systemctl restart sshd
2.2. Chặn Đăng Nhập Root Qua SSH
Mặc định, tài khoản root có quyền cao nhất. Tắt đăng nhập root để tăng cường bảo mật:
Trong /etc/ssh/sshd_config, tìm dòng:
PermitRootLogin yes
Thay thành:
PermitRootLogin no
- Khởi động lại SSH:
sudo systemctl restart sshd
2.3. Chỉ Cho Phép SSH Bằng Khóa Công Khai
Đăng nhập bằng mật khẩu dễ bị brute-force. Nên sử dụng xác thực bằng khóa SSH:
- Tạo cặp khóa SSH trên máy khách:
ssh-keygen -t rsa -b 4096
- Sao chép khóa công khai lên máy chủ:
ssh-copy-id user@your-server-ip
- Vô hiệu hóa đăng nhập bằng mật khẩu trong /etc/ssh/sshd_config:
PasswordAuthentication no
- Khởi động lại SSH:
sudo systemctl restart sshd
3. Thiết Lập Tường Lửa (Firewall)
Dùng UFW (Uncomplicated Firewall) trên Ubuntu/Debian:
sudo apt install ufw -y
sudo ufw allow 2222/tcp # Cho phép SSH với cổng mới
sudo ufw allow http # Cho phép HTTP sudo ufw allow https # Cho phép HTTPS
sudo ufw enable # Kích hoạt tường lửa
Kiểm tra trạng thái:
sudo ufw status
Trên CentOS/RHEL, dùng firewalld:
sudo systemctl enable firewalld
sudo systemctl start firewalld
sudo firewall-cmd --add-service=ssh --permanent
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload
4. Cấu Hình Fail2Ban Chống Tấn Công Brute-Force
Fail2Ban tự động khóa địa chỉ IP sau nhiều lần đăng nhập thất bại. Cài đặt trên Ubuntu/Debian:
sudo apt install fail2ban -y
Trên CentOS/RHEL:
sudo yum install epel-release -y sudo yum install fail2ban -y
Cấu hình /etc/fail2ban/jail.local:
[sshd]
enabled = true
bantime = 600 findtime = 600
maxretry = 5
Khởi động dịch vụ:
sudo systemctl enable fail2ban sudo systemctl start fail2ban
5. Hạn Chế Quyền Sudo
Chỉ cấp quyền sudo cho những người thực sự cần. Xóa quyền sudo của một người dùng:
sudo deluser username sudo
Hoặc dùng visudo để chỉnh sửa /etc/sudoers và thiết lập hạn chế theo ý muốn.
6. Giám Sát Hoạt Động Hệ Thống
Sử dụng các công cụ sau để theo dõi hệ thống:
- Kiểm tra người dùng đang đăng nhập:
who
- Xem các lần đăng nhập gần đây:
last
- Xem các kết nối mạng hiện tại:
netstat -tulnp
- Giám sát tiến trình:
top
7. Sử Dụng SELinux hoặc AppArmor
Trên CentOS/RHEL, kiểm tra SELinux:
sestatus
Nếu đang ở chế độ Disabled, bật lại bằng cách sửa /etc/selinux/config:
SELINUX=enforcing
Sau đó khởi động lại máy chủ:
sudo reboot
Trên Ubuntu/Debian, dùng AppArmor để giới hạn quyền ứng dụng:
sudo aa-status
8. Tắt Dịch Vụ Không Cần Thiết
Xem danh sách dịch vụ đang chạy:
sudo systemctl list-units --type=service
Tắt dịch vụ không cần thiết, ví dụ:
sudo systemctl disable cups
sudo systemctl stop cups
9. Chống Tấn Công DDoS với Cloudflare hoặc IPTables
Nếu máy chủ bị tấn công DDoS, có thể dùng IPTables để giới hạn số kết nối:
sudo iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 20 -j REJECT
Hoặc sử dụng Cloudflare để ẩn IP thực của máy chủ.
10. Sao Lưu Dữ Liệu Định Kỳ
Luôn có kế hoạch sao lưu phòng trường hợp bị tấn công hoặc mất dữ liệu.
Dùng rsync để sao lưu dữ liệu quan trọng:
rsync -avz /home/user/data backup-user@backup-server:/backup/
Hoặc dùng tar để nén toàn bộ thư mục:
tar -czvf backup.tar.gz /home/user/data
Kết Luận
Tăng cường bảo mật cho máy chủ Linux không chỉ giúp ngăn chặn các cuộc tấn công mạng mà còn bảo vệ dữ liệu quan trọng. Các bước cơ bản như cập nhật hệ thống, thiết lập firewall, hạn chế quyền truy cập SSH và giám sát hoạt động hệ thống sẽ giúp máy chủ an toàn hơn.