Portál AbcLinuxu, 13. června 2024 15:56


Dotaz: Nginx server a povoleni pristupu jen z urcitych IP

14.8.2023 21:32 Jix0 | skóre: 24 | blog: Not only for humans
Nginx server a povoleni pristupu jen z urcitych IP
Přečteno: 417×
Odpovědět | Admin
Zdravim.

Nevim si rady s jednou veci, ktera se tyka Nginx serveru. Jde o to, ze mam rozbehly server na jednom z mych minipc a snazim se docilit omezeni pristupu tak, aby se na urcite URL (slozku), mohly dostat jen urcite rozsahy IP adres, jinak pro zbytek slozek na serveru chci pristup zachovat vsem. Pri hledani na google jsem se docetl, co do Nginx configu dopsat, coz nasledne funguje, jenze ne tak jak bych chtel, zablokuje to pristup totiz vsem, i kdyz nad "Deny" polozku, pridam "Allow" polozky s IP adresami a rozsahy co chci povolit. Relevantni cast configu pak vypada nasledovne:
location /files {
                autoindex on;
            allow 185.221.xxx.0/24;
            allow 78.157.xxx.0/24;
            deny all;
        }
Nyni kdyz chci pristoupit na https://78.157.xxx.xxx:8091/files/ dojde k tomu, ze dostanu odpoved "403 - Forbidden", i kdyz pristupuji z povoleneho IP rozsahu.

Pri zkoumani nginx error logu, jsem objevil nasledujici hlaseni, kdy "client" je IP routeru a "host" je moje verejna IP:
2023/08/11 13:39:05 [error] 389198#389198: *1 access forbidden by rule, client: 192.168.88.1, server: _, request: "GET /files/ HTTP/1.1", host: "78.157.xxx.xxx:8091"
Zkousel jsem tedy pridat do configu adresu 192.168.88.1 a nyni se jiz error 403 sice neobjevi, ale jde se na uvedene URL dostat pak kompletne ze vsech subnetu a nic zablokovano neni. Google ani ChatGPT mi v tomto uz dale napomocni nebyli. Dokaze nekdo poradit, co delam spatne? Nginx config je v podstate v default konfiguraci, jen se zapnutym SSL a urcenim dodatecnych slozek, kde chci nahravat soubory a umoznit tak stazeni souboru konkretnim lidem.

Predem diky za navedeni.
If you will not cooperate, you are to be executed! | Starting as a DJ

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Řešení 1× (Jix0 (tazatel))
15.8.2023 01:09 X
Rozbalit Rozbalit vše Re: Nginx server a povoleni pristupu jen z urcitych IP
Odpovědět | | Sbalit | Link | Blokovat | Admin
Problem je, ze tvuj router dela pri pristupu z venku SNAT = prepisuje verejnou adresu svou vlastni vnitrni. Toho je potreba se zbavit tak, aby jsi mohl identifikovat zarizeni z venku na zaklade zdrojove adresy.
Max avatar 15.8.2023 08:13 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Nginx server a povoleni pristupu jen z urcitych IP
Přesně tak. Každopádně mi uniká, proč tak divné nastavení na routeru je. Dělat SNAT do vnitřní sítě nedává moc smysl. Jinak 192.168.88.1 bývá výchozí adresa Mikrotiku, a ten pak dovoluje uvařit i kafe, klidně i z ponožek.
Zdar Max
Měl jsem sen ... :(
AraxoN avatar 15.8.2023 09:17 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: Nginx server a povoleni pristupu jen z urcitych IP
Pre MikroTik bol niekde návod na nastavenie hairpin NAT pre port forwarding a ten práve mal takýto neblahý následok, že cez srcnat zamaskoval aj verejnú IP ktorá prišla z WAN strany. Už som na to kedysi narazil.

Aby to fungovalo správne (hairpin NAT len pre spojenia z LAN a nie z WAN), chce to ešte v Mangle namarkovať tieto spojenia a ten srcnat uplatňovať len pre tento connection mark. Ale to v tom návode už nie je.
15.8.2023 16:18 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Nginx server a povoleni pristupu jen z urcitych IP

Problém hlavně je, že je potřeba přestat používat zombie protokol z roku 1975 a sračky typu SNAT.

Max avatar 15.8.2023 16:36 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Nginx server a povoleni pristupu jen z urcitych IP
Řekni to providerům...
Zdar Max
Měl jsem sen ... :(
16.8.2023 13:18 Jix0 | skóre: 24 | blog: Not only for humans
Rozbalit Rozbalit vše Re: Nginx server a povoleni pristupu jen z urcitych IP
Tak uz se mi to podarilo vyresit. Tato odpoved me navedla si zkontrolovat nastaveni na Mikrotiku a opravdu ja tam mel zbytecne jedno NAT pravidlo, ktere mi toto zpusobovalo. Po jeho odstraneni vse funguje jak ma. Ja kopiroval z predchoziho pravidla, kde to takto z urciteho duvodu mam, jinak dana sluzba nefungovala mimo muj domov (gamestream z domaciho PC) a nejak me to pri zkoumani logu nenapadlo, ze bude problem tam.

V kazdem pripade oznacuji jako vyreseno.
If you will not cooperate, you are to be executed! | Starting as a DJ

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.