giopas.eu

[Parte II] Installazione serverino personale: Hamachi + iptables

by on Jun.03, 2007, under Linux

Eccoci alla seconda parte di questa piccola guida.

Come abbiamo detto, abbiamo bisogno di poter accedere al server tramite Hamachi e, giacché ci siamo, cerchiamo di inibire l’accesso al nostro server dalla rete (eth0). Per far ciò, utilizzeremo un paio di regole iptables che saranno caricate all’avvio.

1. Far partire Hamachi all’avvio: installazione e configurazione

Il primo passo sarà quello di installare i sorgenti di Hamachi prelevandoli dal sito ufficiale, di compilarli ed installarli utilizzando l’utente root.

# mkdir /root/Hamachi
# cd /root/Hamachi
~/Hamachi# wget http://files.hamachi.cc/linux/hamachi-0.9.9.9-20-lnx.tar.gz
~/Hamachi# tar zxvf hamachi-0.9.9.9-20-lnx.tar.gz
# rm hamachi-0.9.9.9-20-lnx.tar.gz ; mv hamachi-0.9.9.9-20-lnx/* /root/Hamachi/ ; rm -R /root/Hamachi/hamachi-0.9.9.9-20-lnx
# checkinstall
# tuncfg/tuncfg

In questo caso, come si vede, ho utilizzato checkinstall al posto di “make install”, così da mantener traccia con apt del pacchetto installato. Ovviamente, se si è seguita la guida precedente, per poter lanciare questo comando, si dovrà procedere prima alla sua installazione con un semplice “aptitude install checkinstall”.

Il comando tuncfg/tuncfg serve per tirar su l’interfaccia virtuale attraverso cui Hamachi stabilirà la connessione con il server e gli altri peers. Se per caso (sfortuna) il incontraste qualche problema con tale comando, dovrete compilare il modulo ed installarlo.

NB: purtroppo Hamachi non è installabile su un ppc, come si può leggere nel forum ufficiale! …ecco perché il mio vecchio iBook del 2001 è quasi più un soprammobile che altro… :(

Ora faremo una cosa “da furbetti” (visto che è una guida per un utente alle prime armi): installeremo e configureremo Hamachi tramite l’interfaccia gHamachi. Per far ciò, bisognerà aver lanciato l’interfaccia grafica, come spiegato la volta precedente.

Prima però dovremo scaricare e configurare gHamachi. Da terminale eseguire i seguenti comandi:

$ wget http://purebasic.myftp.org/?filename=files/3/projects/hamachi/v.0.8.1/gHamachi_0.8.1.tar.gz
$ tar zxvf gHamachi_0.8.1.tar.gz ; rm README
# mv ghamachi /root/Hamachi
# cd /root/Hamachi
# ./ghamachi

A questo punto comparirà una finestra di configurazione, come questa qui sotto, che permetterà di aggiungersi alla rete virtuale che si è creata sul proprio pc personale.

gHamachi screenshot

NB: consiglio di crearsi la rete sul proprio pc personale, in modo tale da poterla in ogni momento gestire (es. kikkando utenti non più desiderati, etc…).

Tutto ciò ovviamente può essere fatto senza ricorrere a gHamachi, utilizzando i semplici comandi di Hamachi da root, perché è con questo utente che lo utilizzeremo:

# hamachi start
# hamachi join # hamachi go-online

Ora dobbiamo configurare Hamachi con degli scripts per farlo partire all’avvio, e controllare che non si disconnetta.

Per far ciò, ci avvaliamo di un paio di script pubblicati sul forum di hamachi da alcuni utenti:

$ wget http://www.vrillusions.com/download.php?id=debian-hamachi
$ mv download.php?id=debian-hamachi debian-hamachi-script.tar.gz
$ tar zxvf debian-hamachi-script.tar.gz ; cd debian-hamachi
# cp hamachi /etc/init.d/hamachi ; chmod 744 /etc/init.d/hamachi
# update-rc.d hamachi defaults 60
# cp check-hamachi.sh /root/Hamachi/ ; chmod 744 /root/Hamachi/check-hamachi.sh

In poche parole abbiamo con questi comandi scaricato lo script “hamachi”, rinominato (ehhe, non necessario, ma giacché facciamo le cose per bene!), decompresso l’archivio, spostato in /etc/init.d/ in modo da eseguirlo all’avvio, reso eseguibile da root, aggiunto all’elenco degli script di avvio del sistema, e spostato il secondo script “check-hamachi.sh” nella cartella /root/Hamachi dove stiamo accumulando tutti i nostri files (in realtà esiste anche /root/.hamachi/), ed infine lo abbiamo reso eseguibile.

Ora ci basta solo eseguire lo script “check-hamachi.sh” ogni 5 minuti con crontab:

crontab -e

a questo punto si aprirà sul terminale una schermata ed inseriremo le linee seguenti:

# Checks if hamachi is running and restarts it if not
*/5 * * * * /root/Hamachi/check-hamachi.sh >/dev/null 2>&1

Ecco fatto! Ora hamachi partirà ad ogni avvio… provare per credere! :D

2. Configurare iptables per accedere al nostro server solo tramite hamachi

Come sappiamo, abbiamo installato due sistemi di accesso al nostro pc: ssh ed il server ftp (ancora da configurare). Se non vogliamo però rischiare che tutti possano metter mano al nostro gingillino, dobbiamo inserire alcune regole al nostro (finora vergine) iptables.

Creiamo quindi uno script e lo mettiamo ove sarà letto ed eseguito al momento del caricamento dell’interfaccia di rete:

# touch /etc/network/if-up.d/no_select_services_form_eth0
# chmod 744 /etc/network/if-up.d/regole_iptables_avvio

A questo punto, modifichiamo il file con il nostro editor preferito, ed inseriamo le seguenti regole:

#!/bin/bash
### pulisco iptables
iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain
### blocco ogni connessione da eth0 verso la porta 22 (ssh)
iptables -I INPUT -i eth0 -p tcp --dport 22 -j DROP
### blocco ogni connessione da eth0 verso la porta 21 (ftp)
iptables -I INPUT -i eth0 -p tcp --dport 21 -j DROP
exit 0

Ecco fatto! Riavviamo, e vedremo che ora l’accesso ssh al nostro server non sarà più possibile se non tramite la nostra personalissima rete hamachi!


1 Comment for this entry

  • Flauz

    Ottimo! sono finito qui per caso ma è propio quello che mi serve fare ….grazie ora vado e smanetto la mia debian su linuxbox.
    ciauz

Leave a Reply

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Visit our friends!

A few highly recommended friends...