



Da qualche giorno mi sto deliziando ad usare Windows 7 per tutti i miei lavori domestici e dell’ufficio.
Devo dire che finalmente ci siamo, un sistema decente da parte di M$ al passo con i tempi, sto usando al versione 64bit su un Core 2 Duo e va che è una meraviglia.
Deciso a riusare OpenVPN come avevo su XP senza problemi, qualcuno l’ho avuto su Vista, praticamente nessuno su 7.
basta caricare l’eseguibile da openvpn.net e prima dell’installazione questi piccoli accorgimenti (tasto destro sull’eseguibile, proprietà)
Una volta lanciato il programma potrete riusare le configurazioni che già avete.
Inoltre prima di usare OpenVPN GUI, associategli gli stessi shim visti prima.
Buon VPN con 7!




Avrò da fare per lavoro almeno un paio di firewall, di solito ho sempre usato IPCop, che con un pò di addons diventa decisamente potente ed usabile, però allo stato attuale, la versione 1.4.18 è ancora priva di features fondamentali, come il load balancing tra WAN multiple e il failover, fatto grave.
Quindi girellando su internet ho trovato la risposta, pfSense un potentissimo prodotto che ha veramente tutto e di più (anche per usi veramente avanzati) che però…..è basato su FreeBSD!!
A malincuore abbandonerò Linux per questi lavori, ma pfSense è troppo avanti rispetto ad IPCop e poi ho voglia di addentrarmi nel magico mondo di *BSD.
Tra le features interessanti, multi WAN (1,2,3,4,5….), Captive Portal, vpn IPSec, OpenVPN e PPTP di serie, firewall *SERIO* e molto altro..
Tra qualche giorno posterò i primi esempi di uso che ne avrò fatto! ![]()
Ah, è basato su m0n0wall , ma è avanti anni luce rispetto al suo genitore!!




Mi stavo installando i programmi nel mio nuovo notebook, che ha a bordo ovviamente Windows Vista (Basic rigorosamente, con Aero ci faccio il brodo!) e stavo configurando OpenVPN con cui mi collego alla lan aziendale, però al momento di connettermi vedo dai log degli errori, riguardanti il routing.
Infatti l’interfccia grafica restituisce “Connesso”, ma non si va…
Maledetto Vista! Sapevo mi avresti fatto girare le scatole!
Bhe comunque in questo caso il rimedio è semplice, basta aggiungere nel file della configurazione
route-method exe
route-delay 2
Queste due semplici righe hanno migliorato decisamente il mio umore serale!




Una possibiilità molto interessante per creare un server OpenVPN è quello di utilizzare IPCop con l’addon Zerina.
Anche se però un firewall che si rispetti deve avere la possibilità di filtrare anche le connessioni in uscita e tra varie interfacce del firewall (DMZ e/o Wifi), cosa di cui si occupa il modulo BOT.
Vi risparmio l’installazione dei vari moduli che comunque è ben descritta sui rispettivi siti, ma vediamo come configurarli per poter interagire.
Una volta creato il server OpenVPN e creato i vari utenti, certificati ed altro, configureremo BOT per l’accesso remoto al server e per permettere ai roadrunner di raggiungere alcuni server in LAN, o tutta la LAN.
Andiamo a crearci un servizio in ADVANCED BOT Config, la porta usata dal nostro server ed il protocollo (non dimentichiamoci che OpenVPN funziona sia su tcp che udp)
Adesso sarà necessario ovviamente permettere l’accesso dall’esterno a questa porta, nell’apposita sezione External Access del firewall.
Adesso sarà necessario “creare un interfaccia” in modo che BOT gestisca la tun/tap.
Ancora in ADVANCED BOT Config, creeremo stavolta una interfaccia custom, che sarà o tun0 o tap0
Finita la parte difficile ![]()
Adesso dovremmo solo decidere cosa e dove i road-warrior potranno andare, mettiamo come esempio che dovranno accedere ad un server Dominio nella lan e solo a quello.
Quindi semplicemente imposteremo una regola DROP che avrà come sorgente l’interfaccia custom appena creata, e come destinazione l’interfaccia green e la green network.
Poi un altra regola ACCEPT che avrà come destinazione l’interfaccia green e come host l’ip del server Dominio.
IMPORTANTE : L’ordine delle regole è fondamentale, quindi la regola ACCEPT dovrà precedere la regola DROP. (questo è necessario solo se la politica predefinita è ACCEPT, mentre se è DROP, quest’ultima regola non è necessaria impostarla.)
E questo è tutto!!!




The bad packets stop here, come recita il sito ufficiale.
IPCop è una delle prime e meglio riuscite distruzioni linux dedicate al firewalling.
Piccola, veloce ed immediata, è l’ideale per creare firewall con semplicità, ma può essere dotata di decine e decine di addons, quali content filtering (SquidGuard o Dansguardian), antivirus, monitoraggio reti, server OpenVPN e così via.
Inoltre da svariati test effettuati è molto più performante, sia in termini di ritardo di rete che di semplice reboot rispetto al suo fork italiano, Endian.
Personalemente ho usato entrambi, ma tropo IPCop meno “legata” e molto più customizzabile, specialemente per quanto riguarda il Content Filtering e controllo sulle connessioni in uscita.
A dire il vero questi sono moduli di IPCop, chiamati BOT e COP+.
Infatti per fare un firewall completo consiglio di installare oltre ai componenti sopracitati anche Net-Traffic, un comodo “riepilogo” del traffico, giornaliero, settimanale, mensile etc..etc..
Il sito maggiore per gli addons è http://firewalladdons.sourceforge.net oltre a http://www.ipcop.org/modules.php?op=modload&name=phpWiki&file=index&pagename=IPCopAddons .
Ah ovviamente IPCop supporta l’IDS Snort, utilissimo anche per individuare attività come la replicazione dei worms.
Tempo permettendo posterò via via configurazioni e “trucchetti” su vari moduli ![]()
Per finire, cosa molto interessante, dal road map della distribuzione è previsto il passaggio al kernel 2.6 nella versione 1.5 e all’utilizzo di Shorewall per la creazione delle regole dalla versione 1.6




Trustix è una distribuzione Linux prettamente indirizzata alla configurazione di server, quindi niente X ed applicazioni
inutili, come calcolatrici, giochini e altre amenità (fino a non molto tempo fa usavo CentOS per i server e firewall, ma
devo dire che Trustix è decisamente molto meglio, basti vedere /etc/rc3.d in cui niente (nemmeno sshd!) è attivo per default
e ci sono solo i servizi voluti.
Si possono però creare proxy/content filter, firewall e qualsiasi server con relativa facilità, c’è una grande community
e sul sito uno wiki decisamente ben fatto..vi rimando a www.trustix.org
In questo post vi spiego brevemente come creare un server OpenVPN, incentrato soprattutto sul collegamento many to one, ad
esempio lavoratori che hanno un notebook con il quale collegarsi alla lan.
Particolarità di OpenVPN, che può funzionare anche in udp e quindi con un firewall dietro NAT, basta che dall’esterno sia
raggiungibile la porta dove il server è in ascolto.
Addirittura in laboratorio ho testato l’attraversamento di ben 3 NAT internet–>FIREWALL–>altro firewall perimetrale–>server vpn di una piccola VLAN…
Dall’esterno potevo fare tutto sulla VLAN di destinazione.
C’è da tenere conto che OpenVPN supporta periferiche virtuali quali TUN e TAP.
TUn lavora con pacchetti IP, TAP con frame TAP; questo vuole dire che per creare delle cose come lan virtuali, trasferimento dati da file server remoti o cose simili, dobbiamo usare TAP, che in pratica è un driver Ethernet virtuale (layer 2).
TUN è per tunnel ip (layer 3), ora però da quel che so tun integra il 95% di codice di tap e tap dovrebbe essere integrateo in tun, in ogni caso sempre meglio specificare! ![]()
Per prima cosa cercare su Google un server mirror di Trustix dove scaricare dal contrib i pacchetti di OpenVPN, LZO, OpenSSL e PAM.
Una volta installati c’è da eseguire questa serie di comandi
cd /etc/openvpn
cp -a /usr/share/doc/openvpn-/easy-rsa .
cd easy-rsa
vi vars
. vars
mkdir keys
touch keys/index.txt
echo “01″ > serial
./build-dh
./build-ca
./build-key-server server
./build-key client
questo crearà il certificato e chiave privata server, il certificato e chiave per un client, il certificato di Certification Authority ed i parametri Diffie Helmann.
NOTE: potete creare più di un client, ad esempio client1 client2 client3 e così via, a patto che ognuno abbia un nome unico da dare alla richiesta Common Name.
Inoltre se volete che i vostri clients debbano collegarsi tramite l’ausilio di una password usate ./build-key-pass come script.
A questo punto una configurazione tipo per il server è questa (DEVICE TAP)
port 7000
proto udp
dev tap
tls-server
mode serverdh /etc/openvpn/easy-rsa/keys/dh1024.pem
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/testsrv.crt
key /etc/openvpn/easy-rsa/keys/testsrv.keyifconfig 10.0.1.1 255.255.255.0
ifconfig-pool 10.0.1.100 10.0.1.200
push “route 192.168.1.0 255.255.255.0 10.0.1.1″
push “route 192.168.0.0 255.255.255.0 10.0.1.1″
push “dhcp-option DNS 192.168.0.30″
push “dhcp-option WINS 192.168.0.30″keepalive 10 120
max-clients 100comp-lzo
persist-key
persist-tunverb 4
;mute 20
log /var/log/openvpn/dynamic
status /var/log/openvpn/status
mentre per il client
cert client.crt
key client.key# Wireless networks often produce a lot
# of duplicate packets. Set this flag
# to silence duplicate packet warnings.
;mute-replay-warnings# These settings are shared by all clients
client
ns-cert-type server
user nobody
group nobody
remote xxx.xxx.xxx.xxx 7000
ca ca.crt
tls-client
dev tap
proto udp
resolv-retry infinite
nobind
persist-tun
persist-key
comp-lzo
verb 3
Per i client Windows vi consiglio questo sito openvpn.se, una GUI molto carina per gestire graficamente il client! ![]()
Questo è tutto, buone VPNs!




Ciao a tutti, oggi sono in ferie ma dato che volevo controllare una cosa su un server di un nostro cliente, stavo pensando a come poter fare a collegarmici, dato che l’accesso via Terminal Server è possibile solo uscendo dalla nostra adsl con ip fisso, per ovvie ragioni di sicurezza.
Quindi mi è venuto in mente di fare una bounce connection con netcat!
Non starò qui a tediarvi sulle caratteristiche di nc, vi rimando al sito http://netcat.sourceforge.net/…
La logica è questa
CASA MIA—>1234 tcp port—>MIO FIREWALL LAVORO—>3389/tcp—>SERVER CLIENTE
In questo modo il server del cliente vede come ip sorgente quello del nostro firewall permettendo la connessione, mentre io sono comodamente seduto in casa ![]()
Per fare in modo che netcat rimanga in ascolto su una porta tcp/ip basta usare inetd o xinted, io userò quest’ultimo.
Per prima cosa create una nuova riga su /etc/services, una cosa del tipo
bounce 9833/tcp
poi andate su /etc/xinetd.d/ e create un file di nome bounce con dentro questo testo
service bounce
{
flags = REUSE
disable = yes
socket_type = stream
protocol = tcp
user = nobody
wait = no
server = /usr/bin/nc
server_args = -w 2 x.x.x.x 3389
}
poi un bel /etc/init.d/xinetd start (o restart se lo avete già in esecuzione!)
In questo modo tutte le connessioni sono ridirezionate e posso lavorare!! ![]()
PS.
Come in una ricetta potete aggiungere a piacere elementi di sicurezza, dall’uso di regole sul firewall che limitano l’accesso alla porta, o all’uso del netcat in combinazione con una vpn, ad esempio OpenVPN!


More Options ...
Categorie
Tag Cloud
Blog RSS
Comments RSS

Void « Default
Life
Earth
Wind
Water
Fire
Light 