|
|
|||||||||
|
QUANDO ESIGENZA
IMPONE...
(ovvero smtp auth login plain && base64 de/coder) "... In un vicolo di New York, dove il sole non batte neanche la domenica, ..." Così esordivano le storie del famigerato GRUPPO TNT... ed è proprio in uno di quei racconti esilaranti che si riportava come titolo il motto sopra citato.... "quando esigenza impone", diventato forse per molti una regola di vita e lo spunto di questo articolo. Molte più volte di quanto pensiamo necessitiamo di una VALIDA e SEMPLICE alternativa nel mondo informatico. Da VI a CDRECORD, passando per SC, LYNX, ETTERCAP.... ;o)... eh eh eh. In buona sostanza non tutto è solamente grafica, anche perché più la cosa è complicata e più saranno complicati gli eventuali problemi correlati (Murphy docet). Settimane fa entro a controllare la posta e oppsss! Il mio browser non mi fa leggere i messaggi a me arrivati, pur dandomi notizia di avere in casella alcune nuove missive. Praticamente un errore del server del servizio di posta, che non citerò qui, mi causava l'inconveniente, mentre mio figlio poteva tranquillamente leggere, dalla mia stessa macchina, la sua posta sul sito del mio stesso operatore. Ed eccoci al dunque... Cosa fare? Per fortuna che avevo attivato in precedenza l'opzione SMTP e POP per poter leggere da telnet le mie mail. Altro oppsss!!! Mi si chiede un'autenticazione anche nel servizio SMTP... Ma come procedere? Facciamo un passo indietro all'articolo di Sandro a riguardo di TELNET del 09 ott 2003, andatevelo a leggere perché è la base di ciò che verrà descritto dopo. Il buon kensan vi fa notare che con una sessione telnet su SMTP, si può fare una fake-mail. Ed è per questo che un riconoscimento era d'obbligo imporlo. Eggià... ormai tutti i servizi di posta hanno posto delle limitazioni. Chi semplicemente rimandandovi al vostro ISP, Internet Service Provider, per poter usufruire di SMTP, quindi scaricando a lui il fardello dell'eventuale spammer, chi utilizzando un normale controllo sull'utenza basato su login e password. Noi esamineremo questo caso e quindi andiamo a vedere come autenticarci tramite una sessione Telnet. Questa procedura, ora, nel mio caso è con il protocollo AUTH LOGIN PLAIN. Prima di effettuare la connessione telnet dobbiamo trasformare la nostra USERID e la relativa PASSWORD in base64. O cavoli con carta e penna?! Ma nooo.... in rete trovate un sacco di applicazioni web-based, in codice C o in altri linguaggi da voi preferiti. Naturalmente sarebbe consigliata un'applicazione sulla propria macchina che una in rete... parlando di sicurezza non si sa mai.... che ne dite? Di solito quando si codifica una stringa, per esempio "venusia" come userid e "segreto" come passwd, l'applicazione ci avverte che la sequenza è ultimata o con "==" o "o="; naturalmente qualche prova di codifica e decodifica non è male da sperimentare. Alla bisogna naturalmente non metteremo i simboli di "fine stringa" perché non fanno parte ovviamente dei dati che l'autentificazione ci richiederà. Di seguito allego il codice di un de/codificatore, che uso per la sua semplicità ed efficenza, di cui gentilmente ringraziamo Daniel Lerch per averlo condiviso sulla rete... fatevi un giro sul suo sito. /***********************************************************************Naturalmente facciamo attenzione alla compilazione che lo stesso autore ci suggerisce: $ gcc
base64.c -o base64
-lsslOra che abbiamo tutto ciò che occorre vediamo la variante applicata alla sessione telnet: telnet smtp.vega.it
25
[Trying 100.99.198.97... Connected to vega.it. Escape character is '^]'. 220 vega.it ESMTP Sendmail 8.12.9 ready at Sun, 03 Sep 2004 00:00:00 +0200 (CEST)] e da qui in grassetto si evidenzierà cosa andremo a comunicare al server EHLO
LOCALHOST
250-vega.it 250-auth login plain 250-pipelining 250 8bitmime avrete notato che non abbiamo usato il saluto solito HELO ma abbiamo avvertito il server che vogliamo autenticarci passandogli il comando EHLO. Delle sue risposte a noi interessa "250-auth login plain" che ci conferma l'uso di quel tipo di protocollo AUTH
LOGIN
334-xxxxxxxxx dmVudXNpYQ 334-xxxxxxxxx c2VncmV0bw 235 ok, go ahead (#2.0.0) il server ha trasmesso la sua identificazione con il codice 334 e noi abbiamo immesso la userid (venusia) codificata in base64 "dmVudXNpYQ" e di seguito all'altra richiesta 334 la nostra passwd (segreto) "c2VncmV0bw" e se tutto è ok, ci viene comunicato con il codice 235. Bene.... ora che siamo stati riconosciuti, il server attenderà poi la normale procedura con i comandi: MAIL FROM:
RCPT TO: DATA e bla...bla... bla.... ma questo lo sapete già... vero?! Questo tutto nel rispetto del significato dell'acronimo KISS e nel segno del "semplicemente funzionale" a molti caro. Ma quanto amo i comandi testuali!!! Si denota ora, che abbiamo una valente risposta ai normali e frequenti problemi di gestione del server di posta ed alla lentezza cronica della grafica ad essa applicata. Se il vostro fornitore del servizio di posta non prevede la possibilità di usare i protocolli smtp e pop, che aspettate a cambiarlo?! A tutto c'è rimedio.... eccetto a queste maledette zanzare che ho in camera... qualcuno ha una soluzione? Commento di kensan: ho notato che ad alcuni non piace il tono scherzoso dell'articolo che si rifà alla cultura hacker pur essendo un testo di base che si trova da moltissime parti in Internet. Alcuni hanno detto che il tono dovrebbe essere "modesto" come modesto è l'argomento trattato. Comunque la pensiate questa pubblicazione è una continuazione di un mio scritto, ho quindi guardato alla sostanza e non alla forma che dipende dal carattere di Luca.
|
![]() Firefox è stato scaricato 1 miliardi 312 milioni 797 mila 759 volte.
Fonte NO(b)LOGO/hidden_side, licenza CC |
|||||||||
|
Questo articolo tratta argomenti che sono trattati anche negli articoli: (Il link all'argomento porta alla descrizione sommaria di tutti gli articoli aventi lo stesso tema) argomento: Internet, articoli: Internet via GPRS, Fiorello Cortiana (partito dei Verdi), Filtri Bayesiani, Internet via GPRS con Linux, Stampa clandestina, Internet di una volta, Google Sidewiki |
||||||||||
|
||||||||||
|
||||||||||