SIKS – vježba 7 – korištenje Secure Shell (SSH) i OpenSSH za udaljeni rad

Što je SSH?

Secure Shell (SSH) je protokol za mrežnu komunikaciju koji omogućuje sigurno izvršavanje naredbi i prijenos podataka između dva računala povezana preko nesigurne mreže. Razvijen kao zamjena za nezaštićene protokole poput Telnet-a, Rlogin-a i FTP-a, SSH pruža snažnu enkripciju podataka, čime štiti integritet i povjerljivost podataka tijekom prijenosa.

Ključne značajke SSH-a:

  • Enkripcija: SSH koristi simetričnu enkripciju za zaštitu podataka koji se prenose između klijenta i poslužitelja. To osigurava da su svi preneseni podaci zaštićeni od prisluškivanja i manipulacija.
  • Autentifikacija: Protokol podržava više metoda autentifikacije, uključujući autentifikaciju pomoću lozinke, javnih ključeva i višefaktorsku autentifikaciju. To pomaže u osiguravanju da samo ovlašteni korisnici mogu pristupiti sustavu.
  • Integritet: SSH koristi kriptografske hash funkcije kako bi osigurao integritet prenesenih podataka, sprječavajući tako mogućnost da napadač izmijeni podatke tijekom prijenosa bez detekcije.
  • Tuneliranje i port forwarding: SSH omogućuje tuneliranje drugih protokola, što omogućuje sigurne veze unutar SSH sesije. To je korisno za sigurno povezivanje s bazama podataka, HTTP serverima i drugim uslugama.

Primjena SSH-a

SSH se široko koristi u administraciji sustava za upravljanje serverima i mrežnom hardveru, automatizaciju, siguran prijenos datoteka (preko SCP i SFTP protokola) i mnoge druge zadatke koji zahtijevaju sigurnu komunikaciju.

Uz svoje osnovne funkcionalnosti, SSH pruža temelj za izgradnju složenijih sigurnosnih politika i procedura u organizacijama, čineći ga nezaobilaznim alatom u modernoj IT infrastrukturi.

Upute:

Korak 1: Provjera instalacije SSH-a

Prvo provjerite je li SSH server (openssh-server) instaliran na oba Kali Linux sustava. To možete učiniti pomoću sljedeće naredbe:

ssh -V

Korak 2: Provjera statusa SSH servisa

Provjerite je li SSH servis aktivan na oba sustava. Koristite naredbu:

sudo systemctl status ssh

Ako servis nije aktivan, pokrenite ga pomoću:

sudo systemctl start ssh

Da biste osigurali da se SSH servis automatski pokreće pri pokretanju sustava, upotrijebite:

sudo systemctl enable ssh

Korak 3: Konfiguracija SSH-a

Konfiguracijska datoteka za SSH nalazi se u /etc/ssh/sshd_config. Možete urediti ovu datoteku kako biste konfigurirali postavke poput zabrane prijave root korisnika ili promjene porta. Primjerice:

sudo nano /etc/ssh/sshd_config

Opcije koje možete postaviti:

  • PermitRootLogin no – sprječava prijavu kao root korisnik.
  • Port 2222 – promijenite port na kojem SSH sluša (standardni je 22).

Nakon izmjena, ponovo pokrenite SSH servis:

sudo systemctl restart ssh

Korak 4: Uzimanje IP adrese

Na oba sustava dobijte IP adresu pomoću naredbe:

ifconfig

Zabilježite IP adrese oba sustava kako biste mogli uspostaviti vezu.

Korak 5: Povezivanje s drugim Kali Linux sustavom

S jednog Kali Linux sustava, povežite se na drugi pomoću naredbe:

ssh korisnicko_ime@IP_adresa

Zamijenite korisnicko_ime s korisničkim imenom na ciljnom sustavu i IP_adresa s IP adresom ciljnog sustava.

Korak 6: Testiranje funkcionalnosti

Nakon što se uspješno povežete, testirajte funkcionalnost izvršavajući nekoliko naredbi, kao što su:

  • Pregledanje sadržaja direktorija: ls -l
  • Provjera trenutne lokacije: pwd
  • Prikaz aktivnih procesa: ps aux

Korak 7: Prekid veze

Za izlazak iz SSH sesije upotrijebite naredbu:

exit

Ovime se veza prekida, a kontrola se vraća lokalnom terminalu.

Korak 8: Dodatne sigurnosne mjere

Razmotrite postavljanje firewall pravila i konfiguriranje fail2ban za dodatnu sigurnost.

Korak 9: Automatizacija prijave pomoću SSH ključeva

Za izbjegavanje stalnog unosanja lozinke, konfigurirajte SSH ključeve:

Generiranje ključeva:

ssh-keygen

Kopiranje javnog ključa na drugi sustav:

ssh-copy-id korisnicko_ime@IP_adresa

Nakon ovog, povezivanje bi trebalo biti moguće bez potrebe za unosom lozinke.

Ovom detaljnom uputom osigurali ste ne samo osnovno povezivanje između dva Kali Linux sustava putem SSH-a, već i razumijevanje konfiguracije i sigurnosnih praksi koje pridonose boljoj zaštiti vašeg sustava.