Password sicure: la base della sicurezza informatica: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
mNessun oggetto della modifica
m (Annullata la modifica 38709 di HAL 9000 (discussione) - ripristino template)
 
(8 versioni intermedie di 4 utenti non mostrate)
Riga 1: Riga 1:
=Introduzione=
{{Versioni compatibili}}
Questo articolo affronta il problema della gestione della banda in Apache (Ver. 1 e Ver. 2), mostrando come installare e configurare tre diversi moduli utilizzabili a tale fine:
==Introduzione==
==mod_bandwidth==
* HomePage: http://www.cohprog.com/mod_bandwidth.html
* Licenza: Apache Group licence
* Copyright: Yann Stettler and CohProg S�RL
* Versione Apache: 1
==bw_mod==
* HomePage: http://www.ivn.cl/apache/
* Licenza: Apache 2.0 License/[http://www.ivn.cl/apache/LICENSE.txt Ivn Project License]
* Copyright: Ivan Barrera A.
* Versione Apache: 2
==mod_bwshare==
* HomePage: http://www.topology.org/src/bwshare/README.html
* Licenza: [http://www.topology.org/src/bwshare/LICENCE Alan Kennington's modified Artistic Licence]
* Copyright: Alan Kennington
* Versione Apache: 1 e 2


=Installazione=
Molti utenti non prendono molto in considerazione l'importanza di una password 'decente', in quanto pensano che a nessuno interessi il proprio sistema oppure che avere una password complessa e/o diversa da quelle normalmente scelte sia una cosa faticosa o per paranoici.
Bene, non è così!
L'importanza di scegliere una password 'difficile' è fondamentale, essendo una facile chiave di accesso ai nostri dati.


==mod_bandwidth==
Il modulo '''mod_bandwidth''' installato di default insieme al server apache; lo possiamo trovare in '''/usr/lib/apache/1.3/'''.
Se questo modulo dovesse dare problemi (esempi: non imposta correttamente la banda, ma sembra che i limiti che impostiamo siano visti come bit e non come byte, non accetta la direttiva MaxConnection), vi consiglio di reinstallarlo come descritto qui sotto.


* rechiamoci sul sito del produttore: http://www.cohprog.com/mod_bandwidth.html e scarichiamo l'ultima versione (link diretto:
==Generazione di password: come fare==
ftp://ftp.cohprog.com/pub/apache/module/1.3.0/mod_bandwidth.c).<br/>
* per potre compilare questo modulo, abbiamo bisogno del pacchetto '''apache-dev'''. Per installarlo � sufficiente dare:
<pre>
# apt-get install apache-dev
</pre>
* ora siamo pronti per compilare:
<pre>
$ /usr/bin/apxs -c mod_bandwidth.c -o mod_bandwidth.so
</pre>
* una volta pronto il modulo, eseguiamo i seguenti comandi:
<pre>
# cd /usr/lib/apache/1.3/
# mv mod_bandwidth.so mod_bandwidth.so.bk
# mv /home/maxer/mod_bandwidth.so ./
</pre>
 
in questo modo abbiamo creato una copia del modulo precedente, se presente, e poi abbiamo spostato il modulo appena compilato nella cartella dei moduli di apache.
 
 
===Aggiornamento===
 
Il procedimento appena presentato, crea diversi problemi, soprattutto in fase di aggiornamento del sistema: ogni volta il pacchetto
apache viene aggiornato, infatti, il modulo appena creato verr� sovrascritto con quello `vecchio`, e apache non si riavvier�...
Una alternativa � creare il modulo con un altro nome:
<pre>
$ /usr/bin/apxs -c mod_bandwidth.c -o mod_bandwidth_new.so
# cp mod_bandwidth_new.so /usr/lib/apache/1.3/mod_bandwidth_new.so
# cd /usr/lib/apache/1.3/
# cp 500mod_bandwidth.info 500mod_bandwidth_new.info
</pre>
 
Ora bisogna modificare il file '''500mod_bandwidth_new''' modificando il nome del
vecchio modulo con quello nuovo:
<pre>
LoadModule: bandwidth_module /usr/lib/apache/1.3/mod_bandwidth-new.so
Description: Bandwidth management on a per-connection basis
</pre>
 
Ora � necessario modificare il file '''/etc/apache/modules.conf''': la nuova direttiva da inserire, sostituendo eventualmente quella preesistente, � la seguente:
<pre>
LoadModule bandwidth_module /usr/lib/apache/1.3/mod_bandwidth_new.so
</pre>
 
==bw_mod==
Come prima cosa procuriamoci il modulo dal [http://www.ivn.cl/apache/ sito dello sviluppatore]. A questo punto estraiamolo:
<pre># tar vzxf bw_mod-6.0.tgz</pre>
spostiamoci nella cartella appena creata (''bw_mod-6.0.tgz'') e verifichiamo che sia presente il file ''bw_mod-6.0.c''.
 
Ora, per poter compilare il nostro modulo, ci servono gli strumenti per farlo: nel nostro caso dovremo installare, tramite apt-get, il pacchetto '''apache2-dev''':
<pre># apt-get install apache2-dev</pre>
Bene, ora compiliamo tramite il comando ''/usr/bin/apsx2'':
<pre># /usr/bin/apxs2 -i -a -c bw_mod-0.6.c</pre>
Se non ci sono errori, possiamo procedere. Alla fine della compilazione sono state automaticamente aggiunte queste righe al file ''/etc/apache2/httpd.conf'':
<pre>Include /etc/apache2/sysconfig.d/loadmodule.conf
LoadModule bw_module /usr/lib/apache2/bw_mod-0.6.so</pre>
{{Box | Nota |Apache2 usa come file di configurazione ''/etc/apache2/apache2.conf''; tuttavia, per retrocompatibilit�, � presente anche un file ''/etc/apache2/httpd.conf'' in cui vengono inseriti solitamente gli "includes" dei moduli di terze parti laddove questi non usino il sistema '''mods-available/mods-enabled'''.
 
In questo caso non dobbiamo preoccuparci, in quanto nel file ''apache2.conf'' c'� un richiamo a ''httpd.conf''.}}
 
==mod_bwshare==
 
=Configurazione=
 
==mod_bandwidth==
Ora configuriamo apache per utilizzare mod_bandwidth.<br/>
Aggiungiamo il modulo al file '''/etc/apache/modules.conf'''. Per fare questo abbiamo due possibilit�:
* modificare a mano il file, aggiungendo la seguente riga, alla finedel file:
<pre>
LoadModule bandwidth_module /usr/lib/apache/1.3/mod_bandwidth.so
</pre>
*utilizzare modules-config:
<pre>
modules-config apache enable mod_bandwidth
</pre>
 
Creiamo le cartelle temporanee per mod_bandwidth:
<pre>
# mkdir /tmp/apachebw
# mkdir /tmp/apachebw/master
# mkdir /tmp/apachebw/link
# chown -R www-data:www-data /tmp/apachebw
# chmod -R 775 /tmp/apachebw
</pre>
(ricordiamoci che � possibile che qualche script ripulica la directory '''/tmp''', quindi cambiamo la posizione di queste cartelle con la direttiva BandWidthDataDir).
 
Ecco fatto, ora con il seguente comando facciamo rileggere ad apache i file di configurazione:
<pre>
# /etc/init.d/apache reload
</pre>


===Note per il corretto funzionamento===
Quante volte ci siamo trovati davanti ad una riga con scritto ''Password:'' senza sapere che cosa inserire? Immagino tante, tantissime!
Per ottenere risultati, � importante che non ci siano dei link morti nella directory '''link''' di mod_bandwidth, quando viene eseguito avviato il server con il modulo attivo.
Scegliere una buona password non è facile, ma non è nemmeno impossibile.
Ecco una piccola lista delle caratteristiche principali che dovrebbe avere ogni password:
* non deve essere banale (casa, gatto, il nome della persone, la data di nascita), in quanto uno dei primi sistemi per cercare la password di una persone è proprio quello di analizzare la sua vita (supponendo che l'attaccante possa entrare in comunicazione con l'attaccato), e questo genere di password è quello più facile da scoprire;
* non deve essere una sola parola ripetuta più volte: non penso che 'gattogatto' sia più difficile da indovinare di 'gatto';
* non dovrebbe essere riconducibile a qualche cosa della propria vita;
* non deve essere una parola di senso compiuto: spesso, infatti, vengono fatti attacchi con dei dizionari, che riescono a forzare in pochissimo tempo questo genere di password;
* deve contenere altri caratteri oltre alle sole lettere maiuscole: ciò consente di ampliare l'elenco dei caratteri disponibili in caso di attacco brute force.  


Potrebbe essere una buona idea, a questo scopo, eseguire lo script '''cleanlink.pl''', che provvede a rimuovere automaticamente i link morti.
Per esempio, supponiamo di scegliere una password di 6 caratteri:
* se questa è formata solo da lettere minuscole, abbiamo 21<sup>6</sup> combinazioni possibili (non sono tante, anzi);
* lettere minuscole e maiuscole: 42<sup>6</sup> (sempre troppo poche);
* numeri, minuscole e maiuscole: 52<sup>6</sup>;
* numeri, minuscole, maiuscole e una quindicina di caratteri 'speciali' (come _.,-^=%....): 62<sup>6</sup>!!!
Come potete vedere, la differenza è grandissima.


 
Siamo, quindi, arrivati davanti al problema cruciale: come generare questa password?
 
Vediamo qualche trucco:
===Direttive globali di configurazione===
# '''Sostituiamo numeri alle lettere:''' seguendo questo schema, è possibile sostituire alcuni numeri a determinate lettere:
 
===='''BandWidthDataDir'''====
'''Sintassi''': BandWidthDataDir <directory><br/>
'''Default''': "/tmp/apachebw"<br/>
'''Contesto''': server config<br/>
Imposta la directory in cui mod_bandwidth conserve i suoi file temporanei. All'interno di questa directory devono essere presenti anche le directory link e master; tutte queste cartelle devono essere scrivibili da apache (che in debian utilizza l'utente ed il gruppo www-data)
 
 
===='''BandWidthModule'''====
'''Sintassi''': BandWidthModule <On|Off><br/>
'''Default''': Off<br/>
'''Contesto''': per server config<br/>
Abilita o disabilita il modulo.
 
'''NOTA:''' Per utilizzarlo all'interno di un virtual host, � necessario inserire la direttiva '''BandWidthModule On''' all'interno del blocco del virtual host. Se viene attivato globalmente (cio� all'interno del file httpd.conf, fuori da ogni blocco), il modulo � attivo automaticamente in tutti i sottoblocci (Virtual Host, etc..)
 
 
===='''BandWidthPulse'''====
'''Sintassi''': BandWidthPulse <microseconds><br/>
'''Default''':<br/>
'''Contesto''': per server config<br/>
 
Modifica l'algoritmo usato per calcolare la larghezza di banda e per trasmettere i dati. Nella modalit� normale (obsoleta), il modulo cerca di tramettere i dati in pacchetti di 1Kb. Questo vuol dire che, se la banda disponibile � di 512B, il modulo trasmette 1Kb, aspetta 2 secondi, trasmette 1Kb e cos� via... Impostando questa direttiva, verr� cambiato l'algoritmo in modo che il server
aspetter� sempre lo stesso lasso di tempo, prima di trasmettere pacchetti, e la dimensione dei pacchetti varier� di conseguenza, cos� da rispettari i criteri indicati nelle altre direttive. Il valore � in microsecondi.
 
'''Esempio:'''
<pre>
<pre>
BandWidthPulse 1000000 #1 secondo
i/l -> 1
z -> 2
b/e -> 3
a -> 4
s -> 5
g -> 6
t -> 7
b -> 8
p -> 9
o -> 0
</pre>
</pre>
Se oltre a questa direttiva � presente un limite a 512B, il server trasmetter� 512B, aspetter� un secondo, trametter� 512B, aspetter� un secondo e cos� via.
Così è semplicissimo aumentare il numero di caratteri disponibili senza comprometterne la mnemonicità.
 
 
===Direttive per la configurazione di Directory e/o VirtualServer===
 
===='''BandWidth'''====
'''Sintassi''': BandWidth <domain|ip|all> <rate><br/>
'''Default''': none<br/>
'''Contesto''': per directory, .htaccess<br/>


Limita la banda per i file contenuti nella directory e nelle sub-directory, in base alla provenienza (dominio, ip, all).
Usiamo qualche cosa di facile da ricordare. ''Facile da ricordare'' non vuol dire, però, banale!
Gli indirizzi IP possono essere specificati anche nel formato network/netmask (Es: 192.168.0.0/21) '''<rate>''' deve essere espresso in Byte/secondo. Impostato a "0" indica nessun limite di banda. Possono essere impostati pi� limiti per la stessa directory; in questo caso,
importante l'ordine con cui vengono inserite le direttive, in quando mod_bandwidth li scorre dal primo all'ultimo, fermandosi a quello che
rispecchia la situazione


'''Esempio:'''
'''Esempio:'''
<pre>
Pensiamo ad una frase di una canzone:
BandWidth ecp.fr 0
BandWidth 138.195 0
BandWidth all 1024
</pre>
In questo esempio, viene limitata la banda a:
* nessun limite per gli appartenenti al dominio .ecp.fr e alla rete 138.195. ;
* 1024Bytes/secondo per tutti gli altri.
 
 
===='''LargeFileLimit'''====
'''Sintassi''': LargeFileLimit <filesize> <rate><br/>
'''Default''': none<br/>
'''Contesto''': per directory, .htaccess<br/>
 
Imposta un limite '''<rate>''' da usare quando si trasferiscono file di dimensioni uguali o maggiori a <filesize>
E' possibile utilizzare pi� direttive per diverse dimensioni; anche in questo caso, se il parametro viene impostato a "0", non sar� impostato alcun limite (rimarr�, ovviamente, l'eventuale limite impostato in BandWidth). Se viene impostato a "-1", invece, saranno aboliti tutti i limiti (anche quelli impostati con la direttiva BandWidth) per i file la cui dimensione rispecchia quella direttiva.
 
'''Esempio:'''
<pre>
LargeFileLimit 200 3072
LargeFileLimit 1024 2048
</pre>
Queste direttive portano a questa situazione:
* i file pi� piccoli di 200Kb, non verranno limitati da queste direttive (rimane attiva la direttiva BandWidth);
* i file di dimensione compresa tra 200Kb e 1023Kb, saranno limitati a 3072Kb/sec;
* i file di dimensione maggiore di 1024Kb, saranno limitati a 2048Kb/sec.
 
 
===='''MaxConnection'''====
'''Sintassi''': MaxConnection <connections><br/>
'''Default''': 0 (illimitate)<br/>
'''Contesto''': per directory, .htaccess<br/>
 
Imposta il numero di connessioni massime che possono avvenire  contemporaneamente.Una volta raggiunto il limite impostato, le nuove connessioni verranno rifiutate. Se impostato a "0" (valore di default) non saranno presenti delle limitazioni per quanto riguarda il numero di connessioni simultanee (se non quello impostato nelle direttive principali di Apache).
 
 
===='''MinBandWidth'''====
'''Sintassi''': MinBandWidth <domain|ip|all> <rate><br/>
'''Default''': all 256<br/>
'''Contesto''': per directory, .htaccess<br/>
 
Imposta una banda minima per il trasferimento dei dati. Questa direttiva pu� sovrascrivere le direttive BandWidth e LargeFileLimit, in quanto, in presenza di un numero elevato di connessioni, verr� garantita a tutte la larghezza indicata con questa direttiva, anche se il totale superer� i limiti. Il primo argomnto � da usarsi come per la direttiva BandWidth. deve essere espresso in Byte/Secondo; se viene impostato a 0, verr� usato il valore di default (256).
 
'''Esempio :'''
<pre>
BandWidth all 3072
MinBandWidth all 1024
</pre>
 
Assumendo la presenza delle precedenti direttive analizziamo i casi in base
alle connessioni:
* una connessione: velocit� di trasferimento = 3072 Bytes/sec.
* due connessioni: velocit� di trasferimento = 1536 Bytes/sec.
* tre o pi� connessioni: velocit� di trasferimento = 1024 Bytes/sec.


Se MinBandWidth � impostato a "-1" accade che:
''And I give up forever to touch you'' (<small>Iris, GooGooDolls</small>)
* se c'� solo una connessione, il file viene trasferito a 3072 Bytes/sec.
* se ci sono una o pi� connessioni, ogni file viene trasferito a 3072 Bytes/sec. La velocit� non dipende pi� dal numero di connessioni, ma solo dai valori delle direttive.


Ovviamente, la velocit� di trasferimento totale non potr� mai superare la vostra larghezza di banda...
La cosa che si nota a prima vista è la presenza di 8 parole (uhm...lunghezza minima di una password per quanto riguarda la nuova legge sulla privacy e sicurezza informatica)
Bene, allora prendiamo l'iniziale di ogni parola:


{{Box|NOTA:|Se ad una richiesta devono essere applicati sia un limite impostato nella direttiva "BandWidth" sia uno impostato nella direttiva "LargeFileLimit", verr� applicato il pi� piccolo (ma mai minore a quello eventialmente indicato nella direttiva "MinBandWidth")}}
''aIguftty''


==bw_mod==
Non ha molto senso come parola, vero?
In Apache2 la configurazione globale del server pu� essere separata da quella dei VHosts e delle Directories. Sono presenti, infatti, due files: <tt>/etc/apache2/apache2.conf</tt>, in cui sono inserite le configurazioni globali del server (praticamente la maggior parte delle direttive del vecchio <tt>httpd.conf</tt>); e <tt>/etc/apache2/sites-enabled/000-default</tt>, in cui ci sono le direttive per VHosts e Directories (in realt� � un link simbolico al file <tt>/etc/apache2/sites-available/default</tt>).<br/>
Bene...ottima cosa!!!
Per poter, quindi, configurare il nostro ''bw_mod'', possiamo inserire le prime due direttive della seguente lista in <tt>apache2.conf</tt> come variabili globali, mentre tutte le altre possono essere inserite indifferentemente in <tt>apache2.conf</tt>, se vogliamo applicare le limitazioni a tutti i siti serviti dal serverweb, oppure in <tt>000-default</tt> nelle apposite sezioni, se vogliamo applicarle a specifici VHosts o Directories.<br/>
Ora effettuiamo la sostituzione:
{{ Warningbox | Momentaneamente il modulo '''non supporta il sistema .htaccess''', quindi non � possibile inserire le direttive in questi files.<br/>
In alcuni punti della guida si fa riferimento alla configurazione di direttive del modulo ''mod_bandwidth'' dove � indicata la possibilit� d'uso in .htaccess: con ''bw_mod'' non bisogna prendere in considerazione quei '''contesti'''.}}


==='''Direttive globali'''===
''4Iguft7y''
===='''BandWidthModule'''====
'''Sintassi''': <tt>BandWidthModule On|Off</tt><br/>
'''Default''': <tt>Off</tt><br/>
Tramite questa direttiva attiviamo o disattiviamo il modulo


===='''BandWidthDebug'''====
Niente male!
'''Sintassi''': <tt>BandWidthDebug On|Off</tt><br/>
'''Default''': <tt>Off</tt><br/>
Questa direttiva serve ad attivare la funzione di debug (utile per chi si vuole divertire a sviluppare il modulo).


==='''Direttive per la configurazione di Directory e/o VirtualServer'''===


===='''ForceBandWidthModule'''====
'''NB''': la "I" l'ho lasciata espressa in lettera maiuscola, così per aumentare un po' la fatica (modifica di un sistema oramai ben conosciuto), e soltanto una t a caso è diventata un 7.
'''Sintassi''': <tt>ForceBandWidthModule On|Off</tt><br/>
Prima di finire, mettiamo qualche carattere:
'''Default''': <tt>On</tt><br/>
Di default, naturalmente, il modulo processer� e applicher� i limiti a ogni richiesta al webserver. In caso si voglia indicare manualmente quali files debbano essere soggetti alla limitazione di banda, si pu� settare questa direttiva su ''off'', aggiungendo, poi, i tipi di file cui deve essere applicato il limite:
<pre>ForceBandWidthModule Off
AddOutputFilterByType BW_MOD text/html text/php</pre>


===='''BandWidth'''====
''4Iguf-t7y_''
'''Sintassi''': <tt>BandWidth <Origine della connessione> <Limite di banda in bytes/s></tt><br/>
'''Default''': <tt>all 0</tt><br/>
Vedi [[#BandWidth | BandWidth]] del ''mod_bandwidth''.


===='''MinBandWidth'''====
Ora abbiamo ottenuto una password di ben 10 caratteri non derivante da un dizionario, quindi l'unico attacco possibile è quello brute force.
'''Sintassi''': <tt>MinBandWidth <Origine della connessione> <Limite di banda in bytes/s></tt><br/>
'''Default''': <tt>all 0</tt><br/>
Vedi [[#MinBandWidth | MinBandWidth]] del ''mod_bandwidth''.


===='''LargeFileLimit'''====
'''Sintassi''': <tt>LargeFileLimit <Tipo di file> <Dimensione minima file in KB> <Limite in bytes/s></tt><br/>
'''Default''': <tt>none</tt><br/>
Con questa direttiva possiamo indicare un limite di trasferimento <Limite in bytes/s> per un determinato tipo di file <Tipo di file> che abbia la dimensione minima indicata con <dimensione minima del file in KB>.
Il parametro <Tipo di file> viene espresso con l'estensione del file (p.e. ''.avi'', ''.exe'', ''.tgz''); si pu usare il carattere jolly ''*'' per indicare ogni tipo di file.
La <Dimensione minima file in KB>, come scritto, viene indicata in kilobytes.
Il <Limite in bytes/s> indica la velocit massima alla quale verranno trasferiti i files interessati da questa direttiva.
Per esempio, con:
<pre>LargeFileLimit .avi 500 10240</pre>
diciamo al webserver che per i video con estensione AVI che abbiano dimensioni dai 500 kb in su, dovr applicare uua velocit massima di trasferimento di 10kb/s.


===='''BandWidthPacket'''====
==Memorandum per la conservazione della password==
'''Sintassi''': <tt>BandWidthPacket <Dimensione pacchetti in bytes></tt><br/>
'''Default''': <tt>8192</tt><br/>
Questa direttiva indica la dimensione massima dei pacchetti trasferiti.<br/>
Solitamente, in una configurazione generica, non � necessario modificare questo valore. In caso si voglia ottimizzare la trasmissione dati (e soprattutto se si sa cosa si sa facendo), possono essere specificati valori tra 1024 e 131072.<br/>
In caso si usino valori eccessivi per la propria connessione, il modulo riporter� automaticamente la direttiva a valori pi� bassi.


===='''BandWidthError'''====
Vediamo, ora, come conservare correttamente una password.
'''Sintassi''': <tt>BandWidthError <Num. Errore></tt><br/>
Sì, perché anche se usiamo una password difficile da trovare ma la scriviamo su un pezzo di carta...avete capito! Quindi niente post-it con password scritte, niente bigliettini nel portafoglio e così dicendo...
''' Default''': <tt>none</tt> (Vengono usati i valori standard di Apache2).<br/>
La password non deve essere scritta da nessuna parte (ecco perché abbiamo lavorato un po' sulla mnemonicità), altrimenti i nostri sforzi risultano vani!
In caso vogliamo personalizzare la pagina di errore quando si raggiungono i limiti impostati con ''MaxConnection'', con questa direttiva possiamo indicare ad apache che tipo di errore mostrare con <Num. Errore> ed eventualmente, mettendo mano alla direttiva ErrorDocument in <tt>/etc/apache2/apache2.conf</tt>, quale pagina deve essere mostrata.<br/>
L'unico posto in cui potrebbe essere scritta (per quanto riguarda la legge sulla privacy e sicurezza informatica) è in un foglio di carta inserito in una busta sigillata da consegnare al responsabile (solo nei posti in cui è necessario rispettare la legge sulla privacy e sulla sicurezza informatica).
Di default, quando viene raggiunto il numero massimo di connessioni, viene mostrata la classica pagina d'errore 503 HTTP_SERVICE_UNAVAILABLE (possiamo controllare in apache2.conf la sezione con tutti gli errori che apache pu� restituire al browser).
Se usiamo una pagina d'errore personalizzata, � importante che l'errore associato alla nostra pagina non sia gi� usato da apache (l'autore del modulo ha testato con successo l'errore numero 510).
Per esempio, per usare una pagina d'errore personalizzata, possiamo scrivere:
<pre>ErrorDocument 510 /errors/paginaerrore.html</pre>
nella direttiva ErrorDocument in <tt>etc/apache2/apache2.conf</tt>, e
<pre>BandWidthError 510</pre>
nella direttiva BandWidthError.


{{ Warningbox | Possono sorgere problemi quando la pagina d'errore personalizzata ha una dimensione minore di 1024bytes: opportuno, quindi, creare pagine pi grandi di questo valore. }}


===='''MaxConnection'''====
==Appunto di Paranoia==
'''Sintassi''': <tt>MaxConnection <Origine delle connessioni> <Num. massimo connessioni></tt><br/>
'''Default''': <tt>all 0</tt> (Illimitate da ogni origine).<br/>
Questa direttiva permette di impostare un numero massimo di connessioni provenienti da una determinata origine. La sintassi � simile alla direttiva ''BandWidth''. Le connessioni eccedenti il limite riceveranno l'errore impostato in ''BandWidthError'' (di default � il 503).
{{ Warningbox | Affinch� il limite di connessioni per una data origine possa essere applicato, � necessario che quella origine abbia anche una limitazione di banda specificata con ''BandWidth''.<br/>
Quindi, se vogliamo limitare le connessioni provenienti da 192.168.2.0 con
<pre>MaxConnection 192.168.2.0 20</pre>
� fondamentale che il traffico con quella specifica rete sia indicato in
<pre>BandWidth 192.168.2.0 0</pre>
Come si pu� vedere, � una semplice questione di forma: infatti si pu� tranquillamente indicare come limite ''0'', quindi infinito. L'importante � che sia specificato in BandWidth.}}


==mod_bwshare==
Prima di terminare, ecco alcuni consigli per mantenere ancora più sicura la password:
* non usarla in pubblico (o meglio: non facciamola vedere a chi è vicino a noi);
* se dobbiamo digitarla in luogo pubblico, confondiamo facendo finta di premere dei caratteri in più, magari digitando e cancellando, copriamo la tastiera con un foglio ed altri trucchetti simili;
* cerchiamo di usare connessioni sicure: preferiamo ssh a telnet, server con supporto ssl, sftp al posto di ftp e così via;
* non memorizziamola sul computer! altra cosa da evitare è quella di conservare la password in database vulnerabili (InternetExplorer, Firefox, Kwallet (anche se questo usa un sistema di crittazione basato su password), in quanto è facile che un attaccante acceda a questi in caso di intromissione in una macchina.


=Conclusione=
==Conclusione==


Con questi moduli � possibile, in breve tempo e con la massima semplicit�,
Spero che questa piccola rassegna di suggerimenti su come gestire le password aiuti un po' di persone, e faccia riflettere sul social engineering.
ottimizzare la ripartizione della banda del proprio server web. Cosa
fondamentale per non arrivare alla saturazione della banda, che
comporterebbe lentezza nelle risposte dei vari servizi e della navigazione su
internet.


{{Autori
|Autore=[[User:MaXeR|MaXeR]]
}}


---- [[User:MaXeR|MaXeR]]
[[Categoria:Debian e sicurezza]]

Versione attuale delle 11:04, 11 apr 2016

Debian-swirl.png Versioni Compatibili

Tutte le versioni supportate di Debian

Introduzione

Molti utenti non prendono molto in considerazione l'importanza di una password 'decente', in quanto pensano che a nessuno interessi il proprio sistema oppure che avere una password complessa e/o diversa da quelle normalmente scelte sia una cosa faticosa o per paranoici. Bene, non è così! L'importanza di scegliere una password 'difficile' è fondamentale, essendo una facile chiave di accesso ai nostri dati.


Generazione di password: come fare

Quante volte ci siamo trovati davanti ad una riga con scritto Password: senza sapere che cosa inserire? Immagino tante, tantissime! Scegliere una buona password non è facile, ma non è nemmeno impossibile. Ecco una piccola lista delle caratteristiche principali che dovrebbe avere ogni password:

  • non deve essere banale (casa, gatto, il nome della persone, la data di nascita), in quanto uno dei primi sistemi per cercare la password di una persone è proprio quello di analizzare la sua vita (supponendo che l'attaccante possa entrare in comunicazione con l'attaccato), e questo genere di password è quello più facile da scoprire;
  • non deve essere una sola parola ripetuta più volte: non penso che 'gattogatto' sia più difficile da indovinare di 'gatto';
  • non dovrebbe essere riconducibile a qualche cosa della propria vita;
  • non deve essere una parola di senso compiuto: spesso, infatti, vengono fatti attacchi con dei dizionari, che riescono a forzare in pochissimo tempo questo genere di password;
  • deve contenere altri caratteri oltre alle sole lettere maiuscole: ciò consente di ampliare l'elenco dei caratteri disponibili in caso di attacco brute force.

Per esempio, supponiamo di scegliere una password di 6 caratteri:

  • se questa è formata solo da lettere minuscole, abbiamo 216 combinazioni possibili (non sono tante, anzi);
  • lettere minuscole e maiuscole: 426 (sempre troppo poche);
  • numeri, minuscole e maiuscole: 526;
  • numeri, minuscole, maiuscole e una quindicina di caratteri 'speciali' (come _.,-^=%....): 626!!!

Come potete vedere, la differenza è grandissima.

Siamo, quindi, arrivati davanti al problema cruciale: come generare questa password? Vediamo qualche trucco:

  1. Sostituiamo numeri alle lettere: seguendo questo schema, è possibile sostituire alcuni numeri a determinate lettere:
i/l -> 1
z -> 2
b/e -> 3
a -> 4
s -> 5
g -> 6
t -> 7
b -> 8
p -> 9
o -> 0

Così è semplicissimo aumentare il numero di caratteri disponibili senza comprometterne la mnemonicità.

Usiamo qualche cosa di facile da ricordare. Facile da ricordare non vuol dire, però, banale!

Esempio: Pensiamo ad una frase di una canzone:

And I give up forever to touch you (Iris, GooGooDolls)

La cosa che si nota a prima vista è la presenza di 8 parole (uhm...lunghezza minima di una password per quanto riguarda la nuova legge sulla privacy e sicurezza informatica) Bene, allora prendiamo l'iniziale di ogni parola:

aIguftty

Non ha molto senso come parola, vero? Bene...ottima cosa!!! Ora effettuiamo la sostituzione:

4Iguft7y

Niente male!


NB: la "I" l'ho lasciata espressa in lettera maiuscola, così per aumentare un po' la fatica (modifica di un sistema oramai ben conosciuto), e soltanto una t a caso è diventata un 7. Prima di finire, mettiamo qualche carattere:

4Iguf-t7y_

Ora abbiamo ottenuto una password di ben 10 caratteri non derivante da un dizionario, quindi l'unico attacco possibile è quello brute force.


Memorandum per la conservazione della password

Vediamo, ora, come conservare correttamente una password. Sì, perché anche se usiamo una password difficile da trovare ma la scriviamo su un pezzo di carta...avete capito! Quindi niente post-it con password scritte, niente bigliettini nel portafoglio e così dicendo... La password non deve essere scritta da nessuna parte (ecco perché abbiamo lavorato un po' sulla mnemonicità), altrimenti i nostri sforzi risultano vani! L'unico posto in cui potrebbe essere scritta (per quanto riguarda la legge sulla privacy e sicurezza informatica) è in un foglio di carta inserito in una busta sigillata da consegnare al responsabile (solo nei posti in cui è necessario rispettare la legge sulla privacy e sulla sicurezza informatica).


Appunto di Paranoia

Prima di terminare, ecco alcuni consigli per mantenere ancora più sicura la password:

  • non usarla in pubblico (o meglio: non facciamola vedere a chi è vicino a noi);
  • se dobbiamo digitarla in luogo pubblico, confondiamo facendo finta di premere dei caratteri in più, magari digitando e cancellando, copriamo la tastiera con un foglio ed altri trucchetti simili;
  • cerchiamo di usare connessioni sicure: preferiamo ssh a telnet, server con supporto ssl, sftp al posto di ftp e così via;
  • non memorizziamola sul computer! altra cosa da evitare è quella di conservare la password in database vulnerabili (InternetExplorer, Firefox, Kwallet (anche se questo usa un sistema di crittazione basato su password), in quanto è facile che un attaccante acceda a questi in caso di intromissione in una macchina.

Conclusione

Spero che questa piccola rassegna di suggerimenti su come gestire le password aiuti un po' di persone, e faccia riflettere sul social engineering.




Guida scritta da: MaXeR Swirl-auth20.png Debianized 20%
Estesa da:
Verificata da:

Verificare ed estendere la guida | Cos'è una guida Debianized