Ancora su Apache Web Server
Transcript
Ancora su Apache Web Server
Elementi di Sicurezza e Privatezza Laboratorio 5 Chiara Braghin Ancora su Apache Web Server 1 Valutazione file .htaccess • Data una richiesta di accesso ad un file la valutazione parte dalla directory dove si trova il fale e sale fino alla radice del server I file .htaccess vengono combinati secondo il principio most specific takes precedence Lʼordine di valutazione caso di utilizzo contemporaneo di diversi “contenitori” è <Directory>, <Files> e <Location> 2 Direttive per accesso user-based • Require Presuppone un’autenticazione dell’utente Sintassi: require valid-user: un qualsiasi utente valido require user alice bob: solo alice e bob 3 2 Host-based vs User-based • Le direttive non sono mutuamente esclusive e possono essere usate in contemporanea • La direttiva satisfy definisce come i due tipi di restrizioni interagiscono satisfy all: un accesso è permesso se sia le direttive host-based sia le direttive user-based sono soddisfatte satisfy any: un accesso è permesso se almeno una direttiva è soddisfatta 4 Autenticazione (1) • Non fa uso di tecniche crittografiche • Autenticazione basata sulla coppia (login, password) • Richiede la creazione di un file delle password (htpasswd) htpasswd -c file username password htpasswd /etc/apache/passwd user • Si assume che le password vengano comunicate agli utenti per mezzo di un canale out-of-band • Si crea il file .htaccess nella directory che contiene le risorse da proteggere con password 5 3 Autenticazione (2) - Direttive • AuthName Assegna un nome all’area da proteggere • AuthType (Basic o Digest) Seleziona il metodo di autenticazione • AuthUserFile Specifica il file che contiene i nomi degli utenti e delle relative password 6 Esempio <Directory /miosito/dir_controllata> AuthType Basic AuthName "Area Protetta" AuthUserFile /usr/local/apache/passwords Require valid-user Order Allow,Deny Allow from 192.168.10. Satisfy Any </Directory> 7 4 Autenticazione digest (1) • Digest calcolato dalla password ed altri bit di informazione (e.g., nonce) tramite una funzione di hash (MD5) MD5(MD5(<password>)+":"+<nonce>+":"+MD5(<method> +":"+<url>)) Invece di inviare la password in chiaro come nellʼautenticazione base, viene inviato il digest La stessa funzione viene calcolata lato server Accesso garantito se i due valori corrispondono 8 Autenticazione digest (2) • Flusso di autenticazione Richiesta di accesso (url) inviata dal client Il server risponde con errore 401 “Authentication required” + nonce Il client combina password, nonce, url, metodo e li ritorna al server Il server recupera la password dellʼutente e calcola lʼhash Accesso garantito o negato 9 5 Esercizi da NON consegnare 1. 2. 3. 4. 5. 6. Creare un file delle password che contenga almeno gli utenti alice e bob Creare una cartella cartella_segreta che contenga un file index.html Fare in modo che solo alice possa leggere il file index.html Fare in modo che sia alice che bob oppure un utente che fa la richiesta con IP 192.168.13.1 possano leggere il file index.html Fare in modo che bob possa leggere il file index.html solo se fa la richiesta con IP 192.168.13.2 Fare in modo che l’utente trudy non possa leggere il file 10 6