Kako zaštititi SSH na Linux serveru je jedan od osnovnih koraka u obezbeđivanju svakog Linux sistema.

SSH (Secure Shell) omogućava administratorima udaljeni pristup serveru, ali je istovremeno i jedna od najčešće napadanih tačaka na internetu. Međutim, SSH je istovremeno i jedna od najčešće napadanih tačaka na internetu. Automatizovani botovi konstantno skeniraju servere u potrazi za otvorenim SSH portovima i pokušavaju brute-force napade koristeći poznata korisnička imena i lozinke.

Zbog toga je pravilna konfiguracija SSH servisa jedan od osnovnih koraka u zaštiti Linux sistema.

U ovom vodiču ćemo proći kroz nekoliko jednostavnih, ali veoma efikasnih koraka za zaštitu SSH pristupa na Linux serveru.


1. Onemogućavanje root pristupa preko SSH

Direktno logovanje kao root korisnik predstavlja veliki sigurnosni rizik.

Napadači često prvo pokušavaju brute-force upravo na root nalog.

Otvorite konfiguracioni fajl:

sudo nano /etc/ssh/sshd_config

Pronađite liniju:

PermitRootLogin yes

Promenite je u:

PermitRootLogin no

Na ovaj način korisnici moraju prvo da se prijave kao običan korisnik i zatim koriste sudo privilegije.


2. Koristite SSH ključeve umesto lozinki

Autentifikacija pomoću SSH ključeva je znatno sigurnija od korišćenja lozinki.

Na klijentskoj mašini generišite SSH ključ:

ssh-keygen -t ed25519

Zatim kopirajte javni ključ na server:

ssh-copy-id user@server_ip

Nakon toga možete potpuno onemogućiti prijavu pomoću lozinke.

U SSH konfiguraciji promenite:

PasswordAuthentication no

Ovo je jedna od najvažnijih sigurnosnih mera.


3. Promenite podrazumevani SSH port

Podrazumevani SSH port je 22.

Iako promena porta nije potpuna zaštita, može značajno smanjiti broj automatizovanih napada.

U fajlu:

/etc/ssh/sshd_config

promenite:

Port 22

na primer:

Port 2222

Ne zaboravite da otvorite novi port na firewall-u.


4. Ograničite SSH pristup samo određenim korisnicima

Možete dodatno ograničiti pristup SSH servisu samo određenim korisnicima.

Dodajte sledeću liniju u SSH konfiguraciji:

AllowUsers admin backupuser

Na ovaj način samo navedeni korisnici mogu pristupiti serveru putem SSH-a.


5. Konfiguracija firewall-a

Ako koristite firewalld, otvorite samo SSH port koji koristite.

Primer za port 2222:

firewall-cmd --permanent --add-port=2222/tcp
firewall-cmd --reload

Ako koristite standardni port:

firewall-cmd --permanent --add-service=ssh

Firewall predstavlja dodatni sloj zaštite.


6. Koristite Fail2Ban

Fail2Ban automatski blokira IP adrese koje pokušavaju brute-force napade.

Instalacija na RHEL:

sudo dnf install fail2ban

Pokretanje servisa:

sudo systemctl enable fail2ban
sudo systemctl start fail2ban

Fail2Ban prati logove i automatski blokira IP adrese sa previše neuspešnih pokušaja prijave.


Brza bezbednosna kontrolna lista

Sigurnosni korak Status
Disable root login Preporučen
Enable SSH keys Kritičan
Disable password login Preporučen
Change SSH port Opcionalno
Configure firewall Neophodno
Install Fail2Ban Preporučen

Zaključak

SSH je ključni servis za administraciju Linux servera, ali ako nije pravilno konfigurisan može predstavljati ozbiljan sigurnosni rizik.

Primena osnovnih sigurnosnih mera značajno smanjuje mogućnost napada:

  • onemogućavanje root login-a
  • korišćenje SSH ključeva umesto lozinki
  • ograničavanje pristupa korisnicima
  • korišćenje firewall-a
  • instalacija Fail2Ban zaštite

Pravilno podešen SSH servis predstavlja jedan od najvažnijih koraka u zaštiti svakog Linux servera.