giovedì 3 settembre 2009

Linux : aumentare la sicurezza di base


La sicurezza su Linux è un argomento importante anche per l'utente domestico,con questa guida voglio dare delle indicazioni di base per aumentare la sicurezza della propria LinuxBox ed è rivolta a chi ,pur essendo utente desktop ,vuole aumentare la sicurezza del proprio sistema. Avanziamo per gradi.

LA PRIMA REGOLA E' AGGIORNARE SPESSO


1:Il FIREWALL:

Ogni sistema GNU/Linux ha in se iptables. Se lanciamo dalla shell

iptables -h

vediamo come questo strumento sia complesso, infatti ci sono tantissime opzioni che possono ,a loro volta ,essere combinate fra loro in maniera tale da poter creare un profilo ad hoc per quello che vogliamo fare. Un simile approccio è potente e completo tuttavia complesso per chi si avvicini per la prima volta .Per configurare un firewall di base possiamo usare dei programmi grafici come guarddog per chi usa kde o Firestarter per gnome, valutando il miglior profilo in base alle vostre esigenze .Suse e fedora forniscono dei tool grafici per la configurazione del firewall su ubunto c'è preinstallato ufw che si può avviare da linea di comando,è più semplice di iptables ma per chi fosse alle prime armi consiglio guarddog o firestarter. Ad ogni modo almeno per quanto riguarda ubuntu non è abilitata di base nessuna regola al firewall cosa che non crea problemi dato che le porte aperte dall'esterno sono zero. Quindi se avete una configurazione di base il sistema è ugualmente ben protetto.


2:SERVIZI E VULNERABILITA'
Se non siamo sicuri dei servizi che girano sulla nostra macchina installiamo nmap dal gestore di pacchetti ,e lanciamo dalla shell
nmap -f -v 127.0.0.1
in questo modo possiamo vedere le porte aperte sul sistema(le porte corrispondono a servizi,ad ogni servizio è associato un numero ).Ora per vedere se ci sono delle possibili falle è utile usare un vulnerability scanner ne esistono molti,vediamone uno popolare Nessus.
Andiamo sul sito di nessus www.nessus.org registriamoci ,scarichiamo la versione più recente al momento la 4.0.1 per la nostra distribuzione,quindi scarichiamo nessus-client per l'interfaccia grafica dalla pagina www.nessus.org/download .Ora controlliamo il codice che ci è stato inviato via mail e lanciamo il comando come indicato nella mail
/opt/nessus/bin/nessus-fetch --register XXXX-XXXX-XXXX-XXXX-XXXX
ora spostiamoci in /opt/nessus/sbin/ e dalla shell lanciamo

sudo ./nessus-adduser

scegliete login ad authentication (pass/cert) premete invio,scegliete la vostra password e infine date yes alla domanda .
Ora lanciate sudo ./nessusd
lasciate che scarichi i plugin quando dirà all plugin downloaded possiamo anche chiudere .
Ora andiamo in /opt/nessus/bin/
clicchiamo su NessusClient ora andiamo su connect quindi edit e usiamo il login e la password scelti in precedenza quindi una volta creatala nuova conessione colleghiamoci con connect.su network to scan lasciamo single host e inseriamo 127.0.0.1 come in figura in questo modo analizzeremo la nostra macchina. Quindi premiamo il tastino + di Policy e scegliamo le regole per lo scanning COME IN FIGURA quindi salviamo e premiamo sul pulsante scan now.
Nessus 4.0.1 ci avviserà delle vulnerabilità presenti sulla macchina ed utilizzabili da un aggressore attenzione perchè possono anche essere generati dei falsi positivi . Questo strumento è estremamente utile per rilevare vulnerabilità sul proprio sistema .



3:VIRUS?!?
I Virus su linux sono più unici che rari pochi all'anno e aggiornando il sistema stiamo tranquilli vi consiglio la lettura di questo articolo(link).
Antivirus per linux esistono ma conviene usarli solo se si ha una lan o un server con macchine windows per grantirene la sicurezza .
Un problema reale sono i rootkit .Per salvaguardare il sistema dai rootkit installiamo dal gestore di pacchetti rootkit hunter.
Quindi dalla shell lanciamo
rkhunetr –update e infine rkhunter -c
La macchina verrà scansionata per ricercare rootkit noti .

4:SICUREZZA ELEVATA
se volete una sicurezza elevata allora potete installare Snort un intrusion detection system molto popolare,se invece utilizzate chat e volete nascondere il vostro indirizzo IP (anche su msn è facile arrivare all'ip) allora si può utilizzare Tor , oppure un Tunnel Ipv6.Questi approcci consentono un elevato anonimato nella navigazione ma sono consigliabili a chi ha particolari esigenze. In ultima analisi vediamo SElinux creato dalla NSA (national securety agency) statunitense è un 'architettura che si intrega nel kernel e impedisce l'esecuzione di codice malevolo,è in grado di impedire l'esecuzione di exploit ,il suo uso è altamente consigliato su un server ma a livello desktop io preferisco non usarlo in quanto riduce le prestazioni sui benchmark che coinvolgono l'I/O almeno stando a phornix (vedi questo articolo)la decisione spetta a voi.

Ho fatto delle prove,non aggiornando il sistema da una settimana ho deciso di scaricare alcuni exploit molto recenti e provarli sul mio computer ebbene ,funzionano e si ottiene facilmente l'account di Root,questo sottolinea quanto sia importante l'aggiornamento magari quotidiano del sistema.

Concludendo Linux è di base un sistema ben difeso a patto che si aggiorni il sistema e i suoi programmi , se usate un ambiente desktop e non siete nel mirino di un cracker allora l'aggiornamento è la miglior tattica ed è il più delle volte sufficiente ,ci sono moltissimi modi per difendere il proprio sistema io ne ho elencati alcuni se ne avete altri da consigliare ogni consiglio è ben accetto.

libri consigliati

giovedì 27 agosto 2009

firefox 3.6 in prova : una piacevole sorpresa

In questi giorni di caldo afoso e studio ho deciso a tempo perso di provare Firefox 3.6 sulla mia Kubuntu .
Per prima cosa ho disinstallato firefox3.5 e dopo aver salvato le password ho eliminato tutti i file ad esso associati, quindi ho aggiunto i repository che per ubuntu hardy sono i seguenti :

deb http://ppa.launchpad.net/ubuntu-mozilla-daily/ppa/ubuntu hardy main
deb-src http://ppa.launchpad.net/ubuntu-mozilla-daily/ppa/ubuntu hardy main

Per altre versioni seguire questa guida di pettinix.org.
Attenzione però perchè installando firefox con questo metodo ad ogni aggiornamento verrà automaticamente installata l'ultima versione sperimentale e non la versione stabile,quindi prima di ritornare alla vecchia versione rimuovete i repository dal gestore di pacchetti.
Una volta installato firefox 3.6 si può accedere ad esso trmite menu principale o lanciando dalla shell il comando:

firefox-3.6


L'ambiente è identico (almeno per ora ) alla versione precedente ,quello che mi fa piacere è di vedere il browser migliorato in termini di velocità ,infatti risulta già al primo impatto visibilmente più veloce e ho quindi deciso di compararlo con le versioni precedenti utilizzando Pacekeeper.3.0 (1523) 3.5 (1743) 3.6 (2112)
Il punteggio raggiunto dalla nuova versione è visibilmente migliore rispetto la versione 3.5 ottimizzata,attenzione il vostro punteggio potrebbe essere differente in base alla connessione ,alla cpu,alla scheda video,al sistema Operativo.
Ho infine provato la versione windows con wine memore del fatto che la versione firefox di windows è più veloce di quella Linux (vi è dedicato maggior tempo e più programmatori dato che è la piattaforma più usata).Ebbene per il momento la nuova versione non fa eccezione almeno stando ai test che ho eseguito con pacekeeper se lo avessi fatto nativamente con windows il distacco sarebbe stato maggiore.Linux(2112) Wine(2214)
quindi se state usando linux e il vostro cruccio è la velocità vi consiglio Opera 10 beta o chrome3 beta.
Ma le sorprese di questa 3.6 beta non finiscono qui, infatti la uso ormai da 2 settimane e ,nonostante sia ancora una versione beta ,non mi ha mai dato nessun problema tanto che ho deciso di non tornare indietro.
Tra i repository è possibile scaricare anche la versione 3.7 ma per quella credo sia ancora troppo presto e per ora ho rimandato.

giovedì 16 luglio 2009

Velocizzare Firefox 3.5 (con test comparativi prima e dopo)



Firefox 3.5 ha segnato un incremento delle prestazioni rispetto al suo predecessore 3.0 ,tuttavia giocando con i valori di defoult possiamo ulteriormente migliorare le prestazioni del Browser.
Sulla barra degli indirizzi digita :
about:config
Modifichiamo i valori di base con questi :

network.http.max-connections: 48
network.http.max-connections-per-server: 24
network.http.max-persistent-connections-per-proxy: 12
network.http.max-persistent-connections-per-server: 50
network.http.pipelining.firstrequest: true
network.http.pipelining: true
network.http.pipelining.maxrequests: 32
network.http.proxy.pipelining: true

Nota che le voci in questo caso già esistono devi solo modificare i valori numerici e cambiare la voce da false a ture come in figura .Con le modifiche al pipelining e alle connessioni andiamo ad aumentare il numero di richieste di connessioni fatte al server e questo ci permette di incrementare le prestazioni,questo trucchetto è uno dei segreti di google Chrome dato che è il più aggressivo nelle richieste di connessione ai server. Attenzione però dato che alcuni router wifi possono andare in crash inoltre alcuni server interpretano questo alto numero di richieste come flood e possono bannare l'indirizzo ip.
Ora,come in figura, creiamo un nuovo parametro premendo ,con il tasto destro , un punto qualsiasi della pagina quindi new----- integer e scriviamo nello spazio

nglayout.initialpaint.delay
diamogli valore 0.
Disabilitiamo ipv6 se non lo usate cercate la voce:

network.dns.disableIPv6


e spostate la voce a true.
Per chi usa Windows è possibile scaricare FireTune .un programma che in base alle caratteristiche del computer e della connessione gestisce in automatico una ottimizzazione.Possiamo pio utilizzare alcuni PLUGIN direttamente di firefox come fasterfox Attenzione perche fasterfox agisce su alcuni parametri che abbiamo appena modificato ad ogni modo potetre modificarli nuovamente avviando fasterfox e andando su personalizza.come in figura.Altro plugin è Optimusdb che riduce deframmentando le dimensioni di molti file di firefox
potetre scaricarlo qui.
Altro consiglio è l'uso di Swiftfox che ci fornisce un firefox già ottimizzato per l'architettura del nostro processore,per chi ha un multiprocessore intel deve scaricare la versione Prescott.



Test comparativi prima e dopo

I test che ho eseguito evidenziano il tempo di caricamento di alcune pagine web (intel.com-amd.com-youtube.it-google.it) in blu la parte senza ottimizzazione in giallo la parte con firefox 3.5 ottimizzato.E' evidente un minor tempo di caricamento delle pagine,i valori sono espressi in secondi.

vedi anche:
firefox-36-in-prova
benchmark-dei-nuovi-browser

sabato 27 giugno 2009

Sfruttarele CPU multi processore su Linux




Il sistema Gnu/Linux riconosce automaticamente un processore multi core assegnando un kernel SMP (symmetric multiprocessing). Se avete dei dubbi sul kernel che gira sulla vostra macchina lanciate il comando :
uname -a

Tuttavia ci sono dei trucchetti per sfruttare appieno le potenzialità dei processori multipli della vostra cpu. Avanziamo per gradi.

1: IL BOOT
trucco molto noto e semplice che forse avete già applicato ma è giusto riproporlo .Portiamoci con un editor di testo sula file /etc/init.d/rc e cambiamo la riga :

CONCURRENCY=none in CONCURRENCY=Shell

Questo aumenterà la velocità del boot. Sulla mia macchina ,con processore Q9450 ,l'aumento di velocità è apprezzabile .Ad ogni modo le distribuzioni fanno a gara per proporre un boot sempre più veloce ed inoltre il prossimo kernel 2.6.30 introduce miglioramenti in fase di Boot con maggior velocità.

2:LA COMPLIAZIONE
Quando compiliamo qualcosa che sia molto grande come ad esempio la compilazione del kernel al momento di lanciare il comando make possiamo mettere l'opzione -j.
In questo caso possiamo mettere -j seguito dal soppio delle cpu del processore:

in un quad core make -j8
su un dual core make -j4

La compilazione del kernel effettivamente risulta molto più rapida.

3:OTTIMIZZAZIONE DEI PROGRAMMI
E' possibile ottimizzare i programmi per sfruttarli con appieno con il multiprocessore,per farlo però ricordiamo che questo tipo di opzione è possibile solo per i programmi di cui abbiamo i sorgenti.
Prima di procedere attiviamo i repository dei sorgenti.Su ubuntu in /etc/apt/sources.list tra le righe iniziali cerchiamo la riga con # deb-src
eliminiamo il carattere # in modo che rimanga solo deb-src.
Per eseguire questo approccio scarichiamo Apt-build con il comando :
sudo apt-get install apt-build
se usate ubuntu oppure utilizzando il gestore di pacchetti della vostra distribuzione.
A questo punto vedrete un interfaccia di configurazione che vi chiede:
1OTTIMIZZAZIONE tra i livelli di ottimizzazione ho scelto intermedio un buon compromesso
2OPZIONI A GCC -jX X indica il numero di compilazioni parallele consentite in questo caso usiamo il numero di processori +1 su un quad core j5. Usiamo anche l'opzione -pipe per ridurre l'accesso al disco.
3ARCHITETTURA vi vengono proposti diversi tipi di processori selezionate il vostro in caso di multiprocessore Intel selezionate PRESCOTT

per installare un pacchetto ottimizzato per la propria architettura lanciamo
sudo apt-build install nome pacchetto
Questo approccio può modificare file di configurazione del sistema in riferimento alla vostra architettura quindi fate attenzione all uso di apt-build inoltre il reale giovamento di questo appoccio lo si ha solo per i programmi che fanno un uso importante del processore fotoritocco ,web-browser,grafica3d,video editing.
Se volete evitare di incorrere in problemi evitate apt-build se siete sicuri e volete un sistema su misura allora questo approccio fa per voi. Se volete ci sono programmi gia compilati per specifiche architetture,tra questi swiftfox (http://getswiftfox.com/) ricordo che per i sistemi intel multiprocessore l'opzione è prescott.

mercoledì 10 giugno 2009

Oltre il desktop 3d : Le Console rivoluzioneranno il Desktop dei Pc ??



Nel corso dell'ultimoE3 Microsoft a mostrato Project natal ,questo sembrerebbe confermare la tesi che avevo già proposto nel precedente articolo evoluzione-del-desktop-3d-sui-vari sistemi (Windows,Mac,Linux).Infatti questo progetto per ora ufficialmente solo su xbox360 permette l'interazione con il desktop tramite le mani ed il corpo.
Dal punto di vista videoludico l'idea e rivoluzionaria come dimostrano le immagini .







Microsoft potrebbe portare la sua tecnologia anche su windows7 e non vedo perchè non dovrebbe farlo. Apple ha la forza e la possibilità di rispondere con qualcosa di simile quanto a Linux al momento ci sono solo degli hack che fanno qualcosa di simile ma anni luce lontani da quello che ha mostrato Microsoft .Chi ha avuto la possibilità di provare natal ha affermato che la sensibilità del visore è incredibile capace di percepire le singole falangi della mano e che tale sensibilità non diminuisce con cambiamenti importanti di luminosità. E' questa la strada dei desktop?Ci aspetta un futuro di interazione simile a minority report anzi meglio visto che nel film sono necessari guanti e nella realtà no. Può essere davvero utile o rimarra una cosa prevalentemente ludica?
Di sicuro è la dimostrazione di come Microsoft possa fare grandi cose e di come le faccia quando non ha il Monopolio su internet explorer e windows se la prendono ancora molto comoda date le quote di mercato,in particolare sulle quote di windows, speriamo quindi che la concorrenza aumenti e che le possibilità per gli utenti aumentino proporzionalmente ai nuovi prodotti che un mercato competitivo può sfornare.
Consiglio la visone anche di questo video di interazione con una Intelligenza artificiale mediante il progetto natal LINK VIDEO