Mặc định port 22 được sử dụng cho giao thức SSH. Kẻ xấu có thể lợi dụng việc cấu hình mặc định này để thực hiện brute-force nhằm dò tìm mật khẩu của tài khoản trên Linux. Vì vậy để tăng tính bảo mật, chúng ta nên sử dụng port khác thay cho port SSH mặc định.
1. Chọn port SSH trên Linux
Trước tiên, cần kiểm tra xem có dịch vụ nào đang sử dụng port chúng ta cần dùng cho giao thức SSH hay không. Ví dụ, chúng ta chọn port 2411 thay cho port 22
netstat -nltp | grep 2411
Nếu output không có gì tức là port 2411 chưa được dịch vụ nào sử dụng
2. Mở port SSH mới trên Firewall
Vì mặc định Linux chỉ mở port 22 cho giao thức SSH nên khi sử dụng port mới, chúng ta cần phải mở port qua các loại firewall tùy theo nhu cầu sử dụng.
Nếu bạn sử dụng iptables làm firewall, bạn có thể tham khảo lệnh dưới đây:
iptables -A INPUT -p tcp --dport 2411 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
Trong CentOS, firewall mặc định sẽ là firewalld. Bạn có thể tham khảo lệnh dưới đây để mở port mới cho SSH
firewall-cmd –permanent –add-port=2411/tcp firewall-cmd --reload
Trong Ubuntu, firewall mặc định sẽ là ufw. Bạn có thể tham khảo lệnh dưới đây để mở port mới cho SSH
ufw allow 2411 systemctl restart ufw
3. Cấu hình port SSH mới
Chúng ta thực hiện thay đổi port ở file cấu hình SSH /etc/ssh/sshd_config:
nano /etc/ssh/sshd_config
Kiếm dòng #Port 22, bỏ dấu # và thay đổi thành port 2411

Lưu cấu hình và khởi động lại dịch vụ để SSH.
Sau đó chúng ta có thể vô hiệu hóa SELinux để việc thay đổi port SSH có hiệu lực:
nano /etc/sysconfig/selinux
Sửa dòng SELINUX=enforcing thành SELINUX=disabled
Sau đó chúng ta cần reboot lại server để nhận VPS cấu hình mới.
reboot
Hoặc chúng ta có thể vô hiệu hóa tạm thời SELinux bằng lệnh dưới đây:
setenforce 0
Kiểm tra trạng thái SELinux bằng dòng lệnh sau:
sestatus

Hoặc trường hợp chúng ta không muốn vô hiệu hóa SELinux, chúng ta sử dụng lệnh sau để chỉnh sửa SELinux cho phép chúng ta đổi port SSH mới:
sudo semanage port -a -t ssh_port_t -p tcp 2411
Đối với CentOS, bạn dùng lệnh sau để khởi động lại dịch vụ SSH
systemctl restart sshd
Đối với Ubuntu hoặc Debian, bạn dùng lệnh sau để khởi động lại dịch vụ SSH
systemctl restart ssh
Kiểm tra port SSH mới sau khi đổi:

Chúc các bạn thành công.
Bạn có thể xem nhiều bài viết hơn tại đây : https://howto.nsupport.asia/
Leave A Comment?