VPN: VPN over SSH
Wednesday, 03 February 2010 15:28
| |
|
|
Come creare una semplice VPN utilizzando SSH e PPP |
Prima di tutto che cos'e' una VPN? Prima di tutto e' necessario avere l'accesso di root sulle proprie macchine! Crea la coppia di chiavi pubblica/privata; la chiave pubblica dovra' essere messa sul server per permettere di collegarsi al server senza password. Crea un gruppo ed un utente personalizzato per la vpn; l'utente dovra' essere diverso tra i vari utenti a cui si vuole dare l'accesso: Abilita il gruppo vpnuser a lanciare il Cmnd_Alias VPN senza password aggiungendo le seguenti linee al file sudoers; usa il comando visudo da root se disponibile. Inserisci lo scriprt di connessione nella lista di shell valide Sistema i permessi della home directory e della shell connect in modo che l'utente non possa scrivere nella directory ma possa solo eseguire la shell connect. Inserisci la chiave pubblica dell'utente prima generata Crea lo script di connessione "/home/vpnuser/connect" che deve essere personalizzato per ogni utente. Lo script deve essere di root e non editabile dall'utente; gli ip devono essere cambiati per ogni utente. Abilita il tuo utente a lanciare ppp e route senza la necessita' di diventare root. Usa il comando visudo da root se disponibile. Dal tuo utente lancia la stringa di connessione /usr/bin/sudo /usr/sbin/pppd noauth debug dump logfd 2 passive updetach name vpn-client linkname vpn pty '/usr/bin/ssh -p 53 -l vpnuser -t SERVER_REMOTO -C' A questo punto aggiungi le rotte che ti servono per far passare il traffico che vuoi attraverso il canale criptato: CREATE A VPN OVER SSH WITH PPP
Hal
Table of Contents
1) INTRODUZIONE
2) INSTALLAZIONE & CONFIGURAZIONE
3) TODO
4) REFERENCE
1) INTRODUZIONE
Il termina inglese identifica un acronimo per:
Virtual Private Network
ovvero Rete Virtuale Privata.
Praticamente e' una connessione, che solitamente usa internet, per far passare dati fra 2 o piu' computer in modo sicuro; evitando che chiunque malintenzionato riesca a leggere i dati trasmessi.
A chi puo' servire?
Beh a tutti quelli che hanno 2 computer remoti e vogliono trasmettere dati in modo "sicuro" e comodo.
La soluzione che vi propongo usa software standard reperibile per la tutti i sistemi operativi Unix e Unix-Like oggi disponibili. 1.1 COSA SERVE?
2) INSTALLAZIONE & CONFIGURAZIONE
2.1 INSTALLAZIONE
Se non lo avete! AhiAHiAHi
Installate openssh su gli host che volete mettere in comunicazione; con altre versioni di ssh il tutto dovrebbe funzionare senza problemi ma non l'ho mai testato.
Sudo e' inceve necessario solo sull'host Server, quello che riceve la connessione.2.2 CONFIGURAZIONE
LATO CLIENT
ssh-keygen -t rsa -b 2048
LATO SERVER
groupadd vpnuser
useradd -g vpnuser -d /home/vpnuser -s /home/vpnuser/connect vpnuser
Cmnd_Alias VPN=/usr/sbin/pppd, /sbin/route
%vpnuser ALL=NOPASSWD:VPN
cat /home/vpnuser/connect >> /etc/shells
chmod 500 /home/vpnuser
chmod 500 /home/vpnuser/connect
mkdir /home/vpnuser/connect/.ssh
cat id_rsa.pub >> /home/vpnuser/connect/.ssh/authorized_keys
#!/bin/bash
/usr/bin/sudo /usr/sbin/pppd noauth lock 192.168.252.2:192.168.252.1
# eventuale routing remoto per abilitare la comunicazioni delle 2 diverse reti.
exit 0
chown root:root /home/vpnuser/connect
chmod 555 /home/vpnuser/connect
LATO CLIENT
User_Alias TEST = test
Cmnd_Alias VPN=/usr/sbin/pppd, /sbin/route
TEST ALL=NOPASSWD:VPN
# MSN ROUTE
sudo /sbin/route add -net 65.54.0.0 netmask 255.255.0.0 gw 192.168.252.1
sudo /sbin/route add -net 207.46.0.0 netmask 255.255.255.0 gw 192.168.252.1
# YAHOO ROUTE
sudo /sbin/route add -net 216.155.193.0 netmask 255.255.255.0 gw 192.168.252.1
# VODAFONE MAIL
sudo /sbin/route add popmail.vodafone.it gw 192.168.252.1
# MAIL SUPEREVA
sudo /sbin/route add mail.supereva.it gw 192.168.252.1
#YAHOO MAIL
sudo /sbin/route add pop.mail.yahoo.it gw 192.168.252.1
# LIBERO MAIL
sudo /sbin/route add popmail.libero.it gw 192.168.252.1
sudo /sbin/route add smtp.libero.it gw 192.168.252.1
## LDAP
sudo /sbin/route add ils.seconix.com gw 192.168.252.1
## dict.org
sudo /sbin/route add dict.org gw 192.168.252.1 3) TODO
4) REFERENCE
4.1 AUTHORS
This e-mail address is being protected from spambots. You need JavaScript enabled to view it
4.2 LINKS



