Proxmox Virtual Environment

 

 

logo_proxmoxProxmox VE è un software open source, ottimizzato per le prestazioni e l’usabilità a cui viene aggiunta´ anche la massima flessibilità, grazie alla possibilita` di utilizzo di ben due tecnologie di virtualizzazione – KVM (per la Full Virtualization) e OpenVZ (per la Paravirtualization).

Proxmox VE si basa su Debian 5 e non necessita di particolari prerequisiti software. Dal punto di vista hardware richiede i 64 Bit e c’è una ampia lista di hardware ufficialmente supportato.

Con Proxmox VE possiamo migrare phisical machine (PM) su virtual machine (VM) oppure VM su altre VM, possiamo inoltre aggiungere degli storage e gestire il backup delle macchine virtuali. Il Cluster di Proxmox VE ci permette anche di migrare VM tra nodi e di amministrare da un’unica console centrale i vari nodi e, le VM distribuite nei vari nodi.

New Virtual Environment 3.3

Il 15 Settembre 2014 Proxmox Server Solutions ha annunciato l’uscita  della versione 3.3 di Proxmox Virtual Environment (VE).
Questa versione e` molto interessante poiche’ aggiunge diverse novita’ , in particolare questa versione ha come focus la sicurezza dell’infrastruttura virtuale, e introduce tra le altre cose il Proxmox Ve Firewall e la doppia autenticazione (two-factor authentication).
E’ stata  implementata inoltre una console in HTML5, un plug-in per lo storage ZFS e un’interfaccia ottimizzata per l’utilizzo con il mobile, ovvero la Mobile touch interface.

Ma vediamo nel dettaglio in cosa consistono le principali novità:

Proxmox VE Firewall
E’ stato progettato per proteggere l’ infrastruttura IT, ed è completamente integrato nell’interfaccia web, permettendo cosi’ all’utente di creare regole per gli host, i cluster e le singole macchine virtuali e containers.  Per semplificare la gestione sono state introdotte macro, security groups, settaggi per IP e aliases.
La configurazione del firewall viene salvata a livello di cluster e le regole sono valide e applicate per tutti i nodi che compongono il cluster, permettendo l’isolamento completo  delle singole macchine virtuali.
Questo fa si che, al contrario delle soluzioni firewall centralizzate, Proxmox VE Firewall è un po’ piu’ dispendioso in termini di banda ma evita allo stesso tempo i single point of failure.

Two-factor authentication
Questa nuova feature aggiunge un’ ulteriore livello di sicurezza, introducendo una seconda fase di autenticazione per l’accesso all’interfaccia web amministrativa di Proxmox VE.
In aggiunta all’ inserimento del classico nome utente / password, viene utilizzata una one-time password (OTP) che sarà richiesta per ogni nuova sessione di login. Una volta generata rimarrà valida per 30 min (valore di default, modificabile a piacimento).

HTML5 Console 
E’ la nuova console di default di Proxmox VE, multi piattaforma (Windows/Linux/Osx), utilizzabile anche su piattaforme mobile e, sostituisce l’installazione del plug-in Java e dello Spice viewer.

Proxmox
VE mobile

E’ una interfaccia touch progettata specificamente per l’uso su dispositivi mobili (cellulari e tablet). E ‘ un app realizzata in HTML5 (sviluppato con Sencha touch) e funziona su qualsiasi cellulare con un browser moderno.
Comprende molte funzionalità necessarie all’amministratore per la gestione da remoto dell’infrastruttura virtuale, compresa la console SPICE (Software per la gestione della connessione alla console della macchina virtuale), ma non è sostitutiva dell
a full admin console stessa.
Proxmox VE Mobile supporta anche la two-factor authentication con Yubykey con protocollo NFC.
Nota : per tutti coloro che fossero gia in possesso della versione 3.2 l’upgrade alla 3.3 si effettua con due semplici comandi :
NB : ( prima di aggiornare un host spegnere o migare tutte le vm/containers)

~root # apt-get update
~root # apt-get dist-upgrade

 

Se l’articolo ha stuzzicato la vostra curiosita’ e volete saperne ancora di piu’ potete visionare questo Video che illustra tutte le novita’ di cui sopra:

Proxmox VE Video

Cancellare veramente i dati

Cancellare-dati-navigazioneSiete sicuri di aver davvero cancellato quel file ?

Alla base di questo articolo c’è un semplice fatto: molto spesso capita di comprare un nuovo PC, o un nuovo disco esterno/chiavetta di memoria ecc…, e di vendere/regalare/prestare il device fino a prima utilizzato; molti credono, erroneamente, che basti svuotare le directory e, successivamente, svuotare il “cestino” per eliminare i dati che non vogliamo altri vedano.

Beh! non e’cosi, un dato scritto su di un supporto rimarra’ per sempre al suo posto a meno che non distruggiate fisicamente il supporto stesso.

Cosa fare allora oltre a passare sopra al disco con uno schiaccia sassi, smagnetizzarlo e bruciarlo, per porre fine all’esistenza di quei dati ?
Esistono per fortuna alcuni tool che sono in grado di “sovrascriverli” piu’ e piu volte, questo perche’ per rendere un dato quasi irrecuperabile ci vogliono almeno dalle 20 alle 35 sovrascritture. un semplice rm di un file o l’eliminazione tramite qualsiasi file manager non è sufficiente per rimuoverlo davvero dal vostro hard disk.

Quindi se si vuole veramente eliminare un file da un computer è necessario utilizzare comandi più sofisticati quali :

Dban: Darik’s Boot and Nuke (comunemente conosciuto come DBAN) è un progetto open source ospitato su SourceForge. Il programma è progettato per cancellare in modo sicuro un hard disk fino a quando i dati sono permanentemente rimossi e non più recuperabili, questo avviene sovrascrivendo i dati con numeri casuali generati da Mersenne twister o ISAAC (un PRNG).

Shred : Sovrascrive il file specificato più volte, al fine di rendere più difficile anche per l’hardware molto costoso recuperare i dati.

Oggi daremo un’occhiata al pacchetto secure-delete contenente alcuni programmi utili per eliminare in maniera “più sicura” un file, la memoria, lo spazio libero e/o lo spazio di Swap.

Per installare secure-delete in Debian, Ubuntu e Mint eseguire:

sudo apt-get install secure-delete

Il pacchetto dovrebbe essere disponibile anche in altre distribuzioni, controllate il vostro gestore di pacchetti cercando secure-delete o srm, o se non è disponibile si può prendere il pacchetto sorgente da sourceforge .

Il pacchetto di secure-delete viene fornito con quattro comandi:

  • srm Rimozione sicura; utilizzato per l’eliminazione di file o directory attualmente presenti sul disco rigido;
  • smem Ripulitura sicura della memoria; utilizzato per cancellare le tracce dei dati dalla memoria del computer (RAM);
  • sfill Ripulitura sicura dello spazio libero; utilizzato per cancellare tutte le tracce di dati dallo spazio libero su disco;
  • sswap Ripulitura sicura dello swap; utilizzato per cancellare tutte le tracce di dati da una partizione di swap.

SRM

SRM è stato progettato per eliminare i dati in maniera sicura, in modo che non possano essere recuperati da ladri, forze dell’ordine o altre minacce. L’algoritmo di cancellazione si basa sul documento :
Secure Deletion of Data from Magnetic and Solid-State Memory “,
presentato al 6° Usenix Security Symposium da Peter Gutmann, uno dei leader tra i crittografi civili.Il processo di cancellazione sicuro dei dati di srm avviene in questo modo:

  • 1 passaggio con 0xff
  • 5 passaggi casuali. /dev/urandom è utilizzato se disponibile come fonte RNG sicura.
  • 27 passaggi con valori speciali definiti da Peter Gutmann.
  • 5 passaggi casuali. /dev/urandom è utilizzato se disponibile come fonte RNG sicura.
  • Truncate del file

Come ulteriore misura di sicurezza, il file viene aperto in O_SYNC mode e dopo ogni passaggio viene invocata una chiamata di tipo fsync().

srm inoltre scrive i blocchi a 32k allo scopo di avere una maggiore velocità, di riempire i buffer di cache del disco per costringerli a svuotarsi e sovrascrivere i dati vecchi che appartenevano al file.

Opzioni di srm:

  • -d ignora i due file speciali costituiti con i punti . e .. dalla linea di comando. (così si può eseguirlo come “srm -d .* *”)
  • -f fast (ed insicuro): no viene usato /dev/urandom, e non viene utilizzato il modo sincronizzato.
  • -l diminuisce la sicurezza. Solo due passaggi sono scritti: uno con 0xff ed i valori in modalità casuale.
  • -l -l per una seconda volta per abbassare ulteriormanete la sicurezza: viene fatto solo un passaggio casuale.
  • -r modalità ricursiva, cancella le sottodirectory.
  • -v modalità dettagliata
  • -z pulisce l’ultima scrittura con zeri invece che con dati casuali

Alcuni esempi con srm:

1) Cancellare un file usando srm:

# srm /tmp/myfile.txt

2) Cancellare una directory usando srm:

# srm -r /tmp/mydir

Gli altri strumenti della suite

smem è stato progettato per cancellare i dati che possono trovarsi ancora nella memoria (RAM) in modo sicuro. Si noti che con le memorie SDRAM, i dati non si perderanno subito allo spegnimento del computer, ma saranno tenuti staticamente e questo può consentire cold boot attacks

sfill è stato progettato per eliminare i dati che si trovano su spazio disco non utilizzato in modo sicuro

sswap è stato progettato per cancellare i dati che possono trovarsi ancora sull’aread di swap in modo sicuro

Conclusioni

IMPORTANTE: Ricordatevi che quando si utilizzano questi strumenti bisogna sempre tenere presente che essi aggiungono un po’ di sicurezza in piu’, ma non garantiscono che i dati siano irrecuperabili.

Sicurezza – Honeypot SSH

Kippo honeypotUn Honeypot SSH con Kippo

Chiunque abbia un minimo di esperienza nel mettere a punto server rivolti verso Internet conosce bene la quantità di scansioni e di attacchi automatizzati che si possono ricevere in brevissimo tempo, a volte nel momento stesso in cui ci si collega in Rete.

Molti scanner non sono sofisticati e si limitano a cercare porte ssh aperte per tentare un bruteforce e, in caso di successo, passare il controllo ad un attaccante umano (un cracker non un hacker).

Come descritto in un precedente articolo “Sicurezza con il PortKnocking” , i passi da fare per mettersi al sicuro non sono mai abbastanza ed inparticolare alcuni servizi vanno completamente blindati anche solo per evitare enormi moli di log del firewall, solo per i tentativi di login al servizio SSH; proprio per questi motivi un ottimo esercizio e’ quello di creare un honeypot partendo da quest’ultimo servizio.

In questo contesto si colloca Kippo: un honeypot che simula un server ssh vulnerabile il cui obiettivo è quello di impegnare un attaccante e registrarne i movimenti. E’ un tool open source scritto in Python progettato quindi per registrare attacchi di tipo bruteforce e, soprattutto, l’intera interazione shell effettuata dall’ attaccante. In pratica quando un utente malintenzionato cercherà di entrare nel vostro sistema si troverà davanti un finto sistema che registrerà tutte le sue attività.

Kippo nel tempo si è guadagnato una certa popolarità dovuta alla sua semplicità d’uso, portabilità e al fatto che permette di riprodurre i log degli attacchi registrati.

Installazione

Kippo è programmato in Python e si basa sul framework Twisted, è necessario quindi un interprete python almeno alla versione 2.5.

I requisiti sono i seguenti:

  • Python 2.5+
  • Twisted 8.0+
  • PyCrypto
  • Zope Interface

come prima cosa bisogna cambiare la porta del server SSH per fare questo basta aprire e modificare il file sshd_config:

# vim /etc/ssh/sshd_config

e sostituire la porta 22 con un’altra a vostra scelta,

Dopo aver modificato il parametro Port 22 con un altro (es. 2443) riavviare il servizio con il commando:

 # /etc/init.d/ssh restart

Una volta sistemato questo piccolo dettaglio, bisogna installare tutti i pacchetti necessari per il corretto funzionamento di Kippo:

Prima di mettere in esecuzione l’ honeypot occorre configurarlo agendo sui parametri nel file kippo.cfg.

Le principali opzioni sono le seguenti:

  • ssh_addr: l’indirizzo dell’interfaccia su cui vogliamo mettere kippo in ascolto (di default su tutte)
  • ssh_port: il numero della porta
  • password: la password per collegarsi all’ honeypot, di default è 123456 che statisticamente è la password più comune che si può trovare. Se impostiamo una password difficile rischiamo di far fallire un attacco brute force! e ci perdiamo il bello del divertimento.
  • [database_mysql]: parametri per loggare tutta l’attività di kippo su un db mysql. Di default questa opzione non è attiva.

Su Linux per motivi di sicurezza kippo non può essere eseguita come root e quindi non può mettersi direttamente in ascolto sulle porte basse del sistema (< 1024) tra cui anche quella di default del server ssh (la porta 22).

Per reindirizzare la porta 22 sulla porta in cui abbiamo messo in ascolto la honeypot dobbiamo impostare un reindirizzamento con il firewall di sistema. L’impostazione corretta dipende dal firewall che state usando sul vostro server e dalla tipologia della rete.

Ad esempio con iptables:

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 22 -j REDIRECT --to-port 2443

oppure usando l’ottimo tool rinetd, come spiegato enll’articolo “Catturare il traffico di rete“.

Installiamo i pacchetti
# apt-get install python-dev openssl python-openssl python-pyasn1 python-twisted

Visto che la porta 22 (che kippo dovrà monitorare) può essere utilizzata solo dall’ utente root e per ragioni di sicurezza non è consigliato usare kippo come utente root bisogna installare un altra piccola applicazione, Authbind, che ci permetterà di eseguire kippo sulla porta 22:

# apt-get install authbind

Ora creiamo un altro utente (non-root) che useremmo per eseguire kippo (non è vietato eseguire kippo come root ma per ragioni di sicurezza è consigliato usare un utente apposito):

# adduser kippo

e aggiungiamolo alla lista dei sudoers:

 # vim /etc/sudoers

aggiungendo la seguente stringa nel file:

kippo ALL=(ALL:ALL) ALL

(sotto l’utente root)

 Non ci resta che dare all’ utente kippo i privilegi per usare la porta 22:

# touch /etc/authbind/byport/22
# chown kippo:kippo /etc/authbind/byport/22
# chmod 777 /etc/authbind/byport/22

Ora non ci resta che cambiare utente ed entrare nel sistema con l’utente kippo, una volta cambiato utente siamo pronti a scaricare kippo (verificare sul sito del progetto per nuove versioni):

# wget https://kippo.googlecode.com/files/kippo-0.8.tar.gz /home/<utente xxx>/Downloads/

estraiamo i file:

# tar -zxvf kippo-0.8.tar.gz -C /opt/

ora ci spostiamo nella cartella del programma e modifichiamo il file kippo.cfg inserendo la porta 22 come target (di default è impostata la 2222) con la porta da voi prescelta, tipo la 2443.

# vim kippo.cfg

ed in fine modifichiamo il file start.sh:

# vim start.sh

sostituendo la stringa:

twistd -y kippo.tac -l log/kippo.log –pidfile kippo.pid

con:

authbind –deep twistd -y kippo.tac -l log/kippo.log –pidfile kippo.pid

ora non ci resta che eseguire il programma con:

# ./start.sh

…… e qualsiasi tentativo di connettersi alla porta 22 del sistema sarà registrato da Kippo e file di log verranno archiviati nella cartella corrispondente. Kippo rimane in esecuzione in background e aspetta che qualche attaccante si faccia vivo.

Quando finalmente riusciremo a registrare un attacco (e solitamente è questione di solo poche ore!) l’honeypot si occuperà di registrare ogni movimento.

Nella cartella log/ verranno salvati i log interattivi delle sessioni registrate e in quella dl/ verranno salvati i file e gli eseguibili che gli ignari attaccanti tenteranno di scaricare sul server (di solito rootkit, malware generici, etc)

Il divertimento, una volta collezionati un po di log interattivi, è quello di riprodurli con il playlog che è una utilità che permette di riprodurre i log come se fossero un video.

Il programma si trova nella cartella utils/, per eseguirlo (da linea di comando):

python playlog.py /path/to/xxx.log

Statistiche

Quando si ha una honeypot funzionante a pieno regime può risultare scomodo controllare periodicamente i log per capire il numero di attacchi ricevuti, la durata e altre informazioni utili.

Per facilitarci le cose possiamo affidarci a un programma come Kippo Graph che si occupa di generare statistiche dettagliate e farci risparmiare del tempo prezioso.

I2P (Invisible Internet Project)

I2P-Anonymous2I2P, originariamente chiamata Invisible Internet Project, è un software libero e Open Source per la realizzazione di una rete anonima. La rete offre un livello in cui le applicazioni possono scambiarsi dati, messaggi, navigare e quant’altro. Tutti i dati sono avvolti con diversi livelli di crittografia.

I2P è un livello di comunicazione anonimo peer-to-peer distribuito, progettato per eseguire qualsiasi servizio Internet tradizionale (ad esempio, Usenet, E-mail, IRC, file sharing, Web hosting e HTTP, Telnet ecc…), così come le più tradizionali applicazioni distribuite.

I2P è ancora in sviluppo beta, quindi non ancora ritenuto idoneo per gli usi che necessitano di un anonimato forte.

N.B. : ” nessuna rete può essere perfettamente anonima “.

Che cosa puoi fare con I2P

  • Email: interfaccia web integrata per la posta elettronica, plugin per la posta elettronica senza server.
  • Navigazione web: siti web anonimi, gateway verso e dallInternet pubblica.
  • Blog e forum: plugin per gestire blog e per Syndie.
  • Host di siti web: web server anonimo integrato.
  • Chat in tempo reale: messaggistica immediata e client IRC.
  • File sharing: client ED2K e Gnutella, client BitTorrent integrato.
  • Deposito file decentralizzato: plugin per il filesystem distribuito Tahoe-LAFS

Installiamolo su Ubuntu e Debian

Ubuntu:

  1. sudo apt-add-repository ppa:i2p-maintainers/i2p
  2. sudo apt-get update
  3. sudo apt-get install i2p

Debian:

  1. sudo nano /etc/apt/sources.list.d/i2p.list
  2. Debian Squeeze:
    deb http://deb.i2p2.no/ squeeze main
    deb-src http://deb.i2p2.no/ squeeze main
  3. Debian Wheezy:
    deb http://deb.i2p2.no/ stable main
    deb-src http://deb.i2p2.no/ stable main
  4. Debian Jessie e SID:
    deb http://deb.i2p2.no/ unstable main
    deb-src http://deb.i2p2.no/ unstable main
  5. Aggiungete quindi le key di autenticazione con:
    wget http://www.i2p2.de/_static/debian-repo.pub
    sudo apt-key add debian-repo.pub
  6. Installiamo
    sudo apt-get update && sudo apt-get install i2p i2p-keyring

… per avviarlo lanciamo il comando

@root # ip2router console

se non ci saranno stati problemi si aprira’ una pagina web con il seguente URL : http://127.0.0.1:7657/home

Per studiare meglio tutte le funzionalita’ potete utilizzare il link ufficiale della documentazione

Buon divertimento !

PenMode2 penetration testing

penmode2-logoHo recentemente parlato in un articolo inerente Kali Linux (ex BackTrack) di sistemi di penetration testing; oggi in questo nuovo articolo parleremo di PenMode 2. Questo prodotto e’  l’ ultima versione di un tool per la sicurezza informatica pensato appositamente per Kali Linux, (distribuzione Debian based). I suoi autori sono i membri del PH#OS Team e sono riusciti a sviluppare un ottimo ed efficiente software, che può essere usato sia a livello professionale che a livello amatoriale, ed ha come suo punto di forza proprio quello di aggregare una serie di tool essenziali per eseguire le varie operazioni di pentesting.

Il tool è suddiviso in 3 sezioni, che possiamo riassumere in:

  • Information Gathering: usato per l’acquisizione di informazioni quali, la tipologia di Server, le porte aperte, domini, email ecc
  • Web Scanner: per effettuare scansioni complete del target tramite tool appositi
  • CMS: usato per effettuare analisi e pentesting mirati per determinati CMS quali WordPress, Joomla e Typo3

C’è inoltre un’ulteriore funzionalita’ davvero niente male, si chiama Anon Surf ; si tratta di uno script che lavora direttamente sulle tabelle di  iptables per garantire che ogni comunicazione debba passare attraverso TOR cosi’ da diventare anonima. Oltre a tutto ciò sono presenti anche molti altri tool davvero interessanti e vari.
PenMode 2 è inoltre dotato di un’interfaccia grafica basata sulle librerie penmode_logoGTK in modo da adattarsi al tema grafico impostato sul sistema.

Passiamo ora all’INSTALLAZIONE

  • scarichiamo i pacchetti .deb necessari (gtkd.deb & penmode.deb)dalla seguente pagina (https://github.com/Pinperepette/Penmode2), troverete i pacchetti sia per 32 e 64 bit
  • installiamo i pacchetti con il seguente comando:
    dpkg -i gtkd.deb penmode.deb

    i pacchetti in questione possono richiedere diverse dipendenze da soddisfare e, nel qual caso l’installazione non finisse nel modo piu’ corretto converra’utilizzare il comando

    apt-get -f install
  • Per avviarlo potete andare su menù -> Auditing -> Miscellaneous -> PenMode o tramite terminale digitando penmode

Ecco inoltre un video introduttivo che potra’ essere di aiuto LINK