Tecnologie di Sicurezza
in Internet
APPLICAZIONI
AA 2009-2010
Ingegneria Informatica e dell’Automazione
Commonly used proxies and SSH
FWTK
The Firewall Toolkit
Trusted Information Systems sviluppò FWTK per
conto del DARPA e lo rese disponibile liberamente
nell'ottobre 1993 in formato sorgente
E' composto di un insieme di diversi programmi e
di opportuni criteri di configurazione che
permettono di costruire firewall applicativi
Nella sua filosofia progettuale il toolkit prevede
l'opportunità di verificare la sicurezza dell'intero
sistema o di qualunque suo componente
Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – C50/2
FWTK
In particolare
• anche se si trova un difetto nella realizzazione di
un componente, questo non deve compromettere
l'intero sistema
• i servizi devono essere realizzati con il minimo
possibile di funzionalità e complessità
• il codice sorgente deve essere sufficientemente
semplice da permettere un'accurata e rapida
ispezione
• devono esistere metodologie che permettono di
verificare il corretto funzionamento di un firewall
Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – C50/3
FWTK
I componenti principali di FWTK sono
• netacl
(ip auth)
• authd
(auth daemon)
• smap+smapd
(mail relay)
• ftp-gw
(ftp gateway)
• telnet-gw
(gateway for telnet)
• plug-gw
(generic TCP circuit gateway)
Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – C50/4
Delegate
Delegate è un software monolitico dotato di
molteplici funzioni (è proxy applicativo e di circuito,
è gateway capace anche di tunneling, converte fra
diversi protocolli, converte i dati, fa caching, ecc.)
• scritto con criteri di versatilità più che di
sicurezza
• esempio forse unico di "coltellino svizzero" per
firewall di tipo Application Level Gateway
• disponibile per varie piattaforme
Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – C50/5
Delegate
I protocolli gestiti da Delegate sono molteplici
• HTTP, FTP, SMTP, NNTP, POP, IMAP, LDAP
• TCP, UDP
• Socks, SSL, SSH
• User defined filters
Capace di funzionare da gateway tra molti
protocolli e controllare gli accessi con varie
forme di autorizzazione locali ed esterne
Può essere eseguito in una chroot() jail
Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – C50/6
FTP proxy
Un FTP proxy si comporta come FTP server per i
sistemi all'interno del firewall e come FTP client
per i sistemi di destinazione
normale
passivo
C=1.2.3.4
S=5.6.7.8
C=1.2.3.4
S=5.6.7.8
(rnd port) Call ------------------------- >
listen on port 21
Call ---------------------------------------- >
listen on port 21
User username ------------------------ >
User username -------------------------- >
< --------------------- 331 enter password
< --------------------- 331 enter password
PASS me@mydomain ---------------- >
PASS me@mydomain ------------------ >
< ----------------------- 230 guest login OK
< ----------------------- 230 guest login OK
C crea rnd port P=11*256 + 22
PASV ------------------------------------- >
PORT 1,2,3,4,11,22 ------------------- >
S crea rnd port P=11*256 + 22
< ---------------------------- 200 port OK
< ------------------ open port 11*256+22
< ------------- 227 PASSIVE 5,6,7,8,11,22
local port 20
(rnd port) open port 11*256+22 -------->
STOR file ------------------------------- >
STOR file --------------------------------- >
< ------------------ 150 conn. Established
< ------------------ 150 conn. Established
(file contents) -------------------------- >
(file contents) ----------------------------- >
< ---------------------- 226 transfer done
< ----------------------- 226 transfer done
listen on port 11*256+22
Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – C50/7
FTP proxy
Con ftp-gw (il proxy FTP di FWTK) l'utente deve
cambiare i comandi nel seguente modo
ftp proxy
Connected to FTP Proxy
220 Name: username@remoteftpserver
331-(connected to remoteftpserver)
Password: password
230-Login OK
ftp>
Come misure di sicurezza, ftp-gw è eseguito
senza privilegi di root e in una directory chrooted
Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – C50/8
FTP proxy
Con Delegate è possibile usare anche una
sintassi alternativa
ftp proxy
Connected to Delegate FTP Proxy
220 Name: username
Password: password
230-Login OK
ftp> cd //remoteftpsite[/path]
Connected to remoteftpsite FTP Server
ftp>
Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – C50/9
FTP proxy
Un qualunque HTTP proxy supporta anche URL di
tipo FTP
ftp://ftp.remote.site/path/to/file
Come per altri schemi di URL, è prevista (anche se
sconsigliata) dalla RFC 2396 una sintassi che
permette di passare informazioni sull'utente
direttamente sull'URL
ftp://user:[email protected]/path/to/file
Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – C50/10
Installazioni
Packet Filter
Il proxy FTP, per la complessità del
protocollo, non è adatto all'installazione
in bastion host su una DMZ
Application Level Gateway
Il proxy FTP si installa di solito
nell'Application Level Gateway stesso
Ridondanze
Si possono utilizzare link multipli e DNS
round-robin per distribuire gli accessi su
ALG differenti
Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – C50/11
TCP e UDP proxy
Sono proxy di circuito, dove il software non entra
nei dettagli del livello applicativo, ma si limita a
effettuare autorizzazione e logging sulla base dei
livelli inferiori (indirizzi IP e porte)
Quando la politica di sicurezza adottata impedisce
l'uso di routing tra le reti (che sono cioè separate
da firewall puramente Application Level Gateway),
si adottano questi proxy di circuito in una
molteplicità di casi (NNTP, POP, IMAP, ecc.)
Il Firewall Toolkit (FWTK) non supporta proxy di
circuito per UDP
Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – C50/12
TCP e UDP proxy
FWTK fornisce plug-gw, configurabile con un
parametro che specifica la porta su cui mettersi in
ascolto; in /etc/netperm-table sono specificati, per
ciascun plug-gw, un'ACL, un indirizzo e una porta
di destinazione
Delegate è configurabile con i parametri
-Pport SERVER=tcprelay://destination:dport
Vi sono anche altri modi di creare proxy di circuito
Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – C50/13
Internet NETwork Daemons
inetd
Internet Network Daemon originale delle
distribuzioni BSD
tcp_wrappers
Sviluppato da W. Venema, aggiunge
autenticazione IP e logging a inetd
xinetd
Versione evoluta di inetd, capace anche di
forwarding di una connessione
Molti proxy possono funzionare come demoni,
ma anche come servizi sotto il controllo di
[x]inetd
Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – C50/14
SSL wrappers
Un SSL wrapper è un circuit proxy "evoluto", capace di
incapsulare il circuito in una connessione SSL e viceversa
• per fornire supporto SSL a protocolli qualunque o
applicazioni non capaci di fornirlo
• in coppia permettono di creare circuiti protetti fra
sistemi comunicanti su reti pubbliche
• per aggiungere autenticazione e confidenzialità alle
applicazioni
SSL
client
SSL
listener
SSL
connector
SSL
server
delegate
non-SSL
client
non-SSL
server
Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – C50/15
SSL wrappers
Esempio di circuito protetto con due SSL wrapper
non-SSL
client
delegate
SSL
connector
Rete
pubblica
SSL
listener
delegate
non-SSL
server
Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – C50/16
Stunnel
Delegate diventa un wrapper SSL richiamando un
programma esterno sslway come filtro; Stunnel è invece un
wrapper SSL specializzato, disponibile per Unix e Windows e
costruito sulle librerie crittografiche di OpenSSL
…
[tn5250-as400]
accept = 1.2.3.4:10023
connect = 192.168.45.40:23
…
[local-imap]
accept = imaps
exec = /usr/sbin/imapd
# Esempio 1
# ind. esterno
# AS/400
# Esempio 2
# ind. esterno
Esempi di utilizzo per accesso da remoto a servizi interni
• configurazioni punto-punto
• configurazioni hub
Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – C50/17
SSH
SSH (secure sh) è nato per rimpiazzare i servizi
telnet, rsh e rlogin
La parte server del sistema è il demone sshd, cui
si connettono i client ssh (o altre realizzazioni) e
scp (secure cp); vi sono anche altre utility per
effettuare file transfer, per la gestione delle chiavi
e per semplifica l'uso dell'intera suite
La versione non commerciale più diffusa è
OpenSSH, realizzata dal team di sviluppo di
OpenBSD e ora completamente libera da vincoli
legati alla licenza d'uso o a brevetti sugli algoritmi
crittografici; esistono versioni anche per Windows
(es. putty), e Java (es. MindTerm)
Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – C50/18
OpenSSH
Autenticazione
OpenSSH fornisce differenti meccanismi di
autenticazione
• password (anche one-time)
• host based + RSA
• chiavi pubbliche RSA e DSA
• Kerberos
Confidenzialità
Protocolli crittografici liberi da brevetti
• Triple-DES
• Blowfish
Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – C50/19
OpenSSH
SSH2 protocol
Vi sono tre componenti il protocollo SSH2
• Transport layer: negozia gli algoritmi
crittografici, realizza lo scambio delle chiavi e
l'autenticazione tra i sistemi; fornisce quindi un
collegamento con crittografia e compressione
• User authentication layer: usando il canale
fornito dal Transport layer, permette di
autenticare l'utente con diversi meccanismi
• Connection layer: permette la creazione e il
multiplexing di molteplici canali di
comunicazione
Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – C50/20
OpenSSH
Caratteristiche
Gestione automatica del protocollo X11
Port forwarding
Authentication agent
Agent forwarding
Interoperabilità
SFTP client e server
Compressione dei dati
Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – C50/21
OpenSSH
Esempio d'uso
XVNC + VNC client
• Sistema remoto R: unix
• Sistema locale L: qualunque
Dopo avere effettuato il login con SSH al
sistema remoto si esegue su R il server Xvnc,
che non apre un display fisico, ma agisce
come display proxy: è un server X per i
programmi X lanciati da R, è invece un server
VNC per il client VNC lanciato su L, con il
quale si controlla la sessione grafica remota
Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – C50/22
Riferimenti
• www.fwtk.org
Firewall Toolkit website
• www.delegate.org
Delegate website
• www.stunnel.org
Stunnel website
• www.openssh.org
OpenSSH website
• SSH Techniques
William Stearns
Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – C50/23
Scarica

320 C50 Commonly used proxies and SSH