Tjeneste (service)
Også kendt som: baggrundstjeneste, service
Et program, der kører i baggrunden uden en bruger, ofte starter med computeren og venter på at håndtere forespørgsler.
Kladde - dette opslag er endnu ikke gennemgået.
Formelt
En langvarig proces, som styresystemet selv starter og holder kørende, som regel under en særlig konto, for at levere en funktion som print, opdateringer eller svar på forespørgsler over netværket.
Forklaret enkelt
Som en natportier - ingen ser vedkommende arbejde, men portieren er altid på vagt og klar, når nogen ringer på klokken.
I praksis
Under en gennemgang finder den IT-ansvarlige i en mindre virksomhed en fjernsupport-tjeneste på en server, som starter med maskinen og lytter på en port åben mod internettet, selv om ingen har brugt den i to år; den bliver slået fra.
Hvorfor det betyder noget
Tjenester kører hele tiden, ofte med vide rettigheder og åbne mod netværket, så en fejl i én giver en angriber en vej ind, uden at nogen bruger behøver at klikke på noget.
Teknisk uddybning
På Unix er den traditionelle betegnelse daemon: en proces, der løsriver sig fra sin kontrollerende terminal ved at forke, kalde setsid(), forke igen, skifte til rodmappen og lukke nedarvede fildeskriptorer, og som normalt dropper sine rettigheder, når eventuelle privilegerede porte er bundet. Moderne tjenestestyring gør det meste af det overflødigt. systemd beskriver hver tjeneste i en unit-fil med direktiver som ExecStart=, Type= (simple, forking, notify, oneshot), User=, Restart= og afhængigheder (Wants=, After=), starter den i sin egen cgroup, så alle børneprocesser spores og kan stoppes pålideligt, og opsamler dens output i journalen. Socket activation lader systemd holde den lyttende socket og starte tjenesten ved første forbindelse. launchd har samme rolle på macOS.
På Windows starter Service Control Manager (services.exe) de tjenester, der er registreret under HKLM\SYSTEM\CurrentControlSet\Services, med en starttype (automatisk, forsinket automatisk, manuel, deaktiveret), genopretningshandlinger og en konto. De indbyggede konti har vidt forskellig magt: LocalSystem har fulde lokale rettigheder og computerens identitet på netværket, LocalService og NetworkService er begrænsede, virtuelle konti (NT SERVICE\navn) giver identitet pr. tjeneste, og group Managed Service Accounts (gMSA) giver domæneidentiteter med automatisk skiftede adgangskoder. Mange Windows-tjenester deler svchost.exe-værtsprocesser. Hver tjeneste får desuden et service-SID, der kan bruges i ACL'er.
Tjenester er værdifulde mål, fordi de kører konstant, ofte med forhøjede rettigheder, og ofte lytter på netværket, så en fejl, der kan udnyttes over netværket, giver adgang uden autentificering og uden brugerinteraktion; EternalBlue mod SMBv1, som WannaCry brugte i 2017, er det klassiske eksempel. Lokale svagheder er lige så almindelige: tjenestestier med mellemrum uden anførselstegn (CWE-428, ATT&CK T1574.009), tjenesteprogrammer eller registreringsnøgler, som almindelige brugere kan skrive til, og tjenester, der kører som LocalSystem, hvor en begrænset konto ville være nok. Angribere opretter eller ændrer også tjenester for at opnå persistens og rettighedseskalering (T1543.003 på Windows, T1543.002 for systemd), og tjenestekonti med Kerberos-SPN'er og svage adgangskoder er målet for Kerberoasting (T1558.003).
Hærdning følger mindste privilegium og mindste funktionalitet: slå tjenester fra, der ikke er brug for (CIS Benchmarks lister dem pr. styresystem), kør hver tjeneste under en dedikeret konto med få rettigheder eller en dynamisk tildelt konto, og brug sandkassefunktioner; systemd tilbyder direktiver som NoNewPrivileges=, ProtectSystem=strict, ProtectHome=, PrivateTmp=, CapabilityBoundingSet= og SystemCallFilter=, og systemd-analyze security giver en unit en score for eksponering. Overblik er vigtigt, fordi glemte tjenester som fjernsupportagenter og gamle administrationsgrænseflader er en typisk vej ind for angribere. Ordet er flertydigt: en tjeneste i styresystemet er en lokal baggrundsproces, mens en netværkstjeneste, en microservice eller en IT-ydelse i ITIL-forstand er en funktion, der tilbydes klienter, og som kan være implementeret af én eller mange sådanne processer.
Relationer
- En slags
- Proces
- Bruges sammen med
- Mindste privilegiumServer
Kilder og videre læsning
Lærebøger
- Modern Operating Systems · Tanenbaum & Bos (Pearson)
Hvor dataene kommer fra
Dette opslag er skrevet af en AI ud fra kilderne ovenfor og er endnu ikke gennemgået af et menneske. Brug det som udgangspunkt, og tjek alt vigtigt mod kilderne.
Se gennemgangskøenForeslå en rettelse på GitHubDette begreb som JSON
Nævnt i
Test dig selv
Indlæser…