Đổi cổng mặc định của SSH trên CentOS

Mặc định, cổng (port) 22 được sử dụng cho kết nối SSH đến VPS/Server. Vì nó là mặc định nên sẽ là mục tiêu tấn công của rất nhiều bot, hay những gì tương tự để dò mật khẩu root (ssh) của VPS nếu không được bảo mật hay thay đổi.
Tất nhiên, có thể dễ dàng tránh được một lượng lớn các cuộc tấn công kiểu này với một việc đơn giản là đổi nó qua một cổng khác.

Các bước thực hiện

Bắt đầu

Tất nhiên mọi chuyện luôn phải bắt đầu từ việc đăng nhập nhập vào tài khoản root của VPS thông qua SSH

Kiểm tra và chọn cổng phù hợp

Sử dụng một trong những lệnh sau để kiểm tra các cổng đang hoạt động, việc này tránh chọn nhầm cổng đang dùng khiến SSH không khởi động được.
Và luôn luôn nhớ rằng tránh một số cổng mặc định như: 20,21,23(FTP,Telnet) 25, 50, 53, 80, 443, 109, 110, 143, 158 ... (Mail, HTTTP Services). Chi tiết có thể tìm thấy ở Wiki

Đó là lí thuyết, thực tế hãy dùng một trong những lệnh sau xem thử có gì đang được sử dụng:

# lsof -i -P -n | grep LISTEN
# netstat -tulpn | grep LISTEN
# nmap -sTU -O [IP]

đổi cổng mặc định cổng SSHNhư ở đây mình đang sử dụng các cổng 203, 80, 443, 222, 3306, nên sẽ tránh tụi nó ra

Chỉnh sửa thiết lập SSH

Mọi thiết lập đều được lưu ở file sshd_config, nên nếu chỉnh sửa gì thì trước hết hãy tạo một bản sao lưu cái đã

cp -f /etc/ssh/sshd_config  /etc/ssh/sshd_config_backup

Mở file sshd_config với ứng dụng chỉnh sửa văn bản của bạn

vi /etc/ssh/sshd_config

Tìm dòng #Port 22, xóa dấu # ở đầu và chỉnh lại thành port bạn muốn, như 222, xong lưu lại

Đổi cổng sshd_configMở cổng trên Firewall, SELinux

Nếu sử dụng các tường lửa, dù là Iptables hay FirewallD, bạn đều phải mở cổng nếu muốn kết nối ra vào được.

Đối với Iptables

# systemctl stop iptables
# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 222 -j ACCEPT
# iptables-save
# systemctl restart iptables

Chú ý: Nếu dùng systemctl lỗi thì hãy chuyển sang service

Kiểm tra bằng lệnh sau:

# iptables -L -n
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            ctstate NEW tcp dpt:222

Đối với FirewallD

Đơn giản hơn iptables:

firewall-cmd --zone=public --add-port=222/tcp --permanent

Nếu SELinux là Enforcing

semanage port -a -t ssh_port_t -p tcp 222

Khởi động lại SSHD

systemctl restart sshd

Bây giờ hãy thử đăng nhập với cổng mới, Chúc các bạn thành công

Add Comment