Test adgangsgrænsen før en ny forwardproxy bliver tilgængelig fra andre netværk. En vellykket forespørgsel fra serveren selv beviser kun lidt om, hvad en uvedkommende klient kan gøre. Brug et kontrolleret mål for at se, om en afvist forespørgsel faktisk blev videresendt.

Kontrollér den effektive lytter og politik

Undersøg den lyttende proces og adresser, inklusive IPv6 hvis aktiveret. Fjern utilsigtede ekstra lyttere eller gamle tjenesteinstanser. Begræns netværksfirewallen til kilder, der skal nå tjenesten.

Undersøg derefter den faktisk indlæste konfiguration, også inkluderede filer. I Squid 6 kan en tidligere tilladelse gøre en senere begrænsning virkningsløs. I Tinyproxy 1.11.2 tillader fjernelse af alle Allow- og Deny-linjer alle klienter. Dante har separate klient- og SOCKS-regler, så accept af TCP-forbindelsen er ikke hele politikken.

Brug dokumentationen til den installerede version. Direktivændringerne i Squid 8 er grund til at kontrollere versionen, ikke til at antage at en velkendt konfiguration blev accepteret med samme betydning.

Test både tilladte og afviste tilfælde

Hvis proxyen skal kræve både godkendt kilde og login, så kør denne matrix med systemer, du kontrollerer:

KildeLegitimationsoplysningerPåkrævet resultat
TilladtGyldigeDet tilsigtede mål modtager forespørgslen.
TilladtManglende eller forkerteMålet nås ikke.
Ikke tilladtGyldige eller manglendeMålet nås ikke.

To enheder bag samme NAT kan fremstå som samme kilde. Vælg teststeder med forskellige kildeadresser ved proxyen, og bekræft dem i logfilerne. Brug ikke uvedkommende tredjepartsmaskiner, og scan ikke andres tjenester.

En firewallafvisning kan give intet HTTP-svar; en programafvisning kan returnere en fejl. Kontrollér i begge tilfælde, at det kontrollerede mål ikke modtog den forbudte forespørgsel; en fejlside alene kan ellers forveksles med et målsvar.

Afprøv de videresendelsesformer, du vil tillade

For en webproxy, test almindelig HTTP og den tilladte HTTPS-CONNECT-sti hver for sig. Begrænser politikken mål, så test et tilladt mål og et kontrolleret mål, der skal afvises. Fjern ikke kontrollen bare for at få alle test til at lykkes.

Test igen efter ændringer i kildeområder, legitimationsoplysninger, lytteadresser, inkluderede filer eller tjenesteversioner. Gem testtid, konfigurationsversion og resultater sammen, så senere ændringer kan kontrolleres mod samme grænse.

Dette er en acceptprocedure, ikke en påstand om at en konfigurationsparser eller én forespørgsel kan bevise, at alle netværksstier er lukkede.

Relaterede artikler