infn security workshopsecurity.fi.infn.it/conferenze/fi00/imho-imp.pdf · programmazione...

20
INFN Security Workshop Firenze 19-20 Settembre 2000 [email protected] IMHO e IMP: una interfaccia Web sicura per la posta elettronica

Upload: others

Post on 24-Jan-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: INFN Security Workshopsecurity.fi.infn.it/conferenze/fi00/imho-imp.pdf · programmazione interpretato • Orientato agli oggetti • Veloce • Di alto livello • Simile al C++ •

INFN Security WorkshopFirenze 19-20 Settembre 2000

[email protected]

IMHO e IMP:una interfaccia Web sicura

per la posta elettronica

Page 2: INFN Security Workshopsecurity.fi.infn.it/conferenze/fi00/imho-imp.pdf · programmazione interpretato • Orientato agli oggetti • Veloce • Di alto livello • Simile al C++ •

Cosa significano i due acronimiIMHO e IMP?

IMHO = IMAP Mail HostIMP = IMAP webMail Program

Sia IMHO che IMP sono una interfaccia Web alfamoso protocollo IMAP (Internet Message AccessProtocol) ideato dall’Università di Washington.Questo protocollo viene utilizzato per gestire laposta elettronica in modalità remota.

Page 3: INFN Security Workshopsecurity.fi.infn.it/conferenze/fi00/imho-imp.pdf · programmazione interpretato • Orientato agli oggetti • Veloce • Di alto livello • Simile al C++ •

Perché utilizzare IMHO o IMP invece deitradizionali client di posta elettronica?

Vantaggi:1) Disponibilità della propria mail-box ovunque2) Mancanza di impostazioni da parte dell’utente3) Privacy e sicurezza nella trasmissione dei dati

Svantaggi:1) Lentezza di visualizzazione

Page 4: INFN Security Workshopsecurity.fi.infn.it/conferenze/fi00/imho-imp.pdf · programmazione interpretato • Orientato agli oggetti • Veloce • Di alto livello • Simile al C++ •

Possibili scenari di utilizzo

1)

2)

WAN

WAN

IMHO o IMP+

IMAP

IMHO o IMP

IMAP 1

IMAP 2

LAN

NNN

NN

N

N

Canale cifrato (SSL)N

Page 5: INFN Security Workshopsecurity.fi.infn.it/conferenze/fi00/imho-imp.pdf · programmazione interpretato • Orientato agli oggetti • Veloce • Di alto livello • Simile al C++ •

Possibili soluzioni al secondo caso

1)

2)

WAN LAN

N

Canale cifrato (SSL)

WAN

SwitchN

WAN

N

N

Stunnel

LAN

N

N

Page 6: INFN Security Workshopsecurity.fi.infn.it/conferenze/fi00/imho-imp.pdf · programmazione interpretato • Orientato agli oggetti • Veloce • Di alto livello • Simile al C++ •

Pike(linguaggio)

Roxen(Web Server)

Diversità di struttura traIMHO e IMP

IMHO(modulo)

Web Server consupporto PHP e SSL

(es. Apache)

PHP con moduliaggiuntivi

(es. LDAP)

Horde eIMP

Page 7: INFN Security Workshopsecurity.fi.infn.it/conferenze/fi00/imho-imp.pdf · programmazione interpretato • Orientato agli oggetti • Veloce • Di alto livello • Simile al C++ •

IMHO

• La versione più recente di IMHO è la 0.98, tra pocodovrebbe uscire la versione 1.0

• IMHO è stato disegnato come componente del serverweb Roxen

• Insieme con Roxen IMHO viene distribuito sotto ‘GNUPublic License’. Tuttavia, se utilizzato per scopicommerciali, deve essere comprato dalla “RoxenInternet Software”

• L’installazione di IMHO si limita alla copia di un unicofile all’interno della ‘directory tree’ di Roxen

• Il programma è scritto in un linguaggio modularechiamato PIKE (luccio)

Page 8: INFN Security Workshopsecurity.fi.infn.it/conferenze/fi00/imho-imp.pdf · programmazione interpretato • Orientato agli oggetti • Veloce • Di alto livello • Simile al C++ •

PikeCos’è Cos’è PikePike??

• Un linguaggio diprogrammazioneinterpretato

• Orientato agli oggetti• Veloce• Di alto livello• Simile al C++• Facile da estendere a

linguaggi compilati

Cosa ha Cosa ha PikePike??• Sei anni di sviluppo• ‘Garbage collection’• Tipi di dati avanzati

come i vettori associativi• Gestione avanzata delle

stringhe• Supporto per ‘bignum’• Supporto per i ‘socket’

integrato

Page 9: INFN Security Workshopsecurity.fi.infn.it/conferenze/fi00/imho-imp.pdf · programmazione interpretato • Orientato agli oggetti • Veloce • Di alto livello • Simile al C++ •

RoxenCaratteristicheCaratteristiche

• Scritto interamente in PIKE• Si possono definire più utenti

per l’amministrazione e laconfigurazione del server

• E’ possibile creare eaggiungere nuovi moduli alserver web (scritti in PIKE)

• ‘Tag Language’ proprietari• Supporta SSL e LDAP• E’ disponibile per quasi tutti i

tipi di UNIX e per Windows

Pregi di Pregi di RoxenRoxen• Configurabile e

gestibile via web• Ha integrati molti

moduli aggiuntivi• Tante funzionalità e

buone prestazioni

Difetti di Difetti di RoxenRoxen• Al momento non è

diffuso come Apache

Page 10: INFN Security Workshopsecurity.fi.infn.it/conferenze/fi00/imho-imp.pdf · programmazione interpretato • Orientato agli oggetti • Veloce • Di alto livello • Simile al C++ •

Pregi e difetti di IMHO

PregiPregi• Interfaccia utente amichevole• Una sola connessione al server

IMAP (fino al logout)• Abbastanza veloce• Non ha bisogno di “Javascript” e

“Cookies” (ma li può utilizzare)• E’ disponibile per tutte le

piattaforme che supportanoroxen (quasi tutti i tipi di UNIXe Windows)

• E’ estremamente semplice dainstallare e da configurare

• Si possono salvare i messaggiin fase di composizione

• Ha una Finestra separata per il“new mail notification agent”

DifettiDifetti• Fa cache delle pagine visitate• L’utente non può scegliere

quale lingua usare• Il programma è scritto in PIKE

e non è supportato da altriserver web oltre a roxen

Page 11: INFN Security Workshopsecurity.fi.infn.it/conferenze/fi00/imho-imp.pdf · programmazione interpretato • Orientato agli oggetti • Veloce • Di alto livello • Simile al C++ •

screen-shot 1: IMHO login

Page 12: INFN Security Workshopsecurity.fi.infn.it/conferenze/fi00/imho-imp.pdf · programmazione interpretato • Orientato agli oggetti • Veloce • Di alto livello • Simile al C++ •

screen-shot 2: IMHO index

Page 13: INFN Security Workshopsecurity.fi.infn.it/conferenze/fi00/imho-imp.pdf · programmazione interpretato • Orientato agli oggetti • Veloce • Di alto livello • Simile al C++ •

Horde/IMP• Horde è un progetto che nasce per la realizzazione di

applicazioni Web scritte in linguaggio PHP• Horde è distribuito sotto ‘GNU Public License’ e

usufruisce del contributo di migliaia di programmatori• Il codice contenuto in Horde è strutturato e mantenuto

efficiente tramite CVS (Concurrent Versioning System)• IMP è uno dei progetti sviluppati in Horde e quindi

richiede l’installazione dell’ambiente di lavoro di Horde(Horde Frame Work)

• L’attuale versione stabile di IMP è la 2.0.11, da poco èstata rilasciata la 2.2.1 con alcune importanti modifiche,mentre la 2.3 è ancora in fase di sviluppo

Page 14: INFN Security Workshopsecurity.fi.infn.it/conferenze/fi00/imho-imp.pdf · programmazione interpretato • Orientato agli oggetti • Veloce • Di alto livello • Simile al C++ •

PHP

Cos’è PHP?Cos’è PHP?• Nasce in ambiente

Web come linguaggiointerpretato

• E’ simile ad unlinguaggio di script(CGI, Perl ecc.) ma èintegrato nell’HTML

• Viene eseguito sul latoserver

Per cosa si usa PHP?Per cosa si usa PHP?• Per fare dei database

interfacciabili al Web(MySQL, mSQL,Oracle, Informix ecc.)

• Per dialogare con imaggiori protocolli direte (IMAP, SNMP,NNTP, POP3, HTTP)

• Per fare IMP

Page 15: INFN Security Workshopsecurity.fi.infn.it/conferenze/fi00/imho-imp.pdf · programmazione interpretato • Orientato agli oggetti • Veloce • Di alto livello • Simile al C++ •

Software necessari perl’installazione di IMP

IndispensabiliIndispensabili• OpenSSL• Un Web server con

integrati i moduli disupporto per PHP e SSL(es. Apache, IIS4)

• PHP• Horde• IMP

OpzionaliOpzionali• Database

(MySQL, PostgreSQL)• LDAP server

(OpenLDAP, slapd)• IMAP server

(UW imap, Cyrus,PMDF, Courier-imap)

Page 16: INFN Security Workshopsecurity.fi.infn.it/conferenze/fi00/imho-imp.pdf · programmazione interpretato • Orientato agli oggetti • Veloce • Di alto livello • Simile al C++ •

Pregi e difetti di IMPPregiPregi

• Non fa cache delle paginevisitate

• Non richiede un server webspecifico, anche se è preferibileApache

• Funziona su quasi tutti i tipi diUNIX e anche su Windows

• L’utente può scegliere qualelingua utilizzare primadell’inizio di una sessione

• Dalla sessione utente si possonosegnalare direttamente problemie bugs al gruppo di supporto

DifettiDifetti• Apre molte connessioni col

server IMAP (quasi una ognipagina HTML), di conseguenzaè più lento nella visualizzazione

• Per funzionare ha bisogno dellaabilitazione dei “Cookies” e di“Javascript”

• Per avere alcune funzioni(addressbook, LDAP search ecc.)ha bisogno di integrare diversimoduli aggiuntivi a PHP e alserver web

• Ha una interfaccia non moltoamichevole

Page 17: INFN Security Workshopsecurity.fi.infn.it/conferenze/fi00/imho-imp.pdf · programmazione interpretato • Orientato agli oggetti • Veloce • Di alto livello • Simile al C++ •

screen-shot 3: IMP login

Page 18: INFN Security Workshopsecurity.fi.infn.it/conferenze/fi00/imho-imp.pdf · programmazione interpretato • Orientato agli oggetti • Veloce • Di alto livello • Simile al C++ •

screen-shot 4: IMP index

Page 19: INFN Security Workshopsecurity.fi.infn.it/conferenze/fi00/imho-imp.pdf · programmazione interpretato • Orientato agli oggetti • Veloce • Di alto livello • Simile al C++ •

IMHO e IMP a confrontoCaratteristiche

Facilità d’installazione e configurazione

Sicurezza nella gestione della cache

Velocità di visualizzazione

Disponibilità e compatibilità (OS e WS)

Interfaccia amichevole

Indipendenza da Cookie e Javascript

Visualizzazione dei messaggi in HTML

Address Book (personale e generale)

Possibilità ricerche con LDAP

Salvataggio locale dei file allegati

IMHO IMP

5 2

2 5

4 3

3 5

4 3

4 2

5 5

5 4

4 4

4 5

Totale 40 38

Page 20: INFN Security Workshopsecurity.fi.infn.it/conferenze/fi00/imho-imp.pdf · programmazione interpretato • Orientato agli oggetti • Veloce • Di alto livello • Simile al C++ •

ConclusioniLa scelta di installare IMHO oppure IMP dipendedalla situazione specifica di utilizzo, dal programmache meglio si adatta alle singole esigenze e, in parte,anche dal gusto personale (…a me piace più IMH☺)

Indirizzi utili

IMHO: http://www.roxen.com/ http://www.lysator.liu.se/~stewa/IMHO/ ftp://ftp.fis.unipr.it/pub/webmail/imho/

IMP: http://www.horde.org/ http://www.horde.org/imp/ http://security.fi.infn.it/tools/imp/