9 ms·
Dead Simple VPN
- grenoire 7y agoPretty damn cool, but I can't see this giving you much in way of anonymity. Yet, should be all fine for getting through to region-locked DRM content.
- xrisk 7y agoI believe this wouldn't work for Netflix because they check for known commercial IP addresses (DigitalOcean or AWS for example).
- nurettin 7y agoIn those cases, I reverse ssh the vpn ports to my server, put it on a tiny computer, fly over to a country with limitless dsl and place it behind a router at a friend's house. Easy.
- rolltiide 7y agoI think autonomous indigenous communities are sitting on a huge untapped market of data centers operating under their own globally competitive data privacy laws Casinos are so 20th century
- Lordarminius 7y agoThat's an idea but it might make for a somewhat fragile business model subject to the whims of Uncle Sam's attention
- rolltiide 7y agoSure yeah the Feds can regulate anything they want on tribal land For most business and domestic issues they just lack enforcers, interest, will For data yeah it would create a silly game if there were attractive hosting privileges. But there still might be a business play here: people flock to Iceland and Switzerland on pure misinterpretations of what a law means in practice. There was a founder here that chose Iceland servers because of no formal data sharing agreement with US, and people showed case law where the FBI merely asked Reyjavik police to tap a server. Point being that it could still be a cash cow for US reservations
- ProCicero 7y agoThat wasn't just any server, it was The Silk Road. The Icelandic authorities went through their own court process, though, getting whatever their equivalent to a search warrant is first, then turning over a complete image of the server to the FBI.
- rolltiide 7y ago> The Icelandic authorities went through their own court process, though, getting whatever their equivalent to a search warrant is first, then turning over a complete image of the server to the FBI. Which reinforces my point? These countries offer people nothing.
- znpy 7y agoIndigenous communities are probably fine with people going into their land and leaving ad embarrassing amount of money behind. It’s probably less hassle than dealing with uncle sam, the cia/fbi and more than anything else, billing to random weirdos that this month have funds on their prepaid card and next month who knows. Cash is better, I guess.
- wolco 7y agoThey have been doing this for years in Canada but the price of a server is extremely expensive
- rolltiide 7y agoCan you give an example of a tribe and product offering? I’ve been researching Canadian indigenous communities and it seems the autonomy is even less than US tribes, but that the provincial and federal governments is just much less staffed (big area, low population, low interest, apathy)
- wolco 7y agoThe Mohawk nation is very high tech compared to some of the others. When working for an un-named poker company we had a hosted a server. When a hardware problem happened we had to drive and replace ourselves. The cost is high and getting accepted requires knowing someone but safest place to host in North America for gaming related materials. Remember bodog.. I believe they hosted game servers as well there.
- TylerE 7y agoFor very, very, large values of easy.
- georgyo 7y ago`ssh -D 9090 $HOMESERVER` and configuring firefox is pretty easy
- nurettin 7y agoFor the record, I meant `autossh -M 20001 -R 10.8.0.94:11194:localhost:1194 me@my-server.com`, not dynamic port redirection over socks5. (I create a new interface+route for vpn connections to have more control over it)
- deleted 7y ago[deleted]
- qrbLPHiKpiux 7y agohttps://twitter.com/kennwhite/status/591074055018582016 https://twitter.com/kennwhite/status/591074055018582016
- regecks 7y agojedisct1 sure is prolific with all these lean and friendly crypto-related applications. dnscrypt-proxy, libsodium, libhydrogen, minisign, dsvpn, probably others I've never heard of.
- loup-vaillant 7y agoI don't think Libsodium belongs to that list. It's friendly enough, but pretty far from lean.
- aptmiguk 7y agominisign is pretty cool. I've added its signature to my software releases along with md5/sha256. https://github.com/jedisct1/minisign https://github.com/jedisct1/minisign
- ahnick 7y agoDoes this provide some benefit over a Wireguard setup? (https://www.wireguard.com/ https://www.wireguard.com/)
- xrisk 7y agoThere's a comparison section on GitHub [1] – WireGuard doesn't support TCP while this does. [1] https://github.com/jedisct1/dsvpn#why https://github.com/jedisct1/dsvpn#why
- ahnick 7y agoah excellent. Everything makes sense now. :-)
- numlock86 7y ago> OpenVPN is horribly difficult to set up. That statement could need some more explanation in my opinion. I never felt it being much difficult.
- regecks 7y agoUsing easy-rsa, choosing the right ciphers and other protocol options always seemed overly complex and opaque to me. Wireguard was a breath of fresh air in comparison.
- xrisk 7y agoThere are multiple setup scripts like [1] that make it super easy to setup OpenVPN. [1] https://github.com/Nyr/openvpn-install https://github.com/Nyr/openvpn-install
- Avamander 7y agoMakes it super easy but even more opaque, that is not a good thing with incredibly security-related software.
- antoinealb 7y agoSo correct me if I am wrong but this is doing IP in TCP right ? Iirc, this is a big issue for tcp flow control, which relies on packet loss to detect congestion: as you encapsulate stuff in tcp stream, there will be no more packet loss and the tunelled tcp will not throttle correctly. Did not read the code yet, so maybe there is something to simulate congestion packet loss.
- lox 7y agoFrom the README: TCP-over-TCP is not as bad as some documents describe. It works surprisingly well in practice, especially with modern congestion control algorithms (BBR). For traditional algorithms that rely on packet loss, DSVPN has the ability to couple the inner and outer congestion controllers, by setting the BUFFERBLOAT_CONTROL macro to 1 (this requires more CPU cycles, though).
- ay 7y agoThis is an intriguing quote. The biggest problem I saw with tcp over tcp is not during the regular operation, but when there was a noticeable packet loss present on the line. Then the the accumulated retransmits on stacked TCP most of the time killed it. Admittedly it was maybe a decade ago after which I concluded it’s just a BadIdea(Tm) and never revisited it. I had similar experience lately whenever using the mobile internet in poorer coverage cases (eg. a high speed train Brussels-Paris or Brussels-London) which result in frequent and big variations of latency. Of course that all is decoupled congestion control. If anyone compared the performance of this solution on poor connections with and without BUFFERBLOAT_CONTROL, would be very very interesting to know the results!
- Fnoord 7y agoWireGuard reconnects in less than a second whereas OpenVPN takes a good 8 (!!) seconds to reconnect. If you have an unstable connection, that's awful. If you only need SSH, Mosh (which utilizes UDP) could be suffice though.
- deleted 7y ago[deleted]
- majke 7y agoI'm very impressed with the blog. At least one post a month for ten years? Whoa. Impressive.
- hoschicz 7y agoThis is exactly what I have been looking for. One executable, symmetric keys and any port I want. TCP is sometimes a must (library Wi-Fi that supports only known ports). But UDP is (i think?) better for wrapping TCP traffic.
- IgorPartola 7y agoUDP is just an IP packet with port information. That is all. That’s why it is so easy to do something like TCP/UDP instead of TCP/IP, even though nobody calls it that. TCP over TCP is bad because the protocol uses congestion for traffic control, and if the underlying connection is lossless and never gets congested, the inner TCP layer cannot work right.
- windexh8er 7y agoJust to clarify... IP = L3, UDP|TCP = L4. In your example TCP/UDP is still TCP/UDP/IP.
- IgorPartola 7y agoYes obviously. But practically it doesn’t matter as UDP doesn’t add anything except expanding the addressing to include port numbers. That’s like saying that we must always list all protocols below TCP: TCP/IP/ETH/Copper wire. It doesn’t matter because what you run IP over can be ETH, 802.11, pigeons, door to door salesmen, etc. Same with TCP/UDP: it doesn’t matter if UDP is implemented on top of something other than IP. In fact, if you don’t make a distinction between IPv4 and IPv6, two wildly different protocols, you don’t actually care what TCP runs on top of in a TCP/IP combo.
- windexh8er 7y ago> That’s like saying that we must always list all protocols below TCP: TCP/IP/ETH/Copper wire. My point was your conflation of L3 and L4. And in fact TCP does have some changes on v6 from v4. Consider, for example that ARP, is replaced by Neighbor Discovery (ND) and that is added to TCP/IPv6. So... If we're splitting hairs now then not exactly.
- galapago 7y agoDoes this provide some benefit over Algo? (https://github.com/trailofbits/algo https://github.com/trailofbits/algo)
- aorth 7y agoAlgo is a set of scripts that sets up IPSEC and WireGuard VPN on a Linux server. This dsvpn is an entirely new VPN implementation—like IPSEC or WireGuard—written by jedisct1 from scratch.
- TazeTSchnitzel 7y agoIf you already have OpenSSH installed, it has a built-in tunnel you can activate with a single command-line argument that exposes a SOCKS server on localhost.
- m-p-3 7y agoI use it all the time to tunnel Firefox wherever I go, and it usually let it through even with restrictive firewalls. I also port-forwarded 443 to my SSH server in case port 22 is blocked.
- rkeene2 7y agoIt can also tunnel IP packets or Ethernet frames, see http://rkeene.org/viewer/tmp/ssh-ip-tunnel.txt.htm http://rkeene.org/viewer/tmp/ssh-ip-tunnel.txt.htm
- kbody 7y agoEven simpler for some use cases: `ssh -D 1080 -C -q -N root@your-vps`
- dependenttypes 7y agoAre you sure that -C is a good idea? Wouldn't it be possible in theory to exploit something similar to CRIME/BREACH? > root@your-vps People allow for root ssh connections?
- yjftsjthsd-h 7y ago> People allow for root ssh connections? Keys should make it secure, and a personal VPS obviates audit requirements, so sure.
- kbody 7y agoSome do, although I too prefer non-root but used it for the simplicity of the example.
- jesterson 7y agoYes, what's wrong with that? Security is multi dimensional matter, you can't just rely on rules like "no ssh to root" or "password should be more than 20 characters". In my case ssh is allowed from 2 IP addresses (much more useful rule then "no ssh to root "btw!) with key auth (passwd auth disabled). Don't see any problem with that.
- armitron 7y agoDSVPN does not seem to support PFS [1] which would immediately disqualify for any purpose for me. [1] https://en.wikipedia.org/wiki/Forward_secrecy https://en.wikipedia.org/wiki/Forward_secrecy
- deleted 7y ago[deleted]
- jedisct1 7y agoWhile nice to have, this is not terribly useful in the context of a VPN. PFS would prevent the following scenario: you’re suspected to be an axe murderer, the police asks the cloud provider to tap your VPS traffic, and, later, asks for a dump of that VPS to get the key. Haha, the key is still valid, so the previously recorded traffic can be decrypted! PFS however would not prevent the following more likely scenario: the police asks for the key, and effortlessly decrypts everything from now on. PFS doesn’t provide post-compromise security, which is far more important. But since a VPN server is essentially a proxy that decrypts traffic between itself and a client to forward decrypted packets to remote servers, here’s an even more likely scenario: the VPS is tapped, and packets exchanged with the VPN client is not something to waste any time on since for each of them, the server also sent or received a decrypted copy. That being said, a simple way to get PFS and post-compromise security is to change the key regularly. If you’re just someone who needs a personal VPN to work in a coffee shop whose public WiFi has overzealous firewall rules, this is not something you have to worry too much about. If you’re an axe murderer, just add key rotation to your post-crime routine.
- commandersaki 7y agoUm, I think you're wrong about the following claim. Let's use wireguard as an example. > PFS however would not prevent the following more likely scenario: the police asks for the key, and effortlessly decrypts everything from now on. PFS doesn’t provide post-compromise security, which is far more important. Wireguard achieves PFS using regular ephemeral diffie-hellman key exchanges. If I understand the scenario you describe, Police has initial (long-term) key (from either endpoint or both) and taps VPS traffic. The long term key can probably be used to get the initial negotiation of the tunnel, but after the first ephemeral key exchange it can't decrypt any more of the traffic. Why? Well both endpoints kept their secret (random) portion of the key exchange on their machine, and continually wipe it (and the derived key) after every key exchange. So police needs the interstitial derived keys from either endpoint to decrypt the traffic. But it'll be probably too late after the conversation is over.
- tmd83 7y agoI don't really understand network much. > dsvpn server /root/vpn.key auto 443 auto 10.8.0.254 10.8.0.2 So what does those last two ip means? Similarly for the client.
- jedisct1 7y agoYou can leave that to `auto`. A VPN creates a virtual network between two machines. Each end needs an IP address. In your example, `10.8.0.254` is the address that will be assigned to the server and `10.8.0.2` is the address that will be assigned to the client. These addresses are only valid within the tunnel. They are not the real IP addresses. If you do `ping 10.8.0.254` from the client, you'll get a response from the server. If you do `ping 10.8.0.2` from the server, you'll get a response from the client. If you do `ping 10.8.0.2` from the server, you'll get a response from itself. Which is not very useful. These IP addresses are not reachable outside the tunnel. The network is private. You can use any pair of addresses you want as long as they are not used by anything else.
- riobard 7y agoSince this is a point-to-point tunnel, you can get by without assigning IP addresses to the tunnel endpoints and route by tun device instead. It saves some `ip addr` configuration and reduces two NAT (once on leaving local tun and once on the server) to just one NAT (on the server only).
- acqq 7y agoWhat are the implications of: https://eprint.iacr.org/2019/447 https://eprint.iacr.org/2019/447 "Practical Key-recovery Attacks on Round-Reduced Ketje Jr, Xoodoo-AE and Xoodyak"? As far as I understand round-reduced doesn't have to mean all rounds are broken, but it is still something to think about.
- jedisct1 7y agoThe security of block ciphers, permutations, hash functions and higher-level constructions is studied by modifying the function until some of its claimed properties are invalidated. What is being analyzed is not the actual function. How much changes had to be made and how significant they were is an indication of the security margin of the actual function. In this paper, key recovery requires a made-up mode, or an existing mode, but used incorrectly (nonce reuse with the same key and different messages) 2^43.8 times. In addition, the permutation had to be reduced to 6 rounds. The normal number of rounds is 12, which makes a huge difference. The analysis actually shows that the security margin of the real construction is extremely comfortable.