Re: [Ninux-Wireless] WireGuard: Next Generation Kernel Network Tunnel

2018-08-03 Per discussione Germano Massullo
[ 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

2018-07-02 Per discussione Germano Massullo
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

2018-07-02 Per discussione Germano Massullo
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

2018-04-04 Per discussione Germano Massullo
Il 4 aprile 2018 11:42, Stefano De Carlo  ha 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

2018-04-04 Per discussione Stefano De Carlo
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

2018-01-10 Per discussione Germano Massullo
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

2017-12-13 Per discussione Germano Massullo
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

2017-12-13 Per discussione Rugantio

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

2017-12-12 Per discussione Germano Massullo
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

2017-11-21 Per discussione Germano Massullo
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

2017-11-21 Per discussione Germano Massullo
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