Re: [Ninux-Wireless] WireGuard: Next Generation Kernel Network Tunnel
[ Linus Torvalds Is Hoping WireGuard Will Be Merged Sooner Rather Than Later ] Linus wrote: "Btw, on an unrelated issue: I see that Jason actually made the pull request to have wireguard included in the kernel. Can I just once again state my love for it and hope it gets merged soon? Maybe the code isn't perfect, but I've skimmed it, and compared to the horrors that are OpenVPN and IPSec, it's a work of art." https://www.phoronix.com/scan.php?page=news_item=Linus-Likes-WireGuard ___ Wireless mailing list Wireless@ml.ninux.org http://ml.ninux.org/mailman/listinfo/wireless
Re: [Ninux-Wireless] WireGuard: Next Generation Kernel Network Tunnel
On 7/2/18 10:25 PM, Germano Massullo wrote: > Notizia simpatica: > US Senator Recommends Open-Source WireGuard To NIST For Government VPN > https://www.phoronix.com/scan.php?page=news_item=WireGuard-Senator-Recommends Circa il senatore: https://www.phoronix.com/forums/forum/phoronix/latest-phoronix-articles/1033766-us-senator-recommends-open-source-wireguard-to-nist-for-government-vpn?p=1033783#post1033783 ___ Wireless mailing list Wireless@ml.ninux.org http://ml.ninux.org/mailman/listinfo/wireless
Re: [Ninux-Wireless] WireGuard: Next Generation Kernel Network Tunnel
Notizia simpatica: US Senator Recommends Open-Source WireGuard To NIST For Government VPN https://www.phoronix.com/scan.php?page=news_item=WireGuard-Senator-Recommends ___ Wireless mailing list Wireless@ml.ninux.org http://ml.ninux.org/mailman/listinfo/wireless
Re: [Ninux-Wireless] WireGuard: Next Generation Kernel Network Tunnel
Il 4 aprile 2018 11:42, Stefano De Carloha scritto: > Il 10/01/2018 12:57, Germano Massullo ha scritto: >> Pull request approvata, ora WireGuard è disponibile in systemd-networkd > > È interessante che Torvalds stesso spinge per avere Wireguard incluso in > Linux: https://lkml.org/lkml/2018/2/13/752 Bene! Spero che si diffonda anche nella comunità BSD, così da poterlo avere in futuro anche in FreeNAS ___ Wireless mailing list Wireless@ml.ninux.org http://ml.ninux.org/mailman/listinfo/wireless
Re: [Ninux-Wireless] WireGuard: Next Generation Kernel Network Tunnel
Il 10/01/2018 12:57, Germano Massullo ha scritto: > Pull request approvata, ora WireGuard è disponibile in systemd-networkd È interessante che Torvalds stesso spinge per avere Wireguard incluso in Linux: https://lkml.org/lkml/2018/2/13/752 Stefanauss. ___ Wireless mailing list Wireless@ml.ninux.org http://ml.ninux.org/mailman/listinfo/wireless
Re: [Ninux-Wireless] WireGuard: Next Generation Kernel Network Tunnel
Il 12/12/2017 09:51, Germano Massullo ha scritto: > Pull request per supporto su systemd-networkd > https://github.com/systemd/systemd/pull/4191 Pull request approvata, ora WireGuard è disponibile in systemd-networkd https://lists.zx2c4.com/pipermail/wireguard/2018-January/002274.html ___ Wireless mailing list Wireless@ml.ninux.org http://ml.ninux.org/mailman/listinfo/wireless
Re: [Ninux-Wireless] WireGuard: Next Generation Kernel Network Tunnel
Il 13/12/2017 21:26, Rugantio ha scritto: > Mi piacerebbe però saperne di più riguardo la sicurezza di wireguard, > sai se qualcuno ha fatto un audit? Jason A. Donenfeld, il creatore di Wireguard ha detto: === WireGuard has undergone several intense code reviews, and of course it's been written by a guy who audits other people's codebases for a living, but it hasn't _yet_ been audited. And now is *not* the time to audit it either! It's still undergoing changes, so as to make any audit done now not very useful. I suspect after we post the first RFC to netdev, there will be a flurry of changes requested. After those are made, and the structure of the code base solidifies, we'll be in a good place to request audits. Fortunately being from the security industry myself, I know a few different companies who want to take a look at it. So hold tight -- they'll be comin'. === da https://xn--4db.cc/HtJY8GOU ___ Wireless mailing list Wireless@ml.ninux.org http://ml.ninux.org/mailman/listinfo/wireless
Re: [Ninux-Wireless] WireGuard: Next Generation Kernel Network Tunnel
Il 2017-12-12 08:51 Germano Massullo ha scritto: Pull request per supporto su systemd-networkd https://github.com/systemd/systemd/pull/4191 Grazie del contributo! La sto provando su Debian (è in unstable) e sembra fare il suo dovere. In questi giorni la provo su arch e vi faccio sapere come va. Mi piacerebbe però saperne di più riguardo la sicurezza di wireguard, sai se qualcuno ha fatto un audit? ___ Wireless mailing list Wireless@ml.ninux.org http://ml.ninux.org/mailman/listinfo/wireless
Re: [Ninux-Wireless] WireGuard: Next Generation Kernel Network Tunnel
Pull request per supporto su systemd-networkd https://github.com/systemd/systemd/pull/4191 ___ Wireless mailing list Wireless@ml.ninux.org http://ml.ninux.org/mailman/listinfo/wireless
Re: [Ninux-Wireless] WireGuard: Next Generation Kernel Network Tunnel
seconda parte dell'esempio 2, per chi ha una distro Linux basata su Firewalld, come Fedora/RHEL/CentOS === Host B (gateway VPN) === quando viene creata l'interfaccia wg0, essa non essendo stata assegnata ad alcuna zona firewall, ricadrà nella zona di default, che blocca tutto tranne i pacchetti ICMP. Pertanto finché si tratta di effettuare dei ping sugli host (es. da A a C) tutto funziona, appena si prova ad utilizzare un servizio, non ci si riesce. Pertanto con # firewall-cmd --zone=trusted --add-interface=wg0 --permanent # firewall-cmd --reload si risolve il problema. Ora da host A si può eseguire correttamente $ ssh user@10.1.0.22 che è il server SSH in esecuzione sull'host C ___ Wireless mailing list Wireless@ml.ninux.org http://ml.ninux.org/mailman/listinfo/wireless
[Ninux-Wireless] WireGuard: Next Generation Kernel Network Tunnel
Wireguard è un tunnel di rete di nuova generazione, ancora in fase di sviluppo, che mira a realizzare VPN: - ad altissime prestazioni [1]; - con una forte perfect forward secrecy [2] verificata formalmente [6]; - con protocollo stateless [3] [4]; - molto "silenziose" [5]; - di facile realizzazione; (note a fine messaggio) Il codice sta per essere inserito nel kernel Linux (meno di 4000 righe di codice), per il momento è disponibile attraverso modulo DKMS. Voglio mostrarvi due esempi di realizzazione di una rete in quanto sebbene la documentazione sia ben scritta, ho passato molto tempo per capire come procedere (vedere esempio 2). Ringrazio Jason A. Donenfeld e Francesco Bonanno per i suggerimenti. | Esempio 1 | Descrizione: esempio con due host con IP pubblico che vogliono instaurare un tunnel Su ogni host, dopo aver installato Wireguard # mkdir /etc/wireguard # cd /etc/wireguard # umask 077 si genera la chiave privata # wg genkey > privatekey si genera la chiave pubblica # wg pubkey < privatekey > publickey si crea il file di configurazione vuoto # touch wg0.conf dopodiché ad esempio, sull'host A il file wg0.conf viene modificato come segue [Interface] Address = 10.1.0.1/24 # scegliete un IP per l'host all'interno della rete VPN PrivateKey = # la prendete dal file privatekey ListenPort = 51820 [Peer] # è l'altro host con il quale volete comunicare PublicKey = # è la chiave pubblica generata sull'altro host Endpoint = indirizzo ip pubblico:51820 # è l'IP attraverso il quale è raggiungibile l'altro host AllowedIPs = 10.1.0.2/32 # è l'IP che l'host dovrà avere all'interno della VPN replicare la stessa cosa sull'altro host, con le dovute modifiche. Infine salvare i file, dopodiché # systemctl enable wg-quick@wg0.service # systemctl start wg-quick@wg0.service in tal maniera si crea automaticamente una interfaccia di rete "wg0" che ha le caratteristiche presenti nel file di configurazione. L'interfaccia è automaticamente collegata. | Esempio 2 | Descrizione: configurazione leggermente più complessa: - host A: dietro NAT, tipico computer casalingo; - host B: gateway/server centrale della VPN, ha una interfaccia di rete con IP pubblico ed un'altra con IP corrispondente alla sottorete 192.168.1.0/24 dove risiede anche l'host C; - host C: macchina virtuale che gira sull'host B si vuole che l'host A una volta collegato all'host B, possa comunicare anche con l'host C (e viceversa), e tutti gli altri eventuali host della VPN. Ecco i file di configurazione === Host A === # cat /etc/wireguard/wg0.conf [Interface] Address = 10.1.0.21/24 PrivateKey = *censurata* [Peer] PublicKey = *censurata* è la PublicKey dell'host B Endpoint = vpn.foo.xx:51820 # vpn.foo.xx è l'indirizzo pubblico dell'host B AllowedIPs = 10.1.0.0/24 === Host B (vpn.foo.xx) === # cat /etc/wireguard/wg0.conf [Interface] Address = 10.1.0.2/24 ListenPort = 51820 PrivateKey = *censurata* [Peer] PublicKey = *censurata* AllowedIPs = 10.1.0.21/32 [Peer] PublicKey = *censurata* AllowedIPs = 10.1.0.22/32 === Host C === # cat /etc/wireguard/wg0.conf [Interface] Address = 10.1.0.22/24 ListenPort = 51820 PrivateKey = *censurata* [Peer] PublicKey = *censurata* Endpoint = 192.168.1.1:51820 AllowedIPs = 10.1.0.0/24 Che cosa è cambiato? === Host A: === - non ha ListenPort in quanto in questo esempio si assume che per vari motivi non si abbia la possibilità di aprire porte sul NAT, quindi l'host A non è raggiungibile direttamente, ma deve instaurare lui la connessione. Pertanto ListenPort è inutile; - c'è un solo [Peer] i cui attributi sono quelli di host B. Basta un peer in quanto tutti gli altri host della VPN devono passare per forza tramite host B per raggiungere host A; - AllowedIPs indica che qualsiasi IP della sottorete 10.1.0.0/24 può comunicare con host A. === Host B: === i due peer hanno un IP con la dicitura /32 perché non devono poter cambiare IP a loro piacimento === Host C: === come host A, tuttavia ha il parametro ListenPort perché è nella stessa sottorete di host B, quindi conviene agevolare il più possibile le possibilità di comunicazione tra i due host. | Note | [1]: https://www.wireguard.com/performance/ [2]: 5 Protocol & Cryptography - https://www.wireguard.com/papers/wireguard.pdf [3]: https://www.wireguard.com/protocol/#connection-less-protocol [4]: 6 Timers & Stateless UX - https://www.wireguard.com/papers/wireguard.pdf [5]: 5.1 Silence is a Virtue - https://www.wireguard.com/papers/wireguard.pdf [6]: https://www.wireguard.com/papers/wireguard-formal-verification.pdf signature.asc Description: OpenPGP digital signature ___ Wireless mailing list Wireless@ml.ninux.org http://ml.ninux.org/mailman/listinfo/wireless