wordpress hosting - vpn - cloud - statistiekservice - email

Archief op juli 2012

Het maken van een RPM package

Het maken van een RPM package

vooraf

Er zijn allerlei goede redenen te verzinnen waarom een applicatie o.i.d. in plaats vanaf source te complileren en te installeren de installatie te doen via het packagemanagement systeem.

  • van alle geinstalleerde software is bekend welke versie geinstalleerd is
  • eventuele afhankelijkheden van andere software wordt inzichtelijk
  • mogelijkheid tot rollback indien na een update een applicatie o.i.d. niet of niet goed functioneert
  • sommige support contracten vereisen het gebruik van package-management

Een RPM package wordt bij voorkeur niet gemaakt indien met ingelogd is als root maar als gewone gebruiker

Voordat een RPM gemaakt kan worden zijn een aantal eenmalige stappen nodig:

  1. de rpm-build software
  2. de ontwikkelingomgeving
  3. een rpm-build directory structuur
  4. een GPG key

1. de rpm-build software

Het installeren van de rpm-build software is eenvoudig: yum install rpm-build

2. de ontwikkelomgeving

Afhankelijk van welke ontwikkelomgeving er nodig is om van de broncode (source) een executable te maken zijn onder andere de volgende pakketten nodig: gcc, make, automake, cpp enz. Raadpleeg hiervoor de documentatie van het desbetreffende programma om te zien wat er evt. nog meer nodig is.

3. een rpm-build directory structuur

Zoals al eerder aangegeven is het raadzaam om als gewone gebruiker en niet als root RPM’s te maken. Hiervoor is een rpm-build directory structuur nodig zoals volgt:

~/rpmbuild/BUILD
~/rpmbuild/SOURCES
~/rpmbuild/SRPMS
~/rpmbuild/RPMS
~/rpmbuild/SPECS

Zodra deze directory structuur is aangemaakt wordt deze in de configuratie van rpm-build aangegeven. Dit gebeurd in ~/.rpmmacros met behulp van de topdir parameter:

%_topdir /home/peter/rpmbuild

In dit voorbeeld staat de rpm directory structuur dus in de homedirectory van de user peter.

4. de GPG key

Om RPM’s te kunnen distruburern worden deze gesigned, voorzien van een digitale handtekening, zodat de RPMS’s als betrouwbaar kunenn worden gezien. Op het systeem waarop ze geinstellaard worden, wordt de publieke GPG sleutel (public key) geimporteerd en daardoor worden RPM’s die voorzien van een handtekening probleemloos geinstalleerd.

Aanmaken van een GPG sleutelpaar (keypair):

gpg --gen-key

Kies voor de standaardoptie (1) DSA and Elgmal, kies 1024 als grootte en kies (0) om een GPG sleutelpaar aan te maken wat niet verloopt. Vul de rest van de vragen in en wacht totdat het sleutelpaar is aangemaakt.

Bekijk het aangemaakte sleutelpaar door:

gpg --list-keys --fingerprint

Exporteer nu de publieke sleutel door in (dit voorbeeld naar het bestand gpg-public-key):

ggp --export -a {UID veld} > gpg-public-key

De aangemaakte GPG sleutel dient nog te worden toegevoegd aan het configuratiebestand ~/.rpmmacros van rpm-build:

%_gpg_name {UID veld}

IPv6 netwerk

Algemeen

Zoals bekend zijn de IPv4 adressen (zo goed als) op en is IPv6 gelanceerd om dit tekort aan unieke ipadressen op te heffen. Om IPv6 te activeren binnen linux wordt IPv6 networking geactiveerd door in /etc/sysconfig/network de regel NETWORKING_IPV6=YES toe te voegen.

Binnen linux wordt ifconfig inmiddels afgeraden en vervangen door het krachtigere commando ip

Gebruik van ip

Interface up/down brengen

    ip link set dev <interface> up
    ip link set dev <interface> down

IPv6 adres toevoegen

    ip -6 addr add <ipv6address>/<prefixlength> dev <interface>

IPv6 adres tonen

    ip -6 a

IPv6 adres verwijderen

   ip -6 addr del <ipv6address>/<prefixlength> dev <interface>

ip en routering

IPv6 route tonen

   ip -6 route show [dev <device>]

IPv6 route aanmaken via een interface

   ip -6 route add <ipv6network>/<prefixlength> dev <device> metric 1

IPv6 route verwijderen

   ip -6 route del <ipv6network>/<prefixlength> dev <device>

LUKS encryptie

Encryptie met luks

Algemeen

Met LUKS (Linux Unified Key Setup) kunnen blockdevices (een disk, usb stick enz) worden voorzien van encryptie. De data wordt beveiligd met een passphrase en gebruikt het kernel device mapper systeem en is dus geschikt voor fysieke en virtuale machines.

De volgende stappen worden dan eenmalig ondernomen:

Als deze stappen doorlopen zijn kan het ge-encrypte blockdevice net zoals elk ander via het commando mount gemount worden.

Formatteren van het te encrypten blockdevice

Stel dat we van de harddisk /dev/sdc de eerste partitie geschikt moet worden gemaakt voor encryptie. Dan wordt het volgende commando gegeven:

            cryptsetup luksFormat /dev/sdc1

Openen / mappen van het encrypte blockdevice

Om een blockdevice, zoals in voorbeeld /dev/sdc1 te openen en beschikbaar te maken voor het OS wordt onderstaand commando gegeven. Hier wordt /dev/sdc1 gemapt naar enc

            cryptsetup luksOpen /dev/sdc1 enc

Aanmaken van een filesysteem

Nu is het ge-encrypte blockdevice geopend en moet er een filesysteem op worden aangemaakt. In dit voorbeeld wordt /dev/mapper/enc voorzien van een ext4 filesysteem:

            mkfs.ext4 /dev/mapper/enc

Mount een encrypted disk of partitie

            mount /dev/mapper/enc /secure

Data / USB stick beveiligen

Data / usb stick beveiliging

Algemeen

Het gebruik van USB sticks is niet meer weg te denken. Daar waar (heel) vroeger floppydisks portable dataopslag bieden heeft de USB stick die taak volledig overgenomen. Met opslagcapaciteiten van meerdere gigabytes is het een handel, klein en makkelijk apparaat om data mee te nemen. Echter, hoe zit het met gevoelige data of bedrijfsinformatie die op zo'n stick staat en vervolgens ergens vergeten of gestolen wordt. Dan hebbben we de poppen aan het dansen.

In sommige wanhoopspogingen werd wel eens getracht om bijv. vanuit systeembeheer het gebruik van USB sticks te verbieden of tegen tegen te gaan. Dat heeft in de praktijk inmiddels bewezen een kansloze manier te zijn om het gebruik te reguleren.

Alternatieven

Als verbieden of tegen gaan niet werkt, wat zijn dan de alternatieven. Dat hangt mede af van het te bereiken doel. Als we uitgaan van het veilig transporteren van data dan zijn er een paar alternatieven:

  • USB sticks met biometrische beveiliging
  • Encrypten / coderen van data op de USB stick

Uiteraard zijn er meerdere mogelijkheden maar in dit documenten behandelen we alleen deze twee.

USB sticks met biometrische beveiliging

Dit zijn USB sticks waarvan de data pas toegankelijk is nadat de eigenaar met behulp van een vingerafdruk zich geidentificeerd heeft. Op de USB stick zit hiervoor een vingerafdrukscanner. Sommige types kennen daarnaast nog een encryptie waardoor de data dubbel beveiligd is. Een groot nadeel van deze biometrisch beveiligde USB stick is dat de meeste een klein programma of driver nodig hebben voor de werking. Dat kleine programma of driver is vaak alleen beschikbaar voor pc's met Windows en heel soms ook voor Apple OS-X. Deze USB sticks zijn waardeloos als bijv. linux gebruikt wordt of de gebruiker van een Windows pc niet voldoende rechten heeft om het programma'tje of driver te installeren. Er is een enkele, zeer prijzige, USB stick die volledig zelfstandig werkt en daardoor dit probleem niet kent. Echter de prijs vormt hier dan het grootste probleem.

Encrypten / coderen van data op de USB stick

Een andere optie is om alle data of een gedeelte ervan te beveiligen door het te encrypten. Een veelgebruikt programma hiervoor is Truecrypt. Dit is een open-source en vrij te gebruiken encryptieprogramma en kent versies voor Windows, Apple OS-X en linux. Dat maakt het breed inzetbaar en vooral ook betaalbaar.

Truecrypt

[Update 12-02-2017] inmiddels is Truecrypt geen optie meer. Het programma wordt al een tijd niet meer onderhouden en er zijn serieuze kwetsbaarheiden ontdekt in de oude source-code. Voor alternatieven : https://www.comparitech.com/blog/information-security/truecrypt-is-discoutinued-try-these-free-alternatives/

Truecrypt is vrij te gebruiken voor Windows, Apple OS-X en linux gebruikers, maar wat kan het en hoe werkt het. Met Truecrypt kan een complete USB stick of een gedeelte ervan worden ge-encrypt. De gebruikte encyptietechnieken behoren tot de beter die beschikbaar zijn. Hierdoor is de kans dat de data door onbevoegden kan worden gelezen tot een minimum beperkt. Er zijn zoals al aangegeven twee opties, of de hele USB stick wordt door Truecrypt ge-encrypt of er kan gekozen worden om een deel van de stick te voorzien van een zgn. ge-encrypte container. Deze container is eigenlijk een bestand wat, nadat het door Truecrypt is geopend, als een extra disk beschikbaar komt voor de gebruiker.

De beveiliging van een complete USB stick of beveiligde container gebeurd met een zgn. passphrase. Een zin die alleen de gebruiker kent en slechts 1x hoeft in te geven als Truecrypt de beveiligde container met bestanden wil openen. Daarna kan de gebruiker de USB stick gewoon gebruiken zoals elke andere. Dat maakt dat het ook voor de gebruiker een eenvoudig te gebruiken manier is om data veilig op een UBS stick te transporteren.

Voor de downloads en manuals,zie http://www.truecrypt.org

Email beveiligen

Email beveiligen

Email beveiliging is wat anders dan spam bestrijding. Als spambestrijding zoals nu nog vaak gebeurd pas bij de afzender gebeurd is de spam al verstuurd. Beter is het om technieken die inmiddels bedacht zijn breder in te zetten waardoor bijv. emailservers onderling controleren of een verzender van een emailbericht ook wel de verzender mag zijn. Deze technieken zorgen ervoor dat emailberichten waarvan de afzender onjuist is nooit wordt verzonden en dus ook niet aankomt in je emailprogramma.

Beveiligen van email bestaat uit een aantal onderdelen:

  • digitale ondertekening
  • encryptie van het emailbericht

Digitale ondertekening

Het komt regelmatig voor dat de afzender van een email niet bekend is of zich uitgeeft voor iemand anders. Dat kan zowel voor persoonlijke als zakelijke email vervelende situaties opleveren. Een oplossing hiervoor is het digitaal ondertekenen. Het gratis GnuPG programma kan dit. GnuPG is beschikbaar voor Windows, Linux en het Apple besturingssysteem.

Gebruikers van het emailprogramma Thunderbird kunnen om email digitaal te ondertekenen gebruik maken van de gratis enigmail plugin.

Er is een uitgebreide engelstalige uitleg beschikbaar voor MS-Outlook gebruikers.

GnuPG werkt door middel van twee digitale sleutels: een prive (of geheime) sleutel en een publieke. De publieke sleutel wordt tussen gebruikers uitgewisseld. Gebruiker A vraagt de publieke sleutel op van Gebruiker B en als Gebruiker A de sleutel van Gebruik er B geaccepteerd heeft zal het emailprogramma deze geverifieerde afzender voortaan herkennen. Hierdoor weet Gebruiker A voortaan dat het bericht afkomt van Gebruiker B.

Encryptie van het emailbericht

Een andere mogelijheid is om de inhoud van een emailbericht geheim te houden. Om dit mogelijk te maken moet eerst zoals hierboven beschreven staat tussen gebruikers de publieke sleutel worden uitgewisseld en geaccepteerd. Dan kan worden gekozen om een bericht niet alleen digitaal te ondertekenen maar de inhoud ervan te encrypten. Alleen de bedoelde ontvanger is dan in staat het bericht te decoderen en de inhoud te lezen.

Aan deze manier van emailencryptie kleven echter ook enkele nadelen. Emailberichten met HTML als opmaak kunnen de opmaak verliezen en bijlages worden niet ge-encrypt. Als emailencryptie gewenst is, kan het beter tekstopmaak als opmaaktype worden gekozen.