Julian Joswig: IT Blog

Zeige alle Artikel im Tag macOS

VPN-Server für iOS oder macOS selbst betreiben

Geschrieben am 26. May 2018, 15:32

Es gibt Situationen, in denen hätte man gerne einen VPN-Server zur Verfügung, um Datenverkehr in einer unsicheren Umgebung transportieren zu können. Das kann beispielsweise an Hotspots in Hotels, am Flughafen oder Bahnhof sein, da diese in aller Regel aus Gründen der Praktikabilität nicht verschlüsselt sind. Nutzt man dann unverschlüsselte Dienste, bspw. wird eine Webseite ohne HTTPS (TLS-Verschlüsselung) aufgerufen, kann diese Information mit einfachen Mitteln durch alle Nutzer des Hotspots abgegriffen werden. Die Lösung ist hier die Nutzung eines VPN-Servers (Tunnels), um die sensiblen Daten dort hindurch über das unsichere Netz zu übertragen. Es gibt eine Reihe von kostenpflichtigen VPN-Diensten, welche VPN-Tunnel für solche Zwecke bereitstellen. Manchmal jedoch leider mit Volumenbeschränkung. Sofern man einen öffentlich verfügbaren Server im Internet hat, bspw. aus der Cloud, kann man einen VPN-Server mit relativ einfachen Mitteln selbst betreiben und dann mit iOS (iPhone, iPad) oder macOS nutzen.

Voraussetzungen

Um ein solches Setup realisieren zu können, benötigt man mindestens folgende Dinge:

  • einen verfügbaren Server mit Linux (bspw. aus der Cloud von Amazon oder im heimischen Netz mit einem Raspberry PI) mit Ubuntu, Debian oder CentOS
  • Server muss zwingend per IPv4 erreichbar sein (IPv6 ist aus technischen Gründen nicht kompatibel). Dies sollte idealerweise eine feste IPv4-Adresse, kann jedoch auch eine dynamische Adresse sind.
  • ein kompatibles iOS (iPhone, iPad) oder macOS Gerät sein

Sollte man sich dazu entscheiden, einen Server beispielsweise im heimischen Netz zu betreiben (z. B. mittels Raspberry PI), so verfügt man in aller Regel nur über eine dynamische IP-Adresse. Um trotzdem eine stabile Erreichbarkeit des VPN-Servers über die dynamische IP-Adresse zu gewährleisten, sollte man einen "Dyndns"-Dienst verwenden.

Funktionsweise

Auf dem verfügbaren Server wird ein VPN-Server installiert, welcher einen Tunnel bereitstellt auf Basis von IPSec (IPSec/L2TP oder Cisco IPSec). Diese Art der Transportverschlüsselung gilt nach heutigen Maßstäben als sicher und ungebrochen. Das Endgerät (iOS oder macOS) baut eine Tunnelverbindung zum Server auf und schickt sämtliche Daten durch den verschlüsselten Tunnel. Selbst bei Nutzung von unverschlüsselten Diensten bleiben die Daten zumindest im unsicheren Hotspot-Netzwerk vor den Augen anderer Teilnehmer verborgen.

Installation

Eine aufwändige Installation ist lediglich für den Server durchzuführen. Für die Installation des VPN-Servers sei auf folgende Seite verwiesen: https://github.com/hwdsl2/setup-ipsec-vpn#installation iOS und macOS bringen im Standard schon die notwendige Software mit, um einen VPN-Tunnel zu unserem installierten VPN-Server aufbauen zu können. Es muss lediglich noch das iOS oder macOS Gerät konfiguriert werden:

Nutzung

Nach Einrichtung des Servers und iOS oder macOS Geräts kann eine VPN-Verbindung quasi per "Fingerschnipp" aufgebaut werden. Von diesem Moment an läuft jegliche Kommunikation vom Endgerät verschlüsselt über den VPN-Server in das Internet. Die Daten im unsicheren Hotspot-Netzwerk sind damit vor dem Einblick fremder geschützt. Ich selbst nutze diese Kombination in Verbindung mit einem Ubuntu Server, welcher bei einem deutschen Cloud Anbieter steht. Alle meine Endgeräte (iPhone, iPad, MacBook Air) können eine VPN-Verbindung zum Server aufbauen und ich damit sämtliche Verbindungen verschlüsseln.

Quellen:


Apple aktualisiert iOS Security Guide für iOS 11

Geschrieben am 20. Jan 2018, 16:51

Apple hat - etwas verspätet - den iOS Security Guide mit der Januar 2018 Ausgabe für iOS 11 aktualisiert. Das Dokument enthält umfassende technische Informationen zur Architektur der iOS-Devices sowie zu iCloud. Neu sind unter anderem Inhalte zu Face ID, welche bereits mit dem im November 2017 herausgegeben Face ID Security Guide erstmals veröffentlicht wurden.

Neue Inhalte gegenüber Vorversion

Der iOS Security Guide für iOS 11 (Januar 2018) enthält unter anderem folgende Inhalte gegenüber der Vorversion für iOS 10 (März 2017):

  • Apple Pay Cash
  • Security Certifications and Programs
  • Touch ID/Face ID
  • Shared Notes
  • CloudKit end-to-end encryption
  • TLS
  • Apple Pay, Paying with Apple Pay on the web
  • SiriSuggestions
  • Shared iPad

Die Januar 2018 Ausgabe des iOS Security Guides kann hier abgerufen werden: https://www.apple.com/business/docs/iOS_Security_Guide.pdf Quellen:


iOS-Geräte provisorisch zum Apple Device Enrollment Program hinzufügen

Geschrieben am 24. Sep 2017, 15:34

Mit der Veröffentlichung von iOS 11 sowie der gleichzeitigen Bereitstellung des Apple Configurator 2 (Version 2.5) am 19. September 2017 gibt es nun die Möglichkeit, iOS-Geräte provisorisch zum Apple Device Enrollment Program (DEP) einzubinden. Diese Möglichkeit bietet insbesondere für Unternehmen neue Chancen.

Was ist das Apple Device Enrollment Program (DEP)?

Dieser Apple Service richtet sich an Unternehmen und Schulen. Zentral beschaffte iOS-Geräte können im Apple DEP-Portal mit einem Mobile Device Management (MDM) Server verknüpft werden, was die Inbetriebnahme des Geräts durch automatisches Einhängen in den MDM-Server deutlich vereinfacht und größtmöglich automatisiert. Durch Nutzung von DEP in Verbindung mit MDM, kann zudem der so genannte "Supervised" Modus auf den Geräten Over-the-Air, d. h. ohne Betreuung durch die IT-Organisation, aktiviert werden. Supervised erlaubt es beispielsweise, die Geräte von Apple ID's zu entkoppeln und damit den Activation Lock auszuschalten. Dies erlaubt eine Wiederverwendung des Geräts, selbst wenn der Zugriff zur Apple ID nicht mehr vorliegen sollte. Weitere Informationen zu DEP gibt es hier: https://www.apple.com/business/dep/

Weshalb ist die neue provisorische DEP-Verknüpfung hilfreich?

iOS-Geräte konnten bisher nur über die folgenden zwei Wege in den DEP-Service integriert werden:

  • Beschaffung der Geräte über einen akkreditierten Apple-Reseller oder Mobilfunkprovider (leider gibt es keine öffentlich verfügbare Liste) ODER
  • Beschaffung der Geräte über Apple direkt

Zusätzlich steht der DEP-Service nur in einer geringen Anzahl von Ländern (siehe hier) zur Verfügung, was die Nutzung erheblich einschränkt. Beispielhaft sei mit Stand von heute (24. September 2017) erwähnt, dass Russland nicht zu diesen Ländern gehört und daher DEP dort nicht genutzt werden kann. Mit der neuen provisorischen DEP-Verknüpfung ist es nun möglich, iOS-Geräten in den DEP-Service von Apple einzuhängen, auch wenn diese nicht über einen der beiden oben genannten Wege bezogen wurden. Im Falle von Schulen können beipielsweise gespendete Geräte dann dem DEP-Bestand hinzugefügt werden.

Wie funktioniert die provisorische DEP-Verknüpfung?

Die provisorische DEP-Verknüpfung kann derzeit nur unter folgenden Bedingungen angewendet werden:

  • das iOS-Gerät ist mit iOS 11 ausgestattet und
  • der Apple Configurator 2 (in Version 2.5) wird verwendet.

Das iOS-Gerät wird unter Verwendung des Apple Configurator 2 zum DEP hinzugefügt. Das Hinzufügen zum DEP geschieht auf provisorischer Basis. Im Folgenden bedeutet dies:

  • Das iOS-Gerät erhält ein DEP Enrollment Profile und wird beim ersten Starten mit dem DEP-Server sowie dem hinterlegten MDM-Server verbunden.
  • Das DEP-Profil hat eine Gültigkeitsfrist von 30 Tagen (deshalb "provisorisch"). Innerhalb des Zeitraums kann das DEP-Profil vom Nutzer gelöscht werden (eine Löschung hat einen Factory Reset zur Folge).
  • Läuft der Gültigkeitszeitraum von 30 Tagen ab und das Profil wurde nicht vom Gerät entfernt, wird das Gerät dauerhaft dem DEP-Service hinzugefügt. Alle weiteren DEP-Funktionalitäten sind nun dauerhaft und in vollem Umfang zu nutzen.

Wie kann nun ein Gerät provisorisch zu DEP hinzugefügt werden?

Die folgende Bilderserie veranschaulicht den Enrollment-Prozess. Achtung: Durchführung des DEP-Enrollments mit einem iOS-Gerät und dem Apple Configurator führt zu einem Factory-Reset, bei dem alle Daten auf dem Gerät unwiederbringlich gelöscht werden! [gallery ids="151,156,152,153,154,155"] Nach Einhängen des Geräts in das DEP-System, zeigt sich bei der Inbetriebnahme ein neuer Installationsschritt 'Remote Management': [gallery ids="158,159"]

Was ist abschließend zu tun?

Nach Durchführung aller obigen Schritte gibt es keine weiteren Tätigkeiten. Nach Ablauf des 30-tägigen Gültigkeitszeitraums wird das Gerät permanent in das DEP-System bei Apple aufgenommen und alle Funktionen sind vollumfänglich nutzbar. Fazit: Das provisorische Hinzufügen von iOS-Geräten zum DEP-System bei Apple schließt eine bisher vorhandene Lücke. Durch den bis dato bestehenden Zwang, iOS-Geräte über akkreditierte Apple-Reseller oder Mobilfunkprovider beziehen zu müssen, war es Unternehmen nicht möglich, vorhandene iOS-Geräte dem DEP-System zu zuführen. Es ergeben sich nun folgende neue Möglichkeiten im Bereich der iOS-Nutzung für Unternehmen:

  • Es bestehen somit Migrationspfade, um eine bestehende iOS-Landschaft 'DEP-fähig' zu machen.
  • Unternehmen in Ländern, welche keine Möglichkeiten haben, Geräte von akkreditierten Apple-Resellern zu beziehen (bspw. Russland), können Geräte zu bestehenden DEP-Accounts hinzufügen.

Die von Apple hier geschaffene Möglichkeit scheint in erster Linie positiv zu sein, da sie es Unternehmen ermöglicht, von DEP auch kurzfristig zu profitieren. Ob jedoch der oben vorgestellte Weg hinsichtlich Geschwindigkeit und Flexibilität bei großen iOS-Landschaften mit mehreren tausend iOS-Geräten hinreichend gut skaliert, muss im Einzelfall erwogen werden. Quellen:


PHP Binary von MAMP auf macOS dem Umgebungspfad hinzufügen

Geschrieben am 09. Jun 2019, 10:08

Das Paket MAMP (macOS, Apache, MySQL, PHP) ist auf macOS Systemen trotz der großen Verbreitung von Containern wie Docker noch recht beliebt. Es wird im Standard mit PHP und einer Vielzahl von PHP-Extensions geliefert. Um systemweit das PHP-Binary nutzen zu können, muss man dieses zur Umgebungsvariable PATH hinzufügen.

Dazu wird die Datei .bash_profile bearbeitet, welches beim Starten eines Terminalfensters automatisch ausgeführt wird und alle darin befindlichen Befehle ausführt. Wir fügen zu Beginn der Datei eine neue Zeile mittels folgendem Befehl ein:


$ echo 'export PATH=/Applications/MAMP/bin/php/php7.2.7/bin:$PATH' | cat - ~/.bash_profile > temp && mv temp ~/.bash_profile

Je nach MAMP-Version muss ggf. die Versionsnummer von PHP angepasst werden. In meinem Fall ist das 7.2.7. Anschließend wird die .bash_profile manuell mittels folgendem Befehl ausgeführt:


$ source ~/.bash_profile

Zu guter Letzt wird geprüft, ob die Anpassung erfolgreich war. Dazu wird geprüft, welcher Pfad bei Eingabe von "php" im Terminal ausgeführt wird. Hier sollte dann der Pfad zu MAMP erkennbar sein:


$ which php
/Applications/MAMP/bin/php/php7.2.7/bin/php


Julian Joswig

Julian Joswig Facebook Julian Joswig LinkedIn Julian Joswig Twitter Julian Joswig XING

Über diesen Blog

Was ist der Inhalt dieses Blogs, fragt ihr euch vielleicht? Mein Name ist Julian Joswig und ich bin großer Fan von IT und Technologie (hauptsächlich Linux, Server, Netzwerke und alle damit verbundenen Themen). Manchmal beiße ich mir an schwierigen Sachverhalten fast die Zähne aus. Habe ich jedoch eine Lösung gefunden, möchte ich diese mit der Welt teilen. Beruflich arbeite ich als Management Consultant in Deutschland mit Fokus auf IT und Business.

Neueste Artikel:

Artikelarchiv:

Twitter Timeline: