Home Tecnica Amministrazione di Sistema Come saltare il proxy «blocca-tutto» aziendale

In evidenza

I riflettori della Fiera del Levante si accendono su SMAU Bari 2012

I riflettori della Fiera del Levante si accendono su SMAU Bari 2012

Dal 15 al 16 febbraio nel Nuovo Padiglione della Fiera del Levante, la quarta edizione di Smau sarà dedicata ...
TecnoWorkshop Lucca2011

TecnoWorkshop Lucca2011

Finalmente, e dopo un po' di peripezie siamo riusciti ad organizzare il primo TecnoWorkshop del nostro...
Società Italiana dei Professionisti delle Scienze dell'Informazione

Società Italiana dei Professionisti delle Scienze dell'Informazione

La Società Italiana dei Professionisti delle Scienze dell'Informazione (acronimo SIPSI) è una associazione...
Testata Giornalistica

Testata Giornalistica

Il portale Professionisti e Consulenti ICT - Italia è ora una testata giornalistica a tutti gli effetti...

Bandi di Concorso

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

Istruttore informatico L.68/1999 al Comune di Potenza

Concorso pubblico, per esami, per la copertura di n. 2 posti di Istruttore Informatico, categoria C, posizione economica C1, a tempo pieno e indeterminato, con riserva assoluta alle categorie dilavoratori di cui all'art. 1 della legge n. 68/1999 (norme per...

21 Gen 2012 - Letture:71

Senior Business Consultant presso Lombardia Informatica

Selezione per figura Senior Business Consultant presso Lombardia Informatica. Il collaboratore dovrà fornire consulenza strategica e di business sulle tematiche verticali della Socio-Sanità. Requisiti di ammissione: Laurea in Ingegneria, Economia e Commercio o Scienze dell’Informazione; Percorsi di formazione professionale in ambito sanitario e socio-sanitario, su...

11 Gen 2012 - Letture:130

Bando progetto TAG (Toscana Area Giovani) per giovani talenti digitali

UPI Toscana ha indetto un avviso pubblico per la selezione di 20 giovani (2 per ciascuna delle 10 province della Toscana), da impiegare come formatori all'interno del Progetto TAG (Toscana Area Giovani). Il bando è finalizzato a valorizzare al meglio i...

03 Gen 2012 - Letture:136

Avviso pubblico per giovani dottori di ricerca per Uffici di Gabinetto

Avviso pubblico per il conferimento di n. 6 incarichi presso gli Uffici di diretta collaborazione del Ministro dell'istruzione dell'università e della ricerca, per soggetti estranei alla pubblica amministrazione. Ambiti di esperienza e Aree di competenza: Nuovi Media: nuove forma di comunicazione tra...

02 Gen 2012 - Letture:96

Database Administrator in the Information Technology (IT) Department at CERN

E' aperta una posizione nel gruppo di lavoro che fornisce servizi Database e Middleware al CERN, un'organizzazione internazionale che fa fisica delle particelle di stanza a Ginevra, Svizzera. Direttamente dal sito del bando si legge: as Database Administrator in the Database...

12 Dic 2011 - Letture:145

Posto per collaboratore tecnico CROB a Rionero in Vulture (PZ)

Indetto pubblico concorso, per titoli ed esami, per la copertura di un posto di collaboratore tecnico professionale esperto - Ingegnere - Cat. DS presso il centro di riferimento oncologico della Basilicata in Rionero in Vulture (PZ).

22 Nov 2011 - Letture:239

Concorso per operatore tecnico-amministrativo presso l'Autorità Portuale di Cata…

Indetta una pubblica selezione concorsuale per titoli a  n. 1 posto per l'accesso, a tempo indeterminato, nella  Pianta Organica dell'Autorità Portuale di Catania di Operatore esecutivo polifunzionale di settore tecnico/amministrativo, con  inquadramento livello 5° del CCNL dei Lavoratori dei Porti.

21 Nov 2011 - Letture:157

I più attivi

Dati e punteggi dell'ultimo anno

Giovanna Casamassima Giovanna Casamassima
46 articoli
11,974 punti totali
Rodolfo Giometti Rodolfo Giometti
47 articoli
7,548 punti totali
Vittorio D'Aversa Vittorio D'Aversa
33 articoli
2,872 punti totali
Fabio Bronzini Fabio Bronzini
13 articoli
0,654 punti totali
Fulvio Lucchetti Fulvio Lucchetti
11 articoli
0,539 punti totali

Ci hanno visitato

Oggi:1673
Ieri:2464
Totali (14/04/09):911083

I nostri numeri

Articoli pubblicati: 518
Iscritti al portale: 667
Iscritti all'Elenco: 175
Iscritti ML Discussioni: 331
Iscritti ML Articoli: 28
Iscritti ML Lavoro: 165
 

Installare Linux su una USB key: ecco come!

L’installazione  e l'avvio di una distribuzione Linux Live da un supporto U...

Disattivare il controllo account utente in Windows 7 e Vista

Il controllo account utente è quel particolare servizio progettato per aumentare...

Controllare MAME con Wiimote su N900!

Ecco un'altra dimostrazione delle potenzialità di questo telefono (se vogliamo c...

Perché cross compilare quando si può compilare nativamente?

Lavorando con architetture diverse mi trovo spesso a dover utilzzare uno stesso ...

PyGTK su N900

Come programmatore avere un cellulare che in pratica è un computer (oramai il 10...

Come creare un NFS server ridondante

Quelli che mi conoscono sanno che il mio ambito lavorativo è nei sistemi embedde...

Odroid: la piattaforma di gioco libera

Si chiama Odroid ed e basata su Android, è la prima piattaforma di gioco interam...

Gobby: l'editor collaborativo

Quante volte vi sarà capitato di dover dire come modificare un file di testo ad ...

Android-x86: quando il drone sbarca sui PC

Chi pensa che Andoird abbia vita bere farà bene a ricredersi perché, oltre alle ...

AccessPoint: la scelta ottimale del canale di trasmissione

Realizzare una rete Wireless outdoor (ma anche indoor) pone il problema della sc...

Linutop4 PC

Il produttore francese Linutop, con sede a Parigi, ha annunciato il nuovo modell...

Code Smells

Sempre più spesso il codice ha un cattivo odore. Sei sicuro di non scrivere cod...

Android: se non hai il telefono usa l'emulatore!

In questi giorni sto valutando di comprare un cellulare basato su Linux. Inizial...

Cluster VMWARE

In questo articolo vediamo come realizzare un cluster di macchine virtuali con u...

Anomalie di partizionamento hard disk: un esperienza personale

Nonostante le decine di installazioni delle varie distribuzioni Linux eseguite s...

Il settore danneggiato e l'acquisizione forense

Se si deve acquisire un hard disk in maniera forense, ossia con tutti i crismi n...

Universal USB Installer 1.8.04 e Ubuntu Linux 10.10

Rilasciata il 10.10(.2010) la nuova versione di Ubuntu Linux (la data corrispond...

Boxee Box: la TV facile di D-Link

Grazie alla D-Link possiamo presentare un nuovo gioiello della tecnologia: il me...

Forno a microonde: analisi emissioni EME

Nell'immaginario collettivo c'è una forte paura per i danni che posso generare s...

Verificare spazio su disco su UNIX

Nella gestione si sistemi informativi capita spesso di accedere a postazioni ser...

Grep e Strings due giganti di Linux

Il tempo libero serve anche a sperimentare e quando si ha la passione per la com...

Compilare un programma C per Android

Essendo un programmatore C (uso anche altri linguaggi, ma il C e quello che uso ...

Tenere i servizi sotto controllo con Monit

In questi giorni mi è capitato di dover risolvere un problema per un mio cliente...

Linutop OS 4.0: Internet, Chiosco Multimediale e non solo!

Presentata negli ultimi giorni nella capitale francese la nuova distribuzione LI...

Intervista esclusiva a Mageia Linux

La Presidente dell'Associazione MAGEIA.ORG, Anne Nicolas, in questa intervi...

GNU readline: un tool indispensabile per la linea di comando

Chiunque di voi abbia avuto a che fare con la linea di comando avrà senz'altro a...

Aggiungere programmi all'N900 con Maemo SDK

Abbiamo già visto come sia facile installare nuove applicazioni sul Nokia N900, ...

Sviluppare codice per Arduino dalla command line

Arduino Uno è un micro controllore basato su CPU ATmega328; si alimenta via alim...

Sabayon Linux 5.4 (32 e 64 bit)

E' stata rilasciata online la nuova versione 5.4 di Sabayon Linux, una tra ...

Clonare una macchina vera in 30 minuti con VirtualBox

Essendo uno sviluppatore mi son reso conto che la virtualizzazione di una macchi...

Come gestire una presentazione con il Wiimote

Capitandomi spesso si tenere conferenze e workshop mi trovo sempre il problema d...

busybox & Android: la command line facile

Nei precedenti articoli abbiamo visto due tecniche per aggiungere nuovi programm...

AVG Live CD Rescue: l'antivirus live!

Qualche giorno fa mi sono reso conto che in azienda sta per scadere la licenza d...

SL4A e il drone parla più lingue

Chi come me non ama Java si sentirà a disagio volendo programmare una qualsiasi ...

I-Memo: le password personali sempre con te

Prodotto dalla MensTecnica, una giovane azienda della Basilicata fondata nel 200...

ASUS U36SD il notebook in soli 19mm

La concorrenza al più blasonato della “mela” si fa agguerrita specie nell'ultimo...

WODE, l'emulatore DVD per la Wii

Qualche giorno fa mi è capitato di sfidare mio cognato ad una partitella a tenni...

Installazioni di Linux su sistemi non convenzionali

Un'ottica convenzionale vede l'informatica come un insieme di applicazioni e sis...

Boot from SAN

Intendiamoci, non è l’ultima briciola tecnologica caduta da un banchetto alla NA...

Git in Eclipse

Chi mi conosce sa la mia avversione (del tutto personale, ci tengo a sottolinear...

Installare strace su Android

Quando si programma è importante avere buoni tool di debug e uno dei più importa...

Virtualizzazione di Windows XP o altri SO su Ubuntu con Qemu

I pc odierni sono sempre più potenti e molto spesso sotto sfruttati, la virtua...

Openembedded: la distribuzione «ristretta» per Linux

Quando le risorse di un sistema sono limitate non è possibile usare una distribu...

Integrazione Webmaster Tool. Google Analytics, le ultime novità

Google non finisce mai di stupirci, ma soprattutto è inarrestabile sull'implemen...

Lion desktop: finalmente una distribuzione mirata alle aziende!

Chi è abituato a lavorare con Linux, ed in particolare ha provato a lavorare con...

Linaro, la no-profit che produce distribuzioni Linux/ARM

Il progetto Linaro presentato nel 2010 da colossi del calibro di Freescale Semic...

Il telefono… la tua voce!

Era lo slogan pubblicitario della Telecom di un po’ di anni fa. Certo, al concet...

Cloud Money

Discorrendo con un collega di cloud computing, si è finito, come al solito, a pa...

Come saltare il proxy «blocca-tutto» aziendale

Mi capita spesso, ma non sempre, di andare da dei miei clienti e non potermi con...

Sicurezza informatica: safety, dependability, security

La sempre maggiore diffusione delle tecnologie ha profondamente rivoluzionato la...

Google +1: il «nemico» del «mi piace» di Facebook

Il tanto atteso nemico del "mi piace" targato Facebook è arrivato, il colosso de...

Server Linux: tutti i trucchi per farlo al meglio

Volete fare un server Linux per la vostra impresa, ufficio o semplicemente per c...

Kameleon: oltre i limiti della virtualizzazione

Negli ultimi anni la potenza dei computer e la loro capacità è aumentata in modo...

Multi puntatore su Ubuntu 10.4: ecco come

Tempo fa ebbi modo di dare un'occhiata al progetto MPX per un cliente. La cosa n...

Implementare una LIM con Linux

Come promesso rieccomi qui per illustrare come realizzare una LIM (che ricordo s...

Socat: quando i dati passano via rete

Lavorando coi sistemi embedded molte volte mi capita di dovermi arrangiare su di...

XMount finalmente liberi di virtualizzare!

Cosa succede dopo che abbiamo acquisito un disco in bitstream su file immagine? ...

TurnKey Linux: accendi e vai!

Quanto tempo occorre per installare e configurare una macchina LAMP (Linux, Apac...

Maemo extras: ancora più applicazioni per l'N900

Finalmente, grazie a Nokia, abbiamo a disposizione un esemplare dell'N900 su c...

Multistrap: come ti creo un rootfs Debian dal nulla

Una volta c'era debootstrap, un tool fantastico che permetteva di creare un root...

Come saltare il proxy «blocca-tutto» aziendale Stampa E-mail
(0 voti, media 0 di 5)
Area Tecnica - Amministrazione di Sistema
Scritto da Rodolfo Giometti   
Venerdì 11 Giugno 2010 11:01
Articolo letto 4169 volte

Mi capita spesso, ma non sempre, di andare da dei miei clienti e non potermi connettere al computer dell'ufficio perché è presente un proxy (con firewall annesso) che blocca tutte le connessioni tranne quelle HTTP(s).

Per me è un grosso problema perché se dovessi leggere la posta privata o accedere ad un documento che sta sul mio server, tramite connessione SSH, non potrei farlo!

Per fortuna che cercando un po' in rete ho trovato una soluzione la quale, sebbene un po' macchinosa, mi permette di fare login via SSH sulla mia macchina anche in presenza di «protezioni» aziendali di questo tipo.

La soluzione è quella di usare un tunnel con APACHE-proxy dove far passare una connesisone SSH.

Quello che vi serve quindi è un server Apache opportunamente configurato in grado di aprirvi una connessione sulla porta 22 del vostro server SSH. Vediamo come ho fatto io.

Innanzi tutto creiamo un server virtuale ad hoc. Utilizzeremo questo server per il nostro tunnel e quindi possiamo ridirigere tutte le altre richieste HTTP su di un'altro URL; io uso l'indirizzo web del mio studio.

Ecco cosa ho messo nel file di configurazione

goldrake:/etc/apache2/sites-available# cat virtual.ssh.enneenne.com
<VirtualHost *:80>
        ServerName ssh.enneenne.com
        ServerAlias ssh.enneenne.it
        ServerSignature Off
        Redirect / http://www.enneenne.com/

        ErrorLog /var/log/apache2/ssh.enneenne.com-error.log
        CustomLog /var/log/apache2/ssh.enneenne.com-access.log common

        # THIS IS THE CONFIG NEEDED FOR OUR TUNNELLING
        # Deny all proxying by default...
        <Proxy *>
                Order deny,allow
                Deny from all
         </Proxy>      
        # Allow proxy connect (forward-proxy) to servers only on port 22 (SSH)
        ProxyRequests On
        AllowConnect 22
        HostnameLookups On

        # Access is controlled here based on source host/IP instead of user auth.
        <ProxyMatch ssh\.enneenne\.com>
                Order deny,allow
                Allow from all
        </ProxyMatch>
</VirtualHost>

In questo modo ogni connesisone HTTP a ssh.enneenne.com viene rediretta a www.enneenne.com, mentre le richieste proxy a ssh.enneenne.com verso la porta 22 verranno accettate.

Ora attiviamo il virtual host:

goldrake:/etc/apache2/sites-available# cd ../sites-enabled/
goldrake:/etc/apache2/sites-enabled# ln -s ../sites-available/virtual.ssh.enneenne.com 900-ssh.enneenne.com

e quindi il mod_proxy che implementa il meccanismo:

goldrake:/etc/apache2/sites-enabled# cd ../mods-enabled/
goldrake:/etc/apache2/mods-enabled# ln -s ../mods-available/proxy.* .
goldrake:/etc/apache2/mods-enabled# ln -s ../mods-available/proxy_connect.load .

poi facciamo ripartire Apache per rendere effettive le modifiche:

goldrake:/etc/apache2/mods-enabled# /etc/init.d/apache2 restart

Testiamo il server con una normale connessione HTTP:

giometti@jettarobot:~$ links2 -dump ssh.enneenne.com
Studio EnneEnne
Menu                 [USEMAP]                  Adsense
Home                   Fortune cookie           Calendar
What                  Absent, adj.:                     June 2010
Where                 Exposed to the attacks   Sun Mon Tue Wed Thu Fri Sat
Staff                 of friends and                   1   2   3   4   5
GITweb                acquaintances; defamed;  6   7   8   9   10  11  12
Projects              slandered.               13  14  15  16  17  18  19
Wiki                                           20  21  22  23  24  25  26
Demos                                          27  28  29  30
Archive                                         Partners
Links                                                      GNU
News                                           Trinity
New Office                                       GNU GNU           Linux
(11/08/2008)                                         Debian Debian
...

Perfetto! Il redirect funziona.

Nota: ho dovuto aggiungere al mio DNS il nome dell'host ssh.enneenne.com.

Ora occorre installare un programmino che ci dovrà creare il tunnel sul nostro client: useremo proxytunnel. La mia Ubuntu non ha un pacchetto pronto, quindi me lo sono scaricato dal sito e me lo sono compilato.

Ecco come:

giometti@jettarobot:/opt$ svn co https://proxytunnel.svn.sourceforge.net/svnroot/proxytunnel/ proxytunnel
giometti@jettarobot:/opt$ cd proxytunnel/trunk/proxytunnel/
giometti@jettarobot:/opt/proxytunnel/trunk/proxytunnel$ sudo aptitude install libssl-dev  asciidoc
giometti@jettarobot:/opt/proxytunnel/trunk/proxytunnel$ make && make install

Una volta finito provo a fare un collegamento di prova verso il mio server Apache:

giometti@jettarobot:/opt/proxytunnel/trunk/proxytunnel$ proxytunnel -v -p 10.0.1.21:3128 -r ssh.enneenne.com:80 -d localhost:22 -H "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)\nHost: www.example.com\nContent-Length: 0\nPragma: no-cache"
Connected to 10.0.1.21:3128 (local proxy)

Tunneling to ssh.enneenne.com:80 (remote proxy)
Communication with local proxy:
-> CONNECT ssh.enneenne.com:80 HTTP/1.1
-> Host: ssh.enneenne.com:80
-> Proxy-Connection: Keep-Alive
-> User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)\nHost: www.example.com\nContent-Length: 0\nPragma: no-cache
<- HTTP/1.0 200 Connection established

Tunneling to localhost:22 (destination)
Communication with remote proxy:
-> CONNECT localhost:22 HTTP/1.1
-> Host: localhost:22
-> Proxy-Connection: Keep-Alive
-> User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)\nHost: www.example.com\nContent-Length: 0\nPragma: no-cache
<- HTTP/1.1 200 OK
<- Date: Thu, 10 Jun 2010 08:39:02 GMT
<- Server: Apache/2.2.13 (Debian)
<- X-Powered-By: PHP/5.2.11-1
<- Transfer-Encoding: chunked
<- Content-Type: text/html

Tunnel established.
1f76

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Studio EnneEnne</title>
<link href="/config/style.css" rel="stylesheet" type="text/css">
</head>
<body bgcolor="#ffffff">
...

Come si vede il giro è chiaro: dal mio client (jettarobot) mi collego al proxy locale blocca-tutto (10.0.1.21:3128) il quale farà la richiesta proxy sulla porta 80 di ssh.enneenne.com che poi girerà la richiesta di connect sulla porta 22 sempre di ssh.enneenne.com (indicato nell'esempio con localhost:22 poiché l'indirizzo è relativo al proxy remoto).

Ci siamo, per chiudere il cerchio devo solo dire ad SSH di passare per proxytunnel. Basta aggiungere al file ~/.ssh/config le righe:

giometti@jettarobot:~$ cat ~/.ssh/config
Host ssh.enneenne.com
DynamicForward 1080
ProxyCommand proxytunnel -v -p 10.0.1.21:3128 -r %h:80 -d %h:%p -H "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)\nHost: www.example.com\nContent-Length: 0\nPragma: no-cache"
ServerAliveInterval 30

Il comando ServerAliveInterval serve per evitare che la connessione cada da sola.

A questo punto se provo la connessione SSH ottengo:

giometti@jettarobot:~$ ssh ssh.enneenne.com
Connected to 10.0.1.21:3128 (local proxy)

Tunneling to ssh.enneenne.com:80 (remote proxy)
Communication with local proxy:
-> CONNECT ssh.enneenne.com:80 HTTP/1.1
-> Host: ssh.enneenne.com:80
-> Proxy-Connection: Keep-Alive
-> User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)\nHost: www.example.com\nContent-Length: 0\nPragma: no-cache
<- HTTP/1.0 200 Connection established

Tunneling to ssh.enneenne.com:22 (destination)
Communication with remote proxy:
-> CONNECT ssh.enneenne.com:22 HTTP/1.1
-> Host: ssh.enneenne.com:22
-> Proxy-Connection: Keep-Alive
-> User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)\nHost: www.example.com\nContent-Length: 0\nPragma: no-cache
<- HTTP/1.0 200 Connection Established
<- Proxy-agent: Apache/2.2.13 (Debian)

Tunnel established.
Password:
Linux goldrake 2.6.30-1-686 #1 SMP Sat Aug 15 19:11:58 UTC 2009 i686

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri Jun 11 11:39:05 2010 from goldrake.enneenne.com
giometti@goldrake:~$

Bingo! Come si vede anche dai file di log del server SSH (che poi è lo stesso dove gira anche Apache) la connessione viene vista come se fosse fatta dal server localhost (l'IP 192.168.32.10 è un indirizzo locale per il server) e non dal client remoto:

goldrake:/etc/apache2/sites-available# tail -f /var/log/auth.log

Jun 11 13:45:08 goldrake sshd[21713]: Accepted keyboard-interactive/pam for giometti from 192.168.32.10 port 37105 ssh2

 

Aggiungi commento

Prima di pubblicare un tuo commento assicurati che:

  • sia in tema e contribuisca alla discussione in corso.

  • non abbia contenuto razzista o sessista.

  • non sia offensivo, calunnioso o diffamante.


La redazione con i controlli a campione si riserva di cancellare qualsiasi contenuto ingiurioso, volgare o illegale.


Nota bene: se non sei registrato il tuo commento verrà moderato e quindi non pubblicato immediatamente. Se, invece, sei registrato al portale e hai fatto login verrà visualizzato subito.


Codice di sicurezza
Aggiorna

 

In primo piano

Simons Voss: un mondo senza chiavi

Simons Voss: un mondo senza chiavi

Il sistema di gestione e di controllo degli accessi 3060 si presenta come un’alternativa con enormi vantaggi...
Pubblicità mirata dei prodotti

Pubblicità mirata dei prodotti

Hai un prodotto o un servizio da pubblicizzare? Fallo su consulenti-ict.it! Pubblicizzare un prodotto...
Recensioni sul Portale

Recensioni sul Portale

Hai un prodotto hardware/software o un libro riguardante uno dei temi dell'ICT? Vuoi farlo conoscere...

Ultime dal Forum

Visualizza Topic »

Eventi

Non ci sono eventi in programma
Febbraio 2012
D L M M G V S
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 1 2 3
Marzo 2012
D L M M G V S
26 27 28 29 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

Sondaggi

busyCaricamento Sondaggio...

Ultimi Commenti