Beiträge zu “Gentoo”

Festplatten für Backups verschlüsseln oder (meine kleine private Disaster Recovery Strategie)

Wenn es um das Sicherung meiner Daten geht neige ich zu leichter Paranoia. ;-) Ich sichere alle meine Daten täglich auf einen zweiten Rechner der zu diesem Zweck nachts geweckt wird. So weit so gut. Was aber im totalen Disaster Fall (Einbruch/Wandalismus/Feuer) Um diesem Fall vorzubereiten kopiere ich in regelmäßigen Abständen meine wichtigen Daten auf eine Festplatte und hinterlege diese "an einer anderen sicheren" Stelle. Das ist dann zwar nicht tages aktuell aber es wäre immer nur ein teil der Daten verloren. Jetzt ist mir trotz der Vertrauenswürdigkeit dieser "anderen Stelle" nicht wohl dabei die Daten "offen" zu lassen. Deswegen wird die ganze Platte verschlüsselt. Hier meine Notizen. 201002-schirm.jpg

Je nach Betriebsystem muss zuerst die Basissoftware installiert werden. In meinem Fall ist das Gentoo und da geht das mit:

 emerge -p cryptsetup

Die Zielfestplatte ist /dev/sdc. Das Initialisieren der Platte mache ich mit

cryptsetup -y --cipher aes-cbc-essiv:sha256 --key-size 256 luksFormat /dev/sdc

WARNING!
========
This will overwrite data on /dev/sdc irrevocably.

Are you sure? (Type uppercase yes): YES
Enter LUKS passphrase:
Verify passphrase:
Command successful.rt-w258.jpg

Die LUKS Passphare sollte etwas sein was Ihr euch wirklich verinnerlicht habt. Wenn die Hütte abgebrannt ist dann habt Ihr wahrscheinlich keine Notizen/Rechner mehr auf denen was steht. Vermutlich kann man sich stundenlang darüber unterhalten welchen Verschlüsselungsalgorithmus man verwendet und wie lange der Schlüssen sein sollte. In meinem Fall ist der "Gegner" aber nicht die NSA sondern ein Einbrecher der wie auch immer an die Platte gekommen ist.

So jetzt muss die Platte "geöffnet werden"

cryptsetup luksOpen /dev/sdc crypt-backup
Enter LUKS passphrase:
key slot 0 unlocked.
Command successful.

Noch ist kein Filesystem drauf. das kommt jetztz

mke2fs -j /dev/mapper/crypt-backup

Und jetzt mounten

mount /dev/mapper/crypt-backup /mnt/externes-backup

Jetzt kopiere ich das drauf was ich gerne woanders gesichert haben möchte.

cp /"yourimportantdata" /mnt/externes-backup

Und am schluss die Platte wieder "abschliessen"

umount /mnt/externes-backup/
cryptsetup luksClose crypt-backup

Wenn die Platte wiederverwendet wird kann man natürlich auf die Initialisierung verzichten und gleich mit LuksOpen starten.

Sollte es mal passieren müssen das ich die Platte in meinem Ubuntu Notebook anschliessen muss (lieber Gott mach das das nie passiert) dann muss man auf einem Ubuntu erstmal die module laden und dann geht mit cryptsetup wie oben weiter.

modprobe dm-crypt

siehe hier

6.2.10
Weitere Beiträge zu: Linux   Gentoo   Backup  

Passive Checks mit Nagios

Normalerweise arbeitet Nagios ja nach dem Prinzip: "Ich bin der Server und Ich prüfe" (aktive checks). In der Konfiguration steht drin welche Test in welchem Zeitraum abgearbeitet werden müssen und wann benachrichtigt wird. So weit so gut.

Jetzt gibt es aber Situationen in denen das nicht geht. Zum Beispiel möchte man vielleicht prüfen ob ein lange laufender Prozess erfolgreich beendet worden ist. Oder aber der Nagios Server selber hat keinen Zugriff auf den Server. In meinem Fall hatte ich folgendes Szenario.

Mein Backupserver wird nachts geweckt (per wake on lan) und um eine bestimmte Uhrzeit started ein Prozess der per rsnapshot  verschiedene Backups macht. Danach schaltet sich der Server wieder ab. Ich würde gerne in Nagios sehen welchen Plattenplatz ich auf dem Backupserver noch frei habe. Aktive Checks gehen nicht weil ich nicht genau terminieren kann wann die Backups fertig sind. (Und nachts um 2.00 Uhr schaue ich auch nicht nach :-).

So siehts dann am Ende aus:201002-nagios-nsca-disk.gif

Generell gibts verschiedene Optionen. Ich habe mich für NSCA (Nagios Service Check Acceptor). Ein Dienst der Nagios Stati entgegen nimmt und an Nagios weiterleitet. Er muss auf dem Nagios Server erstmal installiert werden. Bei Gentoo ging das so:

emerge -av nagios-nsca
rc-update add nsca default
vi /etc/nagios/nsca.cfg  
  (ich habs nicht mehr genau parat aber die defaults waren ok - nur das password musste geänder werden)

So jetzt noch auf dem Nagios Server sagen das es einen passiven check gibt

vi /etc/nagios/services.cfg

define service{
        use                             generic-service-important
        active_checks_enabled           0              
        passive_checks_enabled          1
       host_name                       backup
       service_description             Volume-Backup
       contact_groups                  mail-admins-crit
       check_command                   check_dummy
       }

Dieser check_dummy hat mich etwas Nerven gekostet. Eigentlich brauchen wir keinen Check (weil der wird ja remote ausgeführt) aber die Syntaxprüfung verlangt einen. Also

vi /etc/nagios/checkcommands.cfg

define command{
        command_name    check_dummy
         command_line   ls
                   }

So - auf dem Sever ist alles ready. Jetzt müssen wir noch dem anderen Rechner (in diesem Fall mein Backup) sagen was zu tuen ist. Wie oben erstmal NSCA installieren:

emerge -av nagios-nsca

vi /etc/nagios/send_nsca.cfg  (verschlüsselung muss kongruent zu oben sein)

Das Plugin was wir brauchen muss noch auf den server und in ein preferiertes verzeichniss kopiert sein. Bei mir

/opt/c/check_disk

Wie immer erstmal den Test local probieren und schauen das das Ergebniss stimmt. Dann habe ich alles auf Basis dieses Threads in ein Script gepackt.

vi /opt/c/nagios/c-nsca-check_disk.sh

#!/bin/bash
send_nsca=/usr/lib/nagios/plugins/send_nsca
send_nsca_cfg=/etc/nagios/send_nsca.cfg
nagioshost=x.c.de
host=backup
service=Volume-Backup
plugin=/opt/c/check_disk
warn=70%
crit=90%
mountpoint='/dev/mapper/c--vg-backup'
output=`$plugin -m $mountpoint -w $warn -c $crit`
rc=$?
echo -e "$host\t$service\t$rc\t$output"|$send_nsca -H $nagioshost -c $send_nsca_cfg
exit 0

Bemerkung: ist natürlich alles wichtig aber auf jeden Fall muss man darauf achten das im Script "service=Volume-Backup" mit dem passiven Check auf dem Server übereinstimmt.

Dieses Script muss natürlich irgendwann laufen. Ich habs einfach in die start/stop scripts gepackt.

vi /etc/conf.d/local.start
vi /etc/conf.d/local.stop

/opt/c/nagios/c-nsca-check_disk.sh &>/dev/null
/opt/c/nagios/c-nsca-check_backup-date.sh &>/dev/null
 

(boah: ist das wieder lange geworden. hätte ich nicht gedacht. aber jetzt wenigstens für mich sauber niedergeschreiben)

31.1.10
Weitere Beiträge zu: Gentoo   Nagios   Rsnapshot  

Nagios für den Hausgebrauch

Ich verwende Nagios um verschiedene Dienste innerhalb meiner IT Landschaft zu überwachen. (IT Landschaft hört sich schon monströs an trifft es aber am besten.) Da sind zum Beispiel:

  • Ein Server im Internet mit Shop/Blogs/Kindergartenwebsite
  • Mein interner Hausserver mit Telefonanlage Asterisk, Videorecorder VDR und den anderen üblichen Dingen wie File/Print/Mail
  • Backup Server

Alles auf Basis von Linux (meistens Gentoo aber immer mehr Debian)

Ausschlaggebend war die Überwachung des Internet Servers um sicherzustellen das dort nix schiefgeht. Und wenn man es schon hat dann kann man auch noch einige andere nette Dinge tuen. Zum Beispiel kann man einstellen wann man eine Warnung über zu wenig Hauptspeicher oder Festplattenplatz bekommt. Man kann Schwellenwerte festlegen wann man eine SMS bekommt usw.

nagios-1.gif

21.1.10
Weitere Beiträge zu: Asterisk   Debian   Gentoo   Nagios   VDR  

Dies ist ein privater Blog von Hagen Bauer- berufstätiger Vater, Ehemann, Naturliebhaber, Läufer, Zelter, technikverliebt.


Creative Commons License
This blog is licensed under a Creative Commons License