WebDAV einrichten

WebDAV stellt eine Erweiterung des HTTP-Protokolls dar und kann nicht nur für einzelne Dateien, sondern auch zum Up- und Download von ganzen Ordnerstrukturen verwendet werden. Wenn ihr einen solchen WebDAV-Zugang habt, bietet dieser interessante Möglichkeiten um Dateien auf einen Server hochzuladen. Ein wesentlicher Vorteil ist die Tatsache, dass der gesamte Netzwerkverkehr bei WebDAV im Vergleich zu FTP (Port 21) über Port 80 und ggf. 443 (SSL) abgewickelt wird. Das sind die gleichen Ports, über welche ein Webserver standardmäßig angesprochen wird. Somit müssen an der Firewall keine zusätzlichen Portfreigaben eingerichtet werden und man kann es von (fast) überall nutzen. Die heutigen Desktop-Betriebssysteme und sogar Smartphones beherrschen WebDAV mittlerweile von Hause aus. In der Regel ist keine zusätzliche Software oder Konfiguration erforderlich.

Am Beispiel von Windows zeige ich euch, welche Schritte ihr durchführen müsst. Im Windows Explorer wählt ihr die Option „Netzlaufwerk verbinden„. Es öffnet sich daraufhin ein Dialogfenster. In diesem erfasst ihr folgende Daten:

  • Laufwerk: Beliebiger Laufwerksbuchstabe
  • Ordner: Die Adresse der Freigabe. Sie setzt sich zusammen aus dem
    • Protokoll (http:// oder https://)
    • Servernamen
    • Freigabenamen
      Beispiel: https://webdav.example.com/Freigabename
  • Häkchen bei „Verbindung bei Anmeldung wiederherstellen“ (optional)
  • Häkchen bei „Verbindung mit anderen Anmeldeinformationen herstellen“

Empfohlen wird natürlich SSL-Verschlüsselung (https). Dieses Feature ist aber von eurem Anbieter abhängig. Wenn es dort nicht angeboten wird, sollte man vorsichtig sein, da die Login-Daten usw. im Klartext übertragen werden (Vorsicht in öffentlichen WiFi-Netzwerken). Nach einem Klick auf „Fertig stellen“ öffnet sich ein weiteres Fenster wo Benutzername und Kennwort abgefragt werden. Auf Wunsch könnt ihr die Anmeldedaten auch speichern. Das erspart die erneute Eingabe nach einem Neustart. Wenn alles korrekt erfasst wurde, bestätigt die Abfrage mit „OK“ und kurz darauf sollte ein weiteres Laufwerk im Explorer erscheinen. Wenn das nicht der Fall ist, gibt es zwei der häufigsten Problemursachen:

  1. Der Anbieter unterstützt kein SSL. In diesem Fall könnte man von https auf http switchen.
    Dies ist aber sehr unschön und zieht üblicherweise ein weiteres Problem nach sich.
  2. Ein Eintrag in der Windows-Registrierung verhindert im Regelfall die Verbindung mit unverschlüsselten Freigaben, also über http.

Wenn man nun auf Biegen und Brechen die Verbindung mittels unsicherer Standardauthentifizierung herstellen möchte, muss folgender Eingriff in der Registry vorgenommen werden. Macht dies nur, wenn ihr mit dieser Materie vertraut seit. Leider kann man dort auch viel falsch machen. Ruft den Registrierungs-Editor über „Start / Ausführen / regedit“ auf. Hangelt euch dann bis zu folgender Position durch:

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ WebClient \ Parameters

Dort solltet ihr einen Eintrag namens „BasicAuthLevel“ vorfinden. Ist dieser wider erwarten nicht zu sehen, überprüft zunächst ob ihr dem obigen Pfad korrekt gefolgt seid. Wenn dieser stimmt legt einen neuen DWORD-Wert (32-bit) an. Der vorhandene bzw. neue Eintrag wird auf den Wert 2 festgesetzt. Das bedeutet, dass die Authentifizierung kein SSL erfordert. Solltet ihr euch irgendwann mal umentscheiden, ändert diesen Value einfach auf 1. Wenn das soweit erledigt ist, sollte der Verbindungsaufbau nach einem Neustart funktionieren.

Wo wir aber gerade in der Registry sind, kann man bei Bedarf noch eine weitere kleine Änderung vornehmen. Standardmäßig ist die Dateigröße bei dieser Methode auf knapp 50 MB begrenzt. Das erkennt man an gleicher Stelle am Eintrag „FileSizeLimitInBytes„. Dort ist als Dezimal-Wert 50000000 vorbelegt sein. Diesen Wert könnt ihr natürlich erhöhen. Für bis zu ein Gigabyte große Dateien ersetzt diesen z.B. durch 1073741824 Bytes (1024^3). Man sollte jedoch wissen, dass ein Transfer einer Datei solchen Ausmaßes einige Zeit in Anspruch nimmt und Windows keine aussagekräftigen Geschwindigkeits- und Restzeitangaben liefert. Einen sehr guten Freeware-Client stellt in diesem Zusammenhang BitKinex dar. Dieser liefert präzise Messergebnisse und es können auch etwaige Verbindungsprobleme näher untersucht werden.

WordPress-Sicherheit erhöhen

wordpress-logo

WordPress ist ein beliebtes und dementsprechend weitverbreitetes Blogging-System. Wenn auch ihr mit dem Gedanken spielt, ein Blog mit WordPress zu realisieren, dann sind die folgenden Vorkehrungen sicherlich hilfreich. Vorweg: 100%ige Sicherheit wird es nie geben, aber eins ist sicher: So selbstverständlich wie man sein Auto zur Inspektion oder zum TÜV bringt, genauso muss man sich um einen Internetauftritt kümmern. Es reicht nicht, diesen einmal zu installieren und der technischen Seite danach keine Beachtung mehr zu schenken. Womit wir auch schon beim Thema wären…

Ich gehe an dieser Stelle davon aus, ihr habt euch die WordPress-Dateien im .zip-Format bereits aus einer offiziellen Quelle heruntergeladen. Entpackt dieses Archiv und benennt den Hauptordner in etwas Abstraktes um. Uploaded diesen dann via FTP auf euren Webspace in einen Domain-Ordner eurer Wahl. Die (Sub-)Domainzuordnung muss dann noch auf diesen abstrakten Pfad gemappt werden. Wenn der Aufruf der gewünschten URL im Browser funktioniert, sollte der Installationsprozess starten.

WordPress setzt auf PHP (serverbasierte Scriptsprache) und MySQL. Letzteres dient dazu, Einstellungen, Seiteninhalte, Artikel und alles was so dazugehört in einer Datenbank abzuspeichern. Dazu werden sog. SQL-Queries performed und die Informationen in Tables abgelegt. Diese Datenbanken und Tabellen sind natürlich ein beliebtes Angriffsziel. Man hört in diesem Zusammenhang öfters mal den Begriff SQL-Injection. Bei der Installation ist das Standard-Tabellen-Präfix wp_ vorbelegt. Das sollte man durch einen individuellen String (Beispiel: qx12_) ersetzen. Dieses prefix könnte theoretisch dazu dienen, dass man mehrere Websites in einer Datenbank unterbringt. Aus vorgenannten Gründen ist davon allerdings abzuraten. Sollte es auf einer Website zu Problemen externer Natur kommen, legen diese schlimmstenfalls nicht direkt mehrere Internetauftritte gleichzeitig lahm.

 Wenn man mit der Installation fertig ist, hat WordPress eine Datei mit dem Namen wp-config.php angelegt, wo sämtliche während der Installation abgefragten Attribute zu finden sind (DB_NAME, DB_USER, DB_PASSWORD, DB_HOST). Ihr findet dort ebenfalls die ganzen KEYs, welche für jedes Blog individuell sind und auch sein müssen. In früheren Versionen von WordPress konnte bzw. musste man diese Schlüssel manuell über die Seite https://api.wordpress.org/secret-key/1.1/salt/ erzeugen und via copy & paste einfügen. Heutzutage geschieht dies automatisch. Ihr könnt die Keys später auch von Zeit zu Zeit ändern, danach müssen sich lediglich aktuell angemeldete User neu einloggen. Legt die wp-config.php eine Verzeichnisebene höher ab. WordPress sollte bzw. wird sie dort finden. Damit sind die DB-Zugriffsdaten sicher ausgelagert.

Wenn alles soweit vorbereitet ist, sollte man sich daran machen die sicherheitskritischen Bereiche des Blogs für böswillige Besucher unerreichbar zu machen. Darunter zählt zum einen die Datei wp-login.php und zum anderen der Ordner wp-admin. Das ganze kann über .htaccess realisiert werden, sofern euer Webspace-Paket dieses Feature vorsieht. Man könnte dann entweder eine zusätzliche Passwortabfrage einbauen oder – sofern ihr über eine statische oder eine selten wechselnde IP-Adresse verfügt (z.B. Kabel-Internet ohne Zwangstrennung) – nur einen ganz bestimmten Client zulassen. Wenn ihr euch für letzteres entscheidet, dann müsst ihr eine .htaccess-Datei mit folgendem Inhalt in diesem Ordner ablegen:

<Files wp-login.php>
order deny,allow
deny from all
allow from 127.0.0.1
</Files>

127.0.0.1 müsst ihr natürlich durch die zugelassene IP ersetzen. Solltet ihr im Vorfeld schon die Permalink-Funktion aktiviert haben, so müsst ihr die bestehende .htaccess-Datei nur noch durch den obigen Code ergänzen. Bei dynamischen IP-Adressen (solltet ihr den Aufwand der Sicherheit wegen betreiben wollen) muss diese Datei nach jeder Zwangstrennung angepasst werden. Den Ordner wp-admin sichern wir mit folgendem .htaccess-Inhalt:

order deny,allow
deny from all
allow from 127.0.0.1

Hier 127.0.0.1 analog ersetzen. Diese .htaccess muss direkt im Ordner „wp-admin“ abgespeichert werden. Wer sich jetzt fragt, warum er Dateien, aber keine Verzeichnisse in einer .htaccess-Datei absichern kann, dem sei gesagt das die Verwendung der <Directory>-Direktive nicht über .htaccess möglich ist. Das bedeutet, man muss die IP nach einem Reconnect immer zweimal ersetzen. Muss jeder für sich selbst entscheiden. 😉

Wer sich für die Passwort-Methode entscheidet sollte wissen, dass dieses im Klartext übertragen wird. Ebenso beim normalen Login ins Backend. Wer nicht gerade über einen dedicated Webserver verfügt, sondern sich seinen Webspace nach dem Shared-Hosting-Prinzip teilen muss, dem sind SSL-Zertifikate leider verwehrt. In der Praxis bedeutet dieser Umstand, dass theoretisch das Mitlesen und Aufzeichnen eurer Login-Daten z.B. im unverschlüsselten WLAN eines Internet-Cafés möglich ist. Das ganze könnte man unterwegs durch den Einsatz eines eigenen VPN absichern, doch das würde an dieser Stelle den Rahmen sprengen und beansprucht einen eigenen Blog-Artikel. Dennoch hierzu eine kurze Anmerkung: Wenn ihr Euch von unterwegs, sprich von einer fremden IP, einloggen wollt, dann hättet ihr eigentlich keinen Zugriff auf das Weblog mit .htaccess-Sperre. Da ihr dies aber dann über ein VPN-Gateway macht, sieht es für den Webserver so aus, als wenn ihr vom heimischen Rechner auf ihn zugreift. Das bedeutet Sicherheit und Flexibilität.

OK, so weit, so gut. Bevor man mit dem Bloggen loslegt, empfiehlt es sich einen neuen Administrator-Account anzulegen. Dadurch können böse Besucher zum einen unter der User-ID Nr. 1 schonmal keinen Administrator-Account ermitteln und zum anderen ist die Umbenennung des Benutzernamens (gleich Login) von WordPress leider nicht vorgesehen. Der neue Administrator sollte möglichst kryptisch angelegt werden. Das man ein starkes Passwort bestehend aus Zahlen, Sonderzeichen, Gross- und Kleinbuchstaben wählen sollte erklärt sich von selbst. Mit diesem meldet man sich auch gleich an, löscht den ersten Administrator und legt einen weiteren User, z.B. in der Rolle eines Redakteurs an. Dieser Benutzer sollte dann zum eigentlichen Bloggen verwendet werden. Der Administrator wird dann nur noch für tiefgreifende Änderungen, z.B. die Struktur und sonstige Einstellungen betreffend oder das Editieren der Theme-Dateien verwendet.

Das sind im Großen und Ganzen einige Tips um WordPress sicherer zu machen. Achja, bevor ich es vergesse: WordPress sucht automatisch nach Updates der Core-Dateien, Themes und Plugins. Es empfiehlt sich diese regelmäßig durchzuführen, weil damit sowohl Sicherheitslöcher gestopft, als auch Fehler ausgemerzt  und weitere Verbesserungen implementiert werden. Bei der Menge der Plugins gilt grundsätzlich: So viele wie nötig, so wenige wie möglich. Da sich auch in den beliebten Erweiterungen Malware befinden kann, sollte man diese mit Bedacht auswählen.

BoxCryptor

boxcryptor-logo

In einem meiner letzten Beiträge habe ich Euch die zwei Cloud-Varianten vorgestellt. In diesem Artikel möchte ich nun etwas näher auf die Datenspeicherung auf einem externen Server eingehen. Häufig wird der Komfort – überall alles verfügbar zu haben – mehr in den Vordergrund gestellt als die Sicherheit. Kaum jemand der nicht gerade technikaffin ist hat Lust sich mit komplexen Sicherheitslösungen auseinander zu setzen. Als User wird man geradezu eingeladen alles erdenkliche auf fremden Systemen abzulegen und darüber sogar Backups laufen zu lassen. Was dabei gern außer Acht gelassen wird ist die Tatsache, dass die Daten unverschlüsselt irgendwo im Netz gehostet sind, womöglich sogar noch im Ausland wo ganz andere Datenschutzbestimmungen greifen. Übertragen werden die Daten zwar mittels SSL-Verschlüsselung, doch was passiert dann damit? Anbieter wie Dropbox werben damit, dass selbst unter den eigenen Mitarbeitern nur ein eingeschränkter Personenkreis Zugriff auf diese Daten hat. Zudem werden die empfangenen Daten nach eigenen Aussagen verschlüsselt. Doch wie heißt es so schön: Vertrauen ist nicht verkehrt, aber Misstrauen ist auch was wert.

Warum nimmt man das ganze also nicht selbst in die Hand? Was genau? Na, die zu übertragenden Daten vor dem Transfer lokal mit AES 256 Bit zu verschlüsseln! Apropos, dieser Verschlüsselungsstandard ist in den USA zugelassen für Dokumente mit höchster Geheimhaltungsstufe. Er sollte somit privaten Ansprüchen allemal genügen 🙂

Sehr anwenderfreundlich gestaltet ist der Umgang mit diesem Algorithmus dank BoxCryptor.

Doch was genau macht BoxCryptor? Zunächst gehe ich davon aus, dass ihr bereits über einen Dropbox-, SkyDrive- oder Google-Drive-Account verfügt und auch schon die jeweilige Sync-Software installiert habt, sprich es gibt für den jeweiligen Dienst einen Ordner auf eurer lokalen Festplatte. Wenn dort alles reibungslos funktioniert, dann kann man sich ans Werk machen.

BoxCryptor gibt es in drei unteschiedlichen Varianten:

  1. Kostenlos (privat), max. ein Laufwerk, keine Dateinamenverschlüsselung
  2. Kostenpflichtig (privat), beliebig viele Laufwerke, mit Dateinamenverschlüsselung
  3. Kostenpflichtig (kommerzieller Einsatz), beliebig viele Laufwerke, mit Dateinamenverschlüsselung

Ich habe mich für die 2. Variante entschieden. Die Software ist jeden Cent wert. Und letztlich geht es um die Sicherheit an der man bekanntlich nicht sparen sollte.

Die Einrichtung von BoxCryptor ist während und nach der Installation selbsterklärend. Das Programm erkennt installierte Cloud-Ordner in der Regel selbstständig. Wichtig ist, dass man bei der Einrichtung eines Laufwerks keinen einfachen Schlüssel auswählt. Folgende Merkmale sollte er aufweisen und beinhalten:

  • Mindestens 35 Zeichen
  • Zahlen
  • Großbuchstaben
  • Kleinbuchstaben
  • Sonderzeichen
  • Kein Begriffe (Stichwort: Wörterbuchangriff)

Ein gutes Beispiel für einen sicheren Schlüssel ist:

UbByA#5VUmtQ_Df@rX5gsuvMx_])Ws9gtbFT*aeNmx-m2a~}XS${@kt_jb)7

Man muss den selbst gewählten Schlüssel nur einmalig erfassen. Nicht nach jedem Neustart. *puh* 😉 Sollte man das Laufwerk einmal trennen oder seinen Rechner neu installieren, dann ist er logischerweise wieder erforderlich. Also gut aufbewahren! Natürlich nicht in der Cloud oder dem verschlüsselten Teil davon selbst. Wurden Daten einmal kryptographiert, ist es ohne den Schlüssel (praktisch) unmöglich, die Daten zurückzugewinnen. Theoretisch wäre es mittels Brute-Force denkbar, aber aufgrund des enormen Zeit- und Rechenaufwands nahezu ausgeschlossen (Stand: heute). Im Zweifelsfall ausdrucken.

Wenn die Einrichtung erfolgreich verlaufen ist, dann solltet ihr im Windows Explorer nun ein entsprechendes Laufwerk erkennen. Dieses Laufwerk  ist gemappt auf einen Unterordner im z.B. Dropbox-Verzeichnis. Alles was man auf dieser (logischen) Festplatte speichert wird im Hintergrund durch Boxcryptor verschlüsselt und im besagten Unterordner abgelegt. Die Sync-Software führt derweil den Upload durch. Wenn ihr euch den Sync-Ordner anseht, erkennt ihr die verschlüsselten Dateien. Der beste Beweis, dass alles sicher in der Cloud verwahrt wird.

Abschließend nochmals der Hinweis, dass die Verschlüsselung ausschlieߟlich über das Laufwerk funktioniert. Nicht wenn man Dateien direkt im BoxCryptor-Ordner ablegt. Und die Datei .encfs6 bitte niemals löschen. Diese wird zwingend benötigt, enthält aber keine sicherheits-kritischen Daten oder gar Hinweise auf den Schlüssel.

Microsoft OneNote Sync

Microsoft_OneNoteWer kennt das nicht? Man ist gerade unterwegs und hat einen genialen Einfall den man aber erst später in die Tat umsetzen kann. Papier und Stift hat man natürlich nicht dabei – wäre ja auch zu altmodisch. Schnell eine Memo im Handy abspeichern? Das hilft zumindest vorläufig. Was aber, wenn man die Idee dann am Rechner umsetzen möchte? Dann hat man nicht unbedingt sein Handy neben sich liegen und stößt erst nach Tagen wieder auf die Memo. Die ganze Sache droht so in Vergessenheit zu geraten. Doch erfreulicherweise haben sich die Entwickler aus Redmond etwas einfallen lassen und gar nicht mal so schlecht in die Realität umgesetzt. Die Rede ist von Microsoft OneNote.

OneNote ist ein selbstständiges Programm und Teil der MS Office-Suite. Es ist so simpel wie genial und erleichtert das tagtägliche Leben enorm. Doch wie geht das? Normalerweise werden die Notizbücher lokal auf dem Rechner abgespeichert. Das bringt uns reichlich wenig wenn wir unterwegs mit dem Smartphone etwas nachschlagen wollen. Die Lösung ist ein Cloud-Sync. Dazu benötigt man zunächst ein Microsoft-Konto. Das ist kostenlos, genau wie die 7 Gigabyte Speicherplatz. Wenn ihr bereits über ein XBox-Live-Konto verfügt, dann könnt ihr auch dieses nutzen.

Wenn ihr mit der Anmeldung durch seid, installiert noch schnell die SkyDrive-Software. Diese legt einen lokalen Sync-Ordner auf eurer Festplatte an und dieser wird in regelmäßigen Abständen mit der „Wolke“ abgeglichen. Als nächstes müsst ihr OneNote noch sagen, dass es das Notizbuch zukünftig online speichern soll. Das macht ihr bei geöffnetem OneNote über Datei / Freigeben / Freigeben in: Web. Nach Eingabe der richtigen Login-ID und des Passworts sollte die Kontaktaufnahme erfolgreich verlaufen. Ab diesem Zeitpunkt werden die Notizen online gespeichert.

Solltet ihr ein iPhone oder iPad haben, müsst ihr Euch OneNote noch im Appstore von Apple laden, Android-Nutzer steuern Google Play an. Die App ist bis 500 Notizen kostenfrei. Das sollte aber für’s erste (wenn überhaupt) reichen. Werbung gibt es bei der Lite-Version erfreulicherweise keine. Was mir aber in dem Zusammenhang aufgefallen ist: Die iOS-Vollversion kostet satte 10 EUR mehr als die Android-Variante. Aber wie gesagt …. (vorerst) überflüssig.

Wenn ihr die App startet, werdet ihr auch hier wieder nach der Login-ID und dem Kennwort gefragt. Wenn alles erfolgreich war, solltet ihr das Notizbuch nun auf eurem mobilen Gerät betrachten und ändern können. Ab sofort könnt ihr unterwegs Ideen aufzeichnen und zu Hause am PC umsetzen. Mir hat es schon in wenigen Wochen gute Dienste geleistet. 🙂