Säkerhet på en Geoserver ligger i flera nivåer.
1. Access till dator/nätverk där servern finns (operativsystem).
2. Direkt filåtkomst på servern (nfs, smb, etc).
3. Åtkomst med rättigheter i databasen där data lagras (PostgreSql/PostGIS).
4. Åtkomst till de publicerade tjänsterna på GeoServer.
Den ända som det är lämpligast att börja i, är att sätta rättigheter på tjänserna i GeoServer. Access till filer och databas, skall nog hållas restriktivt och begränsas till ett litet antal.
Rättigheterna sätts i GeoServerns webgränssnitt:
Säkerheten är uppbyggd kring roller och därtill kopplade användare. Det är därför inte lika viktigt att hålla reda på alla användare, utan vilka roller som finns och vad dessa har för rättigheter.
Rättigheterna för olika roller sätts på ”Data” och ”Tjänster”. Rättigheterna på ”Data” nivå reglerar vilka ”Workspace” och till och med lager, som olika roller skall ha läs- respektive skrivrättigheter till. Som standard så är rättigheterna satta som läs- och skriv- för alla roller. Detta kan exempelvis användas för nya data som skapas i ett projekt där det bara skall vara ett litet antal personer inblandade till att börja med.
På tjänstenivå så kan man reglera vilka som skall kunna komma åt exempelvis WMS och WFS tjänster, ner på enskilda metoder, exempelvis Transaktioner för WFS (WFS-T). Även här är standard att alla tjänster nås av alla. Ett sätt kan exempelvis vara att tillåta alla att få access till WMS, medan WFS-T kräver autenciering. Här handlar det framför allt om det är ”konsumenter” av data eller ”producenter” av data generellt.
Tänk på att om du stryper rättigheten till ”Data”, så blir automatiskt rättigheterna för ”Tjänster” också strypta för dessa lager.
Tänk även på att de som har access till filer eller databaser inte berörs av de rättigheter som du sätter i GeoServer. De kan komma åt data i alla fall.
Slutligen kan man välja om ”skyddade” lager skall anonseras med metadata eller ej. Som standard så kan användare utan rättigheter inte ens se att det finns lager som de inte har rätt att hantera. Det går dock att ställa så att det går att se lagernamn och lite information om lagerna, men om man vill komma åt data så måste man ange ett användarnamn och lösenord som är kopplat till en roll med korrekt rättigheter.