
Wie, wanneer en van waar? Goede beveiligingspraktijken zeggen dat je moet weten wie er toegang heeft gehad tot je Linux-computer. We laten je zien hoe.
Het wtmp-bestand
Linux en andere Unix-achtige besturingssystemen zoals MacOS zijn erg goed in loggen. Ergens in de ingewanden van het systeem is er een logboek voor zo ongeveer alles wat je maar kunt bedenken. Het logbestand waarin we geïnteresseerd zijn, wordt genoemd wtmp. De “w” zou kunnen staan voor “wanneer” of “wie” – niemand lijkt het daarmee eens te zijn. Het ’tmp’-gedeelte staat waarschijnlijk voor’ tijdelijk ‘, maar het kan ook staan voor’ timestamp ‘.
Wat we wel weten is dat wtmp is een logboek dat elke login en uitloggebeurtenis vastlegt en registreert. De gegevens in het wtmp log is een basisstap bij het nemen van een beveiligingsgerichte benadering van uw systeembeheerderstaken. Voor een typische gezinscomputer is het misschien niet zo kritisch vanuit een beveiligingsperspectief, maar het is interessant om uw gecombineerd gebruik van de computer te kunnen beoordelen.
In tegenstelling tot veel van de op tekst gebaseerde logboekbestanden in Linux, wtmp is een binair bestand. Om toegang te krijgen tot de gegevens erin, hebben we een tool nodig die voor die taak is ontworpen.
Die tool is de last opdracht.
Het laatste commando
De last commando leest gegevens van het wtmp log en geeft het weer in een terminalvenster.
Als je typt last en druk op Enter. Alle records uit het logbestand worden weergegeven.
last

Elk record van wtmp wordt weergegeven in het terminalvenster.
Elke regel bevat van links naar rechts:
- De gebruikersnaam van de persoon die zich heeft aangemeld.
- De terminal ze waren ingelogd. Een terminalinvoer van
:0betekent dat ze waren ingelogd op de Linux-computer zelf. - De IP adres van de machine waarop ze waren ingelogd.
- De Log in tijd- en datumstempel.
- De looptijd van de sessie.

De laatste regel vertelt ons de datum en tijd van de eerste geregistreerde sessie in het logboek.
Elke keer dat de computer wordt opgestart, wordt een login-invoer voor de fictieve gebruiker ‘reboot’ in het logboek ingevoerd. Het terminalveld wordt vervangen door de kernelversie. De duur van de aangemelde sessie voor deze vermeldingen vertegenwoordigt de uptime voor de computer.
Een specifiek aantal regels weergeven
De … gebruiken last op zichzelf produceert een dump van het hele logboek, waarbij het meeste langs het terminalvenster suist. Het gedeelte dat zichtbaar blijft, zijn de vroegste gegevens in het logboek. Dit is waarschijnlijk niet wat u wilde zien.
Je kunt het zien last om u een specifiek aantal regels output te geven. Doe dit door het gewenste aantal regels op de opdrachtregel op te geven. Let op het koppelteken. Om vijf regels te zien, moet u typen -5 en niet 5:
last -5

Dit geeft de eerste vijf regels uit het logboek, de meest recente gegevens.

Netwerknamen weergeven voor externe gebruikers
De -d (Domain Name System) optie vertelt last om te proberen IP-adressen van externe gebruikers om te zetten in een machine- of netwerknaam.
last -d

Het is niet altijd mogelijk voor last om het IP-adres naar een netwerknaam te converteren, maar de opdracht zal dit doen wanneer het kan.

IP-adressen en netwerknamen verbergen
Als u niet geïnteresseerd bent in het IP-adres of de netwerknaam, gebruikt u de -R (geen hostnaam) optie om dit veld te onderdrukken.

Omdat dit een nettere uitvoer geeft zonder lelijke omhullingen, is deze optie in alle volgende voorbeelden gebruikt. Als je last om te proberen ongebruikelijke of verdachte activiteiten te identificeren, zou u dat doen niet onderdruk dit veld.

Records selecteren op datum
U kunt de -s (sinds) optie om de uitvoer te beperken om alleen inloggebeurtenissen weer te geven die plaatsvonden sinds een specifieke datum.
Als je alleen inloggebeurtenissen wilt zien die plaatsvonden vanaf 26 mei 2019, zou je het volgende commando gebruiken:
last -R -s 2019-05-26

De uitvoer toont records met inloggebeurtenissen die plaatsvonden vanaf het tijdstip 00:00 op de opgegeven dag tot aan de nieuwste records in het logbestand.

Zoeken tot een einddatum
U kunt de -t (tot) om een einddatum op te geven. Hiermee kunt u een set aanmeldingsrecords selecteren die plaatsvonden tussen twee interessante datums.

Dit commando vraagt last om de login-records op te halen en weer te geven van 00:00 (zonsopgang) op de 26e tot 00:00 (zonsopgang) op de 27e. Dit beperkt de lijst tot inlogsessies die alleen op de 26e plaatsvonden.

Tijd- en datumnotaties
U kunt zowel tijden als datums gebruiken met de -s en -t opties.
De verschillende tijdnotaties die kunnen worden gebruikt met de last opties die datums en tijden gebruiken zijn (naar verluidt):
- JJJJMMDDuummss
- JJJJ-MM-DD uu: mm: ss
- JJJJ-MM-DD uu: mm – seconden worden ingesteld op 00
- JJJJ-MM-DD – tijd is ingesteld op 00:00:00
- uu: mm: ss – datum is ingesteld op vandaag
- uu: mm – datum wordt ingesteld op vandaag, seconden op 00
- nu
- gisteren – de tijd is ingesteld op 00:00:00
- vandaag – de tijd is ingesteld op 00:00:00
- morgen – de tijd is ingesteld op 00:00:00
- + 5min
- -5 dagen
Waarom ‘zogenaamd’?
Het tweede en derde format in de lijst werkten niet tijdens het onderzoek voor dit artikel. Deze commando’s zijn getest op Ubuntu-, Fedora- en Manjaro-distributies. Dit zijn afgeleiden van respectievelijk de Debian-, RedHat- en Arch-distributies. Dat omvat alle belangrijke families van Linux-distributie.
last -R -s 2019-05-26 11:00 -t 2019-05-27 13:00

Zoals u kunt zien, retourneerde de opdracht helemaal geen records.
Als u de eerste datum- en tijdnotatie uit de lijst gebruikt met dezelfde datum en tijden als de vorige opdracht, worden records geretourneerd:
last -R -s 20190526110000 -t 20190527130000

Zoeken op relatieve eenheden
U geeft ook tijdsperioden op die worden gemeten in minuten of dagen, ten opzichte van de huidige datum en tijd. Hier vragen we records van twee dagen geleden tot een dag geleden.
last -R -s -2days -t -1days

Gisteren, vandaag en nu
Je kunt gebruiken yesterday en tomorrow als afkorting voor de datum van gisteren en de datum van vandaag.
last -R -s yesterday -t today

Niet dat dit geen records voor vandaag bevat. Dat is het verwachte gedrag. De opdracht vraagt om records vanaf de startdatum tot de einddatum. Het niet omvatten records binnen de einddatum.

De now optie is een afkorting voor ‘vandaag op dit moment’. Gebruik deze opdracht om de inloggebeurtenissen te zien die hebben plaatsgevonden sinds 00:00 (zonsopgang) tot het moment waarop u de opdracht geeft:
last -R -s today -t now

Dit toont alle inloggebeurtenissen tot op het moment, inclusief degene die nog zijn ingelogd.

De huidige optie
De -p Met de (huidige) optie kunt u achterhalen wie er op een bepaald moment was ingelogd.
Het maakt niet uit wanneer ze zich hebben aangemeld of afgemeld, maar als ze op de computer waren aangemeld op het tijdstip dat u opgeeft, worden ze in de lijst opgenomen.
Als u een tijd zonder datum opgeeft last gaat ervan uit dat je ‘vandaag’ bedoelt.
last -R -p 09:30

Mensen die nog ingelogd zijn hebben (uiteraard) geen uitlogtijd; ze worden beschreven als still logged in . Als de computer niet opnieuw is opgestart sinds het tijdstip dat u opgeeft, wordt deze weergegeven als still running.

Als u de now steno met de -p (huidige) optie kunt u zien wie er is ingelogd op het moment dat u de opdracht geeft.
last -R -p now

Dit is een ietwat langdradige manier om te bereiken wat kan worden bereikt met de who opdracht.

VERWANT: Hoe u het huidige gebruikersaccount in Linux kunt bepalen
Het lastb-commando
De lastb commando verdient vermelding. Het leest gegevens uit een logboek genaamd btmp. Er is iets meer consensus over deze lognaam. De ‘b’ staat voor slecht, maar het ’tmp’-gedeelte is nog onderwerp van discussie.
lastb somt de slechte (mislukt) inlogpogingen. Het accepteert dezelfde opties als last. Omdat het mislukte inlogpogingen waren, hebben alle vermeldingen een duur van 00:00 uur.
Je moet gebruiken sudo met lastb.
sudo lastb -R

Het laatste woord over de kwestie
Weten wie zich op uw Linux-computer heeft aangemeld, wanneer, en waar vandaan is nuttige informatie. Door dit te combineren met de details van mislukte inlogpogingen, kun je de eerste stappen zetten om verdacht gedrag te onderzoeken.