Posts Tagged ‘Mac’

Samstag, 16. Dezember 2023

Apple App Store verknüpft App Store-Käufe mit der MAC des Gerätes?

My solution was to query all built-in ethernet interfaces—in technical terms, kIOBuiltin devices of kIOEthernetInterfaceClass—and attempt to validate each interface’s MAC address with the App Store receipt until a match was found. This might be the same technique suggested by Paulo Andrade, but that blog post contains no sample code.

Quelle: Mac App Store receipt validation revisited, via Receipt Validation With All the Ethernet Interfaces.

Was ist denn überhaupt ein App Store Receipt?

An App Store receipt provides a record of the sale of an app and any purchases the person makes within the app. You can authenticate purchased content by adding receipt validation code to your app or server. Receipt validation requires an understanding of secure coding techniques to employ a solution that’s secure and unique to your app.

Quelle: Choosing a receipt validation technique.

Spannend. Wieder etwas gelernt. Doch was passiert, wenn ich mein Gerät wechsle, und sich die MAC-Adresse ändert? Die Käufe verliere ich ja sicher nicht …

Tags: , , ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 28. März 2021

Mit gehärtetem SSH-Client kann man sich nicht mehr auf UniFi-Geräte einloggen

$ ssh us-8-60w
Unable to negotiate with 10.1.2.3 port 22: no matching MAC found. Their offer: hmac-sha1

Bummer. Ich musste meine gehärtete ~/.ssh/config folgendermassen abschwächen, um mich per SSH wieder auf den Access Point einloggen zu können:

...
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512,hmac-sha2-256,umac-128@openssh.com,hmac-sha1
...

Siehe auch SSH Into Ubiquiti Access Point

Die lokal verfügbaren MACs zeigt man folgendermassen an:

$ $ ssh -Q mac
hmac-sha1
hmac-sha1-96
hmac-sha2-256
hmac-sha2-512
hmac-md5
hmac-md5-96
umac-64@openssh.com
umac-128@openssh.com
hmac-sha1-etm@openssh.com
hmac-sha1-96-etm@openssh.com
hmac-sha2-256-etm@openssh.com
hmac-sha2-512-etm@openssh.com
hmac-md5-etm@openssh.com
hmac-md5-96-etm@openssh.com
umac-64-etm@openssh.com
umac-128-etm@openssh.com

Tags: , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Donnerstag, 22. März 2018

WiFi-Kennwörter auch aus dem Recovery-Modus eines Macs entfernen

Kürzlich habe ich meinen Mac mini (Late 2012) verkauft. Als ich das Gerät frisch formatiert und aufgesetzt habe, habe ich realisiert, dass sich der Mac im Recovery-Modus automatisch mit meinem WLAN verbindet. Das konnte nur bedeuten, dass das Passwort für mein WLAN-Netzwerk auch noch ausserhalb der frisch formatierten Festplatte abgelegt sein musste.

Eine Frage auf Ask Different nimmt sich diesem Thema an: How to prevent storing the WiFi password on the recovery partition?

Ich entschied mich deshalb, das NVRAM des Mac minis zu löschen. Das funktioniert, indem man beim Booten folgende Tastenkombination drückt und gedrückt hält:

Option + Command + P + R

Quelle: How to reset NVRAM on your Mac

Ein erneuter Reboot in den Recovery Modus belegte dann, dass sich der Mac nicht mehr automatisch mit meinem WLAN-Netzwerk verband.

Tags: , , , , , , ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 5. November 2017

SSH meldet „Bad SSH2 Mac spec“

Meine ~/.ssh/config habe ich gemäss den Empfehlungen von Mozilla konfiguriert.

Offenbar gab es Anpassungen am SSH-Client unter macOS, als ich zu Monatsbeginn (1. November) MacPorts aktualisiert habe.

Es waren keine Logins auf irgendwelche in config konfigurierten Server mehr möglich. Die Fehlermeldung lautete:

$ ssh sauron
/Users/mario/.ssh/config line 8: Bad SSH2 Mac spec 'hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512,hmac-sha2-256,umac-128@openssh.com,hmac-md5,hmac-sha1,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96'.

Hmmm! Mit folgendem Befehl findet man raus, welche SSH2 Macs der SSH-Client mittlerweile nur noch unterstützt:

$ ssh -Q mac
hmac-sha1
hmac-sha1-96
hmac-sha2-256
hmac-sha2-512
hmac-md5
hmac-md5-96
umac-64@openssh.com
umac-128@openssh.com
hmac-sha1-etm@openssh.com
hmac-sha1-96-etm@openssh.com
hmac-sha2-256-etm@openssh.com
hmac-sha2-512-etm@openssh.com
hmac-md5-etm@openssh.com
hmac-md5-96-etm@openssh.com
umac-64-etm@openssh.com
umac-128-etm@openssh.com

Ich speicherte beide Werte in unterschiedlichen Textdateien, wobei ich die Werte aus der config von Hand auf einen Wert pro Zeile aufspaltete. Danach sortierte ich diese mit sort, um sie besser vergleichbar zu machen.

Ein Diff der beiden Listen zeigte mir schlussendlich klar auf, wo ich Hand anlegen musste:

$ diff ssh-enabled-sorted.txt ssh-available-sorted.txt 
3,4c3,4
< hmac-ripemd160
< hmac-ripemd160@openssh.com
---
> hmac-md5-96-etm@openssh.com
> hmac-md5-etm@openssh.com
6a7,8
> hmac-sha1-96-etm@openssh.com
> hmac-sha1-etm@openssh.com
12a15,16
> umac-64-etm@openssh.com
> umac-64@openssh.com

Damit konnte ich config anpassen. Vorher:

...
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512,hmac-sha2-256,umac-128@openssh.com,hmac-md5,hmac-sha1,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
...

Nachher (hmac-ripemd160,hmac-ripemd160@openssh.com entfernt):

...
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512,hmac-sha2-256,umac-128@openssh.com,hmac-md5,hmac-sha1,hmac-sha1-96,hmac-md5-96
...

Tags: , , , , , ,
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 26. Januar 2014

Sich schlüsselbasiert per SSH auf einer Synology Diskstation einloggen

Im Grunde ein einfaches Unterfangen, welches im Internet auf unzähligen Seiten dokumentiert ist. Kurzfassung: Auf dem eigenen Arbeitsrechner einen privaten und öffentlichen Schlüssel erstellen, auf der Synology Diskstation den SSH-Zugang aktivieren, eine Login-Shell einrichten und dort dann unter ~/.ssh/authorized_key den öffentlichen Schlüssel ablegen.

Was ich vor einigen Monaten mit meinem Raspberry Pi erfolgreich und innert kurzer Zeit hingebracht habe, wollte mich gestern während eineinhalb Stunden auf Trab halten. Neu wollte ich auch meinen persönlichen Account mit einem schlüsselbasierten SSH-Zugang ausstatten. Doch während der schlüsselbasierte Login mit dem Raspberry Pi-Konto problemlos funktionierte, wollte es mit dem privaten Konto einfach nicht klappen, obwohl die Konfiguration identisch war.

Lösung

Die nach unzähligen Pröbelversuchen eruierte Ursache: Das Home-Directory meines Benutzers war nicht mit den korrekten Berechtigungen versehen:

VAULT> ls -l /volume1/homes/     
...
drwxrwxrwx    6 mario    users         4096 Jan 26 10:42 mario
...

Nachdem ich folgenden Befehl ausgeführt hatte, klappte es plötzlich:

$ chmod 755 /volume1/homes/mario

Hierbei handelt es sich um eine im Grunde gut gemeinte Sicherheitsvorkehrung auf Unix-Systemen. Denn wenn andere Benutzer den Public Key eines anderen Benutzers ersetzen könnten, könnten sie sich anschliessen unter dessen Kontext einloggen.

Siehe auch der Beitrag SSH and home directory permissions auf Stackexchange.

Hintergründe

Ein grosses Problem dieser Synology-Box ist es, dass auf ihr ein abgespecktes Linux läuft, welches einerseits die gängigsten Debug-Optionen nicht zur Verfügung stellt (bspw. ein sauberes Logging der Aktivitäten von sshd), andererseits über eine schier unüberschaubare verschachtelte Konfiguration verfügt.

sshd_config

Insgesamt habe ich auf der Kiste drei sshd_config Konfigurationsdateien gefunden:

  • /etc/ssh/sshd_config
  • /etc.defaults/ssh/sshd_config
  • /usr/syno/etc.defaults/ssh/sshd_config

Welche ist nun die richtige? Und welche bleibt auch bei einem Update oder Neustart mit meinen Konfigurationsanpassungen bestehen? Ich weiss es bis heute nicht.

sshd neu starten

Auch hierfür gibt es mehrere Möglichkeiten. Im Netz habe ich zwei Befehle gefunden:

  • # killall sshd
  • # /usr/syno/etc.defaults/rc.d/S95sshd.sh restart

Wenn ich diese Befehle ausgeführt habe, bin ich natürlich schnurstracks aus der SSH-Session geflogen — logisch. Doch bei der Verwendung von killall hat man sich soeben gerade vollständig vom NAS ausgesperrt.

Glücklicherweise gibt es über das Web-GUI des NAS die Möglichkeit, SSH wieder zu starten:

  1. Control Panel
  2. Terminal
  3. [x] Enable SSH service

Was ich zudem auch realisiert habe: Wenn ich SSH über das GUI neu starte, wird /etc/ssh/sshd_config neu eingelesen. Wenn ich es mit den Kommandozeilenbefehlen neu starte, wird die Konfigurationsdatei irgendwie nicht beachtet …

Verschachtelte Start-Scripts

Wie genau wird nun aber SSH gestartet? Die Synology-Ingenieure haben sich wohl gesagt: „Wieso einfach, wenn es auch kompliziert geht?“ und sich einige verschachtelte Scripts geleistet:

/usr/syno/etc.defaults/rc.d/S95sshd.sh liest einerseits /etc.defaults/rc.subr als auch /usr/syno/etc.defaults/rc.ssh.subr ein. Gestartet wird der SSH-Daemon dann aber, indem das Script /usr/syno/etc.defaults/rc.ssh aufgerufen wird. Dieses Script sourced das bereits erwähnte /usr/syno/etc.defaults/rc.ssh.subr erneut.

Konfigurationsdatei forcieren

Als mir das Debugging zu blöd wurde, habe ich mich entschieden, die Konfigurationsdatei ein für allemal in das eigentliche Startscript /usr/syno/etc.defaults/rc.ssh hartzukodieren:

...
$SSHD -f /etc/ssh/sshd_config
...

Debugging in syslog? Fehlanzeige

Wer denkt, dass einem folgende Zeilen beim Debugging in /etc/ssh/sshd_config weiterhelfen, liegt falsch:

...
SyslogFacility AUTH
LogLevel DEBUG
...

In /var/log/messages, der einzigen von zwei Log-Dateien in diesem Verzeichnis, welche bisher am heutigen Tag aktualisiert wurden, finden sich keine weiterführenden Infos, wieso sich der Benutzer mario nicht Schlüsseln einloggen darf.

Tags: , , , , , , , , , ,
Labels: Linux

1 Kommentar | neuen Kommentar verfassen

Mittwoch, 18. Dezember 2013

MacPorts bricht die Installation von python27 ab

Das Problem stellte sich bei mir bereits auf mehreren Computern. Bei der Analyse der von MacPorts erstellten Log-Datei wird offensichtlich, wo das Problem liegt:

:info:destroot You have not agreed to the Xcode license agreements, please run 'xcodebuild -license' (for user-level acceptance) or 'sudo xcodebuild -license' (for system-wide acceptance) from within a Terminal window to review and agree to the Xcode license agreements.

Wer kürzlich Apple Xcode aktualisiert hat, muss wie von Apple angeraten folgenden Befehl ausführen:

# xcodebuild -license

Danach laufen die MacPorts-Installationen wieder sauber durch.

Tags: , , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Montag, 29. Oktober 2012

Web-Videos von arte, ARD, ZDF & Co. herunterladen

Das kriegt man offenbar mit folgendem Mac-Tool hin:

Mediathek for Mac

Leider ist ausgerechnet die arte-Doku, an welcher ich interessiert bin, offenbar nicht verfügbar:

Quelle: GOLDMAN SACHS – LA BANQUE QUI DIRIGE LE MONDE

Tags: , , , ,
Labels: Medien

Keine Kommentare | neuen Kommentar verfassen

Samstag, 2. Juni 2012

Bockende Web-Formulare von Hand (sprich: mit etwas JavaScript) absenden

Da versuchte ich also vor einigen Tagen, mich mit Safari unter Mac OS X 10.7 Lion in die Web-Mail-Lösung meines Arbeitgebers einzuloggen — doch bereits beim Eingabeformular für Benutzernamen und Passwort steckte ich fest:

Irgendwie fehlte hier der Senden-Button, welcher unter Windows im Microsoft Internet Explorer präsent war! Nun, da ich in meiner Freizeit als Web-Entwickler tätig bin, hatte ich selbstverständlich das Developer-Menu in Safari aktiviert. Dies erlaubte mir nun, mittels Rechtsklick irgendwo in den Hintergrund der Web-Seite zu klicken, Inspect Element auszuwählen und danach zügig in die (JavaScript-)Konsole zu wechseln.

Dort gab ich basierend auf Wissen, welches ich seinerzeit (im letzten Jahrhundert) über SelfHTML erlernt hatte, folgenden Befehl ein, gefolgt von einer Zeilenschaltung (je nach Tastatur Enter oder Return):

document.forms[0].submit();

Und schwupp landete ich auf der nächsten Seite des Web-Mail-Logins. Und dort wurde mir beschieden, dass mein Browser und Computer als unsicher eingestuft seien, weil es nicht möglich sei, ein ActiveX-Plugin zu installieren:

Bisher war ich ja immer der Meinung, dass gerade das umgekehrte der Fall ist. Ich helfe ein stattliches Vermögen wetten, dass mein Mac potentiell sicherer als die Windows-Kisten ist, die wir auf der Arbeit benutzen — und ich damit erst noch produktiver bin und das Gerät Zugfahrten ohne Strom länger übersteht, weil nicht hundert Hilfs-, Überwachungs- und Sicherheitsapplikationen im Hintergrund laufen und Strom fressen. Aber bei Corporate IT lernt man ja nie aus …

Nebenbei: Das Thema „Bring your own device“ ging gerade kürzlich im Zusammenhang mit IBM durch die Presse. Und wurde dann auch noch aus anderer Warte kommentiert.

Tags: , , , , , , , , ,
Labels: Web

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 19. Februar 2012

MacPorts unter Lion

Xcode 4.3 kann nur noch über den Mac App Store bezogen werden. Applikationen, die über diesen Kanal vertrieben werden, müssen verschiedene Einschränkungen in Kauf nehmen — unter anderem können sie nicht mehr Dateien irgendwo auf der Macintosh HD ablegen.

Die ausführbaren Dateien liegen unter /Applications/Xcode.app/Contents/Developer, und dies muss man auf der Kommandozeile auch dementsprechend kundtun:

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

Quelle: Untitled

Damit ist es aber noch nicht getan. In Xcode muss man nun noch die Command Line Tools installieren, die den gcc-Compiler zur Verfügung stellen:

  1. Xcode installieren
  2. Xcode starten
  3. Xcode
  4. Preferences
  5. Downloads
  6. Install Command Line Tools

Unklare Wirkung

Bei der Fehlersuche habe ich auch noch folgende Anpassung an /opt/local/etc/macports/macports.conf vorgenommen, weiss aber nicht, ob sie nötig ist oder nicht:

...
# Directory containing Xcode Tools (default is to ask xcode-select)
#developer_dir       /Developer
developer_dir        /
...

Tags: , , , , , ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen

Samstag, 4. Juni 2011

3d0d7e5fb2ce288813306e4d4636395e047a3d28

3d0d7e5fb2ce288813306e4d4636395e047a3d28 — das ist der Dateiname der auf einem Computer gesicherten SQLite-Datenbank, die alle SMS-Nachrichten eines iPhones enthalten.

Die Datei ist bei Mac OS X unter

~/Library/Application Support/MobileSync/Backup/

abgelegt. Finden tut man sie am einfachsten mit folgendem Befehl:

$ find ~/Library/Application\ Support/MobileSync/Backup/ -name 3d0d7e5fb2ce288813306e4d4636395e047a3d28

Diese Datei kann man problemlos mit einem SQLite GUI öffnen — beispielsweise, um die Daten nach Excel zu exportieren. Folgende GUIs finden sich für Mac OS X (ungetestet):

Der Unix-Geek begnügt sich der Einfachheit halber aber mit der Kommandozeile:

$ sqlite3 ~/Library/Application\ Support/MobileSync/Backup/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/3d0d7e5fb2ce288813306e4d4636395e047a3d28
sqlite> .headers ON
sqlite> .tables
_SqliteDatabaseProperties  msg_group                
group_member               msg_pieces               
message
sqlite> select * from message limit 0,5;
ROWID|address|date|text|flags|replace|svc_center|group_id|association_id|height|UIFlags|version|subject|country|headers|recipients|read
...

Tags: , ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen