Archivio

Archivio per ottobre 2009

Script per ordinare una lista di ip

27 ottobre 2009 Marco Nessun commento

Per ordinare una lista di ip potrà essere sicuramente utile il seguente script.

Presupponiamo di avere un file “lista” che contiene la lista di ip, per ricevere in output la lista ordinata:

cat lista | cut -d : -f 2 | cut -d” ” -f 1 | sort -n -t . -k 1,1 -k 2,2 -k 3,3 -k 4,4 | uniq

Connessione Wifi con WPA su Debian

26 ottobre 2009 loade Nessun commento

In questa guida riporteremo i passi per configurare, su un client Debian, una connessione ad una rete Wifi utilizzando il protocollo wpa. Per la configurazione del nostro client è necessario avere installato sul sistema il seguente pacchetto:

wpasupplicant

Potete trovarlo nei repository ufficiali di Debian. Ora andremo a configurare il nostro sistema in modo che possa collegarsi a 2 diverse reti: Casa e Ufficio. Editiamo, quindi, il seguente file:

vi /etc/wpa_supplicant/wpa_supplicant.conf

ctrl_interface=/var/run/wpa_supplicant

ctrl_interface_group=0

ap_scan=1

fast_reauth=1

eapol_version=1

network={

ssid=”Casa”

psk=”Lamiapassword” #o psk=22999cdea557f9a35f024edfcc25de7a25a6cc5ae85b12a6bc5705e9ec2538f1

priority=5

}

network={

ssid=”Ufficio”

psk=”Lamiapassword” #o psk=22999cdea557f9a35f024edfcc25de7a25a6cc5ae85b12a6bc5705e9ec2538f1

priority=5

}

Se volete visualizzare la password in chiaro dovete metterla tra i doppi apici, altrimenti dovete generarne una con wpa_passphrase che utilizza un algoritmo a 256-bit PSK.

wpa_passphrase Casa Lamiapassword

network={

ssid=”Casa”

psk=22999cdea557f9a35f024edfcc25de7a25a6cc5ae85b12a6bc5705e9ec2538f1

}

Il comando produrrà in output direttamente la zona network della connessione per Casa, che potremo inserire direttamente nel file /etc/wpa_supplicant/wpa_supplicant.conf. Ora non ci resta che dire al nostro sistema di collegarsi al boot ad una delle due reti disponibili:

vi /etc/network/interfaces

allow-hotplug ath0

iface ath0 inet dhcp

wpa-driver wext

wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Dobbiamo sostituire ath0 con la scheda di rete del nostro sistema. Salviamo e riavviamo la nostra rete:

/etc/init.d/networking restart

In questo modo quando accenderemo il nostro PC portatile, lui si connetterà alla rete wifi disponibile all’interno del file /etc/wpa_supplicant/wpa_supplicant.conf automaticamente.

Leggere la posta IMAP mediante Telnet – 2

25 ottobre 2009 Pidicci Nessun commento

Nell’articolo precedente abbiamo visto come accedere via IMAP ad una caselal di posta mediante il comando telnet. Oltre ad istruirci sul protocollo IMAP e la sua RFC ci permette di fatto di poter implementare un client IMAP con poche semplici nozioni di programmazione nel linguaggio che più preferiamo. Il presente articolo vuole completare la lista dei comandi che IMAP prevede una volta effettuato il login pertanto invito a leggerlo solo dopo aver letto e compreso l’aricolo di cui sopra.

Proviamo ora a conoscere il comando:

COMANDO STORE:

Permette di modificare il flag IMAP su un messaggio. I flag sono replicato a, cancellato, visto, ecc… e per poterli modificare si esegua:

Per aggiungere:                       STORE messaggio +flag [lista_flag]

Per eliminare:                          STORE messaggio -flag [lista_flag]

Per ripristinare tutti i flag:       STORE messaggio flags [flag list]

Considerando che alciuni dei flags sono: \Answered \Flagged \Draft \Deleted \Seen un esempio pratico puo’ essereil seguente:

. store 3:4 flags \Deleted
* 1 FETCH (FLAGS (\Recent \Deleted))
* 2 FETCH (FLAGS (\Recent \Deleted))
. OK Completed

Oppure impostare tutti i messaggi come non di spam (NonJunk)

. store 1:* +flags NonJunk
* FLAGS (\Answered \Flagged \Draft \Deleted \Seen hasatt NonJunk Junk label1)
* OK [PERMANENTFLAGS (\Answered \Flagged \Draft \Deleted \Seen hasatt NonJunk Junk $label1 \*)]
* 1 FETCH (FLAGS ($label1 NonJunk))
* 2 FETCH (FLAGS ($label1 NonJunk))
. OK Completed

COMANDO CLOSE e EXPUNGE:

Entrambi i comandi permetto l’eliminazione dei messaggi contrassegnati come \Deleted e quindi da cancellare ma mentre EXPUNGE li elimina e non fa nient’altro, il comando CLOSE elimina  i messaggi e deseleziona la cartella in uso.

COMANDO COPY:

Il comando copia un messaggio da una cartella ad un’altra. L’operazione di copia presuppone la rimozione automatica del flag \Recent. Di seguito un esempio di utilizzo:

. copy 1:2 inbox.test2
. OK [COPYUID 1138801117 1:2 1:2] Completed
. select inbox.test2
* FLAGS (\Answered \Flagged \Draft \Deleted \Seen hasatt)
* OK [PERMANENTFLAGS (\Answered \Flagged \Draft \Deleted \Seen hasatt \*)]
* 2 EXISTS
* 2 RECENT
* OK [UIDVALIDITY 1138801117]
* OK [UIDNEXT 3]
. OK [READ-WRITE] Completed

COMANDO IDLE:

Permette di tenere sotto controllo costantemente la nostra casella di posta ponendosi in uno stato di idle fino all’arrivo di un nuovo messaggio di posta.

. idle
+ idling

All’arrivo di un messaggio IMAP fornira’ un messaggio dl tipo:

* OK Still here

Se vogliamo interrompere manualmente lo stato di idling dobbiamo lanciare il comando done:

done
. OK Completed

Attenzione perche’ “done”  e’ l’unico comando che non va eseguito con il tag iniziale

COMANDO SUBSCRIBE, UNSUBSCRIBE e LSUB,:

Subscribe permette di sottoscrivere il client ad una determinata folder IMAP (cartella dell’account di posta), unsubscribe di eliminare la sottoscrizione. LSUB invece permette di fare il listing delle folder IMAP su cui si e’ effettuato il subscribe:

. lsub “” “*”
* LSUB (\HasChildren) “.” “INBOX”
* LSUB () “.” “INBOX.Drafts”
* LSUB () “.” “INBOX.Sent Items”
* LSUB () “.” “INBOX.Trash”
* LSUB () “.” “INBOX.test2″
. OK Completed (0.001 secs 6 calls)

COMANDO CAPABILITY, GETQUOTAROOT e GETACL:

I comandi sopraindicati permettono di avere una serie di informazioni sul server di posta su cui viene effettuata la connessione.

CAPABILITY permette di avere la lista delle compatibilita’ del server:

. capability
* CAPABILITY IMAP4rev1 SASL-IR SORT THREAD=REFERENCES MULTIAPPEND UNSELECT LITERAL+ IDLE CHILDREN NAMESPACE LOGIN-REFERRALS
. OK Capability completed.

GETQUOTAROOT la quantita’ di spazio occupata dalla casella e ma non e’ supportato da molti server di posta.

GETACL permette di visualizzare una seri di flag della cartella su cui si richiama il comando. I flag possono essere:

l – lookup_flag:  la mailbox è disponibile per i comandi LIST/LSUB
r – read_flag: sono abilitati i comandi CHECK, FETCH, PARTIAL SEARCH, COPY
s – seen_flag: mantiene le informazioni seen/unseen su sessioni differenti
w – write_flag: sono abilitato il comando STORE e altri flag come SEEN and DELETED
i – insert_flag: abilita i comandi APPEND, COPY alla mailbox

p – post_flag:manda un email alla

c – create_flag: CREATE una nuova sub-mailboxes
d – delete_flag: STORE DELETED flag e abilitato EXPUNGE
a – administer_flag: e’ abilitato SETACL

Come creare una VPN punto-punto con OpenVPN

24 ottobre 2009 Luca 1 commento

OpenvpnL’utilizzo di una VPN punto-punto permette di creare un tunnel virtuale cifrato tra due macchine appartenenti a reti differenti. Lo scopo e’ quello di criptare i dati che attraverso internet, evitando cosi’ di essere ‘letti’ dopo essere stati ’sniffati’ in un punto della rete non gestibile da noi. Realizzeremo tutto cio’ utilizzando il software  OpenVPN , da installare su entrambe le macchine dove dovra’ essere stabilito il collegamento.

L’installazione con le distribuzioni linux Debian e Ubuntu si fa eseguendo questo comando

apt-get install openvpn

Con Fedora linux:

yum install openvpn

Il secondo passo da eseguire e’ la creazione della chiave ‘privata’ e condivisa con questo comando:

openvpn –genkey –secret /etc/chiave-privata.key

chmod 600 /etc/chiave-privata.key

Dopo averla generata su una macchina si puo’ spostare sull’altra tramite il protocollo ssh:

scp /etc/chiave-privata.key utente@nome-macchina-o-indirizzo-ip:/etc/chiave-privata.key

(impostare anche qui i permessi a 600 su /etc/chiave-privata.key in modo tale che solamente root puo’ leggere questo file)

Si crea poi una configurazione per il server (chiameremo il file /etc/openvpn-server.conf)

dev tun

ifconfig 10.0.0.1 10.0.0.2

secret /etc/chiave-privata.key

comp-lzo

N.B. comp-lzo attiva la compressione dei dati

Ed una per il client (chiameremo il file /etc/openvpn-client.conf)

remote IndirizzoIPdelServer

dev tun

ifconfig 10.0.0.2 10.0.0.1

secret /etc/chiave-privata.key

comp-lzo

N.B. Inserire l’indirizzo ip corretto o il nome della macchina verso cui dovremmo connetterci nel campo “remote”

Adesso sul server dobbiamo eseguire

openvpn /etc/openvpn-server.conf &

mentre sul client

/etc/openvpn-client.conf &

Dal client adesso possiamo fare questo test per verificare se c’e'  risposta dal server (che sara’ raggiungibile con l’ip 10.0.0.1)

ping 10.0.0.1

Tutti i dati inviati dal client verso l’ip 10.0.0.1 saranno criptati