Russia starts blocking VPN at the protocol (WireGuard, OpenVPN) level

simple@lemm.ee to Technology@lemmy.world – 1068 points –
vpncentral.com
175

In case anyone wondered how to potentially get around this...

  • Pay for a server in another country that gives you SSH access
  • Create SSH SOCKS tunnel: ssh -N -D 8008 your-server-ip
  • Open your browser and set the SOCKS server to localhost:8008 (in Chromium/Firefox you can search for this in Settings)

So, that's definitely better than nothing, but your browser isn't the only thing -- though these days, it is a very important thing -- that talks to the Internet. If, for example, you're using a lemmy client to read this, I'd bet that it's good odds that it doesn't have SOCKS support.

Though I wouldn't be surprised if someone has made VPN software that intercepts connections and acts as a proxy SOCKS client, which would make it work more like a traditional VPN if you can reach a remote SOCKS server, though maybe with a performance hit.

googles

Yeah, okay, looks like stunnel can do this on Linux. So it's a thing.

You don't need a 100% solution, though, to have a pretty big impact on society. Combine technical barriers with it just being easier to not think about what's going on outside, maybe some chilling effects from legally going after people who do start doing things that you don't like (viewing websites, spreading information, etc), and you can control people's information environment a lot. Make using circumvention solutions illegal -- okay, maybe you can bypass their system if you don't get caught, but do you want to risk it? Make creating or spreading circumvention solutions really illegal. Do you want to risk getting in a lot of trouble so that random other person can get unrestricted or unmonitored Internet access?

On that note, I was reading about the way North Korea does it in an article from someone who got out of North Korea. That is about as close as it gets to a 100% solution. Only a few thousand people are authorized to get Internet access. You need to apply to use the Internet with a couple of days lead time. Each pair of computers has a "librarian" monitoring what the Internet user on each side is doing, and every five minutes or so the computer will halt with whatever you were doing on the screen and require fingerprint re-authorization from the "librarian" to continue. Users are not allowed to view pages in Korean, just English and Chinese (I assume because most information out there that you'd have to go outside North Korea to get access to is likely available in either English or Chinese, and they definitely don't want people seeing anything out of South Korea).

That pretty much screws North Korea in terms of access to information, is a costly solution, but if you place an absolute priority on control of the information environment, North Korea does prove that it's possible to take a society there.

North Korea does prove that it’s possible to take a society there.

I don't think NK took themselves there, they were already there when the internet was invented. Easier to limit access to few people when you have draconian measures in place when access becomes possible.

Having a society that already widely has access to one that has extremely limited access is a lot more difficult.

This is a good point that many don't think about. Even if you could somehow drop hardware and free starlink into North Korea it wouldn't even matter because the citizens never grew up on internet culture. No one would be able to figure out what to do with it by the time they got caught.

Unfortunately it would be trivial to block an SSH tunnel like this. I recall reading news 10 years ago (maybe even earlier) some foreign journalist tried this at a Beijing hotel room and got shut down in minutes. That was when people are still using PPTP and L2TP protocols to get around censorship, Wireguard and shadowsocks wouldn't be born for another couple years.

trivial to block an ssh tunnel like this

Far from trivial unless you’re willing to brick ssh completely, or at least cripple a bunch of non-VPN uses for tunneling. Of course it’s trivial to just block ssh outright, or block tunneling above a certain bandwidth. But that would also block, as an example, most remote IDE sessions, loopback-only server management frontends, etc.

The Kremlin could maybe have something set up that looks for accesses to stuff inside Russia from outside Russia, then flag that IP as suspicious as being a VPN endpoint outside Russia.

So, okay, take this scenario:

  • IP A, user inside Russia.

  • IP B, VPS outside Russia.

  • IP C, service inside Russia that state can monitor.

User in Russia on IP A has an SSH tunnel to VPS on IP B with SOCKS that they control.

That's fine as long as user is only browsing the Internet outside Russia. But if you're routing all traffic through the VPS and you use any sites in Russia, the Great Russian Firewall can see the following:

  1. IP A has a long-running SSH connection to IP B.

  2. IP B is accessing stuff in Russia.

You could maybe also do heavier-weight traffic analsysis on top of that if you see 1 and 2, or gather data over a longer period of time, but seeing 1 and 2 alone are probably enough to block IP A to IP B connections.

That can be defeated by using two external VPSes, opening an SSH tunnel to the first one, and then talking to SOCKS on the second (maybe with another SSH connection linking the two). But that's increasing complexity and cost.

can be defeated with two VPSes, but that’s increasing complexity and cost

A marginal increase, perhaps. You don’t need a separate VPS - just a second IP. Accept incoming traffic on port 22 on one, and set the default route for outbound traffic to the other.

This is actually pretty interesting, thanks for sharing. Although i live in a third world country that doesnt care about anything at all including piracy, but this tunneling thing looks pretty handy

Couldn't you also just set the VPN to use port 443?

E: Apparently this isn't enough. IE, for Wireguard, you would need to find a way to obfuscate the handshake.

I'm not 100%, but I think you could set this up for free with an Oracle AlwaysFree tier VM.

(Boo Oracle, yes I know. Still very handy.)

Just looked up Oracle Always Free... Good to know about, thanks!

Shithole country

Worse: shithole country that turns everything they touch into shit too.

Bootlicking simply comes naturally to the Russian culture.

Edit: my apologies to the Russian brothers and sisters still fighting the good fight by blowing up Putin's shit.

Racism comes naturally the Anglo brainpan.

Edit: My apologies to my Anglo brothers and sisters still fighting the good fight and blowing up US government property.

1: Russian isn't a race, I'm actually being jingoist, you damn racist.

2: I'm Suomi/Celt. Slavs and Germanics can all get fucked, ancestrally speaking, you slaving imperialist pigs.

3:That was clearly a joke, go grow some sunflowers.

7 more...
7 more...
7 more...

But how are their propaganda farms going to be able to pretend they are in your country now?

official companies are still able to use vpn 😏

Exemptions that only apply rules to the common people. Maybe device registration with an exception using ipv6 address

Maybe they don't actually have all those propaganda farms that the dems were crying about, did that thought cross your mind?

Before it was widely reported, Twitter's geocoding feature showed a ton of Russian-based accounts posing as "Americans" and only discussing politics. Would love to see lemmy be more transparent about accounts posting here too, tbh.

In all honesty, I would expect at least an organized troll farm to use VPNs ending outside Russia.

Random people in Russia might just act directly, but it's a red flag that's easy to pretty-inexpensively eliminate.

googles

It sounds like at least the Internet Research Agency troll farm used VPNs.

https://www.bbc.com/news/technology-43093390

According to court documents, the IRA took several measures to hide its tracks, duping the technology companies who were unaware, or unable, to stop what was filtering through their systems.

The key - and obvious - move was to hide the fact that these posts were coming from Russia. For that, the IRA is said to have used several Virtual Private Networks - VPNs - to route their operations through computers in the US. The operatives allegedly used stolen identities to set up PayPal accounts using real American names.

Even if it's just a hash of an ip4, that would go a long way towards identifying who is coming from where

I'd say you probably want to check my geolocation?

They exist. Inform yourself on the Internet Research Agency, one of Russia's state sponsored troll farms. A handful of their activities are well documented in factual records. 'Dems' weren't crying about it, every rational person who doesn't want foreign interference and disinformation flooding our spaces is concerned about it. This should not be a partisan issue whatsoever.

Yeah, I don't even really have a problem with RT, as long as it's labeled so that people understand that it's the Russian state speaking. But a lot of forums rely more-or-less on the idea that people are more-or-less good faith actors. Very large scale efforts to have people pretend to be someone else and make non-good-faith arguments is something that I think that a lot of our forums can't today handle well.

Arguably, that's a technical problem that needs to be fixed in some way.

Sadly, but we have. There is a big propaganda campaign have been raised for the last 2 years. It was here before but not in a such huge amount.

annnd another dictatorship box checked off the list... wont be long now

Until what? Until Russia is a dictatorship? That ship sailed a long time ago.

Won't be long before Putin catches up to Kim Jong Un in the Oppression Olympics

I live in Russia and I have vps with wireguard vpn in Netherlands. At the current moment it works for me pretty well except the some connection failures two days ago. But they were very short. But I don't know how long my vps will be accessible with these fucking blocking.

You might want to sign up with astrill. Greetings from China, we've been dealing with this shit for decades.

Thanks for advice. I didn't hear about it before. It will be my backup plan.

Can you confirm that it is still working fine on normal home internet but not on cellular data? Have been back to Russia multiple times per year (family reasons) and none vpn ever works on cellular network. Some work at home and places.

My own vpn is to my house in different country. Wireguard. That has always been working over home wifi here (not cellular). Even until now.

For now it works both via mobile data and home provider. My mobile operator is Tinkoff. The home Internet provider - City Telekom. But sometimes it losses connection for several minutes. But generally it works well.

ProtonVPN has a "stealth" protocol. Does anyone know if that breaks through?

protonvpn hasn't worked here at all for a long time now lol

It doesn't work in China, if that's any indication.

Absolutely doesn't. Even tried to go like 100 servers to see.

But nothing related to proton get through

1 more...

Russia is a terrorist state. #SlavaUkraini #ArmUkraineForVictory

I love all my fellow Russians and Ukrainians who rise above the brainwashing that this commenter is demonstrating.

Fuck patriotism and slogans, that's what politicians want you to do to die for them. All wars would be over in a day if people just realized this as politicians can't fight their wars without people like this commenter.

Ukraine was invaded bro. Their politicians did exactly nothing to encourage war.

Maybe theirs didn't, some other countries' did (and still do) because it advances their interest.

Russia is less terrorist than Azerbaijan, but the latter isn't even being sanctioned (and there's been an ICJ decision against them, but everybody ignores it) for starving out a little country of 120k people right now in a medieval siege, and openly stating that they are doing exactly that.

I don't think Ukraine has lots of problems. At least the aggressor there is recognized for what it is and the victim is recognized for what it is and armed by half the world.

I don't think Ukraine deserves any attention, in fact, since in Artsakh they support Azerbaijan. Support of now finally actual genocide happening is what makes me think that.

Russian likes to threaten the world with nukes - nuclear war would inevitably lead to a nuclear holocaust that would cause the near extinction of the human species.

I don't give a flying fuck about Azerbaijan. Russia is terrorizing the entire species of humanity. Until you're threatening to wipe out the entire planet, you are not a terrorist on the same level as Russia.

Russian likes to threaten the world with nukes

Tactical nukes usually.

nuclear war would inevitably lead to a nuclear holocaust that would cause the near extinction of the human species.

If you use tactical nukes, then it's not much more significant than using thermobaric ordnance or cassettes or even chemical weapons or anything else kinda nasty and non-conventional.

It won't lead to a global thermonuclear war and thus a nuclear holocaust any more than use of sarin in Syria did.

However! If you don't give a flying fuck about a smaller holocaust then I don't give one about your bigger one even if it involves me, I just don't care.

If you don’t give a flying fuck about a smaller holocaust then I don’t give one about your bigger one even if it involves me, I just don’t care.

Sure, Russia threatens the entire human species, but if it doesn't suit your liberal virtue-signalling for some marginalized minority, then it's fine with you.

What's the survival of humanity vs your imaginary liberal internet points.

Sure, Russia threatens the entire human species,

Your life is worth at best as much as any Artsakhi farmer's life. In fact much less, if by "the entire human species" you mean yourself.

Now, Russia can't threaten anybody, I'd be surprised if any of those strategic nukes are still operational. I happen to live in Russia and know how things are usually done here. That aside, Russia's regime consists of thieves and murderers, not some Hollywood fascist hardliners. They care for their lives very much.

but if it doesn’t suit your liberal virtue-signalling for some marginalized minority

At this point I'd actually prefer that somebody nukes the miserable being you are.

And people of Artsakh are very much the majority in their land, however they are besieged and dying from hunger.

But, well, it's good to know that you care about Ukraine only because of being afraid that, again, somebody nukes you.

Also my ancestors on paternal side happen to be from a certain valley in the province of Tayq, Western Armenia, currently occupied by a certain genocidal NATO country. I won't buy your bullshit. I'll care about Ukraine and somebody, again, nuking you personally when enough people care about that, which is never.

The people of Artsakh are also people of the world. Russia is threatening them with extinction too. You don't actual care about them. You're a fake and a liar begging for liberal minority points online.

Russia is threatening them in much more material way, with all its deals with Azerbaijan (which would be something sanction-worthy for the latter if it were, I don't know, Georgia), but it isn't killing them right now.

You don’t actual care about them.

I very definitely do, my aunt's husband is from there and a participant of the first war.

You’re a fake and a liar

Judging by your use of the words "liberal" and "minority", I'd say your opinion on the matter is not worth much, neither are you as a whole.

If you actually cared about them, you should do something about Russia's short pathetic clown of a dictator. Then Russia would have a chance at respect on the world stage.

Right now, the entire rest world would be better off if Russia didn't exist. You let Putin make that so.

Your own country is not a dictatorship yet it deals with Azerbaijan and Turkey. So you are responsible for that, democracy and all. I suggest you fix that first, then blabber about what I do and don't do, which you don't know anyway. Right now you are a valid target for that "hit them where they don't expect it" option that the weaker side always has.

The US is not threatening the world with nukes, and it isn't destroying a neighboring country like Russia is destroying Ukraine.

Russia is such a steaming heap of shit that it even makes the United States look good. Let that sink in.

12 more...
12 more...
12 more...
12 more...
12 more...
12 more...
12 more...

It won’t lead to a global thermonuclear war and thus a nuclear holocaust any more than use of sarin in Syria did.

You didn't mention the escalation policy of either of those countries during a war event.

Escalation policies tend to become very elastic when implemented by humans.

They really can get to some limited strategic exchange, but after that point some countries are democratic and that demos which supposedly rules them will tear into pieces everybody preventing the cessation of hostilities, and others are authoritarian, and their authority cares about its lives and well-being the most.

I mean, NATO officials have become much more modest with words about "any attack on NATO territory is an attack on NATO" after a few stray missiles have landed on Polish territory, for example.

Escalation policies tend to become very elastic when implemented by humans.

I'm talking about the Rules of Engagement during wartime. Especially when it comes to the release of nuclear weapons. These rules are very un-elastic.

Each use of nuclear force is responded to by an escalated nuclear force reply. This can keep happening until all the missiles are in the air, flying to their destinations.

12 more...
12 more...

I think Ukraine is a western puppet. But that doesn't mean Russia isn't also shit.

People can wrap their heads around two mean bullies fighting in a schoolyard. But someone when it's politics many people want a single bad guy.

Ukraine is not "western" puppet, it's just a big oligarch-dominated part of the ex-USSR.

Say, Transcaucasia was toxic nationalist-bandit-oligarch dominated, with these components being initially almost equally mixed, and to some extent still is.

Russia was oligarch and FSB dominated, until those merged with FSB being on top.

Ukraine was similar, but oligarchs are on top now.

I wholeheartedly agree that Ukraine is better than Russia. It's just more similar to Russia in the dimension of evil than most here seem to think.

12 more...
12 more...

It was not working 2 day on mobile operators, now waiting full shutdown

yup. kinda same experience. tele2. complete shutdown on my vpn.

Shadowsocks worked fine

Shadowsocks is very difficult to block. What provider do you use for shadowsocks?

I am pretty confused by the article.

What I'd expected based on what I've seen so far was that the Kremlin would not care what protocols are used, just whether the a given VPN provider was in Russia and whether it provided the government with access to monitor traffic in the VPN.

So, use whatever VPN protocol you want to talk to a VPN provider where we can monitor or block traffic by seeing inside the VPN. You don't get to talk to any VPN providers for which we can't do that, like ones outside Russia, and the Russian government will do what it can to detect and block such protocols when they pass somewhere outside of Russia.

But that doesn't seem to fit with what the article says is happening.

The media in Russia reports that the reason behind this is that the country isn’t banning specific VPNs. Instead, it’s putting restrictions on the protocols these services use.

According to appleinsider.ru, the two protocols that are subject to the restrictions are:

  • OpenVPN

  • WireGuard

A Russian VPN provider, Terona VPN, confirmed the recent restrictions and said its users are reporting difficulties using the service. It’s now preparing to switch to new protocols that are more resistant to blocking.

I don't see what blocking those protocols internal to Russia buys the Kremlin -- if Terona conformed to Russian rules on state access to the VPN, I don't see how the Kremlin benefits from blocking them.

And I don't see why Russia would want to permit through other protocols, though maybe there are just the only protocols that they've gotten around to blocking.

EDIT: Okay, maybe Terona doesn't conform to state rules or something and there is whitelisting of VPN providers in Russia actually happening. Looking at their VK page, it looks like Terona's top selling point is "VPN access to free internet" and they have a bunch of country flags of countries outside of Russia. So maybe Russia is blocking VPN connectivity at the point that it exits Russia, and it's affecting Terona users who are trying to use a VPN to access the Internet outside Russia, which would be in line with what I would have expected.

Your edit makes sense, it would be possible to block all VPN traffic but just whitelist traffic from trusted IP addresses (like those in Russia). But I don't think we have enough info to say for sure that's what's happening.

Is it possible to bypass this block? Say, embedding VPN packets within a different protocol?

I don't know why some moron downvoted you, but the answer is maybe. For reference, I have always bypassed SSH firewall blocking by sneaking SSH packets within https.

The only way this won't be possible is if the government enforces installing a certificate to use the internet, so that they can do a man-in-the-middle-attack. I heard this is already being done in Afghanistan.

So sad. More and more we are seeing a world were the powers that be can do anything they want but if you do it it's (rightfully) malware and illegal.

The vast majority of popular apps and OSes are spyware by any reasonable definition of the term.

I remember, back in the late 1990s, if I have the time right, when RealPlayer phoned home to check for updates, and there was enormous uproar over the privacy implications.

Things sure have changed since then.

For simple web browsing or streaming over https you can use a socks proxy.

For full VPN function you could try something like IPSec or L2TP, as they’re not listed in the protocols Russia is targeting.

Can someone explain from a technical standpoint how they can block OpenVPN running on port 443? my admittedly limited understanding is that port 443 is the common port for https. If they blocked that port wouldn't that mean that they would be blocking nearly the entire internet?

I don't know what they actually do but one possibly is to look for (absence of) the TLS handshake. Or maybe they simply infect all devices on the Chinese market with MITM certificates to be able to decrypt all TLS encrypted traffic. Should be easy to force companies to do that in such a country.

The port isn’t their focus, they’re looking at the protocol that is being used, regardless of the port. The protocol is still visible when not doing deep packet inspection. That’s why there suggesting a socks proxy for Russian citizens, because that uses HTTPS to tunnel traffic, so it wouldn’t be caught up in protocol analysis.

can you maybe link some ressources on how the protocol used can be detected? i did not know about this and would like to read into it some more :)

Look up NBAR for the basic idea. Each vendor has their own 'secret sauce' implementation, Palo Alto only needs 9 bytes of payload for disambiguation, iirc.

thank you! so it is basically looking at identifiable patterns in the packet flow and matching them to protocols. i also found this paper about traffic identification interesting.

Time to up the spoofing game. Maybe some AI-generated traffic to throw off the packet analytics.

From my understanding, they are most likely just blocking the defualt port of wireguard / openvpn and IPs associated with the VPN servers of VPN providers they dont like.

If they wanted to block VPN traffic over 443 to any IP, they would have to do deep packet inspection, which I would imagine is infeasible for Russia.

Supposedly, the Chinese great firewall does use deep packet inspection, so it is possible to do this at the country level.

They specifically mention it's on the protocol level which would imply it's doing more than just blocking some ports. Not sure why you'd think China could pull that off but it would be infeasible for Russia?

You can analyze the traffic, detect common patterns and also detect source of the request. Russian IT specialists are now using very complex solutions to come around the block which work a lot like MITM attacks.

Couldn't you just use any server/droplet/AWS instance via SSH to get around this law? Seems much simpler.

If you're savvy enough, sure. But for the lay person who doesn't want a clouded view of the world, they likely won't have the same resources or technical capabilities.

It's not without drawback though. SSH tunnel consumes a lot more cpu compared to wireguard. If your vps has a weak cpu, it might not even able to fully saturate a 1gbps connection due to cpu bottleneck on certain ciphers. If you're using a mobile device, it will drain your battery faster than wireguard.

So it'll take you 10 minutes, instead of 5, to download a DVD rip of a movie... This limitation would have next to no practical impact on being able to communicate with the free world.

True, it's not like Russian need to use VPN to pirate stuff anyway.

Wait! You got it. We just encapsule https in the bittorrent protocol!

I was talking to someone from the UAE in some thread on lemmy.blahaj.zone a month back. Apparently, because the UAE doesn't like LGBT stuff, they block images hosted on that server.

I was seriously thinking there about what it would take to hide a VPN connection, and that BitTorrent Is actually not a terrible choice, as it generates a lot of bidirectional traffic.

IIRC I went looking and some guy did a prototype as his masters thesis some years back.

Lemme see if I can find it.

googles

Yeah.

https://github.com/danoctavian/bit-smuggler

China started killing VPN connections.

watcha gonna do.

bit-smuggler might be the tool for you. keep those pesky internet censors off your back, get your tweets through and read your wikipedia in peace.

bit-smuggler is a tool designed to allow you to defeat internet censorship by tunneling your network traffic through what appears to be a genuine bittorrent peer connection, fooling censorship firewalls into thinking it's harmless.

EDIT: Ah, now I remember. Wasn't that they block images, but that they block the server. Gay UAE dude could use a permissable Threadiverse server and federation would let him talk to people on lemmy.blahaj.zone. However, the image-hosting is not federated. If someone put a post with an image up, he could view the text on another Threadiverse server, but couldn't see the images, because the images don't propagate to federated servers. The browser still tries to talk to the original server for that.

People in western countries use VPN to hide bittorrent traffics, while people living in an authoritarian countries uses bittorrent to hide VPN traffics. Life is sometimes stranger than fictions.

Very interesting project though. Thanks for mentioning it.

that's assuming you can get one, which is challenging since most hosting companies don't/can't offer services in russia anymore

Is this just address/port blocking, or DPI of some kind? I'm wondering what they can trigger off?

vpn traffic isnt directly hidden, but it can be helped along.

youd need to encapsulate your vpn traffic in a different protocol, make sure you shape your traffic to expected values for that protocol and then avoid known vpn endpoints.

OpenVPN + obfs4proxy should still work. I've been using it in China for some time along with a VPN client on Android & windows that support obfs3.

!chapotraphouse@hexbear.net will love this.

After a discussion that lasted for way too long, it appears that they like censorship.

They think that this is a perfectly reasonable argument: https://youtu.be/QFgcqB8-AxE and that the government knows better and thus information should be suppressed.

Absolutely ridiculous...

3 more...

Curious if anyone living there has tried Windscribe Stealth protocol?

This has been happening intermittently since 2012 or something.

Not wg, cause it wasn't popular then.

HTTP\HTTPS tunneling etc are not that hard, ya knaw.

Or encrypted GRE, ffs.

Can this actually work? If you run Wireguard on a non-default port, is it possible to tell that it's wireguard?

Most open source vpn protocols, afaik, do not obfuscate what they are, because they're not designed to work in the presence of a hostile operator. They only encrypt the user data. That is, they will carry information in their header that they are such and such vpn protocol, but the data payload will be encrypted.

You can open up wireshark and see for yourself. Wireshark can very easily recognize and even filter wireguard packets regardless of port number. I've used it to debug my firewall setups.

In the past when I needed a VPN in such a situation, I had to resort to a paid option where the VPN provider had their own protocol which did try to obfuscate the nature of the protocol.

Chinese firewall can detect it, AFAIK

Gfw is mostly picky about anything udp or where both ports are unknown. Also if the known port (server) isn't from a licensed block.

Basically there are heuristics that lead to either a reset, a temp block, or a perm block, but it seems to vary from time to time a lot.

Wireguard through gfw worked fine when I tried it. The other client did have a static IP and static Port tho, that probably helped

how long before our beautiful UE thinks about doing the same?

It would only take 1% of the population to oust putler's fascist regime. 1%

I'd like to see your calculations.

1.4 million people in a country where most people are brainwashed do-nothings would be enough to take out a group of the few hundred cowards and their war criminal czar. (thank you @Vriska@lemmy.world )