Hello guys, I’m have little to no experience when i have to deal with networking or cybersecurity.

I recently created a backend RESTful API on my Ubuntu VM on my personal desktop and dockerized the app, connecting it to a bridge network named ‘tunnel.’ I also have the Cloudflare Docker hosted in the same ‘tunnel’ network, which allows my local RESTful API Docker to be accessible via my domain and exposed to the internet.

Can anyone help me understand if this setup poses any security risks to my home network?

If so, what should I do to help reduce the risk? I have read that firewall helps, but does a restful api container developed with golang requires it?

  • TheGr8CodeWarrior@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    > There’s nothing inherently insecure about exposing a service to the internet. But it does create an attack surface.
    Way too many people I know work in security don’t understand this. I’ve tried explaining to people that exposing a hardened SSH endpoint is almost the same thing as exposing a VPN endpoint.
    Most people think that anything public facing with authentication is by design bad. (The VPN endpoint still handles authentication btw) but fail to acknowledge the thousands and thousands of secure systems running in that fashion today that they use on a daily basis (social media, web host control panels, etc.)

    Making a service publicfacing is not by itself insecure. Generally if you can avoid doing it, you should, but hardening an endpoint to make the risk satisfactory is your goal when you need to.

    Public SSH is not a bad thing. Password auth, root login allowed, and no ip ban mechanism (fail2ban) is a bad security configuration.

    TL;DR

    Public endpoints should be hardened to what you think is an acceptable risk.
    With your API, your should fuzz it and consider the attack surface inside your API.
    What inputs are you accepting? Are they sanitized? Can you lock down the endpoint with authentication?