Linux'ta SSH Portunu Değiştirme
"Secure Shell (SSH)" varsayılan olarak "22" portunu kullanır. Bu bilgi ile, birçok tool ile sunucunuzun kapısı çalınabilir ve bu durum bazen rahatsız edici olabiliyor.
SSH için varsayılan portun değiştirilmesi, oturum açma denemelerinin miktarını azaltsa da, tam bir güvenlik çözümü değildir. Bildiğiniz üzere, basit bir "nmap" taraması açık portlarınız hakkında bilgi bulabilir. Ancak, çoğu "script kiddie" bununla uğraşmaz.
Varsayılan SSH Portunu Değiştirme
SSH daemon'ın yapılandırması varsayılan olarak "/etc/ssh/sshd_config" dosyasındadır. "ssh"'tan sonra "d" harfine dikkat edin. Bu dosyayı düzenleyerek, portun yanı sıra SSH yapılandırmanızı da değiştirebilirsiniz. Ancak, bir firewall'ın arkasında çalışıyorsanız, SSH yapılandırmanızı değiştirmeden önce bu portu açtığınızdan emin olun. Aksi takdirde, kendi sunucunuza bağlanamaz hâle gelebilirsiniz!
İlgili Portu Açma
CentOS 7 makinemde güvenlik duvarı olarak "firewall-cmd" kullanıyorum. Bu nedenle, firewall-cmd ile kalıcı olarak port açılışını göstereceğim.
Öncelikle zone'ları kontrol edelim. Bu komutun çıktısını not edin. Portu açtığımızdan emin olmak için bunu kullanacağız:
root@gnuadmin ~]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: enp0s3
sources:
services: dhcpv6-client ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
Görünüşe göre sadece bir aktif bölgemiz var. Birden fazla zone varsa, aktif zone'u şu şekilde kontrol edebilirsiniz:
root@gnuadmin ~]# firewall-cmd --get-active-zones
public
interfaces: enp0s3
"33333" portunu açalım. SSH için kullanmak istediğiniz portu kullanan başka bir uygulama olmadığından emin olun:
root@gnuadmin ~]# firewall-cmd --permanent --zone=public --add-port=33333/tcp
success
Bu komutla, "public zone'unda" 33333 numaralı TCP portunu kalıcı olarak açtık. Port durumunu değiştirdikten sonra firewall ayarlarını reload etmemiz gerekir:
Şimdi elimizde ne olduğuna bakalım:
root@gnuadmin ~]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: enp0s3
sources:
services: dhcpv6-client ssh
ports: 33333/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
root@gnuadmin ~]# firewall-cmd --list-ports
33333/tcp
İstenen portu açtığımıza göre SSH konfigürasyonunu değiştirelim.
SSH Portunu Değiştirme
"/etc/ssh/sshd_config" dosyasını açın ve #Port 22
satırını bulun. "#" karakterini silin ve satırı Port 33333
olarak değiştirin. Dosyayı kaydedin ve SSH servisini yeniden başlatın:
root@gnuadmin ~]# vi /etc/ssh/sshd_config
root@gnuadmin ~]# systemctl restart sshd.service
Bu adımdan sonra, portu kontrol etmek için "netstat" veya "ss" gibi bir araç kullanabilirsiniz. netstat
kurulu değilse, "net-tools" paketini yükleyebilirsiniz:
root@zion:~# netstat -tulpn
Aktif internet bağlantıları (sadece sunucular)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:445 0.0.0.0:* DİNLE 1547/smbd
tcp 0 0 127.0.0.1:8000 0.0.0.0:* DİNLE 30468/python3
tcp 0 0 0.0.0.0:139 0.0.0.0:* DİNLE 1547/smbd
tcp 0 0 127.0.0.53:53 0.0.0.0:* DİNLE 786/systemd-resolve
tcp 0 0 127.0.0.1:631 0.0.0.0:* DİNLE 28027/cupsd
tcp 0 0 127.0.0.1:9050 0.0.0.0:* DİNLE 995/tor
tcp 0 0 0.0.0.0:33333 0.0.0.0:* DİNLE 3388/sshd
tcp6 0 0 :::445 :::* DİNLE 1547/smbd
tcp6 0 0 :::139 :::* DİNLE 1547/smbd
tcp6 0 0 :::1716 :::* DİNLE 2005/kdeconnectd
tcp6 0 0 ::1:631 :::* DİNLE 28027/cupsd
udp 0 0 0.0.0.0:55263 0.0.0.0:* 824/avahi-daemon: r
udp 0 0 127.0.0.53:53 0.0.0.0:* 786/systemd-resolve
udp 0 0 192.168.0.255:137 0.0.0.0:* 1509/nmbd
udp 0 0 192.168.0.10:137 0.0.0.0:* 1509/nmbd
udp 0 0 0.0.0.0:137 0.0.0.0:* 1509/nmbd
udp 0 0 192.168.0.255:138 0.0.0.0:* 1509/nmbd
udp 0 0 192.168.0.10:138 0.0.0.0:* 1509/nmbd
udp 0 0 0.0.0.0:138 0.0.0.0:* 1509/nmbd
udp 0 0 0.0.0.0:631 0.0.0.0:* 28028/cups-browsed
udp 0 0 0.0.0.0:5353 0.0.0.0:* 824/avahi-daemon: r
udp6 0 0 :::58683 :::* 824/avahi-daemon: r
udp6 0 0 :::1716 :::* 2005/kdeconnectd
udp6 0 0 :::5353 :::* 824/avahi-daemon: r
Gördüğünüz gibi, "sshd" artık varsayılan 22 yerine 33333 portunu dinliyor.