Skip to content

Gemeinsam Dokumente im Web erstellen

Ich treffe immer wieder Menschen, die gemeinsam an Dokumenten schreiben. Manchmal sind dies wissenschaftliche Veröffentlichungen, mal Pressemitteilungen, mal ganz andere Sachen. In vielen Fällen läuft es so, dass jemand einen Entwurf macht, den per E-Mail oder Messenger verteilt. Dann editieren andere Leute und schicken dies wieder weiter. Wenn ich solch ein Setup sehe, stelle ich den Leuten EtherPad vor und stoße auf helle Begeisterung.

Kürzlich fiel mir auf, dass es verschiedene EtherPad-ähnliche Software gibt und ich fragte nach, welche Software andere so kennen. Unten habe ich eine Liste von Software zusammengestellt, mit der man synchron im Web zusammenarbeiten kann. Sollte euch da etwas fehlen, hinterlasst bitte einen Kommentar.

  • EtherPad bzw. Etherpad Lite: ist der Klassiker auf dem Gebiet. In einem Browserfenster kann man gemeinsam Dokumente bearbeiten, den Text exportieren, chatten etc. Die Software kann selbst gehostet werden. Probieren und benutzen kann man u.a. auf https://pad.riseup.net/ (auch als Tor Onion Service) oder https://pad.systemli.org/. Auf Github gibt es eine Liste von Instanzen.
  • Google Docs: ist eine relativ bekannte Möglichkeit, Dokumente gemeinsam zu bearbeiten. Die Oberfläche lehnt sich an die entsprechenden Microsoft-Programme an. Dokumente können nur mit einem Google-Account angelegt werden. Je nach Freigabe kann man diese ohne Account lesen oder bearbeiten.
  • Ethercalc: ist eine kollaborative Tabellenkalkulation. Auf der Ethercalc-Seite kann man die Benutzung probieren.
  • Firepad: ist recht ähnlich zu EtherPad.  Die Liste an Beispielen macht den Eindruck, dass Firepad wesentlich mehr kann (Code editieren, Rich Text etc.). Ein Spielplatz zum Testen gibt es auf der Demoseite.
  • Hiro: bietet Editieren mit oder ohne Login. Im Gegensatz zu EtherPad scheint es keine Möglichkeit zu geben, Rich-Text-Strukturen in den Text einzubringen. Dagegen lassen sich sehr leicht neue Dokumente anlegen und in einer Instanz verwalten. Der Zugriff kann explizit per Mail oder Telefonnummer vergeben werden. Aber innerhalb der Anwendung lässt sich auch ein Link zum Verteilen erzeugen. Ein Testdokument kann man direkt auf der Webseite anlegen.
  • Sandstorm: ist eine Lösung mit der sich verschiedene Software betreiben lässt. Das Angebot reicht von Etherpad über Wikis bis hin zu Projektmanagementsoftware uvm. Wer einen Account auf einer Sandstorm-Instanz hat, kann nach Bedarf diese Software mit einem Klick installieren und nutzen. Eine Version zum Probieren ist verfügbar.

Die obigen Lösungen würde ich als allgemein nutzbare einschätzen. Daneben gibt es einige, die spezielle Wünsche befriedigen oder mit denen sich bestimmte Dokumentformate bearbeiten lassen:

  • ShareLaTeX bzw. Overleaf: Beide Varianten eignen sich zum Bearbeiten von LaTeX-Dokumenten. ShareLaTeX benötigt einen Login. Bei Overleaf kann man das Editieren vorab testen.
  • Fiduswriter: wie oben kann mit dem Programm LaTeX-Dokumente editieren und es wird ebenso ein Login benötigt. Nach meinem Eindruck ist die Eingabe zum Teil etwas komplizierter als oben, aber gerade bei der Literaturverwaltung scheint Fiduswriter mehr zu können. Mit einem Login kann man die Anwendung testen.
  • HackMD: eignet sich Bearbeiten von Dateien im Markdown-Format. Die Seite benötigt auch einen Login und ihr könnt ausprobieren.
  • Oinker: ist eine Plattform, die sich eher eignet, um Inhalte mit Text, Bildern etc. zu veröffentlichen. Das Einführungsvideo zeigt die Möglichkeiten der Plattform. Um dies zu benutzen, muss man angemeldet sein.
  • Smashdocs: ist wie Oinker eher zum Bearbeiten kompletter Texte mit Bildern und mehr Informationen gedacht. Wie bei Word gibt es eine Änderungsverfolgung und anderen Features, die an Textverarbeitungen erinnern. Eine Demo ist nur mit Login verfügbar.
  • CryptPad: legt die Dokumente verschlüsselt ab. Der Schlüssel ist Teil der URL. Das heißt, Personen mit einer korrekten URL bekommen Zugriff auf die Datei. Der Betreiber selbst hat nicht notwendigerweise Zugriff. Testen lässt sich die Software direkt bei CryptPad oder auch beim C3W.

Solltet ihr mehr solche Dienste kennen, schreibt es in die Kommentare.

Neues Theme und aktuelle Software

Kürzlich trafen sich Teile der S9Y-Gemeinde im Linux-Hotel zum S9YCamp. Im Rahmen des Treffens wurde unter anderem eine neue Version der Blogsoftware herausgegeben. Ich habe das mal zum Anlass genommen und die Software auf den aktuellsten Stand gebracht. Ein unerwarteter Nebeneffekt war, dass mein bisher verwendetes Theme nicht mehr verfügbar war. Ich habe mich daher entschieden, zunächst RESY einzusetzen. Falls ihr ein anderes oder besseres Theme kennt, schlagt gern etwas vor. Derzeit bin ich für alle Vorschläge offen. ;-)

Ist Open Source besser als Closed Source?

Die operative Hektik angesichts der Heartbleed-Lücke bei OpenSSL legt sich langsam. Ein Großteil der Server scheint gepatcht zu sein und diverse Zeitungen wie andere Medien bringen zur Prime-Time Warnungen an die Nutzer. Jetzt beginnt die Zeit der Spekulation, woher der Bug kommt, ob der absichtlich eingebaut wurde und es wird auch die Frage diskutiert, ob Open Source sicherer bzw. besser als Closed Source ist.

Auf der einen Seite steht u.a. Linus’ Law als Argument. Der Erschaffer von GNU/Linux wird mit dem Spruch »Given enough eyeballs, all bugs are shallow« zitiert. Das heißt, wenn nur genügend Leute einen Blick in den Quellcode werfen, so wird jeder Bug gefunden und am Ende ist die Software »rein«. Am Beispiel des Linuxkernel ist zu sehen, wie gut das Modell funktioniert. Allerdings gibt es eine Reihe von anderer Open-Source-Software, wo offensichtlich niemand einen Blick in den Quellcode wirft. Dort bleiben dann zahlreiche Fehler unentdeckt. Das ist dann auch gleich das Argument der Befürworter von Closed Source. Denn dort bekommt niemand den Code zu sehen und kann daher auch keine Fehler finden. So lautet die etwas vereinfachte Argumentation.

Forscher vom Lehrstuhl für Betriebssysteme der TU Dresden haben sich dieser Frage im Jahr 2010 genähert. Für ihre Veröffentlichung The Mathematics of Obscurity: On the Trustworthiness of Open Source schufen sie ein Modell, in dem verschiedene Personen versuchen, Schwachstellen in Code zu finden. Wenn die Verteidiger zuerst sind, können sie die Lücke schließen. Die Angreifer haben auf der anderen Seite eine Lücke, über die sie ins System eindringen können.

Das Modell widerspricht dem obigen Gesetz von Linus Torvalds. Das Modell erbringt die Aussage, dass die Angreifer bei Open Source immer leicht im Vorteil sind. So nehmen die Forscher an, dass bei einem Open-Source-Projekt die Verteidiger in 6 von 10 Fällen einen Fehler vor dem Angreifer finden. Je nach den weiteren Modellannahmen braucht das Projekt mehr als Tausend oder gar mehr als Zehntausend Mitwirkende. Für den Fall, dass sogar in 9 von 10 Fällen der Fehler von den Verteidigern gefunden wird, können die Forscher zeigen, dass dies unmöglich ist. Alles in allem erscheint Closed-Source-Software besser aufgestellt zu sein.

Jedoch sagen die Forscher weiter, dass sie hier einen eingegrenzten Aspekt betrachten. In der Realität beheben die Hersteller von Closed Source die Fehler nicht sofort. Außerdem gibt es dort wirtschaftlichen Druck, Programme zu einem festen Datum herauszubringen. Dies führt dann dazu, dass die Programme nicht getestet sind. Alldies bringt die Forscher zu der Meinung, dass Open Source in der Gesamtschau vermutlich doch Vorteile mit sich bringt. Letztlich bringt gerade Freie Software die Vier Freiheiten mit.

Alles in allem kann ich nur nochmal den Aufruf aus meinem letzten Eintrag wiederholen. Nutzt Freie Software, schaut in den Quellcode oder versucht anderweitig zu der Software beizutragen. Damit helft ihr allen!

Wie funktioniert eigentlich Heartbleed

Lest ihr regelmäßig Bugreports oder Meldungen über Schwachstellen bei SSL/TLS? Wie fühlt ihr euch so? Zur Erinnerung:

SSL added and removed here!
Ausschnitt aus einer Folie aus dem MUSCULAR-Programm der NSA

Das heißt, drei Monate in Folge gab es schwere Sicherheitslücken in Software zur Verschlüsselung. Ganz unwillkürlich fühlt man sich an die Folien aus dem NSA-Programm MUSCULAR erinnert.

Die letztgenannte Schwachstelle ist vermutlich die bislang schwerste. Denn damit ist es möglich, den Arbeitsspeicher eines Computers auszulesen. Dies funktioniert sowohl auf der Seite des Servers wie auch beim Clientprogramm. Dazu ist es notwendig, dass das Programm OpenSSL verwendet und eine Erweiterung von SSL namens Heartbeat aktiviert hat. Dies ist beispielsweise bei Android in der Version 4.1.1 der Fall. Mozilla Firefox hingegen nutzt die NSS-Bibliothek und ist nicht betroffen. Die Webserver nutzen hingegen recht oft die OpenSSL-Bibliothek und sind damit betroffen, falls die Version 1.0.1 bis 1.0.1f von OpenSSL verwendet wird. Sollte jemand von euch die Software nutzen, so upgraded auf mindestens 1.0.1g oder deaktiviert Heartbeat in OpenSSL. Gerade letzteres kann man aus meiner Sicht problemlos tun. Denn bisher fand ich keinen sinnvollen Anwendungsfall für Heartbeat.

Doch wie funktioniert diese Lücke eigentlich? Heartbeat (RFC 6520) ist eine Erweiterung für TLS. Ein Teilnehmer einer Verbindung sendet beliebige Daten an den Empfänger. Dieser antwortet mit einer Kopie dieser Daten und zeigt somit, dass die Verbindung noch steht und alles in Ordnung ist. Das Problem dabei ist, dass in einer Anfrage zwei Längenfelder vorhanden sind. Ein Angreifer sendet einfach ein Byte Daten und behauptet, er hätte 64 kB gesendet. OpenSSL liest nun die 64 kB aus dem eigenen Puffer und sendet die Daten zurück an den Angreifer. Der Angreifer kann den Angriff immer und immer wieder starten und erhält so eventuell immer wieder ein neues Stück Arbeitsspeicher (siehe Kommentar von Florian Diesch). Bruce Schneier hat mit seinen Worten vollkommen recht:

Catastrophic" is the right word. On the scale of 1 to 10, this is an 11.
https://www.schneier.com/blog/archives/2014/04/heartbleed.html

Ich hatte in meinem 30C3-Vortrag schon ein OpenSSL-Beispiel reingenommen. Das sollte zeigen, wie kompliziert es sein kann, mit der Software sicheren Code zu schreiben. Auch andere sind, über die Codequalität gestolpert. Daher sind Leute gefragt, die einen detaillierten Blick auf OpenSSL werfen und die Software verbessern. Dazu zählt auch die bessere Lesbarkeit des Codes oder gute Dokumentation.

Wenn ihr wissen wollt, ob ihr betroffen seit, schaut lokal auf die OpenSSL-Version, nutzt die Zeile openssl s_client -connect example.com:443 -tlsextdebug 2>&1| grep ‘server extension “heartbeat” (id=15)’ || echo safe oder verwendet den Testservice von Lutz Donnerhacke oder Filippo Valsorda.

Weiterlesen:

Passwort und Nutzername im Dump der Daten von Yahoo! Mail

Meine Software unter GNU/Linux

Die aktuelle Ausgabe von DeimHart beschäftigt sich mit Applikationen unter Debian. Die beiden Moderatoren baten darum, mal die eigene Software aufzuzählen. Mir ist das für einen Kommentar zu lang. Daher mache ich das mal in ein eigenes Blogposting.

Web

  1. Mozilla Firefox ist mein Hauptbrowser. Den verwende ich entweder im Rahmen des Tor-Browser-Bundles oder aus der Distribution heraus mit verschiedenen Plugins.
  2. Google Chrome oder Chromium ist der zweite in der Reihe. Der Browser bietet nach meiner Ansicht sehr gute Möglichkeiten in die Interna zu schauen. Beispiel gefällig? Gebt mal chrome://net-internals in die Browserzeile ein.
  3. Midori war jetzt längere Zeit in der Testphase. Aber mir kann die Software zu wenig bzw. einige Features sind zu umständlich zu bedienen.
  4. links2 ist ein Browser, der so ein Zwischending zwischen grafischem und Kommandozeilenbrowser ist. Der ist recht schnell und lässt sich angenehm bedienen.
  5. Schließlich nutze ich den w3m als Kommandozeilenbrowser, entweder direkt auf der Shell oder innerhalb von GNU Emacs.

Mail

  • Das meistgenutzte Programm für Mails auf meinem Rechner ist mutt. Damit lese und schreibe ich E-Mails. Das Programm hat eine gute Integration für OpenPGP und Mixmaster. Wie ich kürzlich schrieb, ist das Programm recht flexibel. Einer meiner nächsten Beiträge wird das vermutlich weiter unterstreichen.
  • Zu mutt gehören noch Procmail und Fetchmail. Die Programme holen die E-Mails von verschiedenen Providern ab und sortieren die nach verschiedenen Regeln.
  • Ein Programm, was mit läuft, und mir völlig in Vergessenheit geraten war, ist CRM114. Das Programm sortiert sehr zuverlässig den Spam aus.
  • Schließlich läuft auf verschiedenen Rechner ein Postfix.

Virtualisierung

Für die Virtualisierung nutze ich nahezu ausschließlich qemu. Früher hatte ich auch Virtualbox im Einsatz. Jedoch habe ich aktuell keine Verwendung für das Programm.

Multimedia

  • Ich höre sehr viele Podcasts und da verwende ich Miro. Mit dem Programm lade ich die herunter und schaue oder höre mir die an.
  • Für reine Audiodateien nutze ich cmus. Das ist ein Programm für die Kommandozeile.
  • Zum Anschauen von Videos kommt vlc zum Einsatz. Die Software kann mit dem Befehl cvlc über die Kommandozeile bedient werden.

Grafik

Bei der Grafik geht es mir wie den DeimHart-Machern. Ich nutze Gimp, um Bilder auszuschneiden oder grundlegende Operationen zu machen. Mehr kann ich mit der Software nicht. :-)

Zum Betrachten von Fotos nutze ich hauptsächlich feh oder ImageMagick.

Office-Anwendungen

Hier habe ich mit DeimHart ebenfalls eine große Schnittmenge. Ich schreibe sämtliche Texte mit LaTeX. Als Editor verwende ich entweder GNU Emacs oder jed. Letzteres wegen der gute Matheunterstützung in JörgsLaTeXMode. Bei Emacs ist natürlich immer AUCTeX an.

Für das Anzeigen von PDF-Dateien verwendete ich lange Zeit Evince. Davor war es xpdf. Ich bin kürzlich auf MuPDF gestossen. Die Software gefällt mir von Tag zu Tag besser und wird mein Standard-PDF-Viewer werden.

Wenn ich Operationen in PDF-Dateien mache, verwende ich PDFtk.

Chat

Bei Chatsoftware bin ich auch in einer Übergangsphase. Bisher habe ich Bitlbee mit weechat. Ich versuche gerade, mich mit MCabber anzufreunden. Hier läuft im Hintergrund ein Prosody. Das ist ein XMPP-Server.

Bei sämtlichen Chatprogrammen wie auch anderswo, ist mir Verschlüsselung wichtig. Daher können alle Programme Off-the-Record Messaging.

Wenn man Twitter und Co. dazu zählt, gibt es noch ein paar Programme zu erwähnen. Für identi.ca nutze ich GNU Emacs mit dem identica-Modus. Der Maintainer Gabriel Saldaña hat gerade Version 1.3 veröffentlicht. Twitter hat im Emacs einen Twittering-Modus, den ich auch verwende. Früher hatte ich noch Hotot auf dem Rechner. Allerdings wurde die Software von Release zu Release benutzerunfreundlicher. Daher nutze ich Microblogging entweder mit den Modi oder über die Webseite.

Sonstiges

Ich arbeite recht viel auf der Kommandozeile. Um das Terminal zu multiplexen, springe ich zwischen GNU screen und tmux hin und her. Als Shell wird immer eine zsh gestartet.

Viel anderes fällt mir gerade nicht ein. Vermutlich sind das wirklich die Hauptprogramme. Natürlich kommen noch Programme, wie git, awk usw. dazu.

Update: Noch ein paar Sätze zu Microbloggingsoftware geschrieben.

Spamschutz bei S9Y

Im Hintergrund tut Serendipity oder kurz S9Y seinen Dienst. Vor mehr als sieben Jahren stieg ich von Wordpress auf die Software um. Die Software tut im wesentlichen ihren Dienst. Außer, wenn wie heute, ein Plugin merkwürdige Sachen macht.

Ich hatte bis heute abend das Autosave-Plugin installiert. Das speichert die Einträge zwischen und soll eigentlich vor Datenverlust schützen. Bei mir sorgte es dafür, dass die Rezension mehrfach verschwand. Der Grund war, dass ich auf Speichern im Artikelfenster drückte und das Fenster offen liess. Das Plugin wollte einfach alte Werte speichern und löschte so den Beitrag.

Seit dem Jahreswechsel bereitet mir nicht die Blogsoftware Kopfschmerzen, sondern der Spam der eintrudelt. Anfangs hatte ich den Spamschutz aktiviert, den S9Y von Haus aus mitbringt. Dazu setzte ich ein paar Worte auf die Blacklist. Das reichte aus. Nebenan im Datenkanal habe ich noch das Bayes-Plugin im Einsatz. Das wurde von Beginn an angelernt und verrichtet gute Dienste.

Das S9Y Infocamp hat sich nun dem Thema Spamschutz bei S9Y angenommen. In dem Podcast besprechen sie verschiedene Mechanismen. Dabei kommt die Rede auf die SpamBee. Die arbeitet unter anderem mit versteckten CAPTCHAs. Die vier Podcaster sind voll das Lobes. Ich habe den Podcast glücklicherweise zur rechten Zeit gehört. Denn direkt nachdem ich die Biene hier installierte, traf das Blog eine Spamwelle. Von den Lesern hat das vermutlich niemand bemerkt. Die Spambiene hat den Spam wirklich sehr gut abgefangen. Wer also da draußen mit Spam bei S9Y zu kämpfen hat, sollte unbedingt SpamBee probieren. Vermutlich bringt das Plugin Linderung.

Fingerprints von SSL-Seiten prüfen

Das Desaster um die niederländische Zertifizierungsstelle DigiNotar zieht derzeit immer noch seine Kreise. Mir scheint es noch zu früh, um hier etwas dazu zu schreiben. Vielmehr will ich ein paar Worte verlieren, wie ich „meine eigene CA betreibe“. Denn schon seit längerem vertraue ich nicht, den von den Browsern mitgelieferten Zertifizierungsstellen (CA). Zumeist lösche ich alle und gebe dann einzeln Vertrauen.

Der beste Weg, um einem SSL-Zertifikat zu vertrauen, wäre, sich bei dem Betreiber zu melden und über einen sicheren Kanal den Fingerprint des Zertifikats zu klären. Mein Browser zeigt mit für die Seite Wikipedia-SSL-Seite den Fingerprint (SHA-1) BA:8A:BE:34:B1:34:3B:AF:06:05:4B:48:A9:27:AA:D9:B4:75:45:6E an. Wenn ich bei der Wikipedia anrufe und diese mir denselben nennen, so habe ich das korrekte Zertifikat. Dabei nehme ich natürlich an, dass das Telefon ein sicherer Weg zum Austausch der Informationen ist. Aber beispielsweise druckt die lokale Sparkasse eben diesen Fingerprint auf ihre Dokumente. Damit kann ich das als Kunde leicht verifizieren.

Wie das Beispiel Wikipedia aber schon zeigt, ergibt sich da ein Problem.Woher bekomme ich den Fingerprint? Muss ich bei Jimmy Wales direkt anrufen oder gar nach FloridaKalifornien¹ reisen? Hier kam nun meine Idee ins Spiel.

Ich habe auf diversen Servern einen Zugang, d.h. ich kann mich von der Ferne einloggen und dann dort arbeiten. Die Rechner stehen in verschiedenen Netzen und zum Teil auf verschiedenen Kontinenten. Nun logge ich mich auf den Servern ein, lade das Zertifikat herunter und lasse mir den Fingerprint anzeigen. Wenn dieser auf allen Rechner gleich ist, dann gehe ich davon aus, dass ich das korrekte Zertifikat angezeigt bekomme. In dem Fall akzeptiere ich das und vertraue dem. Sollten die Fingerprints abweichen, dann akzeptiere ich das nicht und recherchiere dem in der Regel ein wenig hinterher.

Jörg Sommer hat das nun ein wenig automatisiert und ein zsh-Skript (Quelltext weiter unten) geschrieben. Das wird folgendermaßen aufgerufen:

ssl-fp-check [-l] sslsi.te[:port] ssh1 [ssh2] [ssh3] ...

Dabei ist sslsi.te die Webseite, die geprüft werden soll. Ohne die Angabe eines Ports verwendet das Skript standardmäßig 443. Danach wird eine oder mehrere SSH-Verbindungen angegeben. Das Skript wird nun versuchen, sich überall einzuloggen und gibt dann den Fingerprint aus. Für den Fall, dass es auf dem Zielsystem kein OpenSSL gibt, existiert die Option -l. Dabei wird dann ein Tunnel gebaut und das lokale installierte OpenSSL verwendet.

Also für Wikimedia habe ich folgendes eingeben:

ssl-fp-check secure.wikimedia.org a b c d
a: SHA1 Fingerprint=BA:8A:BE:34:B1:34:3B:AF:06:05:4B:48:A9:27:AA:D9:B4:75:45:6E
b: SHA1 Fingerprint=BA:8A:BE:34:B1:34:3B:AF:06:05:4B:48:A9:27:AA:D9:B4:75:45:6E
c: SHA1 Fingerprint=BA:8A:BE:34:B1:34:3B:AF:06:05:4B:48:A9:27:AA:D9:B4:75:45:6E
d: SHA1 Fingerprint=BA:8A:BE:34:B1:34:3B:AF:06:05:4B:48:A9:27:AA:D9:B4:75:45:6E

Die SSH-Server a, b, c und d gaben also denselben Fingerprint aus. Also würde ich dem ganzen doch vertrauen. :-)

Ich werde das Skript jetzt wahrscheinlich immer verwenden. Es macht das Leben doch deutlich einfacher.

Continue reading "Fingerprints von SSL-Seiten prüfen"
tweetbackcheck