Quando il server riceve una e-mail controlla prima se il
destinatario
e' presente tra gli utenti di sistema, se non lo trova cerca l'utente nei file dot qmail:
i file .qmail (dot qmail) si possono trovare nella home directory dell'utente stesso o nella home
directory dell'utente "alias" (/var/qmail/alias).
Ad esempio se vogliamo creare l'alias
ciccio_di_nonna_papera@pluto.it
per l'utente ciccio@pluto.it non
dobbiamo fare altro che eseguire il comando
# echo "ciccio" > ~alias/.qmail-ciccio_di_nonna_papera
in questo modo tutta la posta inviata a
ciccio_di_nonna_papera@pluto.it
verra' inoltrata all'utente ciccio;
inserendo piu' nomi utenti dentro il
file .qmail-nome la posta verra'
inoltrata a tutti gli utenti della lista
creando una sorta di
indirizzo di gruppo. NOTA: se volete creare un alias con il carattere "." leggete la sezione FAQ.
I file dot-qmail sono utilizzati da "qmail-local" ogni volta che deve essere consegnata una email per il sistema locale e possono
contenere i seguenti comandi:
| /usr/bin/myprog
tutto cio' che segue il "|" viene eseguito dalla shell "sh", in questo caso viene avviato lo script /usr/bin/myprog.
&pippo@pluto.com
Il simbolo "&" indica "inoltro", quindi all'indirizzo email specificato dopo tale simbolo vengono inoltrate tutte le email destinate
all'indirizzo del file .qmail .
/home/davide/Maildir/
/home/davide/mailbox
Risulta molto utile creare uno script per attivare, disattivare e riavviare qmail con un semplice comando.
Se vi interessa copiate lo script quì sotto all'interno del file /etc/init.d/qmail:
----
#!/bin/sh
# script di avvio per qmail
#
PATH=/usr/local/bin:/var/qmail/bin:$PATH
[ -f /var/qmail/bin/qmail-smtpd ] || exit 0
RETVAL=0
prog="qmail"
hostname=`hostname`
start() {
# Start daemons.
echo -n $"Starting $prog: "
QMAILDUID=`id -u qmaild`
NOFILESGID=`id -g qmaild`
csh -cf '/var/qmail/rc &'
/usr/local/bin/tcpserver -H -R -x /etc/tcp.smtp.cdb -u$QMAILDUID -g$NOFILESGID 0 smtp /var/qmail/bin/qmail-smtpd & >/dev/null 2>&1
/usr/local/bin/tcpserver -v -H -R 0 pop3 /var/qmail/bin/qmail-popup $hostname /bin/checkpassword /var/qmail/bin/qmail-pop3d \ Maildir 2>&1 | /var/qmail/bin/splogger pop3d &
echo -n "qmail " RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/svscan
return $RETVAL
}
stop() {
# Stop daemons.
echo -n $"Shutting down $prog: "
killall qmail-send
killall /usr/local/bin/tcpserver
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/svscan
return $RETVAL
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
stop
start
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 1
esac
exit $RETVAL
----
v.0.8, del 13 Marzo 2002.
Se avete seguito l'installazione di qmail-pop3d+checkpassword
sopra descritta vi sarete accorti che ogni utente pop3 deve avere un
valido account nel sistema, spesso l'accesso via shell non è
necessario quindi si usa creare degli utenti virtuali che abbiano
accesso solamente al pop3 evitando problemi di sicurezza che
potrebbero sorgere dando accesso in shell,ftp... ad utenti che non lo
necessitano, vpopmail è molto utile proprio per questo scopo.
Vpopmail è un programma creato dalla inter7, rilasciato sotto la
licenza GNU/GPL, che ci permette di aggiungere a qmail le seguenti
caratteristiche:
- gestire, più comodamente, utenti/domini virtuali
-
assegnazione quote di spazio e-mail
-
possibilita' di relaying previa autenticazione pop3 e/o lookup inverso
- interfacciabilita' con database
MySQL,PostgreSQL,Informix e Oracle.
Potete scaricare vpopmail all'indirizzo
http://www.inter7.com/vpopmail.
Ora passiamo all'installazione di vpopmail, per ogni dubbio ricordatevi
di cunsultare la documentazione in linea di vpopmail stesso.
Per prima cosa è necessario aggiungere un nuovo gruppo (vchkpw) ed
un nuovo utente (vpopmail).
C'è una raccomandazione citata nel documento di installazione
presente al link http://www.inter7.com/vpopmail/INSTALL:
utilizzare sia per il gruppo che per l'utente l'id 89.
Quindi:
# groupadd -g 89 vchkpw
# useradd -g vchkpw -d /home/vpopmail -u 89 vpopmail
Nella distribuzione Mandrake 8.1 (e non so se per altre ancora), l'uid 89 e il gid 89 sono assegnati ad altro utente e gruppo. In questo caso le vie sono due:
service pop3 { disable = no socket_type = stream protocol = tcp wait = no user = root server = /var/qmail/bin/qmail-popup server_args = nome_vostro_dominio /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir log_type = FILE /var/log/xinetd.log log_on_success = HOST log_on_failure = HOST RECORD }
Lo spam e' una piaga di internet, ogni persona che utilizzi l'e-mail e' stata almeno una volta bersaglio di questo sistema di pubblicita' invadente e fastidioso, come amministratori del server di posta possiamo adottare alcune misure per eliminare, o almeno limitare, lo spam ricevuto dai nostri utenti ed evitare che loro stessi lo generino:
1) Attivate l'alias abuse@host.dominio che
punti al vostro indirizzo
o a quello dell'amministratore, spesso
quando si riceve spam la prima cosa
che si fa e' segnalarlo
all'amministratore del server dal quale proviene,
e l'indirizzo che
si usa per questo scopo e' proprio abuse.
Se ricevete una
segnalazione a questo indirizzo che un utente del vostro
sistema ha
fatto dello spamming informate subito l'utente che tale comportamento
non
e' ammesso, nel caso non risponda o non collabori cancellategli
l'account.
2) Usare Realtime Black List (RBL), questo sistema fa in
modo
che ogni volta che riceviamo una mail il server controlli se
l'indirizzo
e-mail o ip del mittente e' contenuto nella lista degli
spammer, tale lista
e' in realta' un database che, grazie alle
segnalazioni degli utenti, mantiene
una lista di domini, indirizzi ip
e indirizzi e-mail che praticano o incoraggiano
lo spamming.
Dan
J Berstein, il creatore di qmail, ha creato il programma rblsmtpd che
usato
assieme a tcpserver si occupa di controllare il database RBL
per ogni mail
ricevuta, per installarlo eseguiamo i soliti comandi
# gunzip rblsmtpd-0.70.tar.gz
# tar xvf rblsmtpd-0.70.tar
# cd rblsmtpd
# make
#
make setup check
ora basta modificare il comando di avvio di qmail-smtpd in questo modo
/usr/local/bin/tcpserver -H -R -x /etc/tcp.smtp.cdb -u$QMAILUID -g$NOFILESGID 0 smtp rblsmtpd /var/qmail/bin/qmail-smtpd & >/dev/null 2>/dev/null
come vedete abbiamo semplicemente aggiunto il comando rblsmtpd che controllera' nel database RBL.
3) Riportate tutto lo spam che ricevete, fatelo inoltrando
lo spam
all'indirizzo abuse del server dello spammer, oppure usate le
facility che
alcuni siti, creati proprio per combattere lo spam,
mettono a disposizione:
http://www.abuse.net o http://spamcop.net
L'importante
e' che non cancelliate l'e-mail e non la lasciate per piu' di
due
giorni nella vostra mailbox senza riportarla, ricordatevi anche di
includere tutti gli header nel riportare la mail-spam all'amministratore.
4) Istruite i vostri utenti su come riconoscere, evitare e
combattere
lo spam, non c'e' lista nera o programma efficace
quanto un utente
che conosca il problema e sappia come rispondere (un
po' come per i virus).
Gli spammer fanno leva proprio sul fatto
che l'utente utente medio non ha
le conoscenze o la voglia per
rispondere nel modo giusto a tale abuso e
spesso si limita a
cancellare il messaggio.
Internet Message Access Protocol v4 e' un protocollo che permette
ad un
client di gestire la posta direttamente nel server, tutte le
email (comprese quelle scaricate) sono
mantenute nel server imap ed ogni client ci accede come
se fossero locali,
in questo modo le e-mail possono essere manipolate
indifferentemente dal
vostro computer in ufficio, il pc casalingo, il
portatile ecc... rimanendo
sempre sincronizzate e senza bisogno di
trasferire ogni volta la posta tra
un pc e l'altro.
L'abilita' di
imap di accedere ai messaggi (sia quelli nuovi che salvati)
da piu'
di un computer e' molto utile anche se, in alcune situazioni, non
puo'
sostituire il Pop3 che funziona meglio per un computer unico e
per leggere
la posta offline (quindi viene adottato dalla
maggiorparte dei provider).
Per qmail in modalita' Maildir e'
disponibile il server imap "Courier imap",
mentre se la
posta e' tenuta in mailbox non fa alcuna differenza tra i
server
imap (courier imap e' cmq buono). Courier Imap e' mantenuto dalla
Inter7
e disponibile in licenza GNU/GPL presso il sito
www.inter7.com.
Per maggiori
informazioni sul protocollo imap consultate l'rfc2060.
I file control sono file di configurazione che si trovano in /var/qmail/control
attraverso i quali e' possibile configurare buona parte del comportamento di qmail.
I file control basilari vengono creati automaticamente in fase di installazione con
il comando './config-fast host.dom' quindi, in genere, non ci sarà bisogno di occuparsi
di questi file se non per implementare funzioni aggiuntive.
In questo paragrafo descrivero' i file control di maggiore utilizzo, per tutti gli altri
consultate la man page 'qmail-control'.
- me : questo e' l'unico file control assulutamente necessario al funzionamento di qmail. Contiene l'hostname del server e viene usato per come stringa nel il comando HELO per identificarsi ad altri server, per identificarsi durante la connessione di altri server verso il proprio e identifica il dominio locale primario.
- locals : contiene la lista degli host per i quali il nostro server riceve le mail.
- rcpthosts : contiene la lista degli host o del dominio abilitati al relaying, se la variabile ambientale RELAYCLIENT è settata qmail-smtpd ignorerà rcpthosts utilizzando al suo posto questa variabile.
- virtualdomains : elenca gli utenti o i domini virtuali. Un utente virtuale ha la sintassi del tipo "utente@dominio:prefisso", quando qmail-send vede una mail per utente@dominio riscrive tale indirizzo in prefisso-utente@dominio e lo considera come un utente locale.
- smtproutes : tabella di routing per l'invio di email. Ogni route è identificata nella forma "dominio:relay", quando l'host di destinazione dell'email coincide con "dominio", il nostro server smtp si connette all'host "relay".
Al giorno d'oggi la costruzione di DeMilitarized Zone stà diventando sempre più comune visto l'alto grado di sicurezza
che questa architettura di rete riesce ad offrire,
praticamente si tratta di chiudere il/i server internet aziendale dietro ad un firewall, questo firewall permette l'accesso al server internet
dall'interno della rete, ma nega tutto il traffico dal server internet verso l'interno della rete.
In questo modo un attacker che riuscisse a penetrare nel server internet non riuscirebbe ad entrare nella LAN interna, limitando fortemente
i danni che un'intrusione potrebbe causare; in aggiunta a questo nel server internet vengono tenuti solo i dati strettamente necessari (pagina web, server ftp ecc...)
mentre i dati sensibili vengono mantenuti in un server all'interno del firewall.
Nel nostro caso specifico di un server di posta, il server interno manterrà tutte le mailbox degli utenti locali e gestirà la spedizioni di email
interne alla rete, mentre per le email verso l'esterno la inoltrerebbe al server internet, che quindi servirà solo per spedire e ricevere email
da e verso internet (le email ricevute dal server internet verranno poi scaricate dal server interno); la sicurezza stà proprio nel mantenere me email interne, private ed importanti
in una macchina "inaccessibile" da eventuali aggressioni esterne.
Se vi interessa attuare questa soluzione, dopo aver proceduto alla creazione di una DMZ (leggete il Net3-HOWTO e altri documenti),
avete due scelte:
1 - Installare qmail su entrambi i server 2 - Installare qmail sul server internet.
La seconda soluzione viene spesso adottata da chi deve/vuole usare un server di posta diverso nella rete
interna (spesso Exchange a causa degli utenti Outlook-dipendenti) e vuole mettere un server di posta sicuro nell' "interfaccia esterna" della propria rete; io personalmente
consiglio la prima opzione per l'elevata affidabilità e gestibilità, in tutte le situazioni, di qmail.
Vediamo ora come procedere tecnicamente nei due casi:
1) Installate i due server normalmente, avendo cura di creare gli stessi utenti sia sul server interno che
su quello esterno, per dare ad ogni utente il proprio indirizzo email valido su internet (a meno che non lo
si voglia rendere invisibile da internet, in questo caso non create l'account sul server esterno), ed eseguite
il seguente comando sul server interno:
# echo ":indirizzo_ip_server_internet" > /var/qmail/control/smtproutes
Il file control smtproutes ha questa sintassi:
<dominio>:<indirizzo_ip>
Questo file serve ad indicare che se una email ha come destinatario un utente dell'host <dominio>
deve essere inoltrata al server <indirizzo_ip> ; nel nostro caso non specificando alcun dominio
indichamo "tutti i domini tranne quello locale" riuscendo nel nostro scopo cioè far passare al server
internet dietro al firweall tutto le mail verso l'esterno.
In fine per fare in modo che ogni tot di tempo il server interno scarichi la posta internet dal server esterno,
installate e configurate "getmail" eseguendolo da crontab ogni 5 minuti (naturalmente indicando come server
di posta il server esterno).
2) In questo caso le operazioni da eseguire sul server qmail sono molto poche, limitatevi ad installarlo
normalmente e a creare gli utenti; mentre sul server di posta interno dovrete settarlo in modo inoltri al
server esterno tutto il traffico internet e che scarichi la posta ogni tot di tempo.
qmail viene spesso usato sia come server di posta per server internet con connessioni permanenti su linee dedicate, che come server di posta personale o per piccole aziende
su classiche, e piu' economiche, connessioni intermittenti tipiche dei collegamenti modem punto-punto ad un provider (dialup).
Per rispondere efficacemente a queste esigenze il server di posta deve avere la capacità di inviare (e ricevere) la posta verso gli utenti internet a determinati orari e solo quando
la connessione dialup è attiva, pur mantenendo immediato l'invio agli utenti locali.
Utilizzando qmail ci viene in aiuto il programma "serialmail" che aggevola l'uso di questo server su linee seriali con connessioni dialup, iniziamo subito ad installarlo seguendo la classica procedura:
# gunzip serialmail-0.75.tar.gz
# tar xvf serialmail-0.75.tar
# cd serialmail-0.75
# make
# make setup check
ora creiamo la maildir "pppdir" nella quale verranno accodati tutte le email destinate ad utenti esterni (cioè non locali)
# maildirmake ~alias/pppdir
# chown -R alias ~alias/pppdir
creiamo l'alias "ppp-default" al quale saranno inoltrate le email verso l'esterno e che saranno poi inserite nella Maildir /var/qmail/alias/pppdir
# echo "./pppdir/" > ~alias/.qmail-ppp-default
indichiamo a qmail-send di inviare all'utente ppp tutte le email non locali
# echo ":alias-ppp" >> /var/qmail/control/virtualdomains
il file virtualdomains ha questa sintassi: "dominio:prefisso_da_aggiungere". Ad esempio con un virtualdomains del tipo
"pippo.com:alias-ppp" una email inviata a pluto@pippo.com verrebbe riscritta indicando come destinatario "alias-ppp-pluto@pippo.com".
Nel nostro caso non specificando nulla nel capo prima di ":" indichiamo che -tutte le email non destinate ad utenti locali-
vengano indirizzate a "alias-ppp-utenteesterno@hostname", avendo noi creato l'alias "ppp-default" tutte le email destinate a
"*ppp*@hostname" saranno prese dall'utente "ppp" che le accoderà nell'appostida Maildir.
Una volta collegati a internet lanciamo il comando per inviare la posta accodata:
# /usr/local/bin/serialmail/maildirsmtp ~alias/pppdir alias-ppp- server_di_posta_del_provider hostname
la sintassi di questo comando e': maildirsmtp <directory> <suffisso_da_togliere> <server_di_posta_esterno> <helohost>
- directory: Maildir dove sono accodate le mail da inviare
- suffisso_da_togliere: suffisso che in precedenza è stato aggiunto (per essere accodato nella pppdir) e che ora verrà tolto
- server_di_posta_esterno: server di posta SMTP del provider
- helohost: stringa che verrà usata nel comando HELO con il server di posta del provider (possiamo usare l'hostname del nostro pc).
Per fare in modo che ad ogni connessione ppp venga inviata la posta accodata basta inserire il comando sopra nel file /etc/ppp/ip-up.
Spesso i server locali con connessioni in dialup o i pc casalinghi sono configurati (in genere si configura con il comando ./config in fase di installazione) con domini non esistenti o non esatti,
per fare in modo che venga cambiato il campo "From" delle email inviate verso l'esterno usate il programma qmail-masq.
Per scaricare la posta da account remoti su altri server ed accodarla nelle Maildir locali potete usare il programma getmail.
Descrivo brevemente il funzionamento dei protocolli smtp e pop3, e' sempre utile sapere come funzionano e ci aiutera' a configurare qualsiasi client di posta elettronica.
- SMTP:
Ogni volta che inviate una e-mail con il vostro client di posta preferito questo non fa altro che collegarsi alla porta 25 del server, inviare alcuni comandi e il testo del messaggio, potete simularne il funzionamento collegandovi manualmente al server con il comando
$ telnet indirizzo_del_server 25
Trying 127.0.0.1...
Connected to duke.
Escape character is '^]'.
220
dukestation.it ESMTP
qui' il server si indentifica, qmail non si identifica con il proprio nome (come ad esempio fa sendmail che specifica anche la versione) ma come un generico ESMTP, da adesso quindi possiamo iniziare ad inviare comandi al server di posta.
HELO pippo.com
con il comando helo ci identifichiamo, puo' essere interpretato come "hello i'm pippo.com"
MAIL FROM:<pluto@pippo.com>
questo comando serve per iniziare la comunicazione e indicare l'indirizzo del mittente, se tale campo viene accettato il server risponde con "250 ok"
RCPT TO:<miky@mouse.com>
il terzo passo serve ad indicare il "foward path" cioe' il destinatario del nostro messaggio, anche qui' se il server accetta risponde con "250 ok"
DATA
se il server risponde a questo comando con "354 go ahead"
possiamo iniziare
a scrivere il vero e proprio messaggio con
gli header Date, Subject, To,
Cc, From ... e il testo, quando abbiamo
finito concludiamo il messaggio
con una riga vuota e un "."
all'inizio della riga, se il server ci risponde
con "250 ok"
vuol dire che tutta la procedura e' andata a buon fine e il server si
occupera'
di recapitare il messaggio.
Possiamo chiudere la connessione con
il comando
QUIT
Potete notare come i dati necessari per inviare una mail siano molto
pochi,
quindi per impostare un qualsiasi mail client per l'invio (e
per adesso
solo per l'invio) basta indicare l'indirizzo del server di
posta SMTP e
il nostro indirizzo di e-mail che verra'usato nell'helo
e nel mail from.
Notate anche come tutti questi dati non
richiedano alcuna "autenticazione"
quindi non c'e' alcuna
sicurezza che il mittente di un'e-mail sia proprio
la persona
indicata oppure che la data di invio sia quella, l'indirizzo
del
mittente .... si puo' avere certezza solo con la firma elettronica
(come
con PGP/GPG).
Spesso quando qualcuno riceve dello spam si sente dire "ho ricevuto dello spam e non era nemmeno indirizzato a me" questo e' un trucchetto che usano gli spammer, in RCPT TO indicano il nostro indirizzo e dentro "data" mettono To: indirizzo@falso.com cosi' il nostro mail client indichera' come destinatario indirizzo@falso.com mentre quello reale sara' indicato nel campo RCPT TO visualizzabile richiedendo i dettagli su tale mail (in ogni mail client che si rispetti c'e' il modo per visualizzarli, in genere nel menu' View poi Header si sceglie "all").
- POP3:
Anche qui' ogni volta che controllate la posta il vostro mail client si collega alla porta 110 del server pop3 del vostro provider e con alcuni comandi scarica la posta, potete simularne il funzionamento con il comando
$ telnet indirizzo_del_server 110
Trying 127.0.0.1...
Connected to duke.
Escape character is '^]'.
+OK
<600.977834344@dukestation.it>
in questa sezione la maggiorparte dei server pop3 si identificano, qmail-pop3d invece (rispettando la politica di qmail che non da'dettagli su se' stesso) si limita ad indicarci l'id che viene assegnato alla nostra connessione.
USER pippo
ecco uno dei due comandi per indicare il nostro account formato da username e password, in questo comando specifico indichiamo il nostro nome utente.
PASS pluto
con PASS indichiamo la password, se username e password sono corretti il server ci rispondera' con "+OK"
LIST
+OK
1 273
.
Ora con LIST viene visualizzata la lista dei messaggi presenti nella nostra mailbox, in questo caso e'presente solo un messaggio indicato con il numero 1
RETR 1
+OK
Return-Path: <pippo@pluto.it>
Delivered-To: davide@dukestation.it
Received: (qmail 489
invoked from network); 26 Dec 2000 11:59:00 -0000
Received: from
unknown (HELO pippo.com) (127.0.0.1)
by 127.0.0.1 with SMTP; 26
Dec 2000 11:59:00 -0000
prova123
.
retr ci permette di visualizzare i messaggi, senza argomenti
vengono visualizzati
tutti i messaggi mentre se specifichiamo un
numero ci viene mostrato solo
il messaggio selezionato.
QUIT
+OK
Dopo aver letto la posta possiamo uscire con il comando QUIT.
Anche da questo possiamo notare come per impostare un qualsiasi
mail client
per ricevere la posta basti indicargli l'indirizzo del
server pop3 e il
nostro username e password.
I dati
che ho indicato in questa sezione sono fondamentali per
l'impostazione
di ogni client, tutti gli altri variano da programma a
programma e non sono
necessari al fine del funzionamento.
Eseguendo la procedura di scaricamento della posta dal pop3 salta
subito
all' occhio come username e password vengano inviati senza
protezione o
criptazione, qualunque sniffer che si riesca ad
interporre nella comunicazione
tra noi e il mail server non avrebbe
alcuna difficolta' a scoprire la nostra
password e leggere la nostra
e-mail.
Il protocollo pop3, come la maggiorparte dei protocolli
che si appoggiano
al TCP/IP, e'stato creato parecchio tempo fa
quando veniva usato in reti
interne universitarie dove la sicurezza era assicurata da un
rapporto di fiducia tra gli utenti,
tale protocollo e'ora il piu' diffuso in tutto
il mondo per la posta elettronica e,
in tale ambito, diventa molto
importante la sicurezza delle comunicazioni.
Per questo sono state
sviulppate modifiche/aggiunte al protocollo,
i metodi piu'
diffusi sono APOP e SSL:
APOP:
Vediamo subito un esempio di connessione ad un server pop3 con APOP
$ telnet localhost 110
Trying 127.0.0.1...
Connected to
duke.
Escape character is '^]'.
+OK
<367.977853857@dukestation.it>
APOP pippo
c4c9334bac560ecc979e58001b3e22fb
+OK maildrop has 1 message (369
octets)
E' importante che il server di posta risponda subito alla nostra
connessione
con una stringa del tipo +OK
<PID.DATE@host.domain> come scritto
tale
stringa e' composta da tre numeri che contraddistinguono il PID del
processo
che si e' creato a seguito della nostra connessione, seguito
da un punto
vediamo la data in decimale e il nome host con il
domain, sia il server
che il client si annotano tale stringa (che
sara'diversa per ogni connessione).
Poi viene il comando vero e
proprio per autenticarsi: APOP username md5_di_password_e_stringa
come
vedete si specifica lo username piu' un "digest", tale
digest e' formato
dall'hash crittografico in md5 (quello che si
ottiene con il comando md5sum)
della stringa presentata a prompt dal
server piu' la password, il risultato
e' una stringa crittografata ogni volta diversa e
non riconducibile alla password, quindi anche
sniffando la
connessione non si verrebbe a conoscenza dalla password.
SSL:
SSL e' un protollo per l'autenticazione e la criptazione delle
comunicazioni
on-line molto usato nei siti di e-commerce per la
trasmissione di numeri
di carte di credito o altri dati sensibili.
Si tratta di un algoritmo basato chiavi pubblico/private, la
chiave pubblica
e' disponibile a tutti e viene utilizzata dai client
per criptare i dati
da inviare al server, mentre la chiave privata e'
segreta ed e' usata dal
server per firmare elettronicamente
(autenticare) le transazioni.
In questo modo si ottiene una
criptazione dei dati che varia tra 64 e 128
bit a seconda del tipo di
chiave; assume pero' una grande importanza la
famosa "terza
parte fidata" ossia una Certification Authority che si occupa
di
firmare le nostre transazioni per certificare che il server con cui
stiamo
comunicando sia proprio il server che dichiara di essere senza
possibilita'
di frodi.
Tale procollo e' maggiormente usato nelle
connessioni http (che diventano
https) ma si puo' applicare anche a
smtp,pop3,ftp ... in questo caso si
fanno passare i protocolli
attraverso dei wrapper (a volte si modificano
proprio i protocolli)
che si occupano di criptare i nostri dati, allora
si parla di SMTPs
che risiedera' sulla porta 465 e POP3s sulla 995.
Naturalmente e'
necessario che il client di posta supporti SSL, e sarebbe
importante
(ma non necessario) che il nostro certificato sia firmato da
una CA,
i certificati rilasciati dalle CA hanno durata annuale e costano
abbastanza,
consiglio quindi di usare questo metodo solo se siete
gia' in possesso un
certificato firmato utilizzato per e-commerce,
mentre per tutti gli altri
casi e' meglio usare APOP.
Se volete
utilizare ssl con qmail per i protocolli smtp,pop3 e imap, scaricate
il
programma "stunnel" che funziona da wrapper ssl, si
tratta quindi di creare
un certificato e configurare stunnel perche'
lo usi correttamente, a questo
punto basta modificare le linee di
startup di qmail-smtpd e qmail-pop3d
per farli passare attraverso a
tale wrapper.
Maggiori dettagli sul funzionamento di questi protocolli potete
trovarli
negli rfc 821 (smtp) e 1939 (pop3).