Archivio della Categoria 'Reti'

Reti - Wireshark, l’analizzatore di protocolli

Mercoledì 4 Giugno 2008

Continua la nostra ricerca dei tools utili per analizzare e controllare le reti. Dopo aver introdotto Bwmon, vediamo ora un tool davvero interessante, Wireshark . Questo è probabilmente il miglior analizzatore di rete disponibile, ed è stato implementato da un team che comprendeva i maggiori esperti mondiali del settore.

Il download e l’installazioni sono davvero banali, dunque non ci soffermeremo oltre. Una volta scaricata la versione del tool più indicata per il proprio sistema operativo, si esegue il file di setup scaricato e l’installazione prosegue senza ulteriori richieste.

Lanciato il programma, è possibile eseguire uno scan del sistema per rilevare tutte le interfaccie di rete presenti (LAN, Wireless, ecc.) e scegliere così quella al momento connessa e che vogliamo analizzare.

L’interfaccia di gestione si presenta in questo modo:

Interfaccia WireShark

Il cerchio rosso indica il pulsante da premere per attivare il rilevamento delle interfaccie. Effettuata la scelta, il tool visualizza tutte le informazioni che transitano su tale interfaccia, pacchetto per pacchetto. Ci si rende subito conto della potena di Wireshark : è possibile analizzare molto in profondità, addirittura entrare nel pacchetto per controllare ogni parte costituente (Frame 1, IP, UDP, ecc.) .

Oltre che tool utile per i sistemisti, Wireshark può essere un’ottimo strumento didattico, viste le possibilità che offre. E’ sufficiente una prova per rendersi conto delle sue potenzialità, e consigliamo vivamente di analizzare almeno una volta la propria interfaccia di rete.

Vota Articolo:

Linux - Bwmon: il miglior tool per misurare e controllare la banda

Lunedì 12 Maggio 2008

Per chi amministra server linux, può essere molto utile monitorare la larghezza di banda utilizzata, soprattutto per quelle macchine che gestiscono parecchi domini. Può succedere in questi casi, che vi siano dei picchi di banda, ed è molto importante capirne i motivi: ecco perchè è così importante conoscere ed imparare ad usare uno strumento come bwmon .

Questa utility legge i file /proc/net/dev e /proc/uptime per stampare a video la banda usata, anche determinati archi di tempo selezionati dall’utente, il valore massimo da quando è stato inizializzato il tool ed anche la media della banda utlizziata dall’ultimo reboot.

Il software necessario è reperibile al seguente link.

L’installazione è semplicissima e segue la classica compilazione. Per compilare, ci posizioniamo all’interno della cartella in cui abbiamo “unzippato” il file scaricato e digitiamo il comando make:

$ make

a questo punto possiamo installare il tool, digitando il comando:

$ make install

e bwmon è pronto per iniziare le sue analisi. Vi consigliamo di osservare l’help che fornisce il tool, raggiungibile con il comando bwmon -h:

$ ./bwmon -h

Linux Network Bandwidth Monitor $Revision: 1.3 $
by Kimmo Nupponen (kimmoon@users.sourceforge.net)
$Date: 2002/05/08 06:33:09 $

usage: ./bwmon [-b] [-h] [-a] [-m] [-u seconds]
-a Print bandwidth utiliasation in Kbytes rather than Kbits. The default
is to use Kbits
-a Print also average bandwidth since last boot per interface
-m Print maximum bandwidth since launch of this utility
-h Print this help message
-u Update timeout (integer value)

Use <space-bar> to refresh the screen before update timeout expires
Use ‘q’ or ‘Q’ to exit this utility

Questo è l’output che visualizzerà l’help. Ora possiamo finalmente iniziare le nostre analisi, appoggiandoci a questo comodo e preciso strumento.

Vota Articolo:

Linux - Configurare il server di posta Postfix con Courier-Imap e Horde

Domenica 20 Aprile 2008

Per chi amministra un server, è importante comprendere a fondo come dovrebbe essere configurato il proprio server di posta, soprattutto perchè in caso di problemi o guasti, deve essere in grado di intervenire e trovare la soluzione nel minor tempo possibile ( soprattutto se il server è una macchina aziendale e magari gestisce la posta della clientela ).

Sul web vi sono molte informazioni e documentazione sulla gestione del server di posta, ma la maggior parte dei tutorial è legato a configurazioni specifiche che molto spesso si discostano parecchio da quella che si sta implementando.

Con questa guida impareremo non solo a configurare un server di posta, ma anche come si gestisce l’utenza della posta senza l’ausilio di un pannello di hosting, in modo da comprendere totalmente i meccanismi che guidano la gestione delle mail.

Su un sistema operativo linux, andremo a configurare il server di posta Postfix, il server Courier-Imap e la webmail horde come interfaccia grafica per la visione delle mail.

Noi abbiamo effettuato le prove su un sistema OpenSuse 10.2, ma ciò che vedremo andrà benissimo per qualsiasi sistema operativo linux.

Requisiti

La prima cosa da fare è ovviamente installare tutti i pacchetti che ci servono. Per chi è alle prime armi, consigliamo di utilizzare i meccanismi messi a disposizione da ogni sistema linux per effettuare tali installazione, come yast o smart per OpenSuse 10.2 o yum per i sistema Debian.

Ecco quello che ci occorre:

  • Il server di posta Postix ( )
  • Il server imap Courier
  • La libreria courier-authlib-userdb del server imap Courier
  • La webmail Horde ( o quella che si preferisce, squirrelmail, ecc. )

Installati i pacchetti necessari, procediamo alla configurazione.

Configurazione

Inziamo con la configurazione del Postfix: ovviamente vi sono moltissime configurazione possibili, ognugno è libero di scegliere quella che preferisce e che meglio si adatta alle proprie esigenze. Qui è possibile vedere alcuni esempi sulle diverse configurazioni di base: noi implementeremo quella che nel Postfix viene chiamata Domini MailBox Virtuali : questa configurazione permette di utilizzare un elenco di utenti e le corrispondenti mailbox in modo assolutamente indipendente dagli utenti del sistema (per maggiori dettagli leggete il link sopra indicato).

Editiamo il file principale che gestisce la configurazione del Postifx, main.cf , che solitamente di trova nella cartella /etc/postix/main.cf e inseriamo queste direttive:

virtual_mailbox_domains = mio_dominio.com
virtual_mailbox_base = /var/mailboxes/
virtual_mailbox_maps = hash:/etc/postfix/virtual_mailbox
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
virtual_alias_maps = hash:/etc/postfix/virtual

Analizziamo come sempre riga per riga le direttive che abbiamo scritto. La direttiva virtual_mailbox_domains serve per specificare al Postfix i domini per i quali intendiamo creare le mailbox. Nel nostro caso abbiamo un solo dominio, mio_dominio.com .

virtual_mailbox_base specifica il prefisso per il percorso di tutte le mailbox virtuali. I tre parametri successivi

virtual_mailbox_maps = hash:/etc/postfix/virtual_mailbox
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000

sono molto importanti, perchè configurano il cuore del server di posta. Il primo, virtual_mailbox_maps, specifica il file che contiene l’elenco delle caselle di posta presenti nel dominio specificato (virtual_mailbox_domains), nel seguente formato:

user@mio_dominio.com user/

I seguenti due campi, virtual_uid_maps e virtual_gid_maps, sono riespettivamente userid e il groupid dell’utente che il delivery agent utilizza per scrivere nelle mailbox.

L’ultimo campo che rimane da vedere è il virtual_alias_maps : questo è da utilizzarsi quando tra le caselle specificate vi sono dei reindirizzamenti. Il formato è il seguente:

user@mio_dominio.com altro_user@altrodominio.com

in cui il primo elemento rappresenta l’origine, mentre il secondo rappresenta la destinazione, ovvero la casella di posta dove il messaggio per user@mio_dominio.com dovrà essere recapitato. Attenzione: quando modifichiamo il file /etc/postfix/virtual, è necessario eseguire il comando:

postmap /etc/postfix/virtual

affinchè le modfiche abbiamo effetto.

Creazione Utenti

Vediamo ora la procedura che bisogna eseguire dopo la configurazione del Postfix per creare effettivamente l’utenza mail: questo è il punto più importante dell’articolo, perchè in effetti non vi sono molte risorse disponibili al riguardo.

  1. Inserisco la riga per la nuova casella di posta nel file di postfix /etc/postfix/virtual_mailbox:

    nome.cognome@mio_dominio.com nome.cognome/

    ovviamente al posto di nome.cognome è possibile utilizzre lo schema di gestione utenza che si preferisce.

  2. E’ necessario ora rigenerare il file .db lanciando il comando:

    postmap virtual_mailbox

  3.  

    Creaimo l’utenza imap(courier-auth), che viene scritta nel file /etc/authlib/userdb :

    userdb nome.cognome@mio_dominio.com set uid=5000 gid=5000 home=/var/mailboxes mail=/var/mailboxes/nome.cognome

    userdbpw -md5 | userdb nome.cognome@mio_dominio.com set systempw

  4. makeuserdb

Il primo comando andrà specifica il nome utente e la rispettiva mailbox per il nuovo account di posta. Il secondo comando ci permette di assegnare una password per l’account in creazione, mentre il terzo e ultimo comando è necessario per scrivere nei relativi file rendendo così effettive le modifiche.

  1. Per creare tali utenze, abbiamo usato la libreria libreria courier-authlib-userdb che ci siamo procurati durante la fase di installazione dei requisiti.
  2. Per creare fisicamente (intendiamo le directory) le cartelle del nuovo utente è sufficiente che questo riceva un messaggio, sarà postfix stesso a crearle ed inserire il messaggio ricevuto nella giusta cartella. Nel caso in cui volessimo fare una prova, si può mandare una mail esterna (attraverso cioè una qualsiasi casella di posta funzionante) o interna (dal localhost tramite telnet o sendmail).Nel caso di telnet si procede nel seguente modo:S: telnet qualcheparte 25R: 220 qualcheparte Simple Mail Transfer Service ReadyS: HELO miohost
    R: 250 miohost
    S: MAIL FROM:<Marco@miohost>R: 250 OK

    S: RCPT TO:<Roberto@suohost>

    R: 250 OK

    S: DATA

    R: 354 Start mail input; end with <CRLF>.<CRLF>

    S: Blah blah blah…

    S: …etc. etc. etc.

    S: .

    R: 250 OK

    S: QUIT

    R: 221

    dove:

    * HELO tuohost
    (dove tuohost e’ il nome del server che spedisce il messaggio.
    Questo comando e’ usato per identificare il server mittente)

    * MAIL tuoindirizzo (dove tuo indirizzo e’ il tuo indirizzo di posta elettronica. Questo comando inizia una transazione di posta dove i dati vengono consegnati ad una o piu’ caselle di posta)

    * RCPT indirizzodestinatario (dove indirizzo destinatario e’ l’ indirizzo di posta elettronica del destinatario)

    * DATA (questo comando e’ usato per definire il testo del messaggio. Un testo di una e-mail puo’ contenere solo i caratteri compresi nel set dei 128 caratteri dello standard ASCII. La fine del messaggio e’ indicata da una riga contenente esclusivamente la sequenza di caratteri “<CRLF>.<CRLF>” . In altre parole devi premere il tasto invio, digitare un punto e premere di nuovo il tasto invio)

    * RSET (questo comando specifica che la transazione corrente deve essere interrotta)

    * NOOP (questo comando indica che non deve essere eseguita alcuna azione, tranne quella che permette al ricevente di inviare una risposta di OK)

    * QUIT (questo comando e’ usato per chiudere la connessione)

    E le risposte piu’ comuni:

    220 <dominio> Service ready
    221 <dominio> Service closing transmission channel
    250 Requested mail action okay, completed
    354 Start mail input; end with <CRLF>.<CRLF>
    421 <dominio> Service not available, closing transmission channel
    450 Requested mail action not taken: mailbox unavailable [Es. mailbox occupata]
    500 Syntax error, command unrecognized [Es. una riga di comando troppo lunga]
    501 Syntax error in parameters or arguments
    502 Command not implemented
    550 Requested action not taken: mailbox unavailable
    551 User not local; please try <indirizzo>
    554 Transaction failed

    Nel caso di sendmail si procede in questo modo:

    sendmail user@dominio.com<enter>
    From: user@altrodominio.com
    Subject: Oggetto messaggio
    (riga vuota)

    tutto il testo del messaggio

    .
    (un punto solo sulla riga)

Vota Articolo:

I migliori scanner per le vulnerabilità di rete

Venerdì 21 Marzo 2008

Gestire un server, in particolare un server Linux, è un’attività che richiede parecchio lavoro e costante impegno. Per svolgere al meglio il proprio lavoro, soprattutto se si è responsabili di una macchina, è necessario seguire con attenzione gli aggiornamenti e le security patch rilasciate per il proprio sistama operativo, o per gli applicativi utilizzati.

Ma è ovviamente molto difficile avere tutto sotto controllo senza un ausilio “esterno”: ecco a cosa servono i tool come Tiger, Nmap e Nessus.

Questi tool hanno diverse caratteristiche interessanti, alcuni sono più precisi, altri più approfonditi, ma comunque hanno uno scopo in comune: permettere all’amministratore di rete di monitorare il proprio sistema e scoprire le vulnerabilità prima che sia troppo tardi.

Tiger e Nmap sono in effetti più semplici da installare ed utilizzare, ma è anche vero che non raggiungono la profondità di analisi e la precisione di Nessus.

Quest’ultimo è eseguibile su diversi sistemi operativi, tra i quali ci sono i seguenti:

  • Red Hat ES 3, ES 4, and ES 5 (i386 and x86-64)
  • Fedora Core 7 and 8
  • SUSE 9.3 and 10.0
  • Debian 4 (i386 and amd64)
  • FreeBSD 6.0
  • Solaris 9 and 10
  • Mac OS X 10.5
  • Windows 2000, XP, Server 2003, Server 2008, and Vista
  • Enterasys Dragon appliance running Dragon 7.2 or later

Anche gli altri due tool supportano diversi sistemi operativi, per questo motivo conviene leggere le rispettive documentazioni e le rispettive liste di plugin per capire quale sia il tool che meglio si addice all’analisi che vogliamo eseguire sul nostro sistema.

In particolare, i link a cui facciamo riferimento sono i seguenti:

Non proseguiamo con ulteriori spiegazioni, visto che la documenzione di ogni tool è veramente esauriente ed intuitiva. Ad ogni modo, rimaniamo come sempre a disposizione per chi incontrasse difficoltà nella configurazione, nell’installazione o nell’utilizzo.

Vota Articolo: