Zašto? Port 22 je default port koji se koristi za login kroz ssh te je kao takav zanimljiv raznim automatizovim softverima za bruteforce koji će pokušati na sve moguće načine da provale root lozinku na serveru.

Postoji varijanta da zaštitite i taj defaultni port 22 raznim dodatnim softverima tipa fail2ban – ali opet mislim da je mnogo bolja varijanta dati do znanja botovima da taj port nije otvoren za saradnju ali i da eto, postoji neko stručan ko je to ubio a i opet na sve to može da se pljusne dodatno i fail2ban pa da sve bude kako treba.

Sem same promene porta bilo bi dobro zabraniti generalno login putem samo username i password-a već tu u ubaciti i logovanje putem ssh ključeva, kao i zabraniti login root korisniku, ali o tim dodatnim podešavanjima neki drugi put. U ovom uputstvu ćemo promeniti port na neki bezveze, na CentOS 7 Linuxu koji debelo preferiram jer je ćale, reći selinuxu da je port promenjen i dodati firwall pravila i na firewalld-u i na nativnom iptables-u ako ga koristite bez firewalld-a.

# Promena porta i skidanje komentara u sshd_config fajlu
sed -i s/"#Port 22"/"Port 53535"/g /etc/ssh/sshd_config

# Promena porta u selinuxu
yum -y install policycoreutils-python # Ako ne postoji
semanage port -a -t ssh_port_t -p tcp 53535

# Dodavanje porta u firewalld
firewall-cmd --permanent --zone=public --add-port=53535/tcp
firewall-cmd --runtime-to-permanent 
firewall-cmd --reload 

# Dodavanje porta u iptables (ako je potrebno)
# iptables -I INPUT 1 -p tcp --dport 53535 -j ACCEPT
# systemctl save iptables
# systemctl restart iptables

# Restart ssh
systemctl restart sshd.service

# Provera da li se osluškuje pravi port sad
netstat -tunlp | grep ssh