Hướng Dẫn Đổi Port SSH Trong 5 Bước An Toàn Để Chống Brute Force

Thảo luận trong 'Tin Tức Công Nghệ' bắt đầu bởi Nguyễn Hy Long, 22/11/25 lúc 14:36.

  1. Nguyễn Hy Long

    Nguyễn Hy Long New Member
    1/6

    Đổi Port SSH là một trong những bước cơ bản nhưng mang lại hiệu quả tức thì trong việc bảo vệ máy chủ khỏi các cuộc tấn công tự động. Bài viết này của [Tên thương hiệu của bạn] sẽ cung cấp một quy trình 5 bước an toàn và chi tiết, giúp bạn tự tin thay đổi cổng SSH mặc định trên Ubuntu và CentOS, đồng thời trang bị kiến thức để xử lý các lỗi thường gặp, đảm bảo bạn không bao giờ bị khóa khỏi server của chính mình.

    Tại sao cần đổi Port SSH mặc định (Port 22)?
    Giao thức SSH (Secure Shell) là cổng kết nối chính để quản trị viên truy cập và điều khiển máy chủ Linux từ xa. Mặc định, giao thức này hoạt động trên cổng 22. Vì là một tiêu chuẩn được biết đến rộng rãi, Port 22 đã trở thành mục tiêu mặc định cho các cuộc tấn công tự động trên khắp internet.

    Một trong những hình thức tấn công phổ biến nhất nhắm vào cổng 22 là tấn công Brute Force (tấn công vét cạn). Kẻ xấu sử dụng các chương trình tự động (bot) để liên tục quét các địa chỉ IP trên mạng. Khi phát hiện một máy chủ đang mở Port 22, bot sẽ tự động thử hàng triệu tổ hợp tên người dùng và mật khẩu phổ biến (ví dụ: root/password, admin/123456) để cố gắng đăng nhập. Theo các báo cáo an ninh mạng, có tới hơn 20 triệu hệ thống trên toàn thế giới đang mở Port 22 ra internet, biến chúng thành một bề mặt tấn công khổng lồ.

    Hậu quả của một cuộc tấn công Brute Force thành công là rất nghiêm trọng, kẻ xấu có thể chiếm toàn quyền kiểm soát máy chủ, đánh cắp dữ liệu, cài cắm mã độc hoặc sử dụng máy chủ của bạn để tấn công các mục tiêu khác.

    Việc đổi Port SSH sang một cổng khác không phải mặc định (ví dụ: 2222) là một biện pháp bảo mật đơn giản nhưng hiệu quả. Nó hoạt động dựa trên nguyên tắc "an ninh qua sự che giấu" (security through obscurity). Hầu hết các bot tấn công tự động chỉ được lập trình để quét cổng 22. Khi bạn di chuyển dịch vụ SSH sang một cổng khác, máy chủ của bạn sẽ trở nên "vô hình" trước các cuộc quét này, giúp giảm tới 99% các nỗ lực tấn công tự động và làm cho nhật ký hệ thống (system logs) trở nên sạch sẽ hơn.

    [​IMG]



    3 Việc cần làm TRƯỚC KHI đổi Port SSH
    Đây là giai đoạn chuẩn bị quan trọng nhất, quyết định sự thành công của quá trình và giúp bạn tránh được rủi ro lớn nhất: tự khóa mình khỏi máy chủ. Hãy thực hiện cẩn thận từng bước dưới đây.

    1. Chọn một Port mới phù hợp
    Bạn không thể chọn một số port bất kỳ. Một số port đã được dành riêng cho các dịch vụ hệ thống quan trọng khác.

    • Nguyên tắc chọn port: Hãy chọn một số trong dải 1024 đến 65535. Các port từ 0 đến 1023 được gọi là "Well-Known Ports", dành riêng cho các dịch vụ hệ thống như HTTP (80), FTP (21),...
    • Kiểm tra Port đã được sử dụng chưa: Trước khi quyết định, bạn cần chắc chắn rằng port mới chưa được dịch vụ nào khác trên máy chủ sử dụng. Dùng lệnh ss -tlnp | grep <số_port> để kiểm tra.
    Ví dụ, để kiểm tra xem port 2222 có đang được sử dụng không:

    ss -tlnp | grep 2222
    Nếu lệnh này không trả về kết quả nào, có nghĩa là port 2222 đang trống và an toàn để sử dụng.

    2. Sao lưu file cấu hình SSHD
    Bất kỳ thay đổi nào trên file cấu hình hệ thống đều có khả năng gây ra lỗi. Việc tạo một bản sao lưu là hành động bắt buộc để có một phương án dự phòng an toàn. Nếu có sự cố, bạn có thể dễ dàng khôi phục lại file gốc.

    Sử dụng lệnh cp để tạo một bản sao của file cấu hình SSH:

    sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
    Lệnh này sẽ tạo ra một file tên là sshd_config.bak trong cùng thư mục, chứa nội dung y hệt file gốc.

    3. Mở một phiên SSH thứ hai và giữ nó
    Đây là mẹo quan trọng nhất để đảm bảo bạn không mất quyền truy cập. Tuyệt đối không đóng phiên SSH (cửa sổ dòng lệnh) mà bạn đang dùng để cấu hình.

    Thay vào đó, hãy mở một cửa sổ dòng lệnh mới và kết nối SSH vào máy chủ thêm một lần nữa. Như vậy, bạn sẽ có hai phiên SSH hoạt động song song.

    • Phiên 1: Dùng để chỉnh sửa file cấu hình, mở firewall và khởi động lại dịch vụ.
    • Phiên 2: Dùng để kiểm tra kết nối bằng port mới sau khi đã cấu hình xong.
    Nếu việc kết nối ở phiên 2 thất bại, bạn vẫn còn phiên 1 để truy cập và sửa chữa lỗi sai. Đây chính là "lưới an toàn" của bạn.

    Hướng dẫn chi tiết cách đổi Port SSH trên Linux (Ubuntu & CentOS)
    Quy trình về cơ bản là giống nhau trên các bản phân phối Linux, bao gồm việc sửa file cấu hình và cấu hình tường lửa. Sự khác biệt chính nằm ở công cụ quản lý tường lửa được sử dụng.

    Cách 1: Đổi Port SSH trên Ubuntu/Debian
    Các hệ điều hành dựa trên Debian như Ubuntu thường sử dụng tường lửa UFW (Uncomplicated Firewall).

    Bước 1: Mở file cấu hình sshd_config
    Sử dụng một trình soạn thảo văn bản dòng lệnh như nano hoặc vim để mở file. nano thường thân thiện hơn với người mới bắt đầu.

    sudo nano /etc/ssh/sshd_config
    Bước 2: Tìm và thay đổi giá trị Port
    Dùng các phím mũi tên để di chuyển trong file. Tìm đến dòng #Port 22. Dấu # ở đầu dòng có nghĩa là dòng này đang ở trạng thái ghi chú. Hãy xóa dấu # và thay đổi số 22 thành số port mới bạn đã chọn (ví dụ: 2222).

    Bước 3: Mở Port mới trên tường lửa UFW
    Đây là bước cực kỳ quan trọng. Nếu bạn không cho phép tường lửa mở cổng mới, mọi kết nối đến cổng này sẽ bị chặn.

    sudo ufw allow 2222/tcp
    Bước 4: Khởi động lại dịch vụ SSH
    Để các thay đổi trong file sshd_config có hiệu lực, bạn cần khởi động lại dịch vụ SSH.

    sudo systemctl restart sshd
    Cách 2: Đổi Port SSH trên CentOS/RHEL
    Các hệ điều hành như CentOS, RHEL, hay AlmaLinux thường sử dụng Firewalld để quản lý tường lửa và có thể có SELinux được kích hoạt.

    Bước 1: Mở file cấu hình sshd_config
    Sử dụng vi hoặc nano (nếu đã cài) để mở file.

    sudo vi /etc/ssh/sshd_config
    Bước 2: Tìm và thay đổi giá trị Port
    Trong vi, nhấn phím i để chuyển sang chế độ chèn. Tìm dòng #Port 22, xóa dấu # và đổi 22 thành port mới của bạn. Sau đó nhấn ESC, gõ :wq và nhấn Enter để lưu.

    Bước 3: Mở Port mới trên Firewalld
    Bạn cần thêm một quy tắc vĩnh viễn vào Firewalld để mở cổng mới.

    sudo firewall-cmd --permanent --zone=public --add-port=2222/tcp
    Sau đó, tải lại cấu hình tường lửa để áp dụng thay đổi ngay lập tức.

    sudo firewall-cmd --reload
    Bước 4 (Nâng cao): Cấu hình SELinux
    SELinux là một lớp bảo mật tăng cường. Nếu SELinux đang ở chế độ enforcing, bạn cần thông báo cho nó biết rằng dịch vụ SSH giờ đây được phép hoạt động trên cổng mới.

    sudo semanage port -a -t ssh_port_t -p tcp 2222
    Bước 5: Khởi động lại dịch vụ SSH
    Cuối cùng, áp dụng tất cả các thay đổi.

    sudo systemctl restart sshd
    Kiểm tra kết nối và hoàn tất
    Bây giờ là lúc sử dụng "lưới an toàn" của bạn. Hãy chuyển qua cửa sổ dòng lệnh thứ hai và thử kết nối lại vào máy chủ, nhưng lần này sử dụng cờ -p để chỉ định cổng mới.

    ssh ten_nguoi_dung@dia_chi_ip -p 2222
    Nếu hệ thống yêu cầu nhập mật khẩu và bạn đăng nhập thành công, xin chúc mừng! Bạn đã hoàn thành việc đổi Port SSH. Bây giờ bạn có thể đóng phiên SSH cũ (phiên 1) một cách an toàn.

    Các lỗi thường gặp khi đổi Port SSH và cách khắc phục
    1. Lỗi "Connection Refused" (Kết nối bị từ chối)
    Mô tả: Lỗi này có nghĩa là yêu cầu kết nối của bạn đã đến được máy chủ, nhưng không có dịch vụ nào đang lắng nghe trên cổng đó, hoặc dịch vụ đã chủ động từ chối.

    Nguyên nhân và cách khắc phục:

    • Sai số port: Kiểm tra lại số port bạn gõ trong lệnh ssh -p ... có chính xác không.
    • Dịch vụ SSH chưa chạy: Kiểm tra trạng thái dịch vụ bằng lệnh sudo systemctl status sshd.
    2. Lỗi "Connection Timed Out" (Hết thời gian chờ kết nối)
    Mô tả: Lỗi này thường có nghĩa là yêu cầu kết nối của bạn không thể đến được máy chủ.

    Nguyên nhân và cách khắc phục:

    • Chưa mở port trên tường lửa: Đây là nguyên nhân phổ biến nhất. Hãy chắc chắn bạn đã chạy đúng lệnh ufw allow hoặc firewall-cmd.
    • Tường lửa của nhà cung cấp dịch vụ: Đăng nhập vào bảng điều khiển của nhà cung cấp Cloud/VPS và kiểm tra xem có lớp tường lửa mạng nào đang chặn port của bạn không.
    Câu hỏi thường gặp (FAQ)
    1. Đổi Port SSH có làm server an toàn tuyệt đối không?
    Không. Việc đổi Port SSH là một biện pháp hiệu quả để tránh các cuộc tấn công tự động, nhưng bạn nên kết hợp thêm các phương pháp khác như sử dụng xác thực bằng khóa SSH (SSH Key), tắt đăng nhập bằng mật khẩu, và cài đặt Fail2Ban.

    2. Tôi có thể đổi thành bất kỳ Port nào không?
    Bạn nên tuân thủ quy tắc chọn các port chưa được đăng ký trong dải từ 1024 đến 65535 để tránh xung đột với các dịch vụ tiêu chuẩn khác.

    3. Nếu tôi lỡ đóng tất cả phiên SSH và không vào được thì phải làm sao?
    Đừng quá lo lắng. Hầu hết các nhà cung cấp VPS và Cloud đều cung cấp một phương thức truy cập khẩn cấp gọi là "Console" hoặc "VNC" ngay trên trang quản trị dịch vụ của họ. Công cụ này cho phép bạn đăng nhập và sửa lại các file cấu hình bị lỗi.
     

Dịch Cài Win Và Cài Đặt Phần Mềm Máy Tính Online

Danh sách các Website diễn đàn rao vặt

: vps

Chia sẻ trang này