Newsgroup: it.comp.sicurezza.varie
Titolo: Log degli accessi.

Alcuni dipendenti della ditta in cui lavoro accedono dalla propria
postazione ad un'applicazione web, via https, l'autenticazione avviene
tramite smartcard personale. Sul web server gira Apache + Tomcat. 
Vi è la necessità di avere traccia degli accessi tramite log: data,
ora, utente (cod. fisc. su smartcard), nome del computer da cui si
accede.
Ho configurato sia Apache che Tomcat per avere nel log le informazioni
necessarie, ma l'applicazione web passa attraverso un proxy prima di
raggiungere il web server, così nel log è presente solo l'indirizzo
del proxy e si perde traccia del pc dell'utente; inoltre Tomcat, con
la configurazione di Valve Component , rallenta troppo l'applicazione.
Qualcuno ha qualche suggerimento su come risolvere il problema? 
Io ho pensato a tre strade e relativamente ad esse vi faccio le
seguenti domante:
1. Si può configurare il proxy (SQUID 2.5) per lasciar passare solo i
nomi dei pc degli utenti che utilizzano l'applicazione web?
2. Esiste un'applicazione, possibilmente freeware, da installare sui
pc degli utenti che invia sul web server, eventualmente su un
database, le informazioni necessarie accennate sopra?
3. Volendo realizzare l'applicazione, di cui al punto precedente,
qual'è il linguaggio che ne permetterebbe uno sviluppo più veloce?
L'idea è quella di avere un'applicazione che viene lanciata all'avvio
del sistema, magari come servizio, e che risiede nella systray.
Grazie per ogni eventuale consiglio.
HS.

del proxy e si perde traccia del pc dell'utente
http://marc.theaimsgroup.com/?l=tomcat-user&m=116259170430115&w=2
Leonardo
-- 
Geordie - he's a man, there's little doot about't,
He's done all he can, wha' can do withoot't?
Doon there cam a blade, linkin' like me lordie,
He wad drive a trade, a' the loom of Geordie.


http://marc.theaimsgroup.com/?l=tomcat-user&m=116259170430115&w=2
La versione di Tomcat è 4.1.31 e su questa non c'è ancora il parametro
"%{X-Forwarded-for}i" in pattern.
HS.



Sei sicuro? Sembra, dalla sintassi, che lo prenda dall'environment.
Se non c'e' nell'environment X-Forwarded-For, prova a vedere se non
c'e' magari con un altro nome (X-Proxy-Client o roba simile).


c'e' magari con un altro nome (X-Proxy-Client o roba simile).
Mi sembra di no, ecco il link:
http://tomcat.apache.org/tomcat-4.1-doc/config/valve.html
Grazie.
HS.



Visto. C'e' nel 5.5:
    * %{xxx}i for incoming headers
...sicche' nix. Te lo devi fare da te nell'applicazione con getHeader(),
si direbbe.
Una soluzione macellaia potrebbe essere quella di modificare il proxy in
modo che la stringa "X-Forwarded-For" nel binario diventi User-Agent. In
questo modo chissa', potresti ritrovarti il valore che cerchi nei log di
tipo "combined". Essendo User-Agent piu' corto, lo castri con uno zero e
vsnprintf() fara' il resto dello sporco lavoro.
Ci ho provato ora con squid:
# cd /usr/sbin
# rcsquid stop
# mv squid squid.orig
# sed -e 's/X-Forwarded-For/User-Agent\x00-For/g' < squid.orig > squid
# chmod +x squid
# rcsquid start
ed ecco nel log di Apache cosa compare, prima e dopo la cura.
151.37.18.33 - - [30/Nov/2006:00:53:40 +0100] "GET / HTTP/1.0" 200 48 "-"
"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20061010
Firefox/2.0"
151.37.18.33 - - [30/Nov/2006:00:53:49 +0100] "GET / HTTP/1.0" 200 48 "-"
"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20061010
Firefox/2.0, 192.168.0.2"
             ^^^^^^^^^^^ BINGO!
Questo e' il mio cefalopode (SuSE default):
 # squid -v
Squid Cache: Version 2.5.STABLE5
configure options: '--prefix=/usr' '--sysconfdir=/etc/squid'
'--bindir=/usr/sbin' '--sbindir=/usr/sbin' '--localstatedir=/var'
'--libexecdir=/usr/sbin' '--datadir=/usr/share/squid' '--with-dl'
'--enable-snmp' '--enable-carp' '--enable-useragent-log'
'--enable-auth=basic digest ntlm' '--enable-basic-auth-helpers=LDAP MSNT
NCSA PAM SMB YP getpwnam multi-domain-NTLM'
'--enable-ntlm-auth-helpers=SMB no_check'
'--enable-digest-auth-helpers=password'
'--enable-external-acl-helpers=ip_user ldap_group unix_group wbinfo_group'
'--enable-ntlm-fail-open' '--enable-referer-log' '--enable-arp-acl'
'--enable-htcp' '--enable-underscores' '--enable-stacktraces'
'--enable-delay-pools' '--enable-ssl' '--enable-cache-digests'
'--enable-poll' '--with-samba-sources=/usr/include/samba'
'--enable-x-accelerator-vary'
Leonardo detto "'o animale"


Visto. C'e' nel 5.5:


dipendenti).
Nel log di Tomcat gli dici di NON loggare l'User-Agent, lo usi solo tu
internamente.
E poi (per sicurezza) formuli la descrizione in modo positivo: "Gli IP
degli utenti che utilizzano l'applicazione Web saranno loggati tramite
modifica creativa del binario proxy".
La verita', e nient'altro che la verita'.
Leonardo "solo, non proprio *tutta* la verita'..."
