Hrvatska akademska i istraživačka mreža
  NASLOVNICA MAPA WEBA TRAŽILICA KONTAKTI CARNET WEB
Hrvatska akademska i istraživačka mreža
 
menu 4
Sigurnost
menu 4
Distribucija
menu 4
Pomoć
menu 4
Dokumenti
menu 4
menu 4

 

 

30-11-05 12:50
Autentikacija korisnika u protokolu SSH v.1 (2. dio)

piše EMIR IMAMAGIĆ

U prethodnom članku opisali smo dva najvažnija mehanizma za autentikaciju korisnika u SSH-1 protokolu. U ovom članku opisat ćemo i preostala četiri mehanizma:

- dva oblika autentikacije zasnovana na klijentskom računalu (engl. host based)

- autentikacija zasnovana na sustavu Kerberos

- autentikacija zasnovana na sustavima jednokratnih lozinki.

Posljednja dva mehanizma moguće je koristiti samo u okolinama koje raspolažu navedenim sustavima.

 

 

1. Autentikacija zasnovana na klijentskom računalu

 

U prethodna dva opisana mehanizma autentikacija se ostvarivala na razini pojedinog korisnika, gdje je korisnik na određeni način sudjelovao u autentikaciji bilo lozinkom ili privatnim ključem. U ovom slučaju autentikacija se ostvaruje na osnovu klijentskog računala s kojeg se spaja na SSH poslužitelj. Na SSH poslužitelju definira se skup adresa računala kojima se vjeruje i s kojih se dopušta uspostavljanje veza. Postoje dva oblika autentikacije zasnovane na klijentskom računalu: Rhosts i RhostsRSA.

 

Rhosts mehanizam temelji se na Berkleyevim r-naredbama (rsh, rlogin, rexec, rcp, ...). Ovaj se mehanizam ne preporučuje koristiti zbog brojnih sigurnosnih propusta, te je stoga i isključen u podrazumijevanoj konfiguraciji SSH poslužitelja. Postupak autentikacije s Rhost mehanizmom je sljedeći:

 

1. Nakon faze uspostave veze s klijentom, poslužitelj koristi DNS za dohvat imena klijentskog računala na osnovu adrese.

 

2. Poslužitelj provjerava u konfiguracijskim datotekama da li klijentsko računalo ima pravo pristupa. Ako računalo nema pravo pristupa, postupak autentikacije završava neuspješno.

 

3. Poslužitelj provjerava da li program na klijentskom računalu koristi neki od privilegiranih portova. U UNIX-oidnim operacijskim sustavima privilegirani portovi su oni s adresama u rasponu od 1 do 1023. Pravilo je da samo root korisnik ima pravo pokretanja aplikacija koje koriste privilegirane portove. Ukoliko SSH klijent koristi privilegirani port, poslužitelj zaključuje da je instalaciju obavio korisnik s root ovlastima i autentikacija završava uspješno.

 

MANE

 

U današnjim mrežama ovaj autentikacijski mehanizam moguće je "probiti" na više različitih načina. Napadač može lažirati IP adresu svog računala (IP spoofing) ili lažirati ime računala napadom na DNS koji poslužitelj koristi. Nadalje, na pojedinim OS-ovima (npr. MS Windows) ne postoji koncept privilegiranih portova, pa bilo koji korisnik može pokrenuti aplikaciju koja koristi privilegirane portove.

 

 

RhostsRSA je unapređenje Rhosts mehanizma. Umjesto imena iz DNS-a i provjere privilegiranih portova, poslužitelj koristi klijentov računalni ključ (koji je sastavni dio svake instalacije SSH, opisano u članku SSH). Poslužitelj uz imena računala koja imaju pravo pristupa čuva i odgovarajuće javne računalne ključeve. Prilikom RhostsRSA autentikacije klijent potvrđuje vlasništvo računalnog ključa na identičan način kao i poslužitelj u postupku uspostave veze (članak Uspostava veze u protokolu SSH v.1, koraci 5-7). Provjera privilegiranih portova u ovom slučaju nije potrebna jer pristup računalnom ključu može imati samo root korisnik.

 

PREDNOSTI

 

Prednost autentikacije zasnovane na klijentskom računalu je jednostavnost za korisnike, jer se ne mora pamtiti i upisivati lozinka prilikom svakog prijavljivanja na sustav, niti se mora posjedovati par asimetričnih ključeva. Ovaj oblik autentikacije koristan je za aplikacije koje se trebaju pokrenuti na udaljenom računalu bez nadzora korisnika (batch poslovi), jer ne zahtjeva interakciju s korisnikom.

 

MANE

 

Iako RhostsRSA verzija autentikacije zasnovane na klijentskom računalu nudi veći stupanj sigurnosti od Rhosts, još uvijek ostaje problem složenosti konfiguracije. Administrator mora precizno definirati prava pristupa za svako pojedino računalo. Pri tome se koristi nekoliko konfiguracijskih datoteka, što povećava mogućnost pojave pogrešaka i otežava njihovo pronalažanje. Još veći problem je što napadač "upadom" na jedno računalo automatski dobiva pristup svim ostalim. Stoga se ovaj oblik autentikacije ne preporučuje koristiti u okolinama koje zahtijevaju visok stupanj sigurnosti.

 

 

Konfiguracija prava pristupa za oba oblika autentikacije definira se na dvije razine:

- na razini poslužitelja u datoteci /etc/shosts.equiv, te

- na razini pojedinog korisnika u datoteci $HOME/.shosts.

Način opisivanja pravila pristupa u datotekama iznimno je složen i nadilazi temu članka, pa ga ovdje nećemo detaljno opisivati. SSH poslužitelj također provjerava datoteke /etc/hosts.equiv i $HOME/.hosts koje se koriste za konfiguraciju r-komandi. Preporučujemo ukloniti te datoteke kako ne bi došlo do sukoba s pravilima definiranim u SSH-ovim datotekama. Poslužitelj donosi konačnu odluku na osnovu sve četiri datoteke. Bitno je naglasiti da ako bilo koja od datoteka dozvoljava pristup, poslužitelj će dozvoliti pristup!

 

Rhosts autentikacija se u konfiguraciji klijenta i poslužitelja podešava s opcijom RhostsAuthentication, a RhostsRSA s opcijom RhostsRSAAuthentication. Dodatno, moguće je ignorirati korisničku konfiguraciju (datoteke $HOME /.shosts i $HOME /.rhosts) s opcijom:

IgnoreRhosts yes

 

 

2. Kerberos

 

Kerberos (http://web.mit.edu/kerberos/www/) je mrežni protokol za autentikaciju korisnika koji koristi asimetrične ključeve. Ukratko, u sustavu Kerberos koristi se središnji poslužitelj za pohranu informacija o korisnicima i računalima, te njihovim asimetričnim ključevima. Prilikom prijavljivanja na sustav korisnik od središnjeg poslužitelja zahtijeva pristup na određeno računalo ili servis. Poslužitelj mu šalje ulaznicu (engl. ticket) kriptiranu korisničkim privatnim ključem. Tako kriptiranu ulaznicu moguće je dekriptirati isključivo s odgovarajućom lozinkom. Pomoću dobivene ulaznice korisnik pristupa željenom računalu. Integracija Kerberosa i SSH-1 je moguća na dva načina: pomoću ulaznica i lozinki.

 

Autentikacija se odvija na način da korisnik od Kerberosa zahtijeva ulaznicu za SSH poslužitelja i pomoću nje se autenticira. Autentikacija pomoću lozinke ostvaruje se tako da SSH poslužitelj proslijedi lozinku središnjem poslužitelju i zatraži ulaznicu. Ukoliko dobije ulaznicu autentikacija je uspješna. Izdana ulaznica sprema se, tako da je korisnik može dalje koristiti.

 

Postoji i posebni produžetak za SSH koji ostvaruje integraciju s verzijom Kerberosa za raspodijeljeni datotečni sustav Andrew File System (AFS). Ovaj produžetak nije namijenjen autentikaciji. U okolinama koje koriste AFS korisnikov $HOME direktorij obično je smješten na AFS-u. Da bi SSH poslužitelj mogao pristupiti datotekama u korisnikovom direktoriju $HOME (npr. ~/.ssh/authorized_keys) potrebne su mu ovlasti za pristup AFS-u. Ovaj produžetak ostvaruje prijenos potrebnih ovlasti (Kerberos ulaznice) s klijenta na SSH poslužitelj.

 

Za korištenje autentikacije s Kerberosom potrebno je omogućiti podršku prilikom prevođenja SSH poslužitelja (opcija --with-kerberos4). Na poslužiteljskoj i klijentskoj strani, autentikacija s Kerberosom podešava se s opcijom KerberosAuthentication.

 

 

3. Sustavi jednokratnih lozinki

 

Sustav jednokratnih lozinki (engl. one time passwords, OTP) radi na principu da korisnik prilikom svakog prijavljivanja na sustav koristi novu lozinku. SSH-1 može raditi sa sljedeća tri sustava jednokratnih lozinki: S-Key, SecureID i TIS. U slučaju sustava S-Key korisnik raspolaže s listom lozinki i programom koji prilikom prijavljivanja definira koju od lozinki treba koristiti. U slučaju sustava SecureID korisnik dobiva uređaj veličine kreditne kartice (tzv. token) koji određuje lozinku prilikom svakog prijavljivanja. Sustav TIS radi na principu pitanje-odgovor. Prilikom prijavljivanja poslužitelj postavlja pitanje, a korisnik koristeći token daje odgovor. Token može biti uređaj ili program.





[Lista]
Ovu uslugu CARNeta realizira Sveučilišni računski centar Sveučilišta u Zagrebu
  Copyright ©2005. CARNet. Sva prava zadržana. Impressum.
Mail to
sys-portal@CARNet.hr