Hi everyone, this is a continuation of my previous post: https://lemmy.world/post/7542500

Tl;Dr: Do Suricata/snort/Security onion have mechanisms to perform DPI if one provides them with a valid certificate? Any other open source software I should be looking at that can do DPI?


Background:

I have been trying to find ways to masquerade Wireguard traffic as normal HTTPS traffic to circumvent blocks by networks which do not like such traffic. It is quite easy to identify Wireguard traffic with a default setup because their method of implementing SSL is different from normal HTTPS, and most packet analysers can pick up that Wireguard traffic is passing through.

With that said, I have come across 3 methods to alleviate this problem:

(before you implement these, make sure to convert Wireguard traffic into TCP using udp2raw or updtunnel and force operations on port 443)

  1. Use stunnel - seems to be a project that has been around for a while. Encrypts data using SSL, makes it look like HTTPS.
  2. Use obfsproxy - created by the TOR project, can be used alongside OpenVPN.
  3. Use wstunnel - refer to this tutorial.

The alternatives are mainly: use OpenVPN (which can use stunnel or obfsproxy) or Softether (which uses SSL for its VPN).


Question:

I would like to test said software in a comparison of their efficacy against firewalls employing DPI. Which is why I’m looking at FOSS which can do DPI. Does anyone do this for their network at home? This will be for private use only, I won’t be allowing any external access on my network.

Thanks!


Edit: I realise that this might not be much of a problem for a lot of people, but regardless of whether one is facing this problem or not, I believe it is important to keep abreast of such technology and engage with it to improve one’s digital privacy. There is no doubt that such networks exist, and whether one actively engages with them or not is up to the user. In fact, the question is about DPIs, so I’d like to know if anyone has any experience working with FOSS DPIs in their homelab/at work. Thanks!

  • MigratingtoLemmy@lemmy.worldOP
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    Thanks for the note. Good to know that it is more like a proxy which simulates SSL: makes it similar to stunnel. I will likely have to run a VPN protocol underneath with this on top.

    Funny, I heard obfsproxy is used to circumvent the Chinese firewall too. I’ll have to take a look, thanks

    • i_uuuh_what@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      Yeah, no problem.

      I did try wrapping Wireguard inside of xray, but didn’t manage to make it work. Not sure if it’s impossible, but yeah.

      xray clients can work as a system-wide VPN if you’re worried about usability. Just no communication between different machines connected to the same server (probably).

    • moonpiedumplings@programming.dev
      link
      fedilink
      English
      arrow-up
      0
      ·
      edit-2
      1 year ago

      I heard obfsproxy

      Yeah, tor obs4 bridges.

      But somehow, my high school managed to block those. My high school was literally more locked down than the great firewall of China.

      I set up: https://github.com/cognetwork-dev/Metallic

      At first, then I eventually switched to https://github.com/v2ray/v2ray-core as metallic struggled on some things. Both v2ray and xray are built for the great firewall of China, and iirc, they use the same tech.

      It’s not too fast though. That privacy comes at a price. This may be the slowest proxy/vpn out there (although it’s speedy enough for normal web browsing), whereas wireguard is the fastest. Maybe you want something in between? It depends on your threat model.

      • MigratingtoLemmy@lemmy.worldOP
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        Thank you for the links. I’m amazed at what your school has achieved.

        I will try out v2core and xray - I’ll need to search if they have any whitepapers/documentation explaining exactly how these protocols work (at a high-level).

        Thanks again.