wordpress hosting - vpn - cloud - statistiekservice - email

Veilig emailen met encryptie

gnupg

AlgemeenGniPG

Veilig gebruik van email door gebruik te maken van encryptie. Dat klinkt ingewikkeld maar dat hoeft het niet te zijn. Iedereen, particulier of zakelijke gebruiker, kan op vrij eenvoudige wijze voor twee dingen zorgen:

  1. Dat de ontvanger grote zekerheid heeft dat een email afkomstig is van wie het afkomstig lijkt te zijn door een digitale handtekening
  2. Dat het berichtenverkeer tussen de zender en ontvanger van email encrypted is zodat de berichten alleen gelezen kunnen worden door degeen aan wie de email gestuurd is. Mochten anderen de email in handen krijgen dan is deze onleesbaar.

Email wordt in leesbare tekst tussen emailservers verzonden. Internet providers, veiligheidsdiensten, kwaadwillenden en andere mensen met toegang tot deze data kunnen email dus eenvoudig meelezen. Er is immers geen enkele vorm van encryptie. Voor bedrijven maar ook voor bijvoorbeeld journalisten is dit een groot risico wat niet zelden onderschat wordt. Maar ook thuis kan encryptie prettig zijn, denk aan prive-emaill op de zaak waar de baas of een systeembeheerder met je email mee kan lezen.

Starten met encryptie

In deze uitleg wordt gebruik gemaakt van twee gratis verkrijgbare programma’s en een zodat dit geen hindernis hoeft te zijn. De programma’s zijn beschikbaar voor Windows, Apple MacOS en Linux. We gebruiken als email-programma Thunderbird wat ook in nederlands beschikbaar is met de Enigmail extensie en GnuPG voor encryptie

Starten met encryptie bestaat uit 3 stappen die hieronder worden uitgelegd:

1. Installatie ThunderbirdThunderbird

Het installeren van Thunderbird en het configureren ervan zodat je er email kan mee ontvangen en verzenden wordt hier niet uitgelegd. Dit verschilt van provider en bedrijf zo veel dat dit buiten de scope van dit artikel valt. Ben je LinuxPro gebruiker dan is er een pagina met de instellingen voor je email.

2. GnuPG installeren

Ga naar de downloadpagina van GnuPG en kies onder het kopje GnuPG binary releases voor jouw besturingssysteem de juiste versie. Voor Windows is er een versie die je op alle versies Windows (vanaf XP) kan installeren. Linux gebruikers hebben de keuze uit kant-en-klare pakketten geschikt voor nagenoeg alle Linux distributies. Ook voor Apple gebruikers is er een kant-en-klare versie beschikbaar. Download en installeer GnuPG met de default of standaard instellingen.

3. Enigma extensie toevoegen

Als Thunderbird is genstalleerd en je kan email verzenden en ontvangen dan is het tijd om de Enigma extensie te installeren.

Ga naar Thunderbird -> Extra’s en kies voor Add-ons en zoek naar Enigmail en installeer / activeer de extensie.

NB: Dit kan per versie Thunderbird en het gebruikte besturingssysteem iets afwijken.

Sleutelbeheer

De GnuPG of GPG encryptie werkt door het aanmaken van twee sleutels: een geheime sleutel die je niet met iemand deelt, veilig houdt en bijv. op een aparte usb stick (beveiligd!) bewaard als backup. De tweede sleutel is een publieke sleutel en zoals de naam al zegt die mag overal en met iedereen gedeeld worden. Er zijn ook zgn. keyservers waar je publieke sleutels kan delen of publieke sleutels van andere kan opzoeken.

Er moet dus nmalig per emailadres een sleutelpaar worden gemaakt. Dat is eenvoudig en kan via Enigmail door de installatie-wizard te gebruiken. Kies voor een voor jezelf makkelijk te onthouden passphrase maar wel eentje die uniek is en niet te gokken of raden valt door anderen.

Het gebruik van email met encryptie

Er zijn als je een email wilt versturen twee opties bijgekomen. Met de ene optie, het icoon met het potloodje kan een email ondertekend worden. Dit geeft de ontvanger meer zekerheid dat de email van jou afkomstig is maar zal de inhoud van de email niet encrypten.

De tweede optie die er bij gekomen is het slotje, als dit geactiveerd is/wordt zal je email worden encrypted. Dit kan overigens alleen als je de publieke sleutel van de ontvanger hebt gekregen of via een keyserver hebt opgezocht en in het sleutelbeheer van Enigmail hebt geimporteerd.

Als ge-encrypte email wordt ontvangen zal Thunderbird dit automatisch zien en vragen om de passphrase van je geheime sleutel. Onthoud deze passphrase dus goed.

Hulp nodig?

Wil je als particulier of bedrijf met encryptie en dus veiliger gebruik willen maken van email maar heb je hulp nodig? Geen probleem, LinuxPro biedt deze hulp aan, neem even contact op voor de mogelijkheden.

 

Signen van een RPM package

Signen van RPM’s met GPG key

In Satellite kunnen eigen software channels worden aangemaakt. Hiermee kunnen aangepaste of eigen RPM’s via Satellite beschikbaar gesteld worden aan de clients. Een voorwaarde is wel dat de RPM packages zijn gesigned met een GPG key en dat de public GPG key voor de clients beschikbaar is en is importeerd. Hieronder wordt beschreven hoe dit kan worden uitgevoerd.

De werkzaamheden omvatten voor een deel een aantal eenmalig uit te voeren werkzaamheden en een aantal wat steeds voor elk RPM package terugkeert. Bij het aanmaken van een channel zal naast de ID ook om de GPG fingerprint worden gevraagd. Deze kan worden opgevraagd door: gpg --fingerprint.

Eenmalige werkzaamheden

Aanmaken GPG keypair
  • Maak een nieuwe GPG key aan met: gpg --gen-key om een GPG keypair aan te maken. Kies voor type 1, een DSA and Elgamal type key. Als keysize kan voor 2048 of 1024 gekozen worden. Een key van 2048 bits is uiteraard aanbevelingswaardig.
  • Na generatie moet de public key worden geexporteerd, dat kan met: gpg --export -a {naam vande key} > {naam waarmee de key is aangemaakt}.

Stel dat de key is aangemaakt met de naam Linuxteam en de public key wordt als LINUXTEAM-GPG-KEY opgeslagen:

gpg --export -a "LinuxTeam" > LINUXTEAM-GPG-KEY

Aanpassen van ~/.rpmmacros

Opmerking: Het beschrijven van het zelf maken van RPM packages valt buiten de scope van dit onderwerp.

Om tijdens het maken of het signen van bestaande RPM packages moet de ~/.rpmmacros file worden aangepast. In onderstaand voorbeeld wordt er vanuit gegaan dat als user root RPM packages gemaakt worden en de GPG key is aangemaakt met de naam LinuxTeam:

    %_gpg_name LinuxTeam
Importeren public key

De aangemaakte GPG key moet nog worden geimporteerd. Als we de bovengenoemde voorbeelden volgen dan wordt dit gedaan met:

rpm --import LINUXTEAM-GPG-KEY

Hiermee is de basis gelegd om bestaande of te bouwen RPM packages te signen met een GPG key.

GPG key beschikbaar in Satellite

Om van de GPG key gebruik te kunnen maken in RedHat Satellite moet de exporteerde public key beschikbaar worden gesteld. Dit is ook nodig als eigen software Channels worden aangemaakt. In bovenstaand voorbeeld is de public key ge-exporteerd als LINUXTEAM-GPG-KEY, als dit voorbeeld gevolgd wordt kan met cp LINUXTEAM-GPG-KEY /var/www/html/pub de public key beschikbaar worden gesteld.

Bij het aanmaken van een software Channel in Satellite wordt dan de volgende URL ingevuld onder Security: GPG

https://satellite.example.com/pub/LINUXTEAM-GPG-KEY

Terugkerende werkzaamheden

Signen van bestaande RPM packages

Een reeds bestaand RPM package, wat nog niet gesigned is door een andere GPG key, kan worden gesigned door:

rpm --resign {rpm package name}

Bouwen van RPM packages met GPG key

Als met rpmbuild zelf een RPM package gemaakt wordt kent rpmbuild een optie om het gegenereerde RPM package direct te signen. Als de bovenstaande eenmalige werkzaamheden zijn uitgevoerd dan kan dit door:

rpmbuild -v -ba --sign --clean SPECS/nrpe.spec

Opmerking: Als rpmbuild als root aangeroepen wordt dan wordt bovenstaande opdracht in /usr/src/redhat gegeven.

Controle van een GPG signed RPM package

Controleer een RPM package met: rpm -K -v {rpm package naam} Dit geeft soortgelijke uitvoer als van het RPM package nagios-plugins-1.4.14-1 de GPG signature wordt opgevraagd. In dit voorbeeld is het RPM package correct gesigned.

rpm -K -v nagios-plugins-1.4.14-1.x86_64.rpm
nagios-plugins-1.4.14-1.x86_64.rpm:
    Header V3 DSA signature: OK, key ID ae175d8e
    Header SHA1 digest: OK (9c915a0e8aa474bcfa6d0b3280753b1e83df295f)
    MD5 digest: OK (6f9c3b94b9a0fc8b51984c8acb8d4334)
    V3 DSA signature: OK, key ID ae175d8e

De laatste regel geeft aan: Key ID ae175d8e. Dit ID is te controleren door ,code>gpg –list-keys te geven en dit ID moet dan terugkomen bij de public key waarmee het RPM package gesigned is.