Rád bych se zeptal, jestli je možné na VPS nějak nasadit geo blocking?
Mám tam “gateway”/reverzní proxy, která pak typicky posílá po VPN traffic na endpointy u mě doma za NATem. A pak tam mám také DNS server (AdGuard Home, běží přímo na VPS, a dokud jsem měl vystavený port 53, byl poměrně intenzivně zneužíván).
Myslel jsem, že když si poladím iptables (OS je Debian 12), tak si geo blocking zařídim sám.
Jenže jak jsem to teď zkoušel, tak to vypadá, že před VPS je ještě NAT (nebo nějaký jiný prvek), a traffic na VPS teče vždy z privátního rozsahu. Privátní rozsahy ale musím nechat povolené minimálně kvůli Dockeru a VPN, a předpokládám, že jsou také potřeba pro funkčnost v rámci VPSFree infrastruktury.
Takže ale realisticky mi blokování na úrovni iptables nefunguje, protože i když NAT před VPS posílá správně “X-Forwarded-For”, tak ale traffic samotný vypadá, že přichází z privátního rozsahu (např. 172.18.0.1:47492).
Je pravda, ze to vevnitr routujeme po privatnich adresach, to jo, ale 172.18/16 je pridelene na VPSkach, ktere chteji mit privatni adresy, konkretne tu 172.18.0.1 nekdo ma, takze pokud z ni neco chodi a neni zrovna tvoje a nechces to tam, muzeme mu napsat
Routuje se pres 172.16.{254,253}/24 a v brne pres 172.19.0.0/24 (subject to change), to by ale nemelo mit vliv na charakter trafficu, co pres to plave.
@ Geoblocking, jaky to ma use-case? Jestli to vubec ma cenu resit, protoze pri fragmentaci ipv4 adresniho prostoru, jaka je, to bude hodne pravidel, aby se spolehlive vyblokovala nejaka konkretni zeme - a taky to bude chtit pravidelne aktualizovat - no a ta zadarmo dostupna verze GeoIP DB na to zas tak uplne nestaci.
Já mám podezření, že ta 172.18.0.1:47492 bude nějaká proxyna Dockeru. Budu si s tím muset ještě hrát.
To, co jsem z ní viděl, bylo iniciovaný ode mně, takže pravděpodobně v tom nemá prsty nikdo z jiné VPSky
Ten geo blocking by mě lákal po tom, co jsem viděl, co mi chodí na ten AdGuard, spíš si to vyzkoušet tak nějak principiálně Vyzkoušet, naučit se to (konečně mě to nutí učit se iptables ) a ochránit si rovnou i ostatní věci, co mam za tou reverzní proxynou.
Ale tam ještě nejsem, zatím jsem chtěl jenom povolit ty privátní range, povolit svojí IP, ostatní dropovat a myslel jsem, že pak se tam z VPNky (z UK) nedostanu, ale bohužel jsem se tam dostal
Díky moc za reakce, pokračovat s hraním budu zase až tak koncem týdne.
nebylo by lepší mít whitelist než blacklist? to by ten seznam pravidel pro iptables mohl být možná menší při blokaci mnoho zemí. pokud jen nějaké země(pár zemí) tak spíš ten blacklist. Nevím jak máš řešený server a věci v něm, ale pokud používáš docker, tak to vypadá, že se ti provoz z venku NATuje do privátního rozsahu, ale je to jen spekulace.
Podle toho rozsahu to temer urcite nebude vina vpsFree, ale Dockeru :)) V zakladu, pokud kontejnery nijak nenastavis, tak jsou za NATem. Muzes teoreticky pouzit network_mode: host (--net=host u docker run), ale tim prijdes o nektere “bezpecnostni” benefity toho NATovani, ze. X-Forwarded-For, kterej muze neco nekde nastavovat, je HTTP (L7), takze L3 iptables o tom nema ani paru. Asi bych doporucil se v tomhle pripade vykaslat na iptables a resit to nejak na aplikacni vrstve (nginx s nejakym GeoIP modulem jako reverzni proxy). Kazdopadne i tak je zvlastni, ze tam vubec tu hlavicku mas. Neni uz soucasti toho adguardu nejaka proxyna?