# 👁️ Daglig check-in – Hold øje med din server > [!info] Dette er ikke en formel rapport > I behøver ikke skrive en struktureret opgave eller følge et bestemt format. > Skriv bare hvad I har **set og bemærket** siden sidst – som om I fortalte det til en kollega ved kaffemaskinen. > To til fem sætninger er fint. Det vigtige er at I faktisk logger ind og kigger. --- ## Hvad skal I gøre? Log ind på jeres server og kig i `auth.log`. Brug de kommandoer I allerede kender: **Hurtig status – hvad er sket de seneste timer?** ```bash tail -50 /var/log/auth.log ``` I skulle gerne kunne finde jer egen login på følgende måde ```bash grep "Accepted publickey" /var/log/auth.log | tail -30 ``` En rigtig god ide lige at lave en kontrol af at det stemmer overens med de IP adresser i har kendskab til, altså jeres egen respektive IP og fx. skolens IP adresse hvis I logger ind fra EDU netværket. **Filtrér for mislykkede forsøg:** ```bash grep "Invalid user" /var/log/auth.log | tail -30 ``` **Tæl hvor mange unikke IP-adresser der har forsøgt sig:** ```bash grep "Invalid user" /var/log/auth.log | awk '{print $7}' | sort | uniq -c | sort -rn | head -10 ``` Er der en IP adresse der er særlig aktiv? --- ## 🔍 Ekstraopgave – bryd kommandoen ned Ovenstående kommando er et godt eksempel på hvordan man i Linux kan kæde (pipe) simple værktøjer sammen til noget kraftfuldt. Prøv at forstå hvad hvert enkelt led gør: ``` grep "Invalid user" /var/log/auth.log | awk '{print $7}' | sort | uniq -c | sort -rn | head -10 [1] [2] [3] [4] [5] [6] [7] ``` En linje i `auth.log` ser sådan ud – læg mærke til at hvert ord er et felt: ``` 2026-02-25T10:07:11.522664+00:00 ubuntu-1cpu-1gb-dk-cph1 sshd[18751]: Invalid user guest from 91.202.233.33 port 28006 $1 $2 $3 $4 $5 $6 $7 $8 $9 $10 $11 $12 $13 ``` **Spørgsmål – diskutér og svar:** **1.** Hvad gør hvert led i kommandoen? Udfyld tabellen: | Led | Kommando | Hvad gør den? | | --- | --------------------- | ------------- | | 1 | `grep "Invalid user"` | | | 2 | `/var/log/auth.log` | | | 3 | `awk '{print $7}'` | | | 4 | `sort` | | | 5 | `uniq -c` | | | 6 | `sort -rn` | | | 7 | `head -10` | | **2.** Kommandoen bruger `$7` til at udtrække IP-adressen. Hvilket felt-nummer (`$?`) skal du bruge for at udtrække **brugernavnet** i stedet? Prøv det af og verificér at du får det rigtige ud. > [!tip]- Hint > Kig på feltinddelingen i eksemplet ovenfor. Brugernavnet er `$6`. ```bash sudo grep "Invalid user" /var/log/auth.log | awk '{print $?}' | sort | uniq -c | sort -rn | head -10 ``` **3.** Hvad skal der **ændres eller tilføjes** i kommandoen for at få en **sammentælling af brugernavne** – altså en liste over hvilke brugernavne der er forsøgt flest gange? Skriv den færdige kommando i din korte observationsrapport **4.** Hvad fortæller en sammentælling af brugernavne dig som sikkerhedsansvarlig – som en sammentælling af IP-adresser ikke gør? --- ## Hvad skal I rapportere? Skriv jeres observationer i **Canvas-grupperummet** – kort og uformelt. Prøv at svare på disse spørgsmål hvis I kan: - Har der været forsøg på login siden sidst? - Hvilke brugernavne er forsøgt – er der noget der skiller sig ud? - Fra hvilke IP-adresser? Er der én der går igen? - Er der noget der virker anderledes eller mærkeligt end hvad I forventer? --- > [!tip] Husk > I behøver ikke kende svaret på alt. Hvis I ser noget I ikke forstår – skriv det ned alligevel. Det er præcis sådan rigtig sikkerhedsovervågning fungerer: man logger hvad man ser, også selv om man ikke ved hvad det betyder endnu. --- > [!example] Eksempel på en god check-in (uformel stil) > *"Vi loggede ind kl. 10:30. Der har været ca. 40 mislykkede loginforsøg siden i går – primært på brugernavne som root og admin. Én IP dukker op rigtig mange gange: `176.120.22.13` > Vi ved ikke hvem det er endnu. Ellers intet nyt."* --- Det er nok. Vi samler op i klassen HH-out