PhiLIOsoph

Willkommen auf meiner Homepage. Mein Name ist Robert Nitsch und ich studiere momentan B.Sc. Informatik an der TU Darmstadt.

In diesem Blog schreibe ich seit Ende 2006 über meine Ansichten, Projekte und mehr oder weniger alltäglichen Erlebnisse. Ab und zu schreibe ich auch eine Anleitung bzw. ein Tutorial, um ein bestimmtes Problem zu lösen oder Hilfestellung zu geben. Solltest du Gefallen an meinen Texten finden kannst du selbstverständlich auch meinen Feed abonnieren.



30.01.2007

Verweis auf “Bewertung und Zertifikat in der Schule”

Filed under: Philosophie,Real Life,Schule — Robert @ 00:14:23

Dieser Artikel ist mit Sicherheit lesenswert. Der Titel sagt ja bereits alles.
Die genaue Addresse lautet: http://lisarosa.twoday.net/stories/3244376/

Ich werde jetzt erstmal schlafen. Morgen (bzw. heute -.-) werde ich dazu dann meinen Senf abgeben – falls mir was sinnvolles dazu einfällt (ja, darauf soll’s auch ankommen).

Share and Enjoy:
  • del.icio.us
  • Facebook
  • Technorati
  • Google Bookmarks
  • Yigg
  • Digg
20.01.2007

“Blogger haben zu viel Zeit…”

Filed under: Blog,Philosophie — Robert @ 11:53:42

Das musste ich mir gestern anhören. Blogger hätten zu viel Zeit und nichts besseres zu tun, als zu “bloggen”. Zudem wäre das “Bloggen” an sich ja bereits sinnlos, da man sich Informationen auch von anderen, vertrauenswürdigeren Quellen besorgen könnte und das persönliche Leben anderer Menschen kaum interessiert (Blogs, in denen viel über das eigene Leben erzählt wird, wären außerdem “Stripteas” -.-).

Ich habe natürlich gleich widersprochen. Das persönliche Leben anderer Menschen kann nämlich durchaus interessant sein. Man kann auf diese Weise beobachten, wie andere Menschen mit bestimmten Lebenssituationen umgehen. Daraus kann man auch etwas fürs eigene Leben lernen bzw. sich etwas “abgucken”. Außerdem fühlt man sich nicht so alleine mit seinen Problemen, wenn man sieht, dass es noch weitere gibt.

Dass das “Bloggen” an sich nicht sinnvoll sei ist nur darauf zurückzuführen, dass die entsprechende kritisierende Person noch nie einen Blog gelesen hat. Schließlich ist das “Bloggen” eine wunderbare Art und Weise über Dinge zu schreiben, die uns interessieren. Und Gleichgesinnte können dann ggf. einen Kommentar schreiben und ihre eigene Meinung oder Tipps usw. einbringen. Auf diese Weise müssen Blogger nicht ihren Bekanntenkreis mit Themen belästigen, die vllt. niemanden interessieren. Großartige Diskussionen sind dann auch keine Seltenheit mehr…

Natürlich gibt es auch Blogs, die weniger interessant sind. Aber ob ein Blog interessant ist oder nicht hängt einzig und allein von den Interessen des Lesers ab. Ein begeisterter Blog-Leser liest logischerweise nur die Blogs, die ihn interessieren. Es gibt z.B. Blogs, die sich viel mit der Gesellschaft beschäftigen. In anderen Blogs wird etwas über das Programmieren erzählt. Und noch weitere Blogs bilden einen Kompromiss zwischen beiden… es gibt unendlich viele Möglichkeiten!

Was meint ihr, meine werten Leser, denn dazu? Ich werde dem “Kritisierer” dann die Diskussion zeigen. ;) Mal sehen ob er sich gleich dazu gezwungen fühlt, selbst in die Diskussion einzusteigen… :P

Share and Enjoy:
  • del.icio.us
  • Facebook
  • Technorati
  • Google Bookmarks
  • Yigg
  • Digg
18.01.2007

WordPress mit .htaccess absichern

Filed under: Blog,PC,Tutorials,Webmaster,Wordpress — Robert @ 15:44:49

Inhalt:

  • Nutzen
  • /wp-admin passwortschützen
  • Absoluten Serverpfad ermitteln
  • Benutzerdatei anlegen
  • Passwörter verschlüsseln
  • Benutzerdatei fertigstellen
  • /wp-include Ordner schützen
  • Abschließende Hinweise
  • Weblinks

Dieser Eintrag handelt von WordPress. Genauer gesagt geht es darum WordPress mit sogenannten .htaccess-Dateien abzusichern. .htaccess-Dateien können allerlei Regeln beinhalten, die bestimmen wie mit Dateianfragen umgegangen werden soll. Es gibt viele Beispiele, was man mit .htaccess alles anstellen kann, z.B.:

- Verzeichnisse für bestimmte IPs, IP-Bereiche oder für jeden zu sperren
- Verzeichnisse mit einem Passwort schützen (es können mehrere Benutzernamen definiert werden, mit denen man zugreifen darf!)
- alle diese Regeln können natürlich auch auf bestimmte Ordner/Dateien begrenzt werden

Uns geht es aber hauptsächlich darum,

- das /wp-admin Verzeichnis mit einem Passwortschutz zu versehen. Doppelter Schutz!
- das /wp-include Verzeichnis für den Zugriff von außen komplett zu sperren (nur .php-Dateien sollen gesperrt werden)

Nutzen:

Damit kann man einem “bösartigen” Besucher das “Leben” durchaus erschweren. Denn: ohne Zugriff auf den /wp-admin Ordner bekommt man nicht mal den normalen Admin-Login von WordPress zu Gesicht. Falls es also Sicherheitslücken im Loginskript gibt, so ist man aufs Erste geschützt, auch ohne sofort ein Update einspielen zu müssen (was man natürlich trotzdem tun sollte!!). An den Login kommt man ja nur durch einen vorherigen Login heran (.htaccess ist bereits seit vielen Jahren erprobt und gilt als sehr sicher – im Gegensatz zu den meisten PHP-Skripts). ;)
Das /wp-include Verzeichnis ist für den normalen Benutzer sowieso nicht von Bedeutung. Es gibt aber durchaus Techniken, mit denen ein “Hacker” Sicherheitslücken innerhalb der .php-Dateien in diesem Verzeichnis aufspüren und ggf. ausnutzen kann. Wir verbieten aber gleich sofort den gesamten Zugriff und schließen damit weitere Sicherheitslücken aus.

/wp-admin passwortschützen:

Jetzt wollen wir mal loslegen. Zuerst müssen wir das /wp-admin Verzeichnis mit einem Passwort versehen. Dazu erstellen wir eine Datei mit dem Namen .htaccess und folgendem Inhalt:

AuthType Basic
AuthName “WordPress Administration”
AuthUserFile /absoluter/serverpfad/zurbenutzerdatei/.htaccess_wordpress
require valid-user

Diese Datei muss jetzt in das /wp-admin Verzeichnis hochgeladen werden.

Erklärung:
In der ersten Zeile wird der Passwortschutz “eingeleitet”. In der zweiten Zeile wird dem geschützten Bereich ein Name gegeben. Die dritte Zeile ist wichtig! Hier muss der absolute (Server-)Pfad zur Benutzerdatei angegeben werden.

Absoluten Serverpfad ermitteln:

Der absolute Serverpfad kann relativ leicht ermittelt werden. Man muss eine Datei mit dem Namen pfad.php und folgendem Inhalt erstellen, in das WordPress-Verzeichnis hochladen und dann mit dem Browser aufrufen:

<?php echo "Der absolute Pfad zu diesem Verzeichnis ist: ".$_SERVER['DOCUMENT_ROOT']; ?>

Benutzerdatei anlegen:

Die Benutzerdatei sollte man in ein Verzeichnis legen, das nicht über die Domain zugreifbar ist. Am besten wäre das Verzeichnis, das eine Ebene über der WordPress-Installation liegt. Noch besser wäre das “allerhöchste” Verzeichnis.

Die Benutzerdatei beinhaltet alle Benutzer mit den dazugehörigen Passwörtern. Das Schema für ihren Inhalt lautet folgendermaßen:

benutzername:passwort
hans:nadine1987
joerg:petra1976

(Die Passwörter, die hier beispielhaft gezeigt werden, sind natürlich keine Musterpasswörter. Sie sind weit davon entfernt, sicher zu sein.)

Also pro Zeile ein Benutzer. Benutzer und Passwort werden durch einen Doppelpunkt getrennt.

Passwörter verschlüsseln:

Es fällt außerdem sofort auf, dass die Passwörter hier im Klartext lesbar sind. Gelingt es einem Hacker doch einmal, den Webspace oder den ganzen Server zu hacken, so wird er auch an diese Passwörter gelangen. Das kann man jedoch mit einer sogenannten Einweg-Verschlüsselung unterbinden.

Dazu benötigen wir noch ein Skript mit dem Namen crypt.php und diesem Inhalt:

<?php
    if(!empty($_GET['text']))
    {
        $text=$_GET['text'];
 
        echo 'crypt('.htmlspecialchars($text).') = '.crypt($_GET['text']);
    }
    else
    {
        echo 'This script encrypts strings with the crypt()-function. e.g.: "crypt.php?text=<thestringyouwanttoencrypt>"';
    }
 
    echo '&copy; www.robertnitsch.de';
?>

Dieses Skript kann dann ebenfalls auf den Webspace hochgeladen und über den Browser aufgerufen werden. Zum Beispiel wird http://www.domain.tld/wordpress/crypt.php?text=test den verschlüsselten Wert von “test” berechnen. Dieser sieht zum Beispiel so aus:

$1$Udvw2Yfc$XGUZ6EZFvTC/.9r9.99yX1

Offensichtlich ist das ganz schönes Kauderwelsch. Diese Verschlüsselung kann man auch nicht rückgängig machen.

Wir tragen die verschlüsselten Passwörter genauso ein wie die nicht verschlüsselten, z.B.:

test-user:$1$Udvw2Yfc$XGUZ6EZFvTC/.9r9.99yX1

Auf diese Weise ist auch unsere Benutzerdatei einigermaßen sicher.
Hinweis:
Das Mischen von verschlüsselten und nicht verschlüsselten Passwörtern in derselben Benutzerdatei ist nicht möglich. Entweder es sind alle Passwörter verschlüsselt oder gar keines.

Benutzerdatei fertigstellen:

Die Benutzerdatei muss jetzt noch angelegt werden – wir waren ja wegen der Verschlüsselung noch nicht soweit. Der Dateiname sollte .htaccess_wordpress sein. Wie bereits beschrieben müssen die Benutzernamen und jeweils mit einem Doppelpunkt davon getrennt die Passwörter eingetragen werden. Unbedingt vorher mit crypt verschlüsseln (wie oben beschrieben)! Der absolute Pfad zu der Benutzerdatei musst jetzt noch in der .htaccess-Datei eingetragen werden – falls noch nicht geschehen. Ggf. müssen wir die .htaccess-Datei neu hochladen, damit die Änderung des absoluten Pfades überhaupt wirksam werden kann.

Ab jetzt sollte bei jedem Zugriff auf das /wp-admin Verzeichnis eine Passwortabfrage erscheinen. Wenn alles klappt, dann fahren wir jetzt mit dem Absichern des /wp-include Verzeichnisses fort.

/wp-include Ordner schützen:

Wir erstellen eine weitere Datei “.htaccess” mit dem folgenden Inhalt:

# alle PHP-Dateien fuer den Zugriff von außen sperren
<FilesMatch \.php$>
Order deny,allow
deny from all
</FilesMatch>
 
# tinymce (der what-you-see-is-what-you-get-editor beim schreiben von eintraegen)
# muss zugaenglich sein
<FilesMatch ^tiny_mce>
allow from all
</FilesMatch>
<FilesMatch ^wp\-mce>
allow from all
</FilesMatch>

Wir speichern diese Datei im /wp-include Verzeichnis. Danach ist auch dieses Verzeichnis sicher und wir sind eigentlich fertig.

Abschließende Hinweise:

Bei manchen Anbietern sind diverse Funktionen von .htaccess nicht verfügbar oder gesperrt. In diesem Fall wird ein “Internal Server Error” mit dem Fehlercode 500 auftreten.
Wenn Syntaxfehler oder ähnliche Fehler in den .htaccess-Dateien vorhanden sind, dann wird beim Zugriff auf das entsprechende Verzeichnis bzw. auf die entsprechende Datei ebenfalls ein “Internal Server Error” mit dem Fehlercode 500 auftreten.
Falls unerwartete Probleme auftreten könnt ihr gerne die Kommentar-Funktion nutzen und somit Hilfe einholen. ;)

Wenn etwas partout nicht funktionieren will kann die .htaccess-Datei problemlos wieder vom Webspace entfernt werden. Die Regeln werden damit sofort außer Kraft gesetzt. (Möglicherweise müsst ihr noch euren Browsercache leeren!)

Weblinks:

SelfHTML: .htaccess – Server-Reaktionen kontrollieren
PC-Projekt: .htaccess – Dateien einsetzen
SoftwareGuide: .htaccess und Mod-Rewrite für CMS und Blog

Share and Enjoy:
  • del.icio.us
  • Facebook
  • Technorati
  • Google Bookmarks
  • Yigg
  • Digg
« Vorherige SeiteNächste Seite »

© Robert Nitsch
(Powered by WordPress)