Trang chủKiến thức VPSBài viết
Kiến thức VPS

Bảo mật mật khẩu SSH

13/01/2025 1416 lượt xem admin Cập nhật: 04/12/2025
5/5 - (534 bình chọn)

Bảo mật mật khẩu SSH là một yếu tố rất quan trọng để bảo vệ máy chủ của bạn khỏi các cuộc tấn công từ bên ngoài. Dưới đây là một số biện pháp mà bạn có thể áp dụng để bảo mật mật khẩu SSH của mình:

1. Sử dụng SSH Key thay vì mật khẩu

Sử dụng khóa SSH (public/private key pair) là một cách an toàn hơn nhiều so với việc sử dụng mật khẩu để đăng nhập vào server.

  • Tạo SSH Key Pair: Trên máy tính của bạn, bạn có thể tạo một SSH key pair (cặp khóa công khai và riêng tư) bằng lệnh:
    ssh-keygen -t rsa -b 4096 -C "[email protected]"
    Điều này sẽ tạo ra một cặp khóa SSH, trong đó khóa công khai sẽ được tải lên máy chủ của bạn và khóa riêng tư sẽ được lưu trên máy tính của bạn.
  • Cài đặt khóa công khai lên server: Sau khi tạo SSH key pair, bạn cần tải khóa công khai lên server. Một cách dễ dàng là sử dụng lệnh ssh-copy-id:
    ssh-copy-id user@your-server-ip
    Lệnh này sẽ thêm khóa công khai vào file ~/.ssh/authorized_keys trên server.
  • Tắt đăng nhập bằng mật khẩu: Để ngừng cho phép đăng nhập bằng mật khẩu, bạn cần thay đổi cấu hình của SSH. Mở file cấu hình SSH:
    sudo nano /etc/ssh/sshd_config
    Thay đổi các tham số sau:

    • PasswordAuthentication no
    • ChallengeResponseAuthentication no

    Sau đó, khởi động lại dịch vụ SSH:

    sudo systemctl restart sshd
    Bây giờ, server chỉ cho phép đăng nhập thông qua SSH key.

2. Cấu hình bảo mật mạnh cho SSH

Ngoài việc sử dụng SSH keys, bạn có thể áp dụng thêm các biện pháp bảo mật sau:

  • Đổi cổng SSH mặc định: Mặc định, SSH chạy trên cổng 22, điều này dễ dàng bị tấn công bởi các bot hoặc hacker. Bạn có thể thay đổi cổng SSH sang một cổng khác để giảm nguy cơ bị tấn công.

    Mở file cấu hình SSH:

    sudo nano /etc/ssh/sshd_config
    Tìm dòng #Port 22 và thay đổi thành cổng khác, ví dụ Port 2222.

    Sau đó, khởi động lại SSH:

    sudo systemctl restart sshd
  • Sử dụng Firewall (Tường lửa): Thiết lập firewall để chỉ cho phép các IP đáng tin cậy kết nối vào server qua SSH. Ví dụ, nếu bạn sử dụng ufw, bạn có thể chỉ cho phép kết nối SSH từ một địa chỉ IP nhất định:
    sudo ufw allow from YOUR_IP to any port 22
  • Sử dụng Fail2Ban: Fail2Ban là một công cụ bảo mật giúp bảo vệ server khỏi các cuộc tấn công brute force (tấn công thử mật khẩu) bằng cách chặn các IP cố gắng đăng nhập quá nhiều lần sai. Bạn có thể cài đặt và cấu hình Fail2Ban như sau:
    sudo apt-get install fail2ban
    sudo systemctl enable fail2ban
    sudo systemctl start fail2ban
    Fail2Ban sẽ tự động chặn các IP cố gắng đăng nhập sai quá nhiều lần.

3. Kiểm tra và tạo mật khẩu mạnh

Nếu bạn vẫn muốn sử dụng mật khẩu thay vì SSH key, hãy đảm bảo rằng mật khẩu của bạn là đủ mạnh:

  • Mật khẩu nên có ít nhất 12 ký tự, kết hợp giữa chữ hoa, chữ thường, số và ký tự đặc biệt.
  • Tránh sử dụng mật khẩu dễ đoán hoặc thông dụng (ví dụ: password123, admin, v.v.).
  • Bạn có thể sử dụng các công cụ như pwgen để tạo mật khẩu mạnh hoặc sử dụng trình quản lý mật khẩu để lưu trữ mật khẩu an toàn.

4. Giới hạn người dùng có quyền truy cập SSH

Chỉ cho phép những người dùng cần thiết mới có quyền truy cập SSH vào server. Mở file cấu hình SSH:

sudo nano /etc/ssh/sshd_config
Thêm hoặc chỉnh sửa dòng sau để chỉ cho phép một số người dùng được phép đăng nhập SSH:
AllowUsers user1 user2
Sau đó, khởi động lại SSH:
sudo systemctl restart sshd

5. Bảo vệ SSH bằng Two-Factor Authentication (2FA)

Cài đặt xác thực hai yếu tố (2FA) cho SSH để tăng cường bảo mật. Bạn có thể sử dụng Google Authenticator hoặc các công cụ tương tự để yêu cầu mã xác nhận mỗi khi đăng nhập.

  • Cài đặt pam_google_authenticator:
    sudo apt-get install libpam-google-authenticator
  • Thêm dòng sau vào cuối file cấu hình PAM của SSH:
    sudo nano /etc/pam.d/sshd
    Thêm dòng này vào cuối:
    auth required pam_google_authenticator.so
    Sau đó, cấu hình Google Authenticator cho người dùng:
    google-authenticator

Sau khi thiết lập xong, khi đăng nhập vào server qua SSH, bạn sẽ cần nhập mã xác thực từ ứng dụng Google Authenticator ngoài mật khẩu hoặc khóa SSH.

6. Giới hạn số lần thử đăng nhập

Bạn có thể giới hạn số lần đăng nhập sai để tránh tấn công brute force. Đây là một tính năng có thể được cấu hình trong file sshd_config:

sudo nano /etc/ssh/sshd_config
  • MaxAuthTries: Giới hạn số lần thử đăng nhập sai.
    MaxAuthTries 3

Sau khi thay đổi, khởi động lại SSH:

sudo systemctl restart sshd

Áp dụng những biện pháp trên sẽ giúp bạn bảo mật SSH và giảm nguy cơ bị tấn công. Mỗi biện pháp đóng góp một phần vào việc bảo vệ máy chủ của bạn.

Chào ! Bạn thấy nội dung này thế nào?
webdy.vn
webdy.vn

Tạo web nhanh dùng thử miễn phí.

Chia sẻ ↗

Bài liên quan

×