# 👁️ 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