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.
