Re: Reverse proxy met tellende portier functie
On Thu, Dec 28, 2023 at 08:53:23AM +0100, Martijn van de Streek wrote: > Geert Stappers schreef op wo 27-12-2023 om 11:40 [+0100]: > > Waar de "portier" op moet letten is vanaf waar een HTTP request komt. > > En bij meer dan N verzoeken in tijdsbestek "tijd van alleen halen is > > voorbij" antwoorden. > > > > > > Welke richting zoek ik verder moeten zoeken? > > Optie 1: Authorisatie > > Authorisatie kun je heel groots aanpakken met een Keycloak of Ory > server en dan elk request de OAuth2/OIDC tokens verifiëren, of heel > simpel met HTTP Basic Authorization waarmee je voor elke legitieme > gebruiker een gebruikersnaam + wachtwoord maakt (".htaccess" noemen > sommige mensen dit nog, uit de tijd dat alle webservers Apache waren). > > OAuth2 vereist wel dat je API-servers of reverse proxy dit ook > ondersteunen. Oja, in eerste bericht niet vertelt wat er achter de reverse proxy zit. Dat zijn zaken waar geen account voor nodig is, bijvoorbeeld "apt install" > Optie 2: Rate limiting > > Rate limiting kunnen de meeste reverse proxies op basis van allerlei > criteria. De meeste reverse proxies ondersteunen dit: > > Nginx: https://nginx.org/en/docs/http/ngx_http_limit_conn_module.html > Traefik: https://doc.traefik.io/traefik/middlewares/http/ratelimit/ > > Optie 3: Blokkeerlijst > > Je kunt ook een statische of dynamische blokkeerlijst bijhouden van IP- > adressen van bekende misbruikers, en de reverse proxy zo instellen dat > die áltijd een foutmelding krijgen. > > Met een programma als fail2ban kun je loganalyse doen en daarmee een > dynamische blokkeerlijst maken (detecteer scrapen = 24 uur IP ban, dat > idee). Het nieuwe inzicht is dat ik vooral de webservice moet gaan bouwen die ik zelf wil hebben. En _nu niet_ druk maken over free riders. > Groeten, > Martijn Dank Groeten Geert Stappers -- Silence is hard to parse
Re: Reverse proxy met tellende portier functie
Geert Stappers schreef op wo 27-12-2023 om 11:40 [+0100]: > Waar de "portier" op moet letten is vanaf waar een HTTP request komt. > En bij meer dan N verzoeken in tijdsbestek "tijd van alleen halen is > voorbij" antwoorden. > > > Welke richting zoek ik verder moeten zoeken? Optie 1: Authorisatie Authorisatie kun je heel groots aanpakken met een Keycloak of Ory server en dan elk request de OAuth2/OIDC tokens verifiëren, of heel simpel met HTTP Basic Authorization waarmee je voor elke legitieme gebruiker een gebruikersnaam + wachtwoord maakt (".htaccess" noemen sommige mensen dit nog, uit de tijd dat alle webservers Apache waren). OAuth2 vereist wel dat je API-servers of reverse proxy dit ook ondersteunen. Nginx kan dit (ik weet niet hoe goed dit werkt, heb het zelf nooit gebruikt): https://nginx.org/en/docs/http/ngx_http_auth_jwt_module.html Optie 2: Rate limiting Rate limiting kunnen de meeste reverse proxies op basis van allerlei criteria. De meeste reverse proxies ondersteunen dit: Nginx: https://nginx.org/en/docs/http/ngx_http_limit_conn_module.html Traefik: https://doc.traefik.io/traefik/middlewares/http/ratelimit/ Optie 3: Blokkeerlijst Je kunt ook een statische of dynamische blokkeerlijst bijhouden van IP- adressen van bekende misbruikers, en de reverse proxy zo instellen dat die áltijd een foutmelding krijgen. Met een programma als fail2ban kun je loganalyse doen en daarmee een dynamische blokkeerlijst maken (detecteer scrapen = 24 uur IP ban, dat idee). Groeten, Martijn
Reverse proxy met tellende portier functie
Hoi, Welke software is te gebruiken als reverse web proxy met een ingebouwde (of aan te bouwen) portier functie? Met reverse web proxy is een daemon bedoelt die HTTP requests opvangt, uitsplitst en doorgeeft aan achterliggende HTTP services. Bij portier moet je deze keer ook denken aan persoon die toegangscontrole doet. Iemand/iets wat bepaalt "wel of niet naar binnen". Mijn inschatting is de dat Apaches, Nginxs, Caddies en Traefiks wel iets hebben waar te configureren is welke HTTP requests nog "fair use" zijn. Maar hoe noemen zij dan hun portier functie? Is het reeds aanwezig of moet je een of andere module activeren? Hoe heet die dan? Probleem wat ik voorzie, probleem wat ik wil voorkomen, is dat webservices die ik voor mezelf en wat vrienden neerzet, dat ie ook gebruikt worden door "ik wil het wel hebben, maar er niets voor doen" types. Misbruikt, uitgebuit, door zulke types. Aan hun wil een HTTP 409 of HTTP 451 met bij behorende pagina teruggeven. Waar de "portier" op moet letten is vanaf waar een HTTP request komt. En bij meer dan N verzoeken in tijdsbestek "tijd van alleen halen is voorbij" antwoorden. Welke richting zoek ik verder moeten zoeken? Groeten Geert Stappers -- Silence is hard to parse