Symlinks unter Windows

Unter Linux sind symbolische Links ein fester Bestandteil des Betriebssystems. Kaum bekannt ist aber, dass auch unter Windows solche Verknüpfungen unterstützt werden.

Symbolische Links oder Symlinks sind spezielle Dateitypen, die als eine Verknüpfung auf eine andere Datei oder ein anderen Ordner zeigen. In der Praxis kann man solche Links beispielsweise nutzen, um Netzwerkfreigaben mit einem Ordner zu verknüpfen.

Der Vorteil dabei ist, ändert sich der Ort der Netzwerkresource, muss man nur den Symlink entsprechend umbenennen, für Anwendungen, die auf ein Symlink zugreifen, ändert sich nichts.

Im Unix/Linux-Umfeld sind Symlinks ein alltägliches Werkzeug, weniger bekannt ist, dass Microsoft Windows diese Links ebenfalls unterstützt – zumindest, solange ein NTFS-Dateisystem zum Einsatz kommt.

Unter Windows lassen sich neue Symlinks mit dem Kommandozeilenbefehl mklink anlegen. Dazu öffnet man mit  +X die Eingabeaufforderung als Administrator, und gibt folgende Syntax ein:

MKLINK [[/D] | [/H] | [/J]] Verknüpfung Ziel

Und wenn wir schon mal dabei sind, legen wir gleich mal ein Symlink an, für die unter Linux bekannten Kommandozeilenbefehle ps und kill, mit folgender Eingabe:

mklink %systemroot%\System32\ps.exe %systemroot%\System32\tasklist.exe

mklink %systemroot%\System32\kill.exe %systemroot%\System32\taskkill.exe
mklink ps tasklink

Jetzt können im Arbeitsspeicher laufende Prozesse wie unter Linux mit ps aufgelistet werden, und ggf. mit kill beendet werden. Hilfe wird mit kill /? oder taskkill /? ausgegeben, ebenso für ps /? oder tasklist /?

Möchte man jetzt noch den Kommandozeilenbefehl mklink mit dem Befehl ln ersetzen, geschieht dies mit echo dieses durch den pipe direkt die neue Datei ln.cmd erstellt.

echo mklink > %systemroot%\system32\ln.cmd
echo mklink ln

mklink ist ein interner Befehl welcher vom Kommando-Prozessor selbst ausgeführt wird, der CMD-Batch ln.cmd ruft lediglich mklink auf.

Ohne Parameter erzeugt mklink wie auch ln unter Linux Symbolische Links, bei festen Verknüpfungen (Hard Links) die mit der Option /H angelegt werden, ist zu beachten, das feste Verknüpfungen die Datei oder den Ordner selbst abbilden, wenn also ein Ordner mit fester Verknüpfung gelöscht wird, wird der Ordner mit dem gesamten Inhalt gelöscht, was bei einem Symlink nicht der fall ist, hier wird nur die Symbolische Link Datei gelöscht.

Symbolische Links werden als Datei Typ symlink angegeben

WordPress vor Angriffe schützen

Botnetze greifen WordPress weltweit an, schütze dein WordPress vor Angriffe

Der Angriff selbst ist dabei denkbar einfach, es wird versucht, sich mit „admin“ einzuloggen. Um das Passwort herauszufinden, wird schlichtweg eine entsprechende Vorlage aus tausenden Einträgen sehr schnell abgearbeitet. Es kommt deshalb bei den betroffenen Blogs in der Folge zu einer massiv erhöhten Anzahl von Login-Versuchen – „Brute Force Attack“. Was die Angriffswelle in diesem Fall so problematisch macht, ist die riesen Menge an infizierten PCs, die zum Einsatz kommt.

Gemäss Experten geht es am Ende darum, aus den Servern ein neues Botnet aufzubauen. Das wäre dann um ein Vielfaches mächtiger als das jetzige, weil die Server beispielsweise eine wesentlich bessere Internetanbindung haben als infizierte PCs.

Die wichtigsten Massnahmen um ein WordPress zu schützen

Den Account „admin“ nach Möglichkeit ganz vermeiden. Er ist bei WordPress-Blogs so verbreitet, dass er – so wie auch in diesem Fall – als Hebel für den Angriff genutzt wird. In diesem Blog wird ebenfalls aufgezeigt, wie man den „admin“-Loginname ändert.

Eine weitere Möglichkeit WordPress vor Angriffe zu schützen gibt es, in dem man den Admin-Bereich von WordPress selbst mit einem Passwort schützt. Ohne dieses „Master-Passwort“ kommt man gar nicht erst auf die Login-Seite fürs back-end. Das kann gerade bei Brute-Force-Attacken sehr sinnvoll sein, da der automatische Angriff sehr früh abgefangen wird und den Server dadurch weniger belastet. Auch sollte das MySQL front-end nicht über „phpMyAdmin“ oder „MyAdmin“ in der URL abrufbar sein, hier sollte ein Apache Alias oder ein Symlink, z.B. „db_manager“ angelegt werden, damit ist man aus der Schusslinie von Brute-Force-Attacken, zusätzlich schützt auch ein htaccess-Passwort.

Schutz vor Angriffe mit fail2ban

Noch effizienter und den Server nicht belastend, wirkt sich der Schutz vor Angriffe durch den Einsatz von fail2ban aus.

Dazu wird fail2ban installiert, hier bei CentOS, Fedora.

wget https://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
rpm -ivh epel-release-5-4.noarch.rpm
yum repolist
yum install fail2ban
chkconfig --add fail2ban
chkconfig fail2ban on
service fail2ban start

Bei Debian und Ubuntu kann fail2ban direkt aus dem Standard Repo installiert werden.

sudo apt install -y fail2ban

Nach der Installation wird die Filter Definition für WordPress-„wp-login.php“ erstellt.

vi /etc/fail2ban/filter.d/wp-auth.conf

[Definition]
failregex = ^<HOST> .* "POST .*wp-login\.php HTTP.*"
ignoreregex =

Und nun die jail-Konfiguration hinzufügen.

vi /etc/fail2ban/jail.conf

[wp-auth]
enabled = true
filter = wp-auth
action = iptables-multiport[name=wp-auth, port="http,https"]
         mail[name=wp-auth, dest=root]
logpath = /home/www/*/web/logs/access_log
bantime = 3600
maxretry = 6

Die Änderungen aktivieren mit service fail2ban restart

Es wird nun die Brute Force Attacke nach 6 fehlerhaften Login-Versuche, den Zugang für eine Stunde von der Firewall blockiert, geht die Attacke nach einer Stunde weiter, beginnt die Blockierung erneut.

Die mobile Version verlassen