- cross-posted to:
- selfhosted@lemmy.world
- cross-posted to:
- selfhosted@lemmy.world
cross-posted from: https://lemmy.world/post/11162262
Hey,
For all of you that are running proper setups and use nftables to protect your servers be aware that
pvxe/nftables-geoip
now has the ability to generate IP lists by country.This can be used to, for instance, drop all traffic from specific countries or the opposite, drop everything except for your own country.
https://github.com/pvxe/nftables-geoip/commit/c137151ebc05f4562c56e6802761e0a93ed107a2
Here’s how you can block / track traffic from certain countries:
- https://wiki.nftables.org/wiki-nftables/index.php/GeoIP_matching
- https://www.mybluelinux.com/nftables-and-geoip
Previously you had to load the entire geoip DB containing multiple GB and would end up using a LOT of RAM. Those guides aren’t yet updated to use the country specific files but it’s just about changing the
include
line to whatever you’ve generated withpvxe/nftables-geoip
.
Mmh. We should use georestriction with caution. Ultimatly the internet was made to connect people. And blocking people based on their origin is an attack on freedom and equality. There are valid use-cases, though. Just don’t take it lightly.
What’s the point of your comment? I doubt anyone here would just block countries on random from accessing their servers. The tool doesn’t seem to promote such behaviour either.
Yeah, back when the war with Russia and the Ukraine started I’ve seen people post tutorials about how to block people in Russia from accessing their blog and self-hosted services. So just for political reasons. I don’t think this makes the world a better place.
Same with countries where lots of attacks originate from. I think a better approach would be to block offending address ranges if possible, not directly block countries and all the people who live there.
I don’t think something needs to directly promote bad behaviour. Sometimes just making it easy, is enough to warrant a disclaimer to think before applying it.
Totally agree! This will isolate people from accessing useful information.
Not people, it’s more about adding an extra protection step for some services like a system management-only VPN or SSH (if not behind the VPN) and it shouldn’t be the only thing deployed. Fail2ban and others should be there as well.
After all it doesn’t make sense to allow access to your VPN from China or maybe restrict it to your country if you’re not traveling. There’s another use case that is, you need to access some service from another system where you can’t have a VPN and that system doesn’t have a static IP, this increases the security a bit. It should be narrowed down to the ISP ranges level but that’s not always possible.
Sure, I didn’t list what I meant by ‘valid use-cases’. If it’s just your private VPN or SSH endpoint, it’s like blocking your bank card from being used abroad. It might backfire once you travel and forgot about it. But I think it’s a valid use case. Ultimately it’s not the countries you want to block but address ranges which get used by attackers. But security is complex, it may not be feasible to allow-list just the carriers you use to connect, or find a suitable blocklist.
I’d be happy if georestriction wasn’t a thing and I could stream Doctor Who from the BBC and some news sites wouldn’t refuse service to me because I live in the EU and they don’t want to implement the GDPR.
But I agree, this is just a tool. And it can be used for good things and bad things.
I don’t complain if the same tool is used to route my requests to a datacenter nearby.