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:
-
IP A has a long-running SSH connection to IP B.
-
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.
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.)
Blocking all encrypted traffic… fantastic suggestion comrade, I’ll forward this on to the Kremlin. Also, you’ve been drafted.
I suppose with “comrade” you are hinting at Soviet customs, but Russia isn’t the USSR and couldn’t be further from being socialist
Russia isn’t the USSR but it is heading towards the USSR ways, and it’s already there in many aspects. It’s not just on a technical definition, a lot of pro-war and nationalist rhetoric is rooted in the old USSR culture.
The USSR wasn’t socialist, it was communist. And yes I know, it wasn’t real communism because real communism is a utopia.
It’s a custom protocol that uses SSL/TLS for key exchange and such, so it can be detected. It’s actually causing huge problems for many large Russian companies, as it’s common to use those protocols for remote access, work, etc.
As mentioned in the article you need something like “Shadowsocks” to avoid protocl blocking, since it fully disguises the traffic as standard SSL/TLS. Which was created for, and is still used to circumvent this type of blocking in “the great firewall of china”.
https://security.stackexchange.com/questions/187649/is-it-possible-to-detect-vpn-in-the-network
tl;dr: You can infer that OpenVPN is used from the key exchange somehow.
Unless the whole of the inner IP packet is encrypted,
It is, because they’re inside an encrypted stream of data.
The way OpenVPN works is this:
-
OpenVPN establishes a TLS connection to the OpenVPN server.
-
Your computer’s kernel generates an IP packet.
-
OpenVPN sucks that up, shoves it into the TLS connection. That connection is encrypted, so the network provider cannot see inside it, know whether the data is IP packets or anything else, though I suppose maybe traffic analysis might let one classify a connection as probably being a VPN.
-
The data in that connection is broken up into IP packets, went to the OpenVPN server.
-
The OpenVPN server decrypts the data in the TLS stream, pulls the original IP packets out.
So the original packets are always encrypted when the network sees them. Only the OpenVPN server can see the unencrypted packet you originally sent.
What @raltoid is saying sounds plausible, though I can’t confirm it myself off-the-cuff – that OpenVPN is detected by looking at somehing unique in the initial handshake.
VPN detection is simple: track new encrypted connections outside of Russia, connect to the same server, check if it replies as a VPN server. If it does, block the shit out of it. No need for packet inspection or any voodoo.
Is OpenVPN not just SSL traffic?
It’s not, it’s an IPSec VPN by default which runs over UDP. You can run it via TCP and it operates over the same port as HTTPS (443), but it’s not the same protocol and can be differentiated that way.
A way around this would be to run an SSLVPN with a landing page where you log in instead of using an IPSec VPN or a dedicated SSLVPN client.
Another way around it would be to create a reverse SSH tunnel on a VM/VPC in another country/state and send all your traffic through that.
Is OpenVPN not just SSL traffic?
It’s not, it’s an IPSec VPN by default which runs over UDP. You can run it via TCP and it operates over the same port as HTTPS (443), but it’s not the same protocol and can be differentiated that way.
I think that either I’m misunderstanding what you’re aiming to say, or that this is incorrect.
OpenVPN can run over UDP or TCP, but it’s not IPSec, not even when running over UDP. IPSec is an entirely separate protocol.
Shithole country
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.
IIRC Pakistan also do this (vpn is blocked by default and you’ll need to submit documentation to justify using VPN if you want to use VPN in your company), though their main reason is to reduce VoIP spammers.
I see! So, to quote the sources you provided:
“Despite widespread speculation, the law does not directly ban the operation of VPNs and anonymisers. However, it does restrict access to banned websites with the help of these tools.”
I.e. the VPN providers themselves are not illegal, though the VPN providers technically have to not allow users to access content listed by rospotrebnadzor. That’s responsibility on the side of the providers, not a ban on use. Practically speaking it still is attempting to censor content, but neither of the three sources claim that VPN use is illegal in Russia.
But how are their propaganda farms going to be able to pretend they are in your country now?
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.
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.