Skip to content

security.txt

Kennt ihr noch die Datei robots.txt, die auf verschiedenen Webseiten hinterlegt sind? Dahinter stand der Robots Exclusion Standard und die verschiedenen Bots sollen zuerst die Seite ausweren, bevor sie eine Webpräsenz indexieren. Daneben entstand auch die Idee für eine humans.txt und mit dem “Erschaffen” des .well-known-Verzeichnisses auf dem Webserver gibt es eine ganze Reihe Dateiformate zur Information oder für andere Zwecke.

Seit April 2022 gibt es nun den RFC 9116 für die Datei security.txt. Diese soll anderen helfen, Sicherheitslücken an die richtige Stelle zu melden. Denn oftmals steht das Problem, dass eine Schwachstelle gefunden wurde und es vielleicht unklar ist, wohin diese zu melden ist.

Mail wäre natürlich eine mögliche Wahl. Im besten Fall existiert sogar eine E-Mail-Adresse namens security@. Aber sehr häufig ist dies nicht der Fall. Mails an info@ oder ähnliche Adressen landen eher im Nirwana oder werden mit Standardtextbausteinen beantwortet. Daher ist ein gezielter, standardisierter Weg gut.

Der RFC 9116 definiert hierfür eben die Datei security.txt, die im Unterordner .well-known einer Webpräsenz liegen muss. Die Datei selbst muss über HTTPS erreichbar sein. Ein korrekter Pfad wäre also https://example.com/.well-known/security.txt.

Doch was darf da drin stehen? Naheliegend sind Kontaktinformationen. :-) Spezieller Informationen, an die man Informationen zu Schwachstellen melden kann. Hierfür ist der Eintrag Contact: gedacht. Dieser muss in der Datei enthalten sein und sollte die Kontaktmöglichkeiten in absteigender Reihenfolge enthalten. Daneben benötigt die Datei zwingend ein Ablaufdatum. Eine Minimalversion der Datei kann also so aussehen:

Contact: mailto:security@example.com
Expires: 2023-05-01T12:13:24+02:00

Weiterhin könnt ihr in der Datei Informationen zu einer Policy hinterlegen, welche Sprachen ihr sprecht, ob ihr Leute einstellt, wer in der Vergangenheit Lücken meldete und einen Verweis zu einem Schlüssel machen. Eine erweiterte Version der Datei sähe also so aus:

Contact: mailto:security@example.com
Contact: +49-123-456-7890
Contact: https://example.com/meldeformular.html
Policy: https://example.com/security-policy.html
Preferred-Languages: de, en
Acknowledgments: https://example.com/hall-of-fame.html
Encryption: https://example.com/pgp-key.txt
Expires: 2023-05-01T12:13:24+02:00

Hier sind mehrere Kontaktmöglichkeiten genannt. Es gibt eine Policy. Die Leute sprechen Deutsch und Englisch und ihr bekommt Infos über andere, die etwas gemeldet haben. Am Schluss findet sich auch ein PGP-Schlüssel. Optimalweise würde der über Web Key Discovery bereit gestellt. Aber das ist ein Thema für einen anderen Beitrag. ;-)

Schließlich könnt ihr den Eintrag auch noch mittels OpenPGP signieren. Dann sähe meine obige Datei so aus:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Contact: mailto:security@example.com
Contact: +49-123-456-7890
Contact: https://example.com/meldeformular.html
Policy: https://example.com/security-policy.html
Preferred-Languages: de, en
Acknowledgments: https://example.com/hall-of-fame.html
Encryption: https://example.com/pgp-key.txt
Expires: 2023-05-01T12:13:24+02:00

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.2.19

[Viele Zeichen, die gpg auswerten kann]
-----END PGP SIGNATURE-----

Wenn ihr also eine Schwachstelle gefunden habt, dann lohnt es sich nach der Datei zu schauen und die dort genannten Kontakte anzusprechen. Ich habe mal ein wenig gegraben. Bei den großen, bekannten Seiten, wie Google, Facebook, Twitter, GitHub usw., fand ich jeweils eine solche Datei. Seiten aus dem Microsoft-Universum wie auch viele chinesische Seiten haben keinerlei solche Informationen.

Ansonsten ist das Bild recht gemischt. Während beispielsweise Facebook und WhatsApp eine security.txt anbieten, hat Instagram keine, obwohl alle zum selben Konzern gehören.

Unter andere namhaften Seiten fand ich nichts bei

  • Reddit
  • Wikipedia
  • Zoom
  • Netflix
  • Stackoverflow
  • Apple
  • und weiteren

Hier ist also noch ein wenig Arbeit zu tun. Wenn die Datei auch bei euch oder eurem Arbeigeber fehlt, sprecht die doch an und bittet die, diese Informationen bereitzustellen (und natürlich bei Bedarf zu aktualisieren).

Siehe auch:

Update: Ich hatte übersehen, dass das Expires:-Feld auch ein Pflichtfeld ist und habe die obige Beschreibung ergänzt. Vielen Dank an Jürgen für den Hinweis!

Corona-Vergleich zwischen USA, Dänemark und Slowenien

Bei meinen Reisen durch die Statisken bei OWID verglich ich kürzlich verschiedene Länder bezüglich deren Impfungen, Einweisungen in Krankenhäuser etc. Dabei stieß mir der Vergleich zwischen den USA, Dänemark und Slowenien ins Auge.

Grafik verschiedener Corona-Parameter

Vergleich der Impfdosen, Corona-Infektionen, Patienten auf den Intensivstationen und Todesfällen der Länder USA, Dänemark und Schweden

Auf dem Bild links oben ist der Verlauf der Impfungen in den einzelnen Ländern gedruckt. Dabei liegt Dänemark weit vorn, gefolgt von den USA und am Ende liegt Slowenien. Zu Ende Januar 2022 sind in Dänemark weit über 80% der Bevölkerung vollständig geimpft (USA: 63%, Slowenien: 58 %).

Links oben sind die aktuellen Fallzahlen. Sowohl Dänemark wie auch Slowenien schießen nach oben während die USA weniger als die Hälfte der slowenischen Fallzahlen hat.

Links unten sind dann die Personen auf den Intensivstationen verzeichnet. Insbesondere Slowenien hat hier einen enormen Ausschlag. Leider fehlt bei OWID eine Möglichkeit, die Gesamtzahlen zu ermitteln. Aber grob geschätzt sind die Zahlen zwischen Oktober 2020 und Juli 2021 sowie September 2021 bis jetzt (Januar 2022) etwa gleich. Die Zahlen aus den USA sind leicht geringer geschätzt und Dänemark liegt dann deutlich darunter.

Schließlich finden sich rechts unten die Anzahl der Todesfälle. Bis Ende Oktober 2020 lagen die USA deutlich an der Spitze gefolgt von Dänemark und am Ende Slowenien. Ab Dezember 2020 bis heute sind die Todeszahlen in Slowenien am höchsten dicht gefolgt von den USA. Dänemarkt hat etwa ein Viertel der Zahlen der anderen beiden Länder.

Der Vergleich zeigt, dass Dänemark unter den drei Ländern bisher am besten durch die Pandemie gekommen ist. Sowohl Fallzahlen, wie auch Menschen in den Krankenhäusern wie auch die Todeszahlen liegen deutlich unter den USA und Slowenien. Aber auch im Zeitreihenvergleich steht Dänemark gut da. Heute hat das Land fünfzehnmal mehr Fälle als zu Weihnachten 2020. Jedoch liegen des Todesfälle deutlich unter den Hochs aus der Zeit. Aktuell liegen die etwa halb so hoch, sind aber noch am steigen.

Diese Entkopplung von Fall- und Sterbezahlen zeigt sich bei allen drei (und auch bei anderen) Ländern:

Vergleich der Fall- und Todeszahlen
Vergleich der Fall- und Todeszahlen

Ich habe die Ansicht in der obigen Grafik mal auf den Zeitraum zwischen Dezember 2020 und 2021 beschränkt. Denn durch den hohen Anstieg der Fallzahlen wird die Kurve zu “flach”. Bereits hier zeigt sich die Entkopplung von Fall- und Todeszahlen. In Dänemark und Slowenien gehen die Fallzahlen deutlich hoch, während die Zahl der Toten deutlich weniger steigt. Für Slowenien zeigt sich der Effekt noch viel deutlicher, wenn der Startzeitpunkt im OKtober 2020 liegt. Allerdings hinterlässt die Omikron-Wand in Slowenien schon jetzt deutliche Spuren. Dort hat sich die Zahl der Toten in den letzten beiden Wochen verdoppelt (bei einer Verdrei- bis Vervierfachung der Fallzahlen). Wenn sich das so fortsetzt, sollten die Zahlen etwas über die Spitze der Delta-Welle steigen und immernoch deutlich unter denen vom Jahresende 2020 liegen.

Aus meiner Sicht zeigt sich in diesen Zahlen der Erfolg der Impfung. Alle anderen Maßnahmen sind zu verschiedenen Graden in den betreffenden Ländern heruntergefahren worden. So dass die Impfung hier einen großen Schutzfaktor einnimmt.

Im Falle der USA ist der Effekt nicht so deutlich mit Bildern zu sehen. Hier müsste man die Daten mehr nach den einzelnen Ländern aufgliedern und würde dort dann ebensolche interessanten Erkenntnisse gewinnen. Das ist jedoch Thema für einen anderen (noch nicht geschriebenen) Blogbeitrag. :-)

Mein Vortrag beim 35C3

Der diesjährige 35. Chaos Communication Congress ist leider schon wieder vorbei. In den Leipziger Messehallen fanden sich 17.000 Hackerinnen und Hacker zusammen, um Vorträgen zu lauschen, neue Ideen zu probieren, zu hacken oder einfach eine schöne Zeit zu haben.

Ich hatte das Vergnügen zusammen mit Kristin Pietrzyk einen Vortrag zu halten: Unter findet ihr einen Mitschnitt. Viel Spaß beim Anhören.

Einbindung von Flickr doch konform zur DS-GVO

GDPR
GDPR & ePrivacy Regulations von Dennis van der Hejden. Original bei Flickr

Vor kurzem stellte ich mir hier im Blog die Frage, ob man noch Bilder des Dienstes Flickr einbinden kann. Nach meiner Prüfung kam ich zu dem Schluss, dass dies nicht mehr der Fall ist und entfernte die Bilder aus meinem Blog.

Heute hielt ich einen Workshop, der u.a. auch die Datenschutz-Grundverordnung zum Thema hatte. Dort fragte mich ein Teilnehmer, ob denn das Land Thüringen eine korrekte Datenschutzerklärung (DSE) hat. Der folgende Abschnitt brachte mich dann doch ins Staunen:

Flickr

Innerhalb unseres Onlineangebotes können Funktionen und Inhalte des Dienstes Flickr eingebunden sein. Flickr ist ein Foto- und Bilder-Dienst des amerikanischen Unternehmens SmugMug Inc. (67 E. Evelyn Ave, Suite 200
Mountain View, California, U.S.)Wenn Sie selber Flickr aktiv nutzen und ein Bild oder Video veröffentlichen, können wir ihn ebenfalls sehen, wenn Sie ihn jedermann zugänglich gemacht haben oder wenn wir Ihnen über Flickr folgen. Ebenfalls können wir Ihre Angaben auf Flickr sehen, wenn thueringen.de Ihrem Profil folgt. Einzelheiten zur Verarbeitung der Daten bei Flickr und den Sichtbarkeitseinstellungen entnehmen Sie bitte den Datenschutzbedingungen von Flickr bzw. Oath (ehemals Yahoo): policies.oath.com/ie/de/oath/privacy/index.html  

Das heißt, das Land Thüringen ist der Meinung, rechtmäßig Flickr-Bilder einbinden zu können. Wie kann das sein?

Weder Flickr noch Yahoo! noch eine der anderen Firmen steht bisher auf der Privacy-Shield-Liste. Und die Datenschutzbedingungen von Flickr gaben doch bisher auch nichts her. Aber: Unter anderen ist das Datenschutzcenter von Oath mit verlinkt. Dort steht gleich am Anfang:

Für Produkte oder Dienste von Oath, auf die ohne Anmeldung bei einem Account zugegriffen wird, gilt diese Datenschutzerklärung für diese Produkte und Dienste ab 25. Mai 2018.  

Flickr gehört mit zu Oath. Also gelten diese Bedingungen auch für Flickr. In der DSE steht drin, dass die Oath (EMEA) Limited in Dublin diese Dienste bereitstellt und damit wohl Verantwortlicher im Sinne der DS-GVO ist. Also werden die Daten von einem Unternehmen mit Sitz in der EU verarbeitet und die DS-GVO möchte ja den freien Verkehr personenbezogener Daten fördern (oder zumindest nicht einschränken).

Weiterhin erklärt Oath, dass sie die Standardvertragsklauseln der EU-Kommission verwenden bzw. nur Daten mit Unternehmen austauschen, die nach Privacy Shield zertifiziert sind.

Insgesamt scheint die Datenschutzerklärung den Anforderungen der Art. 13 und 14 DS-GVO zu entsprechen. Und auch inhaltlich ist es jetzt so, dass man wohl doch bedenkenlos Bilder von Flickr in seinem Blog einbinden kann.

Vorsicht vor gefälschten PGP-Schlüsseln

Wer mir eine OpenPGP-verschlüsselte E-Mail schicken will, sollte demnächst doppelt vorsichtig sein. Ich entdeckte heute, dass es zur Key-ID 0xEA3E4D61 zwei Schlüssel gibt. Einer der beiden wurde vermutlich automatisch erzeugt und gehört mir nicht! Der Fingerabdruck meines derzeitig aktiven Schlüssels ist:

pub   4096R/0x65B3F094EA3E4D61 2010-01-15
Schl.-Fingerabdruck = 60D8 5B8D 9A1C D2D1 355E  BE9F 65B3 F094 EA3E 4D61
uid                  Jens Kubieziel <jens@kubieziel.de>
uid                  Jens Kubieziel <jens@freie-re.de>
uid                  Jens Kubieziel <kubieziel@gmx.de>
uid                  Jens Kubieziel <lugjena@kubieziel.de>
uid                  Jens Kubieziel <jens@torservers.net>
sub   4096R/0x7A0A527D47FFDBE1 2010-01-15

Wenn ihr mir eine verschlüsselte E-Mail schicken wollt, vergleicht unbedingt die obige zweite Zeile. Im Allgemeinen empfiehlt es sich in der Konfigurationsdatei von GnuPG die Variable keyid-format 0xlong oder gleich long zu setzen. Die kurze Key-ID ist, wie oben zu sehen, leicht zu fälschen.

Update: Das Problem betrifft nicht nur mich. Auf Twitter war von mehreren Fällen zu lesen und auch die Kernel-Entwickler sind betroffen.

Keysigning bei den Chemnitzer Linux-Tagen 2016

Am 19. und 20. März fanden in Chemnitz wieder die Chemnitzer Linux-Tage statt. Einer alten Tradition folgend organisierte ich das Keysigning. Das heißt, Leute mit einem OpenPGP-Schlüssel können teilnehmen und sich gegenseitig ihre Identität bestätigen. Durch die Prüfung und Signatur wird das Vertrauensnetz (Web of Trust) gestärkt.

In den letzten Jahren stellten wir uns dazu in einer Reihe auf. Die erste Person bewegte sich dann zur zweiten und anschließend zur dritten, vierten usw. Nachdem die erste Person vorbei war, fing die zweite an. So sah das ungefähr aus:

Startaufstellung:

1 2 3 4 5 6 7 8 9 10

Erste Person startet:

2 3 4 5 6 7 8 9 10
1

Zweite Person startet:

3 4 5 6 7 8 9 10
2 1

Nach einer Weile startet die sechste Person:

7 8 9 10 1
6 5 4 3 2

Das heißt, die erste Person reiht sich wieder ans das Ende ein. Eine Reihe zeigt jeweils den Ausweis und die andere Reihe vergleicht.

Bei dem Verfahren ist nun der Nachteil, dass anfangs sehr viele Leute im Leerlauf sind. Sie müssen warten, bis die erste Person endlich bei denen angekommen ist. Um dies ein wenig zu beschleunigen, haben wir die Reihe dieses Jahr direkt gefaltet. Nach der Sortierung in eine Reihe stellten sich alle gegenüber auf:

1 2 3 4 5
10 9 8 7 6

Die Idee war, dass wieder eine Reihe prüft und die andere den Ausweis zeigt. Leider habe ich das wohl nicht genau genug erklärt und es wurde parallel von beiden Seiten gemacht. Als die Reihe nun zur Hälfte abgearbeitet war, kamen die Teilnehmer bei ursprünglichen Gegenüber wieder an und nahmen an, alle erwischt zu haben. Dies ist aber nicht der Fall:

2 3 4 5 6
1 10 9 8 7

Die Aufstellung oben ist nach dem ersten Wechsel. In der initialen Aufstellung verglich beispielsweise Teilnehmer 3 mit Teilnehmer 8 die Daten. In obigem Schritt vergleicht 3 mit 10 usw. Nach fünf Schritten stehen sich 3 und 8 wieder gegenüber. Teilnehmer 3 hat dann die Identität der Teilnehmer 8, 10, 2, 4 und 6 verifiziert. Was ist mit 1, 5, 7 und 9? Diese fehlen offensichtlich. Es kostete mich einige Mühe die Teilnehmer zu überzeugen, dass der Lauf noch nicht beendet ist. Hoffentlich kann ich alle dann im nächsten Jahr auf diese Seite verweisen und die Überzeugungsarbeit wird einfacher. :-)

Wer sich für den Stand des Web of Trust interessiert:

Web of Trust @ CLT 16
tweetbackcheckcronjob