Thay đổi port SSH trên Linux

Mặc định những bản phân phối Linux (Linux distributions) đều sử dụng port 22 cho kết nối SSH. Việc thay đổi port SSH này là thực sự cần thiết vì nó rất dễ bị khai thác cho mục đích xấu. Đây là một biện pháp bảo mật đơn giản nhưng lại đủ hiệu quả để giảm thiểu nguy cơ bị tấn công tự động và các port mặc định.

Đổi port SSH​



Việc đầu tiên là các bạn hãy đăng nhập vào máy chủ của bạn, port mặc định sẽ là 22. Trong một số trường hợp, nhà cung cấp dịch vụ đã thay đổi port mặc định sang một port khác nên các bạn tùy cơ ứng biến nhé. Giờ thì các bạn mở file /etc/ssh/sshd_config, tìm dòng có chứa Port 22, thay đổi 22 thành port bạn muốn. Nên chọn những port lớn hơn 1024 vì những port này thường không được sử dụng bởi những phần mềm khác, và cũng không dành riêng cho tài khoản root. Trong trường hợp có dấu # đầu dòng thì bạn xóa nó luôn đi nhé. Ví dụ như mình muốn đổi port SSH sang 23456 thì mình sẽ thay đổi như này:
Code:
Port 23456

Tùy chỉnh tường lửa​



Kế đến chúng ta cần tùy chỉnh tường lửa, cho phép kết nối đến port SSH chúng ta vừa đổi. Mỗi hệ thống sẽ sử dụng phần mềm tường lửa khác nhau nên các bạn hãy chọn lệnh phù hợp với hệ thống nhé, nhớ thay 23456. Nếu là firewalld:
Bash:
sudo firewall-cmd --permanent --zone=public --add-port=23456/tcp
sudo firewall-cmd --reload
Uncomplicated Firewall (ufw):
Bash:
sudo ufw allow 23456/tcp
iptables:
Bash:
sudo iptables -A INPUT -p tcp --dport 23456 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
Với những hệ thống đã cài đặt ConfigServer Security & Firewall (csf), các bạn mở file /etc/csf/csf.conf tìm TCP_INTCP6_IN, thêm port SSH vừa mở như bên dưới, dùng csf -r để khởi động lại csf.
Code:
TCP_IN = "20,21,22,25,26,53,80,110,143,443,465,587,993,995,23456"
TCP6_IN = "20,21,22,25,26,53,80,110,143,443,465,587,993,995,23456"

Khởi động lại dịch vụ SSH​



Bạn hãy chắc chắn đã mở port vừa thay đổi để tránh trường hợp không thể kết nối với hệ thống. Trong trường hợp xấu, bạn sẽ phải kết nối qua VNC. Với CentOS / RHEL / AlmaLinux:
Bash:
sudo systemctl restart sshd
Với những bản phân phối khác:
Bash:
sudo systemctl restart ssh
Đơn giản nhất có lẽ là sử dụng lệnh reboot, tất cả dịch vụ đều sẽ được khởi động lại.

Tổng kết​



Mình vừa hướng dẫn các bạn thay đổi port SSH trên những bản phân phối Linux. Các bước thì khá đơn giản, cũng không mất nhiều thời gian, nhưng lợi ích là không hề nhỏ. Với cá nhân mình, việc đầu tiên mình làm khi nhận server là thay đổi port SSH.
 
Top