26 feb 2009

Proxy e Browser Headers : alcuni case test

I server proxy sono utili, riducono il traffico in azienda, possono filtrare il traffico, bla bla bla....
ma potrebbero anche rilevare informazioni "preziose".

se ne sai poco e vuoi chiarirti le idee, Paolo Attivissimo ha scritto un articolo qui

Sicuramente tra i software open Squid è uno dei più utilizzati.

Normalmente si modificano poche direttive del file squid.conf e non ci si preoccupa di altro.
Vediamo subito andando sul sito
http://andylangton.co.uk/online-tools/check-browser-headers
quali sono le informazioni che forniamo al sito remoto.


Sappiamo che il pc fa parte di una rete di classe C, che usa un proxy Squid 2.6STABLE21 sulla porta 3128, che il nome del proxy e' lucifer.
Le altre informazioni vengono fornite dal client: viene usato Firefox 3.0.6 su Windows, con supporto per la lingua italiana ed inglese, l'ultima pagina visitata e' stata google.com dove e' stata fatta una ricerca con i termini "ip address browser headers".

Modificando invece la configurazione di squid, seguendo alcune indicazioni di "squid-proxy-anonymous-browsing", le cose cambiano.


Non viene piu' individuato il proxy che stiamo usando, non c'e' traccia di Squid, della sua versione e dell'ip interno.
Le informazioni del client sono state camuffate grazie all'aggiunta al file squid.conf
header_replace User-Agent Mozilla/5.0 (Linux Via) Gecko Debian Stable
Anche le informazioni circa l'ultima pagina visitata e' sparita.

Questo potrebbe bastare, ma si potrebbe anche scegliere Tor + privoxy per "nascondere il nostro ip".
Per l'installazione e configurazione si puo' vedere la doc presente sul sito del progetto https://www.torproject.org/documentation.html.it
Mantenendo le impostazioni standard del file di configurazione si ottiene



I vantaggi di Tor sono appunto l'anonimato: IP della richiesta e' quello di un nodo tor situato in .pl polonia

Lo svantaggio di Tor e' la sua lentezza ed il fatto che i dati passano attraverso nodi che potrebbero sniffare il traffico (vedi un altro mio post).
Inoltre utilizzando Tor a volte cercando di effettuare ricerche su google appare il seguente messaggio:


Da ultimo utilizzo TinyProxy al posto di Squid ed ho impostato che le richieste passino tramite un proxy internet "aperto" localizzato in USA



Viene indicato IP del proxy USA e del server da cui e' partita la connessione; viene utilizzato tinyproxy versione 1.6.4
Le informazioni degli header browser sono visibili.

18 feb 2009

the worst ABAP code ever seen

I found this custom code on SAP ECC system...
Read the same internal table more times with the same selection!

REFRESH i_export.
LOOP AT i_temp INTO wa_temp.
l_ekko-ibebeln = wa_temp-ibebeln.
MOVE wa_temp-ibebeln TO wa_export-ibebeln.
l_ekpo-ibebelp = wa_temp-ibebelp.
MOVE wa_temp-ibebelp TO wa_export-ibebelp.

READ TABLE i_ekko INTO wa_ekko WITH KEY zzfgp_ibebeln = wa_temp-ibebeln.
IF sy-subrc EQ 0.
l_ekko-iblifnr = wa_ekko-zzfgp_iblifnr.
MOVE wa_ekko-zzfgp_iblifnr TO wa_export-iblifnr.
ENDIF.

READ TABLE i_lfa1 INTO wa_lfa1 INDEX 1.
IF sy-subrc EQ 0.
l_lfa1-name1 = wa_lfa1-name1.
MOVE wa_lfa1-name1 TO wa_export-name1.
ENDIF.


READ TABLE i_ekko INTO wa_ekko WITH KEY zzfgp_ibebeln = wa_temp-ibebeln.
IF sy-subrc EQ 0.
l_ekko-ibwaers = wa_ekko-zzfgp_ibwaers.
MOVE wa_ekko-zzfgp_ibwaers TO wa_export-ibwaers.
ENDIF.

READ TABLE i_ekpo INTO wa_ekpo WITH KEY zzfgp_ibebeln = wa_temp-ibebeln .
IF sy-subrc EQ 0.
l_ekpo-ibmatkl = wa_ekpo-zzfgp_ibmatkl.
MOVE wa_ekpo-zzfgp_ibmatkl TO wa_export-ibmatkl.
ENDIF.

READ TABLE i_ekpo INTO wa_ekpo WITH KEY zzfgp_ibebeln = wa_temp-ibebeln.
IF sy-subrc EQ 0.
l_ekpo-ibparnop = wa_ekpo-zzfgp_ibparnop.
MOVE wa_ekpo-zzfgp_ibparnop TO wa_export-ibparnop.
ENDIF.

READ TABLE i_ekpo INTO wa_ekpo WITH KEY zzfgp_ibebeln = wa_temp-ibebeln .
IF sy-subrc EQ 0.
l_ekpo-ibparnopt = wa_ekpo-zzfgp_ibparnopt.
MOVE wa_ekpo-zzfgp_ibparnopt TO wa_export-ibparnopt.
ENDIF.

READ TABLE i_ekpo INTO wa_ekpo WITH KEY zzfgp_ibebeln = wa_temp-ibebeln .
IF sy-subrc EQ 0.
IF oda5 EQ ''.
l_ekpo-ibnetpr = wa_ekpo-zzfgp_ibnetpr.
MOVE wa_ekpo-zzfgp_ibnetpr TO wa_export-ibnetpr.
* Il prezzo recepito è inizialmente uguale al prezzo base.
IF NOT l_check = 'X'.
l_ekpo-ibnetpr2 = l_ekpo-ibnetpr.
ENDIF.
MOVE wa_ekpo-zzfgp_ibnetpr TO wa_export-ibnetpr2.
ELSE.
l_ekpo-ibnetpr = v_netpr_oda5_tot.
IF NOT l_check = 'X'.
l_ekpo-ibnetpr2 = l_ekpo-ibnetpr.
ENDIF.
ENDIF.
ENDIF.

READ TABLE i_ekpo INTO wa_ekpo WITH KEY zzfgp_ibebeln = wa_temp-ibebeln.
IF sy-subrc EQ 0.
l_ekpo-ibpeinh = wa_ekpo-zzfgp_ibpeinh.
MOVE wa_ekpo-zzfgp_ibpeinh TO wa_export-ibpeinh.
ENDIF.

READ TABLE i_ekpo INTO wa_ekpo WITH KEY zzfgp_ibebeln = wa_temp-ibebeln.
IF sy-subrc EQ 0.
l_ekpo-ibmeins = wa_ekpo-zzfgp_ibmeins.
MOVE wa_ekpo-zzfgp_ibmeins TO wa_export-ibmeins.
ENDIF.
APPEND wa_export TO i_export.
CLEAR wa_ekpo.
CLEAR wa_ekko.
CLEAR wa_temp.
ENDLOOP.

17 feb 2009

Rilasciata Debian GNU/Linux 5.0 lenny

una chicca da fog, postata in ML debian-italian

fog@erin:~$ aptitude moo
Non ci sono sorprese nascoste in questo programma.
fog@erin:~$ aptitude -v moo
No, non ci sono proprio sorprese nascoste in questo programma.
fog@erin:~$ aptitude -vv moo
Non ti ho già detto che non ci sono sorprese nascoste in questo
programma?

fog@erin:~$ aptitude -vvv moo
Smettila!
fog@erin:~$ aptitude -vvvv moo
Va bene, va bene. Se ti mostro una sorpresa, poi te ne vai?
fog@erin:~$ aptitude -vvvvv moo
D'accordo, hai vinto.

/----\
-------/ \
/ \
/ |
-----------------/ --------\
----------------------------------------------
fog@erin:~$ aptitude -vvvvvv moo
Che cos'è? È un elefante che viene mangiato da un boa, naturalmente.

9 feb 2009

spam e spamassassin: come combatterlo e renderlo utile

Se si utilizzano software antispam che si basano anche su filtri bayesiani
come ad esempio spamassassin è necessario che questo sia "istruito", per avere da subito un buon funzionamento dei filtri.

Per poterlo fare si devono avere una serie di mail "buone" ed una serie di mail "cattive": per le prime basta utilizzare la propria inbox, mentre per le mail di spam si può trovare online diversi archivi tra cui http://untroubled.org/spam/

Consiglio di creare una cartella sotto /tmp e scompattare qui i file scaricati. Attenzione che gli archivi possono contenere diverse decine di migliaia di file.
Per poterli manipolare è utile questa lettura http://www.linuxjournal.com/article/6060
Ora istruiamo correttamente spamassassin indicando che queste mail sono "cattive"
$ sa-learn --spam --showdots /tmp/spam/*
Invece spostiamoci ad esempio nella inbox della nostra mail (la cartella può variare)
$ sa-learn --ham --showdots ~/Mail/Inbox/*
Se si utilizza la posta nel formato mailbox aggiungere l'opzione -mbox
$ sa-learn --ham --mbox --showdots ~/Mail/Inbox.mbx

Ora veniamo al lato oscuro.
L'archivio di spam che abbiamo potrebbe essere utilizzato per fare qualche scherzo carino, ad esempio spedendolo all'account di posta del nostro rivale d'amore.
Per fare questo
$ cd /tmp/spam
$ for i in `ls`; do cat $i|formail -s /usr/sbin/sendmail -f mittente@dominio.com caro_nemico@yahoo.it; done
Per ogni file presente nella cartella in cui siamo, viene generata una mail inviata a caro_nemico@yahoo.it
L'opzione -f di sendmail indica il mittente; ho notato che non sempre viene utilizzato quello indicato ma, nel caso nel file di spam che stiamo usando è già presente un header, viene utilizzato quest'ultimo.