Post

DNS Hijacking parte 2a : Come evitarlo sotto sistemi operativi GNU/Linux

Nella prima parte avevamo visto come riconoscere se il proprio provider effettuava il DNS Hijacking, ora vedremo come aggirarlo. Il trucco sta nell'usare una porta differente rispetto alla 53 UDP. Questa guida è fatta per essere il più generica possibile. Ulteriori informazioni si possono trovare sulla documentazione ufficiale della vostra distribuzione, oppure su Google Andare su dnscrypt.org e scaricare il proxy ufficiale per Linux da qui Installare i prerequisiti, ovvero: libsodium (se è pacchettizata installate i sorgenti, altrimenti dovrete andare di compilazione) e gli strumenti per compilare da sorgente (gcc, automake,...) Scompattare il file bzip2 su una directory, eseguire ./configure, compilarlo ed installarlo come root. Attenzione alla directory di destinazione. Una volta compilato, come root, scaricare il file csv presente qui e sostituirlo con quello presente in /usr/local/share/dnscrypt-proxy/ Prendere dal file csv, dalla prima colonna, un nome di un pro

DNS Hijacking Parte 1: Cosa è e come riconoscerlo

Finalmente siete riusciti ad avere un collegamento ad Internet decente da una compagnia telefonica/(W)ISP locale, ma quando tentate di entrare in un sito vi si aprono 3 possibilità Pagina bianca: il sito non viene caricato Un errore del vostro browser che non riesce a caricare la pagina La pagina del vostro provider che vi indica che questo sito è bloccato per X motivi. Questo significa che, molto probabilmente, il vostro ISP fa DNS Hijacking. Prima di tutto: che cosa è il DNS? DNS sta per Domain Name Server, e fa parte della struttura base di Internet. Senza di esso sarebbe necessario scrivere l' IP del server e non un nome facile da ricordarsi, quindi, invece di google.com, dovreste digitare http://70.50.150.23, oppure usare l'email potrebbe essere un problema ( wikipedia: DNS per ulteriori informazioni). Quindi tutto il traffico per la porta 53 UDP, viene intercettato dal vs. provider e poi, eventualmente, re-indirizzato verso il nulla, oppure verso una pagina di

PostgreSQL: Cosa sono le clausole OVER e PARTITION

Immagine
Piccolo esercizio di SQL: un vostro cliente vi chiede di estrarre i prezzi più alti degli articoli, partendo da dei documenti. Ora avete due possibilità: Utilizzare il classico GROUP BY, con le funzioni di aggregazione, impazzendo tra MAX, GROUP BY, subquery, CROSS JOIN nella stessa tabella Utilizzare le funzioni di partizionamento fornite da SQL Server, PostgreSQL, Oracle e qualche altro RDBMS (no, quella chiavica di MySQL non le supporta essendo non compatibile con lo standard SQL2003) Ecco qui un esempio di cosa stiamo parlando, sotto PostgreSQL 9.3.5: ed ecco una query veloce, veloce, che vi ha risolto il problema in poco tempo: SELECT * FROM   (SELECT *,    row_number() OVER (PARTITION BY codicearticolo ORDER BY  codicearticolo ASC,valorearticolo DESC) AS pos    FROM articoli   ) AS max_prezzi con relativo risultato: Spiegazioni: La query in PostgreSQL ha: * Creato una colonna pos ( dense_rank() ), contenente l'ordinamento delle tuple, la quale viene reset