Archiv

Artikel Tagged ‘Sicherheit’

Excel – Blattschutz aufheben bei unbekanntem Passwort

3. Januar 2013 23 Kommentare

Grade in die Situation gekommen, ein altes Makro sezieren zu müssen. Bei der Gelegenheit ist mir aufgefallen, dass ich in der Datei vor ca. 4 Jahren einen Blattschutz mit Passwort eingerichtet habe. Und wie es der Zufall so will, viel mir selbiges natürlich auch nicht mehr ein.

Also musste schnell eine Lösung her, und die lieferte mir Google überraschend schnell. Ich hätte gedacht, dass die Schutzmechanismen von Office etwas ausgeklügelter wären, aber man kann den Blattschutz mit einem kleinen Makro sehr leicht und relativ schnell aushebeln.

Eine Videoanleitung dazu habe ich bei Youtube gefunden und spare mir daher an dieser Stelle die weiteren schriftlichen Ausführungen und verweise einfach auf das Tutorial.

 
Und hier noch der benötigte Makro-Code, einfach als Modul in dem Dokument speichern, dessen Blattschutz man entfernen möchte, und anschließend auf dem Blatt ausführen.

Sub Blattschutz_Entfernen()
  On Error Resume Next
  For i = 65 To 66
   For j = 65 To 66
    For k = 65 To 66
     For l = 65 To 66
      For m = 65 To 66
       For n = 65 To 66
        For o = 65 To 66
         For p = 65 To 66
          For q = 65 To 66
           For r = 65 To 66
            For s = 65 To 66
             For t = 32 To 126

ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & Chr(l) & Chr(m) & _
Chr(n) & Chr(o) & Chr(p) & Chr(q) & Chr(r) & Chr(s) & Chr(t)

             Next t
            Next s
           Next r
          Next q
         Next p
        Next o
       Next n
      Next m
     Next l
    Next k
   Next j
  Next i
  MsgBox "Der Blattschutz sollte jetzt deaktiviert sein."
End Sub

Funktioniert mit Excel 2003 ganz hervorragend, nach knappen 2 Minuten konnte ich das Dokument wieder vollständig nutzen und bearbeiten. Laut Video soll das Makro auch in Excel 2007 nutzbar sein.

Einfach zu merkende, sichere Passwörter erstellen

1. Juni 2012 Keine Kommentare

Was bringt einem ein Passwort-Safe wie KeePass, wenn man mal an einem fremden Rechner ist und kurz auf eine Webseite zugreifen will. Hat man einen Passwort-Generator benutzt, hat man eh keine Chance mehr ohne sein digitales Gedächtnis. Aber auch so kann es schwer genug sein, den Überblick über die Menge an Anmeldedaten zu behalten.

Vor einiger Zeit habe ich diesbezüglich einen interessanten Artikel gelesen, leider hab ich mir den Link aber nicht gespeichert. Der Autor hatte dort eine tolle Idee, wie man sich sichere, einzigartige und zugleich gut zu merkende Passwörter erstellen kann.

Zuerst braucht man ein Basispasswort, welches für sich schon als sicher anzusehen ist. Um ein solches zu erhalten, raten viele Webseiten zu einer Eselsbrücke: man nehme einen Satz, den man sich gut merken kann (Songtext, Zitat, was auch immer) und zerlege ihn in seine Anfangsbuchstaben (Groß- und Kleinschreibung beachten) sowie seine Satzzeichen.

Es gibt keine Sicherheit, nur verschiedene Grade der Unsicherheit.
Anton Neuhäusler

Daraus ergibt sich schon mal ein 11-stelliges Passwort:
EgkS,nvGdU.

Wenn man möchte, hängt man jetzt einfach noch eine Zahl ran, z.B. sein Geburtsjahr:
EgkS,nvGdU.79

Nochmal einen drauf setzen kann man, indem man das ganze dann noch in Klammern setzt:
(EgkS,nvGdU.79)

So einfach hat man ein 15-stelliges Passwort zusammen. Aber wir wollen doch für jede Webseite ein eigenständiges Passwort haben. Also müssen wir das Passwort nochmals erweitern, diesmal um bestimmte Bestandteile der URL. Soll das Passwort beispielsweise für den eigenen Facebook Account sein, kann man einfach den ersten und letzten Buchstaben der Webadresse http://www.facebook.com/ an das Passwort anfügen:
f(EgkS,nvGdU.79)k

Fertig. Auf diese Weise kann es zwar durchaus auch mal zu doppelter Nutzung eines Passwortes kommen, die Wahrscheinlichkeit, dass sowas passiert, ist aber verhältnismäßig gering. Außerdem ist das Vorgestellte nur eine von vielen Möglichkeiten, wie man ein Basispasswort erstellen und erweitern kann. Hat man es erst ein paar mal benutzt, geht es irgendwann in Fleisch und Blut über, und man muss sich nur noch um die URL-Ergänzung Gedanken machen.

Die Verwaltung kann weiterhin via KeePass oder ähnlichem erfolgen, aber für den Fall der Fälle hat man so auch die Möglichkeit, dass Passwort ohne Hilfsmittel zu rekonstruieren.

Passwort-Verwaltung mit KeePass auf verschiedenen Plattformen

1. Juni 2012 Keine Kommentare

Passwörter, wohin man auch schaut. Blogs, Foren, Online-Shops und Spiele, Softwarezugänge privat wie beruflich, etc… die Flut an benötigten Passwörtern scheint nicht abreißen zu wollen. Viele verwenden daher für mehrere (im schlimmsten Fall alle) Zugänge die selben Anmeldedaten. Ach ja, und leicht zu merken müssen sie auch noch sein. Bequem für den einzelnen, aber zugleich auch das unsicherste, was man machen kann.

Artikel zu sicheren Passwörtern gibt es haufenweise, daher verzichte ich an dieser Stelle auf entsprechende Anmerkungen.

Mir ist es vor kurzem passiert, das einer meiner eMail-Accounts übernommen wurde. Selbst schuld, war hier doch noch ein recht einfaches Passwort im Einsatz, welches seit 6 Jahren nicht geändert wurde. Und zu meiner Schande muss ich gestehen, dass auch ich bei unwichtigeren Diensten gern Mehrfachnutzung betrieben habe. Das hat sich seit diesem Vorfall allerdings geändert.

Doch um mir die ganzen neuen Passwörter alle merken zu können, brauch ich etwas technische Unterstützung. Nach einer kurz gehaltenen Recherche habe ich mich für KeePass entschieden. Mehrfach ausgezeichnet, Open Source, durch Plugins erweiterbar und auf mehreren Plattformen verfügbar, was will man mehr von einem Passwort-Safe. Somit war eine meine Hauptanforerung, die Multiplattform-Unterstützung, abgedeckt.

Und praktischer Weise hat das Programm auch gleich einen Passwort-Generator integriert, den man mit eigenen Regeln füttern kann und speichern kann. Hat man größeres vor, kann man sich auch gleich eine ganze Liste möglicher Passwörter ausgeben lassen.

 
Zentrale Speicherstelle für Passwort-Datei

Windows, Linux, IOS, gern auch Android … an der „Cloud“ kommt man bei dieser Planung kaum vorbei. Für die Wahl der geeigneten Variante muss man sich aber genau die Möglichkeiten der eingesetzten Software auf jeder Plattform ansehen.

 
1. Dropbox

Dies ist meine derzeit eingesetzte Variante, was hauptsächlich an der eingesetzten IOS-App liegt, aber dazu später mehr. Dropbox ist auf allen Geräten verfügbar und daher eine gute Möglichkeit, seine Passwort-Datenbank synchron zu halten. Das man sich erst bei Dropbox anmelden muss, stellt einen zusätzlichen Schutz der Datei dar und ist erstmal positiv zu werten. Dass die Daten bei Dropbox unverschlüsselt auf den Servern liegen und jeder Mitarbeiter dran kommt, ist ein anderes Thema, aber der Safe selbst ist zum Glück auch nochmal verschlüsselt.

 
2. Server-Sync

Die Desktop-Version von Keepass 2.x hat eine eingebaute Sync-Funktion, welche die Synchronisation via FTP, HTTP und WebDAV ermöglicht. Möchte man Support für SCP, SFTP oder FTPS muss man zusätzlich das Plugin IOProtocolExt installieren. Noch mehr Möglichkeiten, wie beispielsweise Amazon’s S3, erhält man durch das Plugin KeePassSync.

Sehr bequem, wenn man einen eigenen Root- oder V-Server hat, bei dem man serverseitig noch eine Verschlüsselung durchführen kann. Andernfalls ist kein Mehrwert zur Dropbox-Variante vorhanden. Außerdem muss man hier drauf achten, welche Funktionen die IOS und Android Apps haben, denn viel habe gar keinen Sync-Support integriert, wodurch ein weiterer Vorteil verloren geht.

 
Desktop-Clients

Im Einsatz habe ich KeePass 2.x, sowohl unter Windows als auch Linux. Die Version hat mehr Funktionen und Plugins, ist dafür allerdings leider an das .NET Framework gebunden. Was zum Glück unter Linux dank Mono kein allzu großes Problem darstellt.

Wer auf die neueren Funktionen verzichten kann und keine zusätzliche Laufzeitumgebung auf seinem Rechner haben möchte, kann aber auch ganz beruhigt zu Version 1.x greifen. Dann steht allerdings nur noch die Dropbox-Variante für die plattformübergreifende Verfügbarkeit des Passwort-Safe offen, denn Version 1.x kann weder von Haus aus synchronisieren, noch gibt es entsprechende Plugins.

 
IOS-App

Da ich nur ungern Geld für Apps ausgebe, musste eine kostenlose KeePass App her. Passenderweise wird auf der offiziellen Webseite von KeePass auf eine kostenlose IOS-App verwiesen: MiniKeePass. Diese hat keinen eingebauten Sync-Support, eine Integration von Dropbox fehlt ebenfalls. Ansonsten tut sie, was sie soll. Sie öffnet den Passwort-Safe und lässt einen an die Daten ran.

Ein einmal übergebener Safe bleibt in der App für spätere Zugriffe erhalten. Die App selbst kann man durch einen 4-stelligen Zahlencode schützen, das Passwort für den Safe kann man speichern lassen, wenn man möchte, oder bei jeder Nutzung eingeben.

Gab es Änderungen an dem Passwort-Safe, muss man die Dropbox-App öffnen, den Safe anwählen und an MiniKeePass übergeben lassen. Die alte Version des Safe wird dann mit der neuen Version überschrieben.

Wie gesagt, mir reicht das. Möchte man einen echten Sync auf dem iPhone, muss man zu einer kostenpflichtigen App greifen.

 
Blackberry, Adroid- und WP7-Apps

Auf der offiziellen Download-Seite sind für diese Systeme ebenfalls die passenden Apps verlinkt. Aber da ich keine dieser Plattformen besitze, kann ich dazu auch nichts sagen.

 
Zugriff auf die Passwörter vom Browser aus

Kommen wir nun zum entscheidenden Punkt: den Zugriff auf die Passwörter. Schließlich möchte man der Bequemlichkeit halber auch gleich die Anmeldedaten fertig ausgefüllt bekommen, wenn man eine Webseite ansteuert.

 
1. Firefox

Für Firefox gibt es derzeit 2 nennenswerte Addons, welche den Zugriff auf den Passwort-Safe ermöglichen. Die komfortablere Möglichkeit bietet meiner Meinung nach KeeFox. Dieses Plugin integriert KeePass vollständig in den Firefox, wodurch der in Firefox integrierte Passwort-Manager überflüssig wird. Anmeldedaten werden automatisch ausgefüllt und neue Daten auf Wunschim Safe gespeichert, inkl. Webseiten-Informationen, die zum Auto-Ausfüllen benötigt werden.

 
2. Chrome

Das zweite Firefox-Addon heißt PassIFox und bedient sich wie auch die einzige Chrome-Erweiterung ChromeIPass des KeePass-Plugins KeePassHttp. Die Einrichtung ist nicht sonderlich schwer, man muss sich nur an die Anleitung auf der jeweiligen Addon-Seite halten.

1) Installiere KeePass
2) Installiere KeePassHttp, indem die Datei KeePassHttp.plgx im KeePass Installationsverzeichnis abgelegt wird
2a) Melde dich in KeePass an
2b) Kontrolliere, ob KeePassHttp korrekt installiert wurde (Tools > Plugins)
3) Rufe eine Seite auf, deren Daten in KeePass gespeichert sind
4) Klicke auf das KeePass Icon in der URL-Leiste und klicke auf den „Connect“-Button.
5) Wechsel zu KeePass und gib einen eindeutigen Namen für den Browser ein und speicher anschließend.
6) Ihre Passwörter werden nun sicher von KeePass empfangen und automatisch in Anmeldefelder eingetragen. Ggf. ist hierfür vorher noch eine Abfrage zu bestätigen.

Diese Addons arbeiten aber nur in eine Richtung, sie können nur Daten aus KeePass abrufen, jedoch keine neuen in KeePass speichern. Neue Einträge muss man direkt in KeePass manuell anlegen.

 
3. Andere Browser

Für andere Browsr gibt es keine derartigen Addons bzw. Plugins. KeePass hat jedoch eine Auto-Type Funktion, mit deren Hilfe es auch im Internet Explorer oder Opera genutzt werden kann. Man wählt dafür das erste Login-Feld an, wechselt dann zu KeePass und kann mit rechter Maustaste -> Auto-Type ausführen die zugehörigen Daten eintragen lassen.

WLAN Sicherheitslücke bei aktuellen Speedport Modellen

26. April 2012 Keine Kommentare

Die Telekom hat gestern offiziell bekannt gegeben, dass die Speedport Geräte W 504V, W 723V Typ B und W 921V von einer Sicherheitslücke betroffen sind. Das WLAN der betroffenen Geräte ist unsicher und erlaubt es einem Angreifer, sich ohne großen Aufwand zu verbinden. Bis das Problem mit einem Firmware Update behoben wird, sollte am besten die WPS-Funktion deaktiviert werden.

Weitere aufschlussreiche Informationen gibt es auf der Seite von Heise Online.

Warum mich das interessiert: ich habe selbst einen solchen Router im Einsatz. Warum ich es der ganzen Welt erzähle: warum nicht? 😉

 
Update:
Bereits am morgigen Freitag soll für den Speedport W 921V eine aktualisierte Firmware veröffentlicht werden, welche die Sicherheitslücke behebt. Besitzer eines der beiden anderen Modelle müssen sich hingegen noch bis nächste Woche gedulden. (Quelle: Golem)

Account-Sicherheit für Onlinespiele

2. April 2012 Keine Kommentare

Vor Jahren habe ich als freier Mitarbeiter der Guild Wars Fanseite (damals noch bei Onlinewelten) einige Inhalte zur Seite beigetragen. Der Aufbau und die Pflege der Grüne Items Datenbank, die Pflege und Weiterentwicklung der Fertigkeiten Datenbank, Moderation im Forum, Überarbeitung und Korrektur vorhandener Artikel … das alles umfasste meine damalige, knapp 2-jährige Tätigkeit, der ich mit großem Spaß in meiner Freizeit nachging.

Da im Forum regelmäßig das Thema aufkam, jemandes Account wäre „gehackt“ worden, schrieb ich mehrere Artikel zur Account-Sicherheit und erstellte eine FAQ im Forum. Diese sind auch nach wie vor verfügbar, wenngleich aufgrund Designänderungen nicht mehr ganz ansehnlich.

Ich werde mich wohl bei Zeiten mal daran machen, diese Artikel zu überarbeiten. Werde sie dann aber natürlich nicht mehr bei Guild-Wars.info publizieren, denn meine aktive Zeit dort ist vorbei und mein interner Account mittlerweile von den Admins gelöscht. Statt dessen werde ich die neuen Artikel dann hier veröffentlichen.

Wie ich überhaupt drauf komme? Für das Battle.net habe ich inzwischen den Authenticator im Einsatz, Steam und andere fragen per eMail nach, ob eine zugreifende IP überhaupt berechtigt ist, den Account zu nutzen … es hat sich also einiges getan, seit ich die Artikel verfasst habe … und außerdem beginnt der Vorverkauf für das langerwartete Guild Wars 2 in wenigen Tagen 😀

Mehr Sicherheit für WordPress

29. März 2012 Keine Kommentare

Nachdem ich mich in letzter Zeit ein wenig mit SEO beschäftigt habe, und die Seite dahingehend etwas optimiert habe, kam mir nun das Thema Sicherheit in den Sinn. Aber da dies mein erster Blog ist, kann ich diesbezüglich auf keinen allzu großen Wissenschatz zurückgreifen, sondern muss mich an den Hinweisen und Empfehlungen anderer orientieren. Als hilfreich habe ich dabei die foldenden Seiten empfunden:

Ich werde aber selbst auf die aus meiner Sicht wichtigsten Punkte nochmal genauer eingehen. Ich gehe dabei von einer vorhandenen Installation mit der Version 3.3.1 aus.

 
1. Admin-Account sinnvoll benennen

Der bei der Blog-Installation angelegte Admin-Account sollte nicht admin heißen! Ideal wäre ein Name, der nicht im direkten Zusammenhang mit der URL oder dem Thema des Seite steht. Der eigene Nickname sollte ebenfalls nicht genutzt werden. Hat man sich daran schon bei der Installation gehalten, kann man den folgenden Absatz überspringen, andernfalls weiterlesen.

Lege einen neuen Benutzer mit Admin-Rechten an, vergebe einen passenden Namen und nutze ein sicheres Passwort. Anschließend mit dem neuen Account einloggen und den alten Account löschen. Man wird gefragt, was mit den vorhandenen Inhalten des Benutzers passieren soll, hier wählt man die Übernahme auf den neuen Account.

Wähle im Profil auf jeden Fall aus, dass der angezeigte Name nicht der Benutzername ist.

Eine Sache fehlt aber noch: die ID des Accounts in der Datenbank hat nun noch immer die 1 oder, wenn es keine anderen Benutzer gibt, die 2. Das wissen auch potentielle Angreifer. Daher sollte man diese ID auf einen zufälligen Wert ändern. Dazu läd man sich entweder ein Plugin wie Search & Replace, öffnet phpMyAdmin oder greift sonst wie auf die Datenbank zu.

Es muss in 4 Tabellen je ein Wert geändert werden, und zwar in wp_users, wp_usermeta, wp_posts und wp_links. Im folgenden SQL-Statement nehme ich exemplarisch die ID 194, diese Zahl sollte aber jeder selbst festlegen. Die aktuelle ID muss selbstverständlich auch angepasst werden.

UPDATE wp_users    SET ID          = 194 WHERE ID          = 1;
UPDATE wp_usermeta SET user_id     = 194 WHERE user_id     = 1;
UPDATE wp_posts    SET post_author = 194 WHERE post_author = 1;
UPDATE wp_links    SET link_owner  = 194 WHERE link_owner  = 1;

 
2. Tabellen-Präfix != wp_

Was bei der Installation dem Benutzernamen das admin ist dem Tabellen-Präfix das wp_. Auch hier sollte man eine Änderung in Betracht ziehen. Je nachdem, wie viele Tabellen man noch in seiner Datenbank hat, kann es sinnvoll sein, das Präfix mit bestimmten Zeichen beginnen zu lassen, um die Position der WordPress-Tabellen bei der Sortierung zu beeinflussen.

In der Basisinstallation umfasst dies 11 Tabellen, die ich nachfolgend schon mal als fertiges SQL-Statement vorbereitet habe. Das Präfix wird für dieses Beispiel auf 19a7Z4_ gesetzt.

RENAME TABLE wp_commentmeta        TO 19a7Z4_commentmeta;
RENAME TABLE wp_comments           TO 19a7Z4_comments;
RENAME TABLE wp_links              TO 19a7Z4_links;
RENAME TABLE wp_options            TO 19a7Z4_options;
RENAME TABLE wp_postmeta           TO 19a7Z4_postmeta;
RENAME TABLE wp_posts              TO 19a7Z4_posts;
RENAME TABLE wp_terms              TO 19a7Z4_terms;
RENAME TABLE wp_term_relationships TO 19a7Z4_term_relationships;
RENAME TABLE wp_term_taxonomy      TO 19a7Z4_term_taxonomy;
RENAME TABLE wp_usermeta           TO 19a7Z4_usermeta;
RENAME TABLE wp_users              TO 19a7Z4_users;

Wenn man Plugins installiert hat, können es auch durchaus mehr Tabellen sein. Diese müssen dann ebenfalls umbenannt werden.

Damit allein ist es aber noch nicht getan, es sind noch weitere Schritte notwendig, damit WordPress weiterhin fehlerfrei seinen Dienst verrichtet. In der Tabelle 19a7Z4_options und evtl. auch in 19a7Z4_usermeta müssen noch Einträge abgeändert werden.

UPDATE 19a7Z4_options  SET option_name = REPLACE(option_name,'wp_','19a7Z4_');
UPDATE 19a7Z4_usermeta SET meta_key    = REPLACE(meta_key,   'wp_','19a7Z4_');

Zu guter letzt muss die Datei wp-config.php bearbeitet werden, damit WordPress das neue Tabellen-Präfix auch bekannt ist.

$table_prefix  = '19a7Z4_';

 
3. Verzeichnisschutz für wp-content und wp-includes

In diesen Verzeichnissen liegt nichts, worauf ein Besucher direkt zugreifen müsste, außer vielleicht den Uploads. Daher sollte man sie auch entsprechend absichern. In jedes Verzeichnis kommt eine .htaccess mit folgendem Inhalt:

Order Allow,Deny 
Deny from all 
<Files ~ ".(css|jpe?g|png|gif|js|svg)$"> 
  Allow from all 
</Files>

Grundsätzlich wird der Zugriff auf alle Dateien in diesen Verzeichnissen verboten, mit Ausnahme bestimmter Dateiendungen, die man individuell anpassen und ergänzen sollte.

 
4. Verzeichnisschutz für wp-admin oder nur wp-login.php ?

Diese Frage ist auf Playground sehr gut beantwortet und erläutert worden. In vielen Anleitungen wird dazu geraten, den kompletten Ordner wp-admin via .htaccess und .htpasswd zu schützen. Da WordPress aber auch außerhalb des Backends auf die Dateien in dem Verzeichnis zugreifen kann, wäre ein reibungsloser Betrieb für normale Besucher nicht gewährleistet. Daher wird nur die Datei wp-login.php zusätzlich geschützt.

# protect wp-login.php
<files wp-login.php>
  AuthType Basic
  AuthName "Admin-Bereich"
  AuthUserFile /absoluter-serverpfad/.htpasswd
  require valid-user
</files>

Ein doppelter Login also. Muss man aber nur machen, wenn man seinen für WordPress gewählten Benutzernamen und das Passwort für unzureichend hält… aber ob dann ein zusätzlicher Schutz mit ähnlich schwachen Daten die Situation großartig verbessert, darf angezweifelt werden.

Aus meiner Sicht nicht notwendig, für Sicherheitsfanatiker aber garantiert eine tolle Option 😉

 
5. Umgang mit fehlerhaften Login-Versuchen

Man kennt es von vielen Seiten, x-mal das Password falsch eingegeben, schon kann man sich erstmal Kaffee kochen gehen oder gleich den Support anrufen. WordPress bietet diesen Luxus von Haus aus nicht, aber er lässt sich leicht über Plugins nachrüsten. Limit Login Attempts oder Login LockDown sind zwei Vertreter dieser Plugin-Gattung, die Konfiguration sollte selbsterklärend sein.

 
6. Fehlerhinweise auf der Login-Seite ausblenden

Es ist immer wieder schön, wenn man die Zugangsdaten vergessen hat, und einem die Seite genau sagt, wo der Fehler liegt. So macht es auch WordPress und sagt einem genau, ob der Benutzername oder nur das Passwort falsch sind. Für einen selbst eine tolle Hilfe, aber leider auch für jeden anderen, der Zugang haben will.

Daher sollte man auch hier entweder mit Plugins wie WSD security arbeiten oder selbst die entsprechenden Änderungen im Quelltext vornehmen. Bei iNove zeigt das Plugin jedenfalls keine Wirkung, aber das kann durchaus am Theme liegen.

Man öffne also die Datei functions.php im iNove-Verzeichnis und kopiere folgende Zeile an den Anfang der Datei:

add_filter('login_errors',create_function('$a', "return null;"));

 
7. Versionsnummer nicht mehr ausgeben

WordPress gibt seine aktuelle Versionsnummer immer als meta-Tag aus. Eine wertvolle Information, weiß man so doch gleich, ob WordPress aktuell ist und welcher Exploit am ehesten Erfolg haben kann. Also weg mit der Information. Auch zu diesem Zweck gibt es wieder viele Plugins (erneut sei WSD security genannt) oder die Möglichkeit, händisch vorzugehen.

Man muss dafür im Theme-Verzeichnis entweder in der header.php oder der index.php die Zeile, in welcher der meta-Tag erzeugt wird, löschen.

<meta name="generator" content="WordPress <?php bloginfo('version'); ?>" />

Da die Version aber auch im RSS-Feed angegeben wird, und einige Funktionen und Plugins diese Information auch benötigen, kann man die Versionsnummer leider nicht ganz löschen. Das Ausblenden via Plugin scheint daher am flexibelsten.

Zudem sollte man noch den Zugriff auf zwei Dateien unterbinden, in denen die Versionsnummer ebenfalls nachzulesen ist: liesmich.html und readme.html. Einige Seiten empfehlen deren Löschung, was man dann aber nach jedem Update wiederholen darf. Als eine langfristige Lösung scheint mir hier der Einsatz von .htaccess hilfreich zu sein.

# protect liesmich.html
<files liesmich.html>
  Order deny,allow
  deny from all
</files>

# protect readme.html
<files readme.html>
  Order deny,allow
  deny from all
</files>

 
Fazit

Mit ein paar relativ einfachen Aktionen kann man die Sicherheit von WordPress ein gutes Stück erhöhen, auch wenn es zugleich etwa schade ist, dass man als normaler Nutzer überhaupt an sowas denken muss, denn einige Dinge könnten bereits voreingestellt ausgeliefert werden.

Aber so hat man zumindest immer mal wieder etwas neues, um sich zu beschäftigen ^^

eMail Adresse vor Spam Crawlern schützen

13. März 2012 Keine Kommentare

In den letzten Jahren ist es äußerst kompliziert geworden, grade kleine private Webseiten richtig zu betreiben. Ein Impressum braucht zwar inzwischen jeder, aber die darin bereitzustellenden Informationen variieren je nach Art des angebotenen Inhaltes. Und zu allem Überfluss kann einem auch niemand mit Sicherheit sagen, ob die getroffenen Maßnahmen ausreichend sind oder nicht.

Ich bin zwar nicht sonderlich angetan davon, meine Adresse im Impressum der ganzen Welt mitzuteilen, aber sicher ist sicher, und außerdem sind diese Infos ja auch schon durch eine WHOIS Abfrage in Erfahrung zu bringen, von daher ist es eh egal.

Aber zumindest kann man dafür sorgen, dass man nicht auch noch in zahlreichen Spam-Verzeichnissen auftaucht, indem man die eMail-Adresse im Impressum maskiert.

 
HTML Sonderzeichen – ASCII Codes

Die einfachste Variante zur Verschleierung beliebiger Inhalte sind die HTML Sonderzeichen. Dadurch macht man es allerdings nur Menschen schwer, den eigentlichen Text zu lesen, für ein Programm macht es hingegen keinen Unterschied, ob Klartext oder Sonderzeichen verwendet werden.

mail@example.com
&#109;&#97;&#105;&#108;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;

 
JavaScript eMail Encrypter

Es gibt viele fertige Lösungen, die bekannteste nennt sich UnCryptMailto(). Dieser Funktion wird eine „verschlüsselte“ eMail Adresse übergeben, die dann einen gültigen mailto: Link daraus macht. Die Vorgehensweise ist dabei nicht sonderlich schwer, es wird einfach der ASCII-Code um ein Zeichen nach links oder rechts verschoben, fertig ist die verschlüsselte eMail.

Das ganze ist so simpel, dass davon ausgegangen werden darf, dass jeder moderne Webcrawler es ebenfalls beherrscht. Zumindest, solange man die Standardfunktion 1:1 aus dem Internet kopiert und nutzt.

Ein weiterer Nachteil besteht darin, dass die Mail-Adresse im Inhalt des a-Tags weiterhin lesbar ist. Die Hilfskrücke mail [at] example [dot] com sieht nicht nur häßlich aus, sie ist obendrein auch noch berechenbar und maschinenlesbar.

Wenn man sich die Funktion aber individuell anpasst, kann dies schon einen höheren Schutz gegen Crawler bieten. Man gebe der Funktion einen anderen Namen, benenne die Variablen um und nutze eine andere Verschiebung als ±1, schon hat man die 0815 Crawler abgehängt. Und statt mail [at] example [dot] com kann man ebensogut auch einfach „Schreib mir“ als Text nehmen.

Die ganze Lösung funktioniert allerdings nur, wenn JavaScript auch aktiviert ist. Ansonsten ist gar keine einache Kontaktaufnahme via Mail möglich, was im Impressum nicht zulässig sein könnte.

 
CSS

Einen weiteren Ansatz findet man im Internet unter dem Stichwort CSS. Man merkt, Not macht erfinderisch. Nur leider ziehen die Crawler auch immer nach. CSS bietet heutzutage wahrscheinlich auch schon keinen Schutz mehr, zumal es noch einige weitere Nachteile mit sich bringt. Ich liste es nur der Vollständigkeit halber mit auf.

Genauere Informationen zu den Möglichkeiten von CSS zum Schutz der eMail Adresse findet man beispielsweise auf www.ohne-css.gehts-gar.net.

 
Kombination aus JavaScript und CSS

Auf der Webseite http://1ngo.de habe ich schließlich eine interessante Kombination der bisher vorgestellten Techniken gefunden.

Standardmäßig verweist der Link auf ein Kontaktformular, und in seinem Text steht das Zeichen ∂ anstelle von @. Durch CSS wird das ∂ ausgeblendet und das @ eingefügt. Sollte ein Browser diese CSS-Funktion nicht beherrschen oder gar kein CSS ausführen können, so hat man immer noch eine gut lesbare eMail Adresse, die dann jedoch nicht 1:1 kopierbar wäre. Sobald CSS jedoch funktioniert, wird eine richtige eMail Adresse dargestellt, die auch kopiert werden kann.

Die JS-Funktion holt sich die Bestandteile der eMail Adresse aus dem Text und fügt sie zu einem gültigen mailto Link zusammen. Anschließend wird der vorgegebene Link zum Kontaktformular mit dem mailto Link überschrieben. Dadurch ist gewährleistet, dass auch bei deaktiviertem JavaScript noch ein nutzbarer Link vorhanden ist.

Für eine nochmals erhöhte Sicherheit empfehle ich nun noch eine Umbenennung der Funktionen und Variablen. Und wem das immer noch nicht genug ist, der kann jetzt noch die vorigen 3 Lösungsansätze mit diesem verbinden, Sonderzeichen in den Text streuen, mehr Ersätzungen durch CSS einbauen und die JavaScript „Verschlüsselung“ statt dem Auslesen der eMail Adresse aus dem Text verwenden.

Damit sollte man so ziemlich jedem Spambot einen Riegel vorgeschoben haben.