Autoren Archiv

Nginx sicherer machen

Sicherheit ist bei jedem Webserver ein wichtiges Thema, über das man sich nie zu wenig Gedanken machen kann.
Ich möchte hier einige, u.a. auch vom Apache bekannte, Möglichkeiten vorstellen, wie man seinen nginx-Webserver sicherer machen kann.
Es sind natürlich nur Empfehlungen und besonders bei den Veränderungen am Source-Code von nginx möchte ich noch einmal bemerken, das ich keine Haftung für Schäden jeglicher Art übernehme, die durch hier vorgeschlagene Änderungen entstanden sind! Wenn ihr also nicht wisst, was ihr tut, lasst lieber erst einmal die Finger davon! ;)

Änderungen an der Serverkonfigurationsdatei

Die Konfigurationsdatei des nginx /etc/nginx/nginx.conf bietet einfache Einstellmöglichkeiten, welche lediglich einen Reload bzw. Restart des Webservers benötigen um übernommen zu werden. Um dabei zu verhindern, dass der Server nach einem Neustart nichtmehr funktioniert, weil zum Beispiel ein Syntaxfehler vorliegt, könnt ihr mit dem Befehl

> /usr/sbin/nginx -t

die Konfiguration testen. Dabei kann das Verzeichnis in dem die nginx-Binary liegt je nach Distribution etwas abweichen.

Es einige Möglichkeiten, die eure Serversicherheit erhöhen – hier einige Beispiele dazu:
Weiterlesen

Konvertierung von URLs zu lowercase mit Hilfe von mod_rewrite

Erst neulich bin ich wieder einmal das Problem gestolpert, das eine URI mit einem Großbuchstaben am Anfang einen 404 verursachte. Das ist natürlich ärgerlich wenn User eure Seite nutzen wollen und die URL zu bestimmten Locations selbst eingeben.
Man bräuchte also eine Funktion, die URIs entsprechend zu ihren lowercase Varianten umschreibt.

Kurz in der Dokumentation von mod_rewrite nachgeschlagen und man wird fündig: RewriteMap ist das Zauberwort. Damit kann man statt einzelnen Regeln eine ganze map mit Regeln für etwas übernehmen. Und das beste daran: eine tolower-Funktion gibt es auch noch.
Das ganze in Code sieht dann folgendermaßen aus:

RewriteMap tolower int:tolower
RewriteRule  ^([^/]+)/?$ somedir/${tolower:$1}

Das ganze hat allerdings einen kleinen Haken: man muss den Code in die Serverconfig bzw. den VirtualHost schreiben, in der .htaccess Datei ist die RewriteMap nicht zulässig. Außerdem ist natürlich Voraussetzung, das mod_rewrite überhaupt ersteinmal aktiviert ist. Wer also nur ein einfaches Webhosting Paket hat, bei dem er diese Einstellungen nicht vornehmen kann, wird diese Funktion nicht nutzen können.

Firefox Standard-Lesezeichen-Ordner wiederhestellen

Die Lesezeichenleiste im Firefox ist, neben der Navigationsleiste, die einzige Toolbar, die bei mir im Firefox zu finden ist, nicht zuletzt, weil man viele nützliche Dinge mit ihr anstellen kann, wie JavaScripts zu hinterlegen.
Als ich neulich ausversehen meinen Lesezeichen-Ordner für die “Zuletzt gesetzten Lesezeichen” gelöscht habe, habe ich mich wirklich geärgert, denn – wie bekomme ich ihn denn nun wieder zurück? Kurzerhand habe ich von einer virtuellen Maschine die Lesezeichen in eine JSON-Datei exportiert und nachgesehen.

Wer seine Lesezeichen-Ordner auch wiederherstellen möchte, kann das folgendermaßen machen: Zuerst einen Rechtsklick auf die Lesezeichenleiste, um ein neues Lesezeichen zu erstellen. Dann Beim Titel den entsprechenden Namen und bei der Adresse die folgenden Zeichenketten.
Weiterlesen

JavaScript Closure Compiler von Google

Der ein oder andere, der sich mit JavaScript-Entwicklung schon beschäftigt hat kennt sicher die bekannten Möglichkeiten der Komprimierung – den packer von Dean Erdwards oder auch den YUI Compressor von Yahoo!, welche beide wirklich hervorragende Kompressionswerte haben.

Mit dem Closure Compiler hat Google ein Tool zur Verfügung gestellt, mit dem man JavaScript brutal(und das meine ich, wie ich es schreibe) komprimieren kann.

Ein kurzer Vergleich mit dem JavaScript Framework Mootools hat gezeigt – Dean Edwards packer hat mit fast 60% die stärkste Kompressionsrate( mit Base62 und shrink variables Optionen an, nicht lesbar, keine Debugmöglichkeit), mit Yahoos! YUI Compressor habe ich das JavaScript Framework zu ca. 66kB herunter also etwa 38% Kompression. Zu guterletzt der Closure Compiler – er komprimiert das Framework auf ungefähr 52kB – ca. 48% Kompressionsrate also.
Weiterlesen

HOWTO: Contao( ehem. TypoLight) mit nginx und MySQL

Das folgende Howto wurde auf einem Server mit Debian Betriebsystem erstellt, solltest du also ein anderes Betriebssystem verwenden kann es sein das sich einige Pfade unterscheiden oder du einige Pakete selbst kompilieren musst.

Um alle Vorraussetzungen zu erfüllen benötigen wir zu aller erst den Web- und den MySQL-Server. Dafür gibt man folgende Zeilen in die SSH-Konsole ein:

aptitude install mysql-server mysql-client

Jetzt haben wir den MySQL-Server. Für ngnix benögte man noch vor ca. einem Jahr noch eine Änderung an der Paketverwaltung, mittlerweile ist dies jedoch überflüssig, da nginx genauso wie der Apache in die offiziellen Reposerverlisten mit aufgenommen wurde.
Zum installieren von nginx reicht also:
Weiterlesen