Sichere Passwörter unter Ubuntu erstellen

Motivation

Häufig ist es wichtig, sichere Passwörter zu erstellen, die möglichst nicht durch sogenannte Wörterbuchattacken erraten werden können. Dies ist mit einfachsten Mitteln unter Ubuntu möglich.

Keine Online-Generatoren

Das Internet bietet vielfältige “Passwortgeneratoren” an, die nicht verwendet werden sollten. Warum? Stellen Sie sich einfach folgende Fragen:

  • Können Sie garantieren, dass der Algorithmus wirklich sicher ist?
  • Ist es absolut sicher, dass die Webseite vertrauenswürdig ist? Kann dass Passwort vom Eigentümer der Webseite wieder hergestellt werden?

Das hier vorgestellte Programm verwendet kryptographische Grundfunktionen des Linux-Kernels, die zu den am besten untersuchten, im Einsatz bewährten Algorithmen der Welt gehören. Das Passwort kann direkt auf der Konsole erzeugt werden und muss über keine ungesicherten Kanäle transportiert werden.

Sichere Passwörter

Sichere Passwörter erfüllen folgende Kriterien:

  • Mindestens 15 Zeichen lang.
  • Enthält nicht Ihren Benutzernamen, echten Name, Name der Organisation, Namen eines Familienmitglieds, die Namen Ihrer Haustiere. Geburtsdatum, Wörter aus Wörterbüchern und wird nicht woanders verwendet.
  • Es enthält mindestens folgende Zeichen: Alphabetisch Kleinbuchstaben (a, b, c, etc.), Alphabetisch Großbuchstaben (A, B, C, etc.), Zahlen (0, 1, 2, etc.) und Sonderzeichen (@,%,!, etc.)

Sichere Passwörter unter Ubuntu

Wir verwenden dafür Automatic Password Generator (APG).

Installation

sudo apt-get install apg

Anwendung

apg ohne Parameter erzeugt sechs Passwörter, die gut aussprechbar sind. Die Silben werden nach dem Passwort in Klammern angegeben).

apg_1Sie werden als “aussprechbar” bezeichnet, weil die Passwörter tatsächlich wie normale Wörter ausgesprochen werden. In der Tat enthält apg die Aussprache in Klammern () auf der rechten Seite jedes Passworts. Darüber hinaus sind sie starke Passwörter, weil sie eine Mischung aus Kleinbuchstaben, Großbuchstaben und Ziffern enthalten.

Parameter

apg -a1

-a 1 bedeutet, dass zufällige Buchstabenkombinationen verwendet werden, also nichtsprechbare Passwörter entstehen.

apg_2Passwort für WPA erstellen

Um ein sicheres Passwort für den Accesspoint zu erstellen, ist dieser Befehl geeignet:

apg -s -a 1 -m 63 -n 4

-s: Frage nach Startpasswort-a1: Nicht sprechbar
-m 63 63 Zeichen lang, die Länge für WPA
-n 4: Vier Passwörter erstellen

apg_3Artikel basiert auf: https://help.ubuntu.com/community/StrongPasswords

Ubuntu 12.04 speichert nicht die eingestellte Helligkeit

Bei Laptops speichert Ubuntu 12.04 nicht die eingestellte Helligkeit. Das manuelle Einstellen der Helligkeit wird nach einem Neustart wieder zurück auf die dunkelste Einstellung gesetzt.

Lösung:

  1. Die Datei /etc/default/grub mit einem Editor öffnen
  2. Die Zeile GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash” durch
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=Linux acpi_backlight=vendor" ersetzen.
  3. sudo update-grub

 

vsftpd unter ubuntu 12.04 einrichten

Ausgangspunkt

Ein Server(in diesem Fall lokal, ist aber egal) soll für Backups von verschiedenen Computern, Laptops, Smartphones eingesetzt werden. Die Updates sollen bevorzugt über rsync, ftp und sftp ablaufen.

In diesem Text geht es darum einen FTP-Server unter Ubuntu 12.04 aufzusetzen. Es gibt derer zahlreich unter Linux wie z.B. vsftpd, proftpd, pure-ftpd etc. Jeder Server hat seine Besonderheiten, insbesondere bei der Konfiguration. Ich habe mich für vsftpd entschieden, weil es der sicherste ftp-Server ist (was für eine Ironie bei diesem alten, unsicheren Protokoll).

Sftp ist bei pureftp hat standardmässig nicht SSL/TLS aktiviert, da sftp-Verbindungen über den sshd abgewickelt werden.  Anonymes ftp ist nicht vorgesehen, wird auch hier unterbunden. Ich lasse vsftpd als Daemon laufen, so dass er nicht auf den Superdienst xinetd angewiesen ist.

Ein weitere Besonderheit weist vsftpd auf: Es ist nicht möglich ein Verzeichnis für den Dienst zu konfigurieren. vsftpd nimmt immer das home-Verzeichnis des jeweiligen Users aus der /etc/passwd. D.h. wenn ein anderes Verzeichnis als das lokale home-Verzeichnis verwendet werden soll, muss ein neuer user mit entsprechenden Home-Verzeichnis angelegt werden.

Vsftpd ist besser als andere ftp-Server durch eine Firewall zu schützen, da die verfügbaren Ports auf 100 (30000 bis 30100) beschränkt sind und passiver modus voreingestellt ist.

Probleme voraus

Ubuntu 12.04 LTS ist eine Version die bereits ein paar Tage auf dem Markt ist. entsprechend veraltet sind einige Pakete und machen so ihre Probleme. Vsftpd ist eines der Pkete die ohne ein “Backport” nicht mehr zu benutzen sind. Nach erfolgreicher Installation wird jeder Anmeldeversuch mit der Fehlermeldung:

500 OOPS: vsftpd: refusing to run with writable root inside chroot ()

abgelehnt.  Einige Leute haben für das Problem eine Lösung entwickelt. Leider funktioniert die Lösung erst ab vsftpd 3.x und bei Ubuntu 12.04 LTS  ist die Version 2.3.5 installiert. Das bedeutet, wir müssen die neue Version von vsftpd auf unser System installieren. Dazu wurde hier eine sogenannter backport entwickelt. Diesen installieren wir, damit das Endergebnis dann auch machen kann was es soll.

Also legen wir los nach dem Blog von thefrontiergroup:

sudo su
apt-get install python-software-properties
add-apt-repository ppa:thefrontiergroup/vsftpd
apt-get update
apt-get install vsftpd

und haben damit den Server bereits installiert.

Konfiguration

Es gibt nur eine Konfigurationsdatei: /etc/vsftpd.conf

Banner

Zuerst das wichtigste: Die Begrüssungsmeldung wird in der Zeile ftpd_banner=”Backup-Server” eingerichtet.

Daemon einrichten

listen=YES
Die Zeile so abändern, damit der Server immer läuft und auf Ihre Aufgaben wartet.

Sicherheit

connect_from_port_20 = YES

sorgt dafür, dass vsftpd nur auf Port 20 sendet.

anonymous_enable=NO
anon_upload_enable=NO
verhindern anonyme Zugriffe
Standardmässig dürfen sich lokale Benutzer nicht am Server abmelden. Dies möchten wir aber, da wir eine anonymen Zugriff eben unterbunden haben:

local_enable=YES # Erlaubt das anmelden von Lokalen Benutzerkonten
chroot_local_user=YES # Begrenzt User auf ihr Homedirectory in der /etc/passwd
write_enable=YES # Erlaubt den Upload von Dateien
local_umask=002 #Rechtevergabe der Upload Dateien/Verzeichnisse (rw- rw- r–)

Neuen ftp-User anlegen:

adduser –ingroup –home
in meinem Fall also:
adduser ftp-joerg -ingroup www-data –home /srv/ftp/ftp-joerg

Starten und stoppen

Mit dem Befehlen
service vsftpd restart #Neustart
service vsftpd stop #Anhalten des Dienstes
service vsftpd start # starten des Dienstes

wird der Server neu gestartet (restart).

Das war es schon, wenn es da nicht den firefox geben würde.

Anpassung für den Fuchs

Mit Backupprogrammen etc. Ist alles kein Problem mehr.  Beim Aufruf durch den Browser gibt es beim firefox ein Problem, firefox erwartet die Liste der verfügbaren Dateien. Dies aktivieren wir mit:

# Dirlist – Für Firefox
dirlist_enable=YES

Das war es jetzt aber wirklich. Danke für das firefox-Problem geht an Maximilian.

Kurzanleitung als pdf: vsftpd

Kurzanleitung proftp als pdf: proftp

 

Raid 1 (Software) nachträglich erstellen und in Ubuntu 12.04 LTS einbinden

Ausgangspunkt

Server mit 3 Festplatten. Installiertes Betriebssystem Ubuntu 12.04 auf der HD /dev/sdb (Hitachi CinemaStar 320GB).  Um das System für dem Backup der im Haushalt vorhandenen IT zu verwenden sollen zwei Festplatten (Western Digital WD20EARX Green 2TB) zu einem Software-Raid verbunden werden und in das System integriert werden.

Wo sind meine neuen Platten?

Mit dem Befehl

fdisk -l
werden alle verfügbaren Festplatten angezeigt.

fdisk

Die zwei Festplatten ohne gültige Partitionstabelle sind die Neuen. Also /dev/sda und /dev/sdc.

Mit dem Befehl

fdisk /dev/sda

richten wir die erste Festplatte ein.

Arbeiten mit fdisk

Mit fdisk (man-page hier)kann die Festplatte eingerichtet werden. Fdisk wird komplett über die Tastatur gesteuert.

m Die Teste m (“manual”) liefert eine Übersicht aller verfügbaren Kommandos
p Die Taste p (“print”) liefert eine Übersicht der aktuellen Partitionen
w Die Taste w (“write”) schreibt die Änderungen auf die HD
q Die Taste q (“quit”) verlässt das Programm ohne(!) die Änderungen zu speichern.

Wenn die Festplatte bereits partitioniert ist, kann mit der Tastenfolge “o” und dann “w” eine leere DOS-Partitionstabelle auf die Platte geschrieben werden.

Anlegen einer Partition

Mit der Taste “n” wird eine neue Partition erstellt. Die Partition soll eine primäre sein, da nur eine über 2TB erstellt wird (das Maximum das fdisk erstellen kann, sie manpage Link oben), also die Taste “p” drücken. Bei der Partitionsnummer wählen wir einfach 1, ist ja die erste Partition.

Dann zweimal “Return” drücken um die ganze Platte zu wählen. Mit der Taste “p” den Eintrag überprüfen.

Jetzt das Raid einstellen: Wir drücken die Taste “t” für toggle”) und es wird automatisch die erste Partition ausgewählt. Jetzt geben wir den Hexcode “fd” ein, die eine automatisch erkannte Linux-RAID-Partition kennzeichnet.

Beim drücken der Taste “p” müsste jetzt folgendes Bild zu sehen sein:

raid

Mit der Taste “w” schreiben wir die Veränderungen auf die Festplatte.

Übertragung der Partitionstabelle

Es gibt jetzt zwei Möglichkeiten. Entweder die zweite Platte wir manuell partitioniert wie oben beschrieben oder aber wir kopieren bei gleichen Festplatten die Partitionstabelle.

SIchern der Partitionstabelle in ein Textfile:

sfdisk  -d /dev/sda > table_sda

(wirklich sfdisk)

Und wir brauchen zum Übertragen die Plattengeometrie, die wir mit

fdisk -l /dev/sda

geoWir brauchen aus den Angaben die Köpfe (H),  Sektoren(S) und die Zylinder(C) als hier:

  • Köpfe: 81
  • Sektoren: 63
  • Zylinder: 765633

Jetzt übertragen wir die Tabelle mit dem Befehl

sfdisk -H 81 -S 63 -C 765633 /dev/sdc < table_sda

/dev/sdc, die andere Festplatte die in das Raid eingebunden werden soll. Bitte überprüfen Sie die Angaben bevor Sie den Befehl abschicken. Sie wären nicht der erste der die falsche Festplatte erwischt.

Der Aufruf von fdisk -l sollte jetzt bei beiden Festplatten die gleiche Partitionierung anzeigen.

Raid aktivieren

Mit dem Befehl

mdadm –create /dev/md0 –level=1 –raid-devices=2 /dev/sda1 /dev/sdc1

aktiviert den Raidverbund aus den beiden Partitionen /dev/sda1 und /dev/sdc1.

Mit dem Befehl

cat /proc/mdstat

sollte jetzt angezeigt werden, dass das Raid synchronisiert.

syncDas Raid kann bereits verwendet werden, allerdings erhöht sich dadurch die Zeit des Synchronisierung. Bei einem Neustart des Systems während der Synchronisierung startet die Synchronisierung erneut bis der Vorgang einmal erfolgreich abgeschlossen wurde.

Hot-Spare

Es ist möglich eine weitere Festplatte im Wartezustand mitlaufen zu lasen die bei einem Ausfall einer Festplatte sofort die ausgefallene ersetzt. Der Befehl hätte dann wie folgt ausgesehen:

mdadm –create /dev/md0 –level=1 –raid-devices=3 /dev/sda1 /dev/sdc1 –spare-device=/dev/sdd1

LVM einrichten

Jetzt steht die Erzeugung eines Logical Volumes an. Dafür muss unser Raid-Verbund md0 als Physical Volume (PV) eingerichtet:

pvcreate /dev/md0

Mit

vgcreate bachup /dev/md0

legen wir eine Volume Group mit dem Namen bachup an. Backup geht leider nicht, da es das Device /dev/backup bereits gibt.

Volumen Group aktivieren:

vgchange -a y

Jetzt in der Gruppe ein logisches Laufwerk erstellen:

lvcreate bachup -L 1000G -n bachup

Filesystem anlegen:

mkfs.ext4 /dev/bachup/bachup

Das ganze in die Datei /etc/fstab am Ende der Datei eintragen:

/dev/bachup/bachup /srv ext4 defaults 0 2

Hier wird das erstellte Volumen nach /srv gemountet.

Mit mount -a die fstab neu einlesen und fertig ist das ganze.

 

 

 

 

 

 

Datenrettung mit Hiren’s BootCD und Testdisk

Intention

Eine Festplatte (Western Digital WD20EADS 2TB Caviar Green) in einem USB-Gehäuse verbaut war plötzlich nicht mehr ansprechbar. Windows schlug bei Verbindung mit der Festplatte vor, diese neu zu formatieren. Die Festplatte wurde aus dem USB-Ghäuse ausgebaut und der SATA nach USB-Wandler ausgebaut. Beim Einbau in einen Computer war ebenfalls kein Zugriff auf die Platte möglich.

Erfolgreiche Datenrettung

Warnung bei Windows 8

Bei Windows 8 muss der Schnellstart deaktiviert werden, der Standardmässig aktiv ist! Siehe auch hier.

Welche Software enthält Hirens BootCD

Unter der Adresse Seite hirensbootcd.org kann das Image geladen werden. Hiren’s BootCD zeichnet sich dadurch aus, dass sie alle Tools für eine Systemrettung an Board hat. Die Tools verteilen sich auf folgende Bereiche:

  • Antivirus Tools
  • Backup Tools
  • BIOS / CMOS Tools
  • Browsers / File Managers
  • Cleaners
  • Device Driver Tools
  • Editors / Viewers
  • FileSystems Tools
  • Hard Disk Tools
  • MBR (Master Boot Record) Tools
  • Ms Dos Tools
  • Network Tools
  • Optimizers
  • Partition Tools
  • Password/Key Tools
  • Process Tools
  • Recovery Tools
  • Registry Tools
  • Remote Control Tools
  • Security / Encryption Tools
  • Startup Tools
  • System Information Tools
  • Testing Tools
  • Tweakers

Eine komplette Liste der Software gibt es hier.

1

Das Image unterstützt sowohl das Booten von USB-Sticks und von CD.  Auch ein direktes Ausführen der Programme unter Linux und Windows ist möglich. Auf der CD ist sowohl ein Minix-Windows (Windows PE) als auch eine schicke Linux-Distribution enthalten (Parted Magic).  Das System ist insbesondere auf Windowssysteme spezialisiert und kann dort Passwörter zurücksetzen, lesend und schreibend auf NTFS zugreifen und bietet viele Tools an um Probleme mit einem Windowssystem zu lösen. Hiren’s Image bietet 4 bis 6 mal soviele Tools an wie andere bekannte Images für die Datenrettung wie Knoppix oder Bart PE.

Erstellung einer Hiren’s BootCD

Nach dem entpacken sollten folgende Dateien vorhanden sein (Version 15.2)

2

Ein Klick auf  “BurnToCD.cmd” brennt das Image selbständig auf eine leere CD (DVDs werden nicht unterstützt).

3

 Booten von CD bis zur graphischen Benutzeroberfläche

854660_607101529315268_1304533075_oWir wählen zunächst “Linux based rescue environment” aus.

851916_607101995981888_1540843304_ound gehen dann auf “Start”.  Hier wird min. 1GB RAM vorausgesetzt, da das Linux-System komplett in den Arbeitsspeicher geladen wird.

Einstellung des deutschen Zeichensatzes

In der Konsole kann einfach der Befehl “setxkbmap de” eingegeben werden oder aber graphisch:

Screenshot - 02222013 - 09:59:49 PMDas Menü “Desktop Settings”->”Keyboard Layout” auswählen.Screenshot - 02222013 - 10:00:27 PM“de-latin1 qwertz” auswählen und nach ok

Screenshot - 02222013 - 10:00:50 PM“de” auswählen und unten bestätigen.

Screenshot - 02222013 - 10:12:33 PMUnd nun für die nicht X-Programme ebenfalls de-latin1 auswählen. Das war es schon!

Netzwerk einrichten

Im Menü “Networking”->”Start Network” auswählen”

Screenshot - 02222013 - 10:03:52 PM

Screenshot - 02222013 - 10:04:25 PMIn der nun folgenden Auswahlliste wird meistens der obere Eintrag passen. Aber wireless oder DSL wird auch unterstützt. Ich wähle hier “wired network via DHCP” aus.

Screenshot - 02222013 - 10:05:11 PMIm nächsten Schritt muss die entsprechende Hardware ausgewählt werden. Das wars schon!

 Netzlaufwerk einbinden

Der Menüpunkt “Networking”->”Network Neighborhood” ist für Windowsfreigaben zustaändig. FTP wird ebenfalls unterstützt. Ich möchte hier die profesionellere Methode verwenden: Einbinden von Laufwerken per ssh.

Screenshot - 02222013 - 10:15:36 PMDazu wählen wir  “Networking”->”SSHFS” aus

Screenshot - 02222013 - 10:16:36 PMIn dem folgenden Menü gehen wir unten links auf “Add”.

Screenshot - 02222013 - 10:20:47 PMHier müssen wir nun alle Daten des Servers eintragen und unten mit “Connect” bestätigen.

Screenshot - 02222013 - 10:21:47 PMDen Schlüssel mit “Yes” bestätigen und das Passwort eingeben. Das wars!

Screenshot - 02222013 - 10:22:15 PM

Überblick verschaffen

Mit dem Programm “Disk Health” kann der SMART-Status der Festplatte ausgelesen werden (zu finden unter “System Tools” -> “Disk Health”).

Screenshot - 02222013 - 11:55:45 PM

Das Laufwerk auswählen und schon kommt eine Übersichtsseite mit den entsprechenden Werten. Ob bei dieser Festplatte noch etwas zu retten ist? Die Werte lassen Zweifel aufkommen. Wie auch immer, die Festplatte hat einen eindeutigen Hardweareschaden und ist nach der Rettung zu zerstören.

Screenshot - 02222013 - 11:58:15 PM

Datenrettung mit TestDisk

Unter “System Tools” -> “TestDisk” wird das Programm aufgerufen

Screenshot - 02232013 - 12:05:02 AMZum erfolgreichen arbeiten braucht Testdisk Logfiles, die wir jetzt mit “CREATE” anlegen.

Screenshot - 02232013 - 12:05:02 AM

Dann die entsprechende Festplatte auswählenScreenshot - 02232013 - 12:07:31 AMDann angeben, aus welchen Typ von Rechner die Platte ist. Hier wird wohl meistens Intel ausgewählt.

Screenshot - 02232013 - 12:07:31 AM“TestDisk” analisiert als erstes die Struktur der Festplatte mit Hilfe des Punktes “Analyse”.

Screenshot - 02232013 - 12:11:25 AM

 

Dann die Partition auswählen und mit “Proceed” weiter und auf der nächsten Seite “Quick Search” auswählen. Mit “Enter” kommt man auf die nächste Seite.

Screenshot - 02232013 - 12:18:13 AMAchtung: Wenn eine sinnvolle Partition gefunden worden ist (wie hier), nicht(!) mit Return weiter und “Deeper Search” ausführen. Das Programm ist extrem stressig für eine vorgeschädigte Platte und dauert lange. Ein Test bei dieser Platte dauerte über 48 Stunden.  Erst alle erreichbaren Daten sichern!!! Danach kann der Punkt dann aufgerufen werden.

Also “Quit” auswählen (“Write” nur wählen, wenn etwas manuell verändert worden ist). War hier nicht nötig.

Screenshot - 02232013 - 12:24:33 AMDer nächste Punkt lautet “Advanced”

Screenshot - 02232013 - 12:26:23 AMOben die Partition auswählen und unten auf “List” gehen um eine Übersicht der vorhandenenen Dateien zu bekommen.

Screenshot - 02232013 - 12:28:30 AMMöglichst nie auf eine zu rettende Fetplatte schreibend zugreifen! Deshalb kopieren wir was wir bekommen können. Mit “A” makieren wir alle Verzeichnisse. Mit “C” kopieren wir alle Dateien.

Screenshot - 02232013 - 12:31:26 AMAuf dem folgenden Bildschirm wählen wir unser Netzlaufwerk etc. aus und bestätigen mit “C”. Schon kopiert “TestDisk” die Daten. Dieser Vorgang kann länger dauern und sollte nicht unterbrochen werden.

Alle Daten konnten gerettet werden.

Löschen der Festplatte

“System Tools” -> “Erase Disk”