Spreminjanje vrat SSH | INTROSERV
EUR
european

EUR

usa

USD

Slovenia Sl
Ex. VAT Ex. VAT 0%

Spreminjanje vrat SSH

Sprememba privzetih vrat SSH (22) zmanjša izpostavljenost avtomatiziranemu pregledovanju in osnovnim napadom z metodo brute-force, vendar ne nadomešča ustreznih varnostnih ukrepov.

Warning

Pred kakršnimi koli spremembami se prepričajte, da imate odprto aktivno sejo SSH. Ne zapirajte je, dokler ne preverite, ali nova vrata delujejo. Če gre kaj narobe, boste izgubili dostop do strežnika.

Izbira številke vrat

Izberite številko vrat, višjo od 1024. Pri vratih v območju 49152–65535 je manj verjetno, da bodo v konfliktu z drugimi znanimi storitvami. Izogibajte se pogosto uporabljenim alternativam, kot sta 2222 ali 22222, saj so pogosto tarča avtomatiziranih pregledovalnikov. V tem priročniku je kot primer uporabljena številka 22777.

Ustvarjanje varnostne kopije konfiguracijske datoteke

Pred kakršnimi koli spremembami ustvarite varnostno kopijo konfiguracijske datoteke SSH:

cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup

Sprememba vrat SSH v Ubuntuju in Debianu

Od Debiana 12 in nekaterih novejših različic Ubuntuja (22.04+) lahko SSH privzeto uporablja aktivacijo vtičnice systemd. V tem primeru samo sprememba direktive Port v datoteki sshd_config pogosto ni dovolj.

Najprej preverite, ali je aktivacija vtičnice omogočena:

systemctl is-active ssh.socket

Če ukaz vrne active, konfigurirajte vtičnico SSH za uporabo novih vrat.

Ustvarite preglasitev systemd za vtičnico SSH:

systemctl edit ssh.socket

Dodajte naslednjo vsebino:

[Socket] ListenStream= ListenStream=22777

Prazna vrstica ListenStream= odstrani privzeta vrata (22). Brez nje lahko SSH posluša tako na vratih 22 kot na novih vratih.

Za večjo zanesljivost nastavite vrata tudi v konfiguraciji SSH. To pomaga generatorju systemd in ohrani nastavitev tudi po posodobitvah OpenSSH:

mkdir -p /etc/ssh/sshd_config.d echo "Port 22777" | tee /etc/ssh/sshd_config.d/10-port.conf

Info

Za boljšo združljivost lahko namesto tega naslove določite izrecno:

[Socket] ListenStream= ListenStream=0.0.0.0:22777 ListenStream=[::]:22777

Shranite konfiguracijo in uveljavite spremembe:

systemctl daemon-reload systemctl restart ssh.socket systemctl restart ssh

Preverite, ali storitev deluje:

systemctl status ssh.socket

Info

V nekaterih novejših sistemih, kot je Ubuntu 24.04+, lahko generator systemd samodejno prebere vrata iz datoteke sshd_config. V tem primeru lahko zadostuje neposredna sprememba direktive Port ter nato izvedba ukaza systemctl daemon-reload, ki ji sledi systemctl restart ssh.socket. Zgoraj opisana metoda s preglasitvijo deluje v vseh različicah.

Starejše različice Ubuntuja in Debiana

V različicah Ubuntuja pred 22.04 in Debiana pred 12 SSH ni upravljan prek aktivacije vtičnice. Odprite konfiguracijsko datoteko SSH:

nano /etc/ssh/sshd_config

Poiščite naslednjo vrstico:

Port 22

Odstranite znak za komentar in zamenjajte 22 z izbrano številko vrat:

Port 22777

Shranite datoteko in preverite konfiguracijo:

sshd -t

Če ukaz ni najden, uporabite:

/usr/sbin/sshd -t

Če ukaz ne vrne nobenega izhoda, je konfiguracija veljavna. Znova zaženite storitev SSH:

systemctl restart ssh

Onemogočanje aktivacije vtičnice

Če želite SSH upravljati prek tradicionalne storitve namesto prek vtičnice, lahko aktivacijo vtičnice onemogočite:

systemctl disable --now ssh.socket systemctl enable --now ssh

Nato uredite sshd_config, kot je opisano zgoraj, in znova zaženite SSH z ukazom:

systemctl restart ssh

Sprememba vrat SSH v AlmaLinuxu, Rocky Linuxu in CentOS-u

Urejanje konfiguracijske datoteke SSH

Odprite konfiguracijsko datoteko SSH:

nano /etc/ssh/sshd_config

Poiščite naslednjo vrstico:

Port 22

Odstranite znak za komentar in zamenjajte 22 z izbrano številko vrat:

Port 22777

Shranite datoteko in preverite konfiguracijo:

/usr/sbin/sshd -t

Če ukaz ne vrne nobenega izhoda, je konfiguracija veljavna. Znova zaženite storitev SSH:

systemctl restart sshd

Preverite, ali storitev deluje:

systemctl status sshd

Dovolitev vrat v SELinuxu

V sistemih z omogočenim SELinuxom morate nova vrata dovoliti tudi v pravilniku SELinux. Če želite preveriti, katera vrata so trenutno dovoljena za SSH, zaženite:

semanage port -l | grep ssh

Nato dodajte ali spremenite nova vrata:

semanage port -a -t ssh_port_t -p tcp 22777 || semanage port -m -t ssh_port_t -p tcp 22777

Če semanage ni nameščen, namestite zahtevani paket:

dnf install policycoreutils-python-utils

Konfiguracija požarnega zidu

Nova vrata vedno dovolite v požarnem zidu pred ponovnim zagonom SSH. Če najprej znova zaženete SSH, lahko izgubite dostop do strežnika.

UFW

ufw allow 22777/tcp ufw reload ufw status

firewalld

firewall-cmd --permanent --zone=public --add-port=22777/tcp firewall-cmd --reload

iptables

iptables -I INPUT -p tcp --dport 22777 -j ACCEPT iptables-save > /etc/iptables/rules.v4

Info

Ukaz iptables-save shrani pravila v datoteko samo, če je iptables-persistent nameščen in konfiguriran v sistemu. Za namestitev zaženite:

apt install -y iptables-persistent

Preden se zanesete na to datoteko za trajno shranjevanje pravil, preverite, ali vaša distribucija uporablja to datoteko. Upoštevajte, da lahko sodobni sistemi namesto iptables uporabljajo nftables. Če uporabljate nftables, dodajte pravilo, ki dovoljuje nova vrata, v konfiguracijo nftables.

Konfiguracija Fail2Ban

Če je Fail2Ban konfiguriran na strežniku, posodobite vrata SSH v njegovi konfiguraciji. Odprite /etc/fail2ban/jail.local ali ustrezno datoteko v imeniku /etc/fail2ban/jail.d/ in nastavite:

port = 22777

Po posodobitvi konfiguracije znova zaženite Fail2Ban:

systemctl restart fail2ban

Preverjanje novih vrat

Preverite, ali SSH posluša na novih vratih:

ss -tlnp | grep :22777

Lahko pa prikažete vse poslušalce, povezane s SSH:

ss -tlnp | grep ssh

V starejših sistemih namesto tega uporabite netstat:

netstat -tlnp | grep :22777

Stanje storitve lahko preverite tudi neposredno.

V Ubuntuju in Debianu:

systemctl status ssh.socket

V AlmaLinuxu, Rocky Linuxu in CentOS-u:

systemctl status sshd

Ne da bi zaprli trenutno sejo SSH, odprite novo terminalsko okno in se povežite z uporabo novih vrat:

ssh root@YOUR_SERVER_IP -p 22777

Če je povezava uspešna, lahko staro sejo zaprete. Nato odstranite vrata 22 iz pravil požarnega zidu, če jih ne potrebujete več.

Za UFW:

ufw delete allow 22/tcp ufw reload

Za firewalld:

firewall-cmd --permanent --zone=public --remove-port=22/tcp firewall-cmd --reload

Warning

Vrata 22 ne odstranite iz požarnega zidu, dokler ne preverite, ali nova vrata delujejo. Če nova povezava ne uspe, uporabite odprto sejo SSH za odpravljanje težave ali razveljavitev sprememb:

systemctl revert ssh.socket cp /etc/ssh/sshd_config.backup /etc/ssh/sshd_config rm -f /etc/ssh/sshd_config.d/10-port.conf systemctl daemon-reload systemctl restart ssh.socket

Če je aktivacija vtičnice onemogočena, zadnja dva ukaza zamenjajte z:

systemctl restart ssh

Zaključek

Sprememba privzetih vrat SSH z 22 na vrata po meri lahko zmanjša izpostavljenost avtomatiziranemu pregledovanju in osnovnim poskusom napadov z metodo brute-force. Vendar je treba spremembo vrat obravnavati kot dodaten varnostni ukrep in ne kot nadomestilo za ustrezno zaščito SSH.

Trenutno sejo SSH vedno pustite odprto, dokler se ne prepričate, da ste se uspešno povezali prek novih vrat. Ko je nova povezava preverjena, lahko staro sejo varno zaprete in odstranite vrata 22 iz požarnega zidu, če niso več potrebna.

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA