Hvad er en reverse proxy? Centrale komponenter i sikkerhedsarkitekturen
Reverse proxyservere bruges som en mellemliggende netværkskomponent til at sikre servere for offentlige onlinetjenester. De modtager serveranmodninger på vegne af serverne og videresender dem til brugerne.
Hvordan fungerer en reverse proxy?
En proxyserver fungerer i bund og grund som en kommunikationsformidler i netværket, der modtager anmodninger og videresender dem til en målserver på vegne af klienten. En reverse proxy er placeret mellem klienter (f.eks. webbrowsere) og backend-servere (f.eks. webservere, databaseservere eller applikationer). Den aktiveres, når der fremsættes en klientanmodning, og afgør, om og til hvilken intern serverkomponent anmodningen skal dirigeres. Processen følger disse fire grundlæggende trin:
- Modtagelse af klientanmodningen: Reverse-proxyen accepterer HTTP-, HTTPS- eller andre anmodninger, såsom FTP eller WebSocket.
- Analyse af anmodningen: Proxyen undersøger, om anmodningen er gyldig, om den udgør en sikkerhedsrisiko, og om der findes en version i cachen.
- Videresendelse til den relevante server: Hvis anmodningen ikke kan besvares fra cachen, sender reverse-proxyen anmodningen til en af de interne servere.
- Svar til klienten: Den omvendte proxy modtager svaret fra backend-serveren, behandler det yderligere, hvis det er nødvendigt (f.eks. kryptering), og sender det tilbage til den anmodende klient.

Hvad er forskellen i forhold til forward-proxyer?
Mens reverse-proxyer, som nævnt tidligere, placeres mellem klienter og backend-servere, placeres forward-proxyer mellem klienter og internettet. En forward-proxy videresender alle klientanmodninger og sender dem med sin egen afsenderadresse til målserverne på internettet. Serverresponser når også først frem til proxyen, før de distribueres til de respektive klient-enheder. Disse forbliver anonyme – medmindre der er tale om en transparent proxy. Mens en forward-proxy beskytter klienter i det interne netværk mod eksterne trusler, sikrer en reverse-proxy servere i et offentligt netværk og optimerer deres tilgængelighed.
Mens reverse-proxyer byder på klare fordele for serverstrukturer gennem funktioner som belastningsfordeling og forskellige sikkerhedsfunktioner, ligger styrken ved forward-proxyer i beskyttelsen af klienterne.

Anvendelsesområder for reverse-proxyer
Ved at samle klientanmodninger kan reverse-proxyservere udøve stor kontrol over den indgående trafik. Dette gør det blandt andet muligt at stille flere servere til rådighed under samme URL, fordele anmodningerne jævnt på forskellige servere og fremskynde hentningen af data gennem caching. Nedenfor er de vigtigste anvendelsesområder for en reverse-proxyserver.
Lastfordeling
En reverse proxy, der placeres foran, gør det muligt at forbinde en URL med forskellige servere i det interne netværk. Dette fordeler indgående anmodninger på flere servere. En sådan belastningsfordeling forhindrer overbelastning af de enkelte systemer og sikrer kontinuitet i tilfælde af nedbrud. Hvis en server ikke kan nås på grund af hardware- eller softwarefejl, omfordeler proxyens belastningsfordelingsmodul de indgående anmodninger til de resterende servere. Dette sikrer, at servertjenesterne forbliver tilgængelige, selv i tilfælde af nedbrud.
Caching
For at gøre servertjenesterne hurtigere kan reverse-proxyer tilbyde en funktion, der gør det muligt at gemme ofte anmodet indhold i cachen. Denne cachelagring gør det muligt for proxyserveren at besvare gentagne anmodninger helt eller delvist på egen hånd. Statisk indhold som billeder eller CSS-stylesheets gemmes i proxyens cache. Som følge heraf behøver der kun hentes meget lidt eller slet ingen data fra backend-serveren, hvilket væsentligt fremskynder adgangen til webtjenester. Da hurtigt skiftende indhold imidlertid ikke altid sikrer, at proxyens cache har den aktuelle version, er der en risiko for, at der leveres forældede oplysninger til de anmodende klienter.
Beskyttelses- og sikkerhedsforanstaltninger
En reverse proxy fungerer som en slags skjold for backend-serverne og kan i denne rolle tilbyde forskellige sikkerhedsfunktioner:
- DDoS-beskyttelse: Reverse proxyservere kan opdage og blokere mistænkelig eller usædvanlig høj trafik under DDoS-angreb, inden den når backend-serverne.
- Web Application Firewall (WAF): Mange reverse proxies inkluderer en WAF, der kan filtrere ondsindede anmodninger som SQL-injektioner eller Cross-Site Scripting (XSS).
- IP-whitelisting og blacklisting: Reverse proxyen kan blokere bestemte IP-adresser eller kun tillade forbindelser fra specifikke netværk, hvis det er nødvendigt.
- Skjulning af backend-servere: Den reverse proxy forhindrer, at backend-serverenes interne IP-adresser er synlige for offentligheden, hvilket gør angreb sværere.
Kryptering
For at mindske belastningen på backend-serverne kan der også anvendes reverse proxy-servere til kryptering. I dette tilfælde dekrypterer den klientens SSL/TLS-anmodning (f.eks. en HTTPS-forbindelse), videresender de dekrypterede data til backend-serverne og sender det tilhørende svar tilbage til klienten i krypteret form. Den interne kommunikation kan foregå enten krypteret eller ukrypteret.
Anonymisering
En reverse proxy kan også bruges til at anonymisere trafikken ved at skjule klienternes oprindelige IP-adresser eller erstatte dem med sine egne IP-adresser. Dette bidrager til at beskytte klienternes privatliv, da de faktiske IP-adresser ikke vil være synlige i logfilerne. Derudover muliggør dette geografisk belastningsfordeling: anmodninger kan dirigeres til den nærmeste server afhængigt af brugerens geografiske placering.
Komprimering
Med den rette software kan en reverse proxy bruges til at komprimere indgående og udgående data. Et populært program til komprimering af hjemmesider er gzip, som ofte bruges sammen med webserverne Apache eller NGINX.