Autor: Malte

  • Empfehlung: Signatur mit Bild auf iPad und iPhone

    Apple-Geräte sind nun wirklich nicht mein Hauptgebiet und bestimmen auch nicht meinen Arbeitsalltag. Dennoch kommt es vor, dass bestimmte Aufgaben zu erledigen sind, welche solche Geräte einbeziehen. Konkret wurde ich gefragt, wie „schöne“ Signaturen bei Mobilgeräten wie iPhone und iPad zu realisieren seien.

    Die Signatur-Freifelder in Apple-Mobilgeräten sind recht schlicht gehalten und erlauben kein „einfaches“ einfügen von Bildern oder HTML-Markup. Copy & Pasted man es allerdings, klappt das trotzdem.

    Da eine entsprechende Anleitung bereits verfasst wurde, ist dieser Beitrag eher als Erinnerung und Empfehlung zu betrachten. In der Apple-Community wurde das Thema hier beleuchtet und auch gleich ein hilfreiches Tool verlinkt, welches Bilder und Grafiken in das notwendige base64-Format wandelt.

    https://communities.apple.com/de/docs/DOC-250007001

  • qcow2 Overlay zur Read-Only Datenanalyse großer Speichermedien

    Arbeitet man sich in die Materie der Datenanalyse und -wiederherstellung unter Linux ein, kommt man auch automatisch mit den grundlegenden Prinzipien dieser in Kontakt. Ein Prinzip ist: Bei der Analyse und Wiederherstellung sind die Ursprungsdaten nicht zu beschreiben. Entsprechend werden Geräte, Partitionen und Dateisysteme stets nur als Read-Only gemounted oder nur auf 1-zu-1 Abzügen gearbeitet.

    Diese Abzüge haben aber einen Haken: Analysiere ich zum Beispiel ein 12 TB Dateisystem, welches partiell überschrieben wurde, so bräuchte ich einen vergleichsweise großen Zwischenspeicher (oder vergleichbares RAID-Array) um einen komplette Abzug zu speichern. Würde ich den Speicher in eine große 12-24 TB externe Festplatte laden, wäre das zwar auch möglich, würde aber ewig dauern.

    (mehr …)
  • Mit iptables-persistent/netfilter-persistent dafür sorgen, dass nur zusätzliche Regeln angewendet werden

    Unter aktuellen Linux-Distributionen kommt meist ufw (uncomplicated firewall) oder iptables-persistent zum Einsatz um Firewall-Regeln auch ernsthaft zu persistieren. iptables-persistent ist dabei bei aktuellen Versionen nurmehr ein Alias für netfilter-persistent. netfilter-persistent ist wiederum ein einfaches sh-Skript, welches über den Systemd-Unit netfilter-persistent ausgelöst wird.

    Im Normalfall wird mittels

    netfilter-persistent save
    

    der aktuelle Stand an Regeln gesichert und dann automatisch beim Neustart angewendet.

    Nutzt man jedoch Docker oder ähnliche Tools, welche eigens generierte iptables- oder nftables-Regeln für ihre Funktion nutzen, so ist es nicht empfehlenswert, die gesamten Regeln zu sichern und zurückzuspielen, da dies zu unerwarteten Netzwerkproblemen mit Docker führen würde.

    (mehr …)
  • Passbolt: Benutzer kann nicht angelegt werden, Fehler 400

    Seit einiger Zeit betreibe ich zwei Passbolt-Instanzen zur sicheren und dennoch praktischen Verwaltung von Passwörtern. Der offizielle Docker-Stack funktioniert ansich einwandfrei, jedoch muss mir in den Anfängen mit Passbolt ein Fehler unterlaufen sein, bei dem ich ein oder zwei Kommandos über die Kommandozeile mit dem Benutzer „root“ statt „www-data“ ausführte.

    Das führte dann dazu, dass /var/lib/passbolt/tmp/ und darin enthaltene Dateien und Unterverzeichnisse mit falschen Berechtigungen angelegt wurden, sodass im normalen Betrieb der Benutzer „www-data“ keine Schreibrechte hatte.

    Das äußerte sich auch gar nicht so offensichtlich: Beim anlegen eines neuen Benutzers beispielsweise erhielt ich unvermittelt einen Fehler 400, der nicht klar auf ein Berechtigungsproblem verwies.

    Abhilfte schaffte letztlich im Docker-Container:

    chown -R www-data:www-data /var/lib/passbolt/tmp/
    chmod -R 775 $(find /var/lib/passbolt/tmp/ -type d)
    chmod -R 664 $(find /var/lib/passbolt/tmp/ -type f)
    
  • WireGuard auf MikroTik hAP Lite einrichten

    Am Wochenende widmete ich mich einem neuen Vorhaben: Für ein entferntes Netz einen Router einrichten, welcher folgende Funktionen kombiniert:

    • AP (Access Point)
    • VPN-Gateway (am besten WireGuard-basiert)
    • Switch (1 Uplink, 2 Downlinks, 1 Management-Port)

    Um das VPN-Gateway in meine bestehende WireGuard-Infrastruktur einzubinden, waren ein paar Kniffe nötig. Das liegt in erster Linie daran, dass das durchaus umfassende MikroTik-Interface von RouterOS 7 für Verwirrung sorgen kann wenn es um Public-Keys, Private-Keys und WireGuard-Interfaces vs. WireGuard-Peers geht.

    (mehr …)
  • Fehlerbehebung TPM 2.0: cannot load key – value is out of range or is not correct for the context

    Spielt man mit TPM 2.0 im Zusammenhang mit OpenSSL, stößt man heutzutage unweigerlich auf folgenden Fehler:

    error:4000000C:tpm2::cannot load key::-1:708 tpm:parameter(2):value is out of range or is not correct for the context
    

    Das liegt daran, dass an mindestens einer Stelle der Zertifikatskette ein Schlüssel mit einer Länge von mehr als 2048 Bit genutzt wird. Meistens 4096 oder auch 3072. Das von der Trusted Computing Group festgelegte Minimum welches unterstützt werden muss, ist 2048. Sobald man TPM als „Provider“ für OpenSSL nutzt werden jegliche Verifizierungen über das TPM-Modul abgehandelt. Unterstützt dieses nur 2048 muss die gesamte Verifizierungskette auf diesen gemeinsamen Nenner gebracht werden.

    Ein Test für das eigene TPM-Modul:

    $ tpm2_testparms rsa4096
    ERROR: Unsupported algorithm specification
    ERROR: Unable to run tpm2_testparms
    $ tpm2_testparms rsa3072
    ERROR: Unsupported algorithm specification
    ERROR: Unable to run tpm2_testparms
    $  tpm2_testparms rsa2048
    $
    

    Im Beispiel: Nur 2048 Bit erlaubt.

    Quellen:

    https://stackoverflow.com/questions/78200082/tpm-2-0-based-tls-handshake-fails-against-rsa-4k-server-keys-out-of-range

    https://community.infineon.com/t5/OPTIGA-TPM/Issue-with-TLS-Handshake-Using-TPM2-and-Level-3-CA-Chain/td-p/1054292#.