I mitt tidigare inlägg skrev jag angående GDPR och kryptering. För den som är intresserad, skriver jag nedan om att kryptera loggfiler i Linux-miljö. Inlägget är inspirerat av det som skrevs i ctrl.blog, eftersom skribenten inte gick djupare i det ämnet. Förhoppningsvis kan mitt inlägg ge lite bättre svar i ämnet.
1. Skapa ett nyckelpar, i en separat maskin
GnuPG är ett fritt program som implementerar OpenPGP-standarden enligt RFC4880 (även känt som PGP). För att öka säkerheten bör ett nyckelpar skapas i en separat maskin. Det minskar eventuella skador, om någon obehörig skulle ta över måldatorn som skall kryptera loggfilerna.
Nyckelpar kan skapas i Linux-, Windows- och Mac-datorer i olika program. Github har skrivit ett inlägg om hur man skapar ett nyckelpar med GPG.
2. Importera enbart den publika nyckeln
För att kryptera loggfilerna i servern måste gpg2 vara installerad i servern. Därefter måste den publika nyckeln importeras till loggservern. Nyckeln används för att kryptera filerna, och kan inte användas för att avkryptera dem. När nyckeln hos på den berörda användaren som exekverar logrotate, skall även nyckeln importeras med kommandot nedan (förutsatt att den publika nyckeln heter public.key):
gpg --import public.key
Det viktiga är också att nyckeln är betrodd. För att få nyckelidentiteter som man har på Linux-servern kör man nedan kommando.
gpg --list-keys --keyid-format LONG
Nyckeln som man importerat kan man också modifiera, om den inte känns igen som betrodd. Kör då nedan kommando (obs! Du bör vara helt säker på att detta är din importerade nyckel):
gpg --edit-key keyid
Därefter väljs förtroende för denna nyckel, som är viktig för att kunna kryptera loggfilerna framöver.
3. Modifiera konfigurationsfilen för att kryptera loggfiler
Lägg till nedan kod för de program som du önskar krypteras. Keyid är det användar-id som är lagrat med nyckeln (exempelvis namn@e-post.com). ”Shred” tar bort loggen i klartext efter att den krypteras och komprimeras. Loggen finns i maskinen enbart 24 timmar i klartext innan den komprimeras och krypteras:
daily shred compress compresscmd /usr/bin/gpg2 compressoptions -r keyid --encrypt --default-key keyid --trust-model always compressext .gpg
Observera! Ovan kod antar att nyckeln hela tiden är betrodd. Det betyder att ingen kontroll genomförs av nyckelns identitet.
Lämna ett svar