macOS App: AUMount

UPDATE: Diese App wird nicht mehr aktiv weiterentwickelt.

macOS App AUMountAUMount ist eine App für macOS, die über einen Klick – oder automatisch vor dem Wechseln des Mac in den Ruhezustand – gleichzeitig mehrere Speichermedien wie externe Festplatten, SD Karten oder USB-Sticks auswirft (ähnlich wie Jettison oder Mountain). Die App wird über ein Menü gesteuert, das über das AUMount Icon in der  Menüleiste aufgerufen wird.

AUMount Menue / MenüUnter dem Menüpunkt „Optionen“ erscheint ein Fenster, in dem die Pfade zu den auszuwerfenden Speichermedien eingetragen werden. Dabei darf nur jeweils ein Pfad pro Zeile stehen, wie auf dem folgenden Bild beispielhaft zu sehen ist.

Über den Menüpunkt „Alles auswerfen“ lassen sich dann alle zuvor im Optionsfenster eingetragenen Speichermedien mit einem Klick auswerfen.

AUMount Optionen / OptionsÜber die Optionen lässt sich auch einstellen, ob Nachrichten über das erfolgreiche und/ oder fehlgeschlagene Auswerfen von Speichermedien angezeigt werden sollen.

Ebenso kann in den Optionen eingestellt werden, ob AUMount alle Speichermedien automatisch auswerfen soll, bevor der Mac in den Ruhezustand wechselt (bei Aktivierung dieser Option sollten die Nachrichten für erfolgreich ausgeworfene Speichermedien deaktiviert werden, da diese sonst den Eintritt in den Ruhezustand unterbrechen oder verzögern).

AUMount is an App for macOS which unmounts several disks like external hard drives, SD cards, or usb-sticks with just one click. The App is controlled by a menu which is accessed via the AUMount icon in the menubar.AUMount is an App for macOS which unmounts several d

Under the menu item „Options“ a window appears where the paths to the disks which should be unmounted are entered. Only one disk-path per line is allowed.

With the menu item „Unmount all“ all disks entered in the options-window will be unmounted.

In the option-dialog you can enable/ disable to get a notification for every disk successfully and/ or unsuccessfully unmounted. There is also an option to automatically unmount all disks before the Mac goes to sleep (if this option is enabled the notification for a successfully unmounted disk should be disabled, otherwise those notifications may interrupt the sleep-state).

Aktuelle Version: 0.7 / Current Version: 0.7

Diese App befindet sich noch im Alpha-Status. Benutzung auf eigene Gefahr!

This App is still in alpha state. Use at your own risk!

Changelog: Version 0.7

2016-08-15

  • app is now signed with my Apple ID

Features added:

  • option to automatically unmount all disks before sleep

Changes:

  • option added to enable/ disable notification for a successfully unmounted disk
  • option added to enable/ disable notification with sound for a failed attempt to unmount a disk

Changelog: Version 0.6 (Download old version)

2016-08-14

Features added:

  • notification for a successfully unmounted disk
  • notification with sound for a failed attempt to unmount a disk

Changelog: Version 0.5 (Download old version)

2016-08-13

Features added:

  • add/ edit disks to unmount via textfield in the options-window

re:oyd (17): Baikal 0.4.6@Raspberry Pi an Unitymedia Connect Box mit IPv6

matriochkaWarum sollte man alle seine Termine und die Adressen, Telefonnummern und Geburtstage seiner Bekannten irgendeinem Konzern frei Haus liefern? Das sollte man natürlich nicht. Besser sind solche Daten auf dem eigenen Server Zuhause aufgehoben. Und selbst wenn man die Daten mit Notebook und Smartphone abgleichen will, braucht es dafür keinen Hightech-Server – ein Raspberry Pi und der CardDAV / CalDAV Server Baikal machen es möglich.

Ich gehe im Folgenden einfach mal davon aus, dass der Raspberry Pi schon mit Raspbian läuft.

Große Einschränkung vorweg: Mit der folgenden Einrichtung ist der Raspberry Pi nur aus IPv6 Netzen heraus erreichbar (also nicht über noch auf IPv4 setzende Mobilfunknetze oder eduroam).

1. IPv6 Portweiterleitung an der Unitymedia Connect Box

Damit unser Server auch von außen erreichbar ist, muss bei der Connect Box das Port Forwarding auf die IPv6 Adresse des Raspberry Pi eingerichtet werden. Dafür muss das Administrationsmenü der Connect Box über den Browser aufgerufen werden (etwa durch http://192.168.0.1). Zunächst rufen wir in der  linken Seitenleiste unter „Erweiterte Einstellungen“ den Punkt „DHCP“ auf. Wenn man nach unten scrollt erscheint die Überschrift „Reservierte IP Adressen“. Hier setzen wir in der Tabellenzelle einen Haken/Punkt vor dem Raspberry Pi. Damit wird automatisch dessen MAC Adresse unter „Reservierte Regel hinzufügen“ eingesetzt. Jetzt noch die IP Adresse festlegen (etwa 192.168.0.10) und auf „Regel hinzufügen“ und dann „Änderungen übernehmen“ klicken.

Ebenfalls in der Tabelle unter „Reservierte IP Adressen“ finden wir in der Zeile des Raspberry Pi in der Spalte „IP Adresse“ dessen IPv6 Adresse in der Form 1111:111:1111:111:1111:1111:1111:1111. Diese kopieren wir uns. Jetzt rufen wir in der  linken Seitenleiste unter „Erweiterte Einstellungen“ den Punkt „Sicherheit“ und dort den Unterpunkt „IP und Port Filter“ auf. Unter dem Punkt „IPv6 Port Filter“ muss „Eingehend“ angehakt sein. Dann auf „Eine neue Regel erstellen“ klicken. Im folgenden Fenster muss „Aktiviert“ und Traffic policy „Ja“ angehakt sein. Als Protokoll wählen wir „TCP“ aus, als Quell IP-Adresse „Alle“ und als Ziel IP-Adresse „Single“. Im das aufgehenden Feld „IPv6 Adresse“ kopieren wir die IPv6 Adresse des Raspberry Pi. Die Quell Port Range stellen wir auf „Manuell“, Start auf „80“, Ende auf „80“ – das gleiche für die Ziel Port Range. Zum Abschluss auf „Regel hinzufügen“ klicken. Im Hauptfenster von IP und Port Filter dann noch auf „Änderungen übernehmen“ klicken. Jetzt wiederholen wir das ganz und fügen eine zweite Regel hinzu, nur das alle Port Wert statt 80 jetzt 433 lauten. Danach sollten alle HTTP und HTTPS Anfragen von Außen an den Raspberry Pi durchgereicht werden.

2. DNS – Domain für Weiterleitung auf IPv6 Adresse einrichten

Theoretisch ist der später auf dem Raspberry Pi laufende Webserver auch allein über die IPv6 Adresse von außen erreichbar (also bspw. mit „http://[1111:111:1111:111:1111:1111:1111:1111]/index.php“ im Browser aufrufbar). Aber kaum jemand möchte sich wohl die lange IPv6 Adresse merken. Außerdem funktioniert der Aufruf zwar im Browser, wenn man die Adresse für die Verbindung zum CalDav/CardDav etwa unter macOS für Kontakte und Kalender nutzen möchte, akzeptieren die Appel Programme eine solche Adresse nicht als Serveradresse. Daher brauchen wir noch eine Domain, die auf die IPv6 Adresse verweist. Kostenlos gibt es die etwa bei freedns.afraid.org. Einfach auf der Seite einen Account anlegen. Dann im linken Menü auf „Subdomains“ klicken und eine neue Subdomain anlegen und mit der kopierten IPv6 Adresse verknüpfen. Dafür muss im Formular der Type auf „AAAA“ geändert werden. Dann noch einen Namen für die Subdomain eintragen (im Folgenden „SUB“) und die Domain auswählen (im Folgenden „DOMAIN.XYZ“). Als Destination wird dann die IPv6 Adresse des Raspberry eingetragen, das Captcha gelöst und auf „Save!“ geklickt. ACHTUNG: Bis der Raspberry Pi tatsächlich über SUB.DOMAIN.XYZ erreichbar ist, kann es einige Zeit – bis zu mehreren Stunden – dauern.

3. Webserver installieren und SSL Verschlüsselung einrichten

Jetzt brauchen wir zur Vorbereitung nur den schnellen, kleinen Webserver nginx, die Scriptsprache php und sqlite als ressourcensparende Datenbank installiert. Dafür melden wir uns zunächst mittels ssh auf dem Raspberry Pi an (etwa mit „ssh pi@192.168.0.10“) und rufen dann folgenden Befehl auf:

sudo apt-get install nginx php5 php5-fpm php-pear php5-common php5-mcrypt php5-mysql php5-cli php5-gd sqlite php5-sqlite

Bevor wir den Webserver starten, sind noch zwei Einstellungen anzupassen, damit er auf dem nicht ganz so potenten Raspberry Pi anständiger läuft: in der Daten „/etc/nginx/nginx.conf“ reduzieren wir die Zahl der „worker_processes“ von 4 auf 1 und die der „worker_connections“ von 768 auf 128.
Damit wir später unsere wertvollen Daten nicht ungesichert durchs Netz schicken – sonst hätten wir nicht viel gewonnen – , muss die Datenübermittlung mittels SSL gesichert werden. Dafür erzeugen wir uns nun zunächst ein eigenes Zertifikat mit entsprechendem Schlüssel, indem wir folgende Befehle hintereinander ausführen:

sudo mkdir /etc/nginx/ssl
cd /etc/nginx/ssl
sudo openssl genrsa -out baikal.key 4096
sudo openssl req -new -sha256 -key baikal.key -out baikal.csr

Jetzt signieren wir das Zertifikat noch selber (daher moniert der Browser später auch unser Zertifikat, weil es nicht von einer „vertrauenswürdigen“ Institution signiert wurde – wir können ihm aber trotzdem beibringen, das Zertifikat dauerhaft zu akzeptieren). Bei den Abfragen braucht nur bei „Country Name“ „DE“ für Deutschland und bei „Common Name“ einfach SUB.DOMAIN.XYZ eingeben (oder wenn man keine will die IPv6 Adresse des Raspberry Pi).

sudo openssl x509 -req -sha256 -days 3650 -in baikal.csr -signkey baikal.key -out baikal.crt

Jetzt geht es daran, nginx richtig einzustellen, damit der Webserver unser Zertifikat kennt, die Verbindung immer verschlüsselt hergestellt und php genutzt wird. Dazu passen wir die Datei „/etc/nginx/sites-available/default“ wie folgt an:

server { 
    listen 80; 
    listen [::]:80 ipv6only=on;
    server_name SUB.DOMAIN.XYZ; # die IPv6Adresse muss in eckigen Klammern stehen, wenn der Domainname verwendet wird, keine Klammern benutzen
    rewrite ^ https://$server_name$request_uri? permanent; # immer https verwenden 
}
 
server {
    listen 443 ssl; 
    listen [::]:443 ssl ipv6only=on; 
    server_name SUB.DOMAIN.XYZ; # die IPv6Adresse muss in eckigen Klammern stehen, wenn der Domainname verwendet wird, keine Klammern benutzen
    ssl_certificate /etc/nginx/ssl/baikal.crt;  # unsere Zertifikat benutzen
    ssl_certificate_key /etc/nginx/ssl/baikal.key; # unseren Schlüssel benutzen

        root /var/www;
        index index.html index.htm index.php;

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                try_files $uri $uri/ /index.html;
                # Uncomment to enable naxsi on this location
                # include /etc/nginx/naxsi.rules
        }

        location /doc/ {
                alias /usr/share/doc/;
                autoindex on;
                allow 127.0.0.1;
                allow ::1;
                deny all;
        }

    location ~ ^(.+.php)(.*)$ { # damit PHP richtig genutzt wird
        try_files $fastcgi_script_name =404;
        fastcgi_split_path_info  ^(.+.php)(.*)$;
        fastcgi_pass   unix:/var/run/php5-fpm.sock;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        fastcgi_param  PATH_INFO        $fastcgi_path_info;
        include        /etc/nginx/fastcgi_params;
    }

    rewrite ^/.well-known/caldav /baikal/html/dav.php redirect;
    rewrite ^/.well-known/carddav /baikal/html/dav.php redirect;

    charset utf-8;

    location ~ /(.ht|Core|Specific) {
        deny all;
        return 404;
    }
}

Damit unsere Änderungen auch angenommen werden, starten wir alles neu:

sudo /etc/init.d/nginx restart
sudo /etc/init.d/php5-fpm restart

4. Baikal installieren

Als nächstes bereiten wir die Installation von Baikal vor (die aktuellste Fassung findet ihr unter https://github.com/fruux/Baikal/releases):

cd /var/www
sudo wget https://github.com/fruux/Baikal/releases/download/0.4.6/baikal-0.4.6.zip
sudo unzip baikal-*.zip
sudo rm baikal-*.zip
sudo chown -R www-data:www-data baikal/
cd baikal
sudo touch Specific/ENABLE_INSTALL
sudo chmod 755 Specific/
sudo chmod 755 Specific/db/

Um Baikal nutzen zu können, braucht der CalDAV / CardDAV Server jetzt nur noch unter „https://[IPv6Adresse]/baikal/html/admin/install/“ bzw. „https://SUB.DOMAIN.XYZ/baikal/html/admin/install/“ installiert werden. Damit unter Windows 10 die Anmeldung funktioniert, muss bei den Einstellung „WebDAV authentification type“ auf „Basic“ gestellt werden (außerdem muss beim Anlegen des Benutzers eine Mail-Adresse als Benutzername verwendet werden).

Nach Installation und der Einrichtung der Benutzer, Kalender und Telefonbücher können diese in den entsprechenden Programmen genutzt werden:
CalDav/CardDav (allgemein):

https://SUB.DOMAIN.XYZ/baikal/html/dav.php/calendars/BENUTZER/KALENDER/
https://SUB.DOMAIN.XYZ/baikal/html/dav.php/addressbooks/BENUTZER/TELEFONBUCH/

CalDav/CardDav (für iOS/macOS):

https://SUB.DOMAIN.XYZ/baikal/html/dav.php/principals/BENUTZER/

Weiterführende Links und Dank an:
Jan Karres
Andrew Oberstar
ruhezustand.net

Mac absichern – Kapitel 2: Anmeldung – Abschnitt 2: Passwort setzen

Abschnitt 2: Passwort setzen
Unser Wissen über „gute“ Passwörter können wir jetzt direkt in der Praxis zur Absicherung des Mac’s gegen Angriffe einsetzen. Insbesondere an zwei Stellen sollten wirklich sichere Passwörter zum Einsatz kommen: zum Schutz des Systems und zum Schutz des Benutzerkontos.

Systempasswort

Ein Systempasswort zu setzen, gehört wahrscheinlich für die meisten Nutzer nicht zum Alltag. Eigentlich kein Wunder, wenn weder Verkäufer, Hersteller noch Computer prominent auf die Möglichkeit hinweisen.

*

Wer danach sucht, bekommt aber auch von Apple eine Erklärung zum Setzen des Firmware-Passwortes oder Hinweise zum Vorgehen bei Verlust des Passwortes:
– Apple: Firmware-Passwort auf dem Mac verwenden
– Apple: Verlorenes oder vergessenes Firmware-Kennwort

Dabei ist ein Systempasswort (oder BIOS- / EFI-Passwort bzw. Firmware-Passwort) nicht nur schnell eingerichtet und danach nicht weiter störend, sondern auch für mindestens zwei Dinge gut:

  1. Wenn das MacBook gestohlen wurde: war hoffentlich zumindest ein Benutzerpasswort gesetzt und die Festplatte verschlüsselt. Ohne Systempasswort ist es für den Dieb aber nicht weiter schwer, das Notebook zurückzusetzen bzw. das Betriebssystem neu zu installieren. Danach kann er dann das Notebook normal benutzen oder weiterverkaufen. Wenn aber ein Systempasswort gesetzt ist, kann das MacBook nicht einfach zurückgesetzt werden. Vielleicht erhöht sich damit die Wahrscheinlichkeit, dass ein „ehrlicher Finder“ das verlorene MacBook zurückgibt.
  2. Erst kürzlich ist ein Schwachstelle aufgedeckt worden, die es einem Angreifer erlaubte (wenn er sich beim Systemstart über Thunderbolt mit entsprechender Hard- und Software am MacBook anschließt), das Passwort der FileVault2-Festplattenverschlüsselung innerhalb von 30 Sekunden aus dem Arbeitsspeicher auszulesen. Ein gesetztes Systempasswort hätten diesen Angriff verhindern können – genauso wie alle anderen Angriffe, die auf das Booten eines alternativen Systems von einem externen Speichermedium setzen. Denn ohne das Systempasswort zu kennen, startet der Mac nur noch vom Standard-Startvolumen.
*

Weiterführende Hintergründe und Erklärungen zu dem genannten Angriff auf das FileVault2-Passwort finden sich etwa bei:
– Frizk: Frizk, Ulf (2016): macOS FileVault2 Password Retrieval
– Heise: Becker, Leo (2016): Mac-Passwort lässt sich über Thunderbolt auslesen

Es gibt also gute Gründe, schnell ein Systempasswort zu setzen. Das ist mit wenigen Schritten erledigt:

  1. Als erstes müssen wir das MacBook neu starten. Dafür über das Apfel-Symbol oben links in der Menüleiste den Punkt „Neustart …“ auswählen.
  2. Während der Mac neu startet, muss die Tastenkombination „Command + R“ gedrückt gehalten werden, bis der weiße Apfel in der Mitte des Displays erscheint. Dann starten die macOS-Dienstprogramme, zunächst mit der Sprachauswahl (was hier ausgewählt wird, ändert nur die Bildschirmsprache, nicht das Tastaturlayout – daher bitte den nachfolgenden Kasten mit Umsetzungshinweis beachten).
  3. Nach der Sprachauswahl befinden wir uns im Wiederherstellungssystem von macOS. Hier wählen wir in der Menüleiste den Punkt „Dienstprogramme“ aus und starten dort das „Firmware-Passwortdienstprogramm“.
  4. Jetzt sollte ein Hinweisfenster folgen, das besagt, dass der Passwortschutz ausgeschaltet ist. Hier einfach auf den Button „Firmware-Passwort aktivieren …“ klicken.
  5. Im nun aufklappenden Dialogfenster muss zwei Mal des ausgewählte sichere Passwort eingegeben werden. Da das Passwort bei der Eingabe natürlich nicht angezeigt wird, sollte unbedingt der nachfolgende Kasten mit Umsetzungshinweis beachtet werden:
    !

    Bei einer späteren Abfrage des Passworts ist normalerweise das US Tastaturlayout aktiviert! Daher sollte beim Setzen des Passworts ebenfalls das US Layout beibehalten werden (also das Layout nicht über das Flaggensymbol oben rechts auf deutsch ändern). Sollte man sich vertan haben oder das System zwischen deutschem und US Layout wechseln und daher plötzlich das Passwort nicht mehr akzeptieren, sollte man als erstes einfach das Passwort im jeweils anderen Layout ausprobieren: Wenn das Passwort eigentlich „Zwer8_na5e“ heißt, müsste man „Ywer8ßna5e“ ausprobieren, da sich deutsches und US Layout bei der Belegung von Y und Z bzw. _ und ß unterscheiden.

  6. Nach einem Klick auf „Passwort festlegen“ ist das Firmware- bzw. Systempasswort gesetzt. Es folgt ein Hinweisfenster, das besagt, dass das Passwort nach einem Neustart aktiviert wird. Es zeigt auch gleich einen Button zum Schließen des Firmware-Passwortdienstprogramms an.
  7. Nach dem Setzen des Firmware-Passworts muss der Mac zum Abschluss also über das Apfel-Symbol oben links in der Menüleiste mit dem Punkt „Neustart“ neu gestartet werden.

Bei dem ersten Neustart wird man anschließend von einem schwarzen Bildschirm mit Schlosssymbol und Passworteingabefeld begrüßt. Hier muss das neu gewählte Firmware-Passwort eingegeben werden. Bei allen zukünftigen Starts ist dieser Schritt normalerweise nicht mehr nötig, da macOS vom Standard Startvolumen (Festplatte/SSD) startet.

?

Es kann vorkommen, dass macOS bei jedem echten Neustart (nicht beim Aufwachen aus dem Standby) das Passwort abfragt und das Auswahlmenü für das Startvolumen anzeigt. Eventuell kann es helfen, 1. noch einmal mit Schritt 2. das Wiederherstellungssystem zu starten, 2. auf das Apfel-Symbol oben links in der Menüleiste zu klicken, 3. den Punkt „Startvolume…“ auszuwählen, 4. die „Macintosh HD“ auszuwählen und 5., falls das Volumen schon verschlüsselt wurde, über den Button „Schutz aufheben …“ das FileVault2 Passwort einzugeben, um dann 6. den Mac neu zu starten.

Wenn jedoch jemand versucht, die Wiederherstellungskonsole zu booten, um etwa den geklauten Mac zurückzusetzen, wird das Passwort abgefragt. Ebenso wenn jemand versucht, den Mac nicht vom Standardvolumen, sondern von einer eigenen präparierten Festplatte aus zu starten.

!

Natürlich muss man sich das gesetzte Firmware-Passwort gut merken (oder an sicherer Stelle verwahren). Es lässt sich nicht auf einfachem Wege zurücksetzen. Wer sein Passwort vergessen hat, muss mit vorliegendem Kaufbeleg einen Apple-Store aufsuchen.

Nachdem jetzt ein Systempasswort gesetzt ist, geht es gleich mit der Einrichtung des Benutzerpassworts weiter.

Zurück zu Abschnitt 1: Passwörter