Januar, 2014

LUKS crypto verfahren prüfen

Freitag, Januar 24th, 2014

Linux Unified Key Setup (LUKS) ist das Standardtool unter Ubuntu für eine Festplatten Vollverschlüsselung. Das noch unter 12.04 verwendete Standartverfahren war CBC das laut Jakob Lell seit dem 22.12.2013 als angreifbar gilt.

Wie aber Überprüft man ob die verwendete crypto betroffen ist und wie sollte es nicht aus sehen:
sudo cryptsetup luksDump /dev/sda2
LUKS header information for /dev/sda2

Version: 1
Cipher name: aes
Cipher mode: cbc-essiv:sha256

Quelle: heise.de/security

virt-manager lvm pool anlegen

Donnerstag, Januar 23rd, 2014

Mit Logical Volume Manager (LVM) ist es möglich native Speicherbereiche einer Festpatte einer Virtuellen Maschine zuzuweisen, Snapshots zu erstellen und einfache dynamisch veränderbare Partitionen Logical Volumes (lv) zu erstellen. Um dies auch direkt im virt-manager nutzen zu können, kann man die volumen Group (vg) als Speicherot zuweisen. Dafür geht man in die Speicher übersicht des Servers und Kickt auf das „+“ um einen weiteren Speicher hinzuzufügen. Im folgenden Dialog kann man dem Speicher einen Namen und eine Speicher Ort angeben. In meinem Fall ist da /dev/vg0.

virt-manager-lvm-pool

Dann ist es möglich beim erstellen von VMs auch direkt aus dem virt-manager die lvs zu erstellen.

iptables für Snom 870

Montag, Januar 20th, 2014

Wie in meinem früheren Post über das Snom 870 erwähnt, fehlen auf dem Snom 870 mit aktueller Firmware (V8.7.3.25) die Kernelmodule für iptables.

Auf dem Snom läuft ein Linux 2.6.19. Der geneigte Linux-Nutzer weiß, dass man diese Module cross-compilen kann.

Wie geht das?
Zunächst lädt man sich von Snom „Necessary tools to compile snom710,720,760,821,870,Vision und MeetingPoint sources“ herunter und entpackt diese.
Danach benötigt man den Linux-Kernel mit der Version 2.6.19 (aus dem Kernel-Git oder direkt von http://kernel.org).
Anschließend kopiert man die Sourcen der iptables-Module des Vanilla-Kernels in den entsprechenden Ordner des Snom-Kernels, und bearbeitet mit seinem Lielingstool die Config des Snom-Kernels um die Module zu kompilieren.
Anschließnd fügt man Toolchain und Compiler seinem Path hinzu

export PATH=/pfad/zu/necessary/tools/firmware/toolchain/CodeSourcery/Sourcery_G++_Lite/libexec/gcc/arm-none-linux-gnueabi/4.2.0:/pfad/zu/necessary/toolsfirmware/toolchain/CodeSourcery/Sourcery_G++_Lite/bin/:$PATH

Anschließend kann man die Module mit

make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm modules

kompilieren und mit

make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm modules_install INSTALL_MOD_PATH=/pfad/zu/modules
an seine Lieblingsstelle kopieren.

Die Module kann man nun auf das snom nach /lib/modules/KERNELVERSION/kernel laden.
Zuletzt muss man die /lib/modules/KERNELVERSION/modules.dep anpassen, damit mit module korrekt geladen werden können.


kernel/net/ipv4/netfilter/ipt_ecn.ko:
kernel/net/ipv4/netfilter/ip_tables.ko:
kernel/net/ipv4/netfilter/ip_conntrack_proto_sctp.ko:
kernel/net/ipv4/netfilter/ip_nat.ko:kernel/net/ipv4/netfilter/ip_conntrack.ko
kernel/net/ipv4/netfilter/ipt_TCPMSS.ko:
kernel/net/ipv4/netfilter/arpt_mangle.ko:
kernel/net/ipv4/netfilter/ipt_CLUSTERIP.ko:
kernel/net/ipv4/netfilter/ipt_tos.ko:
kernel/net/ipv4/netfilter/ipt_ttl.ko:
kernel/net/ipv4/netfilter/ipt_hashlimit.ko:
kernel/net/ipv4/netfilter/ip_nat_h323.ko:
kernel/net/ipv4/netfilter/ip_nat_pptp.ko:
kernel/net/ipv4/netfilter/ip_nat_snmp_basic.ko:
kernel/net/ipv4/netfilter/ipt_SAME.ko:
kernel/net/ipv4/netfilter/ipt_owner.ko:
kernel/net/ipv4/netfilter/iptable_nat.ko:
kernel/net/ipv4/netfilter/ip_nat_tftp.ko:
kernel/net/ipv4/netfilter/ip_conntrack.ko:
kernel/net/ipv4/netfilter/ip_conntrack_h323.ko:
kernel/net/ipv4/netfilter/iptable_raw.ko:
kernel/net/ipv4/netfilter/ipt_addrtype.ko:
kernel/net/ipv4/netfilter/ip_conntrack_pptp.ko:
kernel/net/ipv4/netfilter/ip_conntrack_ftp.ko:
kernel/net/ipv4/netfilter/ip_conntrack_netbios_ns.ko:
kernel/net/ipv4/netfilter/ip_conntrack_irc.ko:
kernel/net/ipv4/netfilter/ipt_ah.ko:
kernel/net/ipv4/netfilter/arp_tables.ko:
kernel/net/ipv4/netfilter/ip_conntrack_sip.ko:
kernel/net/ipv4/netfilter/ipt_recent.ko:
kernel/net/ipv4/netfilter/ip_nat_amanda.ko:
kernel/net/ipv4/netfilter/ipt_ULOG.ko:
kernel/net/ipv4/netfilter/ipt_REDIRECT.ko:
kernel/net/ipv4/netfilter/ipt_REJECT.ko:
kernel/net/ipv4/netfilter/ip_conntrack_tftp.ko:
kernel/net/ipv4/netfilter/ip_nat_ftp.ko:
kernel/net/ipv4/netfilter/iptable_filter.ko:
kernel/net/ipv4/netfilter/ip_nat_irc.ko:
kernel/net/ipv4/netfilter/ipt_NETMAP.ko:
kernel/net/ipv4/netfilter/ip_conntrack_amanda.ko:
kernel/net/ipv4/netfilter/ip_nat_sip.ko:
kernel/net/ipv4/netfilter/ipt_ECN.ko:
kernel/net/ipv4/netfilter/ipt_LOG.ko:
kernel/net/ipv4/netfilter/arptable_filter.ko:
kernel/net/ipv4/netfilter/ipt_iprange.ko:
kernel/net/ipv4/netfilter/iptable_mangle.ko:
kernel/net/ipv4/netfilter/ipt_MASQUERADE.ko:
kernel/net/ipv4/netfilter/ipt_TOS.ko:
kernel/net/ipv4/netfilter/ipt_TTL.ko:

Es sind wahrscheinlich nicht alle Abhängigkeiten damit abgedeckt, aber für viele Zwecke reichen diese.

Festplatten mit Passwort

Donnerstag, Januar 16th, 2014

Nach dem ich 3 neu Platten dem 3ware 9500-12 Controller hinzugefügt habe und sie dann noch in einen andren Server verbauen musste, habe bekam ich folgende Fehlermeldung:

ata1.00: configured for UDMA/133
sd 0:0:0:0: [sda]
Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 0:0:0:0: [sda]
Sense Key : Aborted Command [current] [descriptor]
Descriptor sense data with sense descriptors (in hex):
72 0b 00 00 00 00 00 0c 00 0a 80 00 00 00 00 00
00 00 00 80
sd 0:0:0:0: [sda]
Add. Sense: No additional sense information
sd 0:0:0:0: [sda] CDB:
Read(10): 28 00 00 00 00 80 00 00 08 00
ata1: EH complete
ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata1.00: irq_stat 0x40000001
ata1.00: failed command: READ DMA
ata1.00: cmd c8/00:08:40:00:00/00:00:00:00:00/e0 tag 0 dma 4096 in
res 51/04:08:40:00:00/00:00:00:00:00/e0 Emask 0x1 (device error)
ata1.00: status: { DRDY ERR }
ata1.00: error: { ABRT }

Das Problem das die Festplatten vom 3ware Controller mit einem Password versehen werden, war mir bekannt. Dennoch testet ich dies auch noch mal mit einer Windows Installation und bekam währende der Partitionierung folgende Fehlermeldung:

Das Erstellen einer neuen Partition auf dem ausgewählten freien Speicherplatz ist fehlgeschlagen. [Fehler: 0x8007045d].

Das Erstellen einer neuen Partition auf dem ausgewählten freien Speicherplatz ist fehlgeschlagen. [Fehler: 0x8007045d].

Mittels hdparm -I /dev/sda kann man den Status abfragen ob die „security feachers enabled“ sind:

Security: 
        Master password revision code = 65534
                supported
        not     enabled
        not     locked
        not     frozen
        not     expired: security count
                supported: enhanced erase
        260min for SECURITY ERASE UNIT. 260min for ENHANCED SECURITY ERASE UNIT.

Wenn man das Password kennt, ist es eigentlich ganz einfach.

hdparm --security-unlock "password" /dev/sda
hdparm --security-disable "password" /dev/sda
hdparm --security-set-pass NULL /dev/sda

Wenn man das User Password nicht mehr besitzt kann man die Platte mittels. In der Letzten Zeile von Security Block in der Ausgabe von hdparm -I kann man sehen wie lange dieser Vorgang dauert (260min).

Achtung! Alle Daten auf der Platte werden während des Vorganges unwiderruflich gelöscht.

hdparm --security-erase /dev/sda
hdparm --security-erase-enhanced /dev/sda

pidgin und cacert.org

Donnerstag, Januar 9th, 2014

Pidgin hat das Problem das die in libpurple standardmäßig eingebaute libnns nicht die Zertifikatskette von cacert.org überprüfen kann. Wenn man pidgin mit gnutls baut sind alle Probleme behoben. Dann habe ich den Bug bestätigt 15486#comment:8:

I can confirm this bug using the XMPP server at 5222.de. The server certificate is signed by CACert and is accepted as valid by ‚openssl verify‘ ‚vfychain‘ (libnss3-tools).
I have connected to the server using the XMPP client psi, and the certificate is readily accepted.
For testing, I rebuilt pidgin with gnutls instead of libnss. This testing version does not show any certificate error anymore.