Permalink

1

HowTo: Drupal 7 unter Debian / Ubuntu installieren

Dieses HowTo ist eine Step-by-Step Anleitung um Drupal 7.x auf einem frisch installierten Debian oder Ubuntu zu installieren. Alle benötigten Pakete wie z.B. Apache, PHP, MySQL-Server etc. werden aus dem Repository per aptitude installiert.

I. Voraussetzungen:

Eine detaillierte Anforderungsliste findet man bei: drupalcenter.de, unter Debian bzw. Ubuntu müssen noch folgende Pakete installiert werden: PHP 5.3.x, MySQL, Apache. Unter Debian führt man diesen Befehl als Root aus und bei Ubuntu setzt man wie gewohnt ein sudo vor den eigentlichen Befehl.

aptitude install php5 php5-gd php5-mysql mysql-server apache2

II. Datenbank vorbereiten:

Als Datenbankname verwende ich Drupal7DB, der Benutzer lautet: drupaluser und das Passwort lautet in diesem Beispiel: geheimesPW

mysql -p
Enter password:

mysql> create database Drupal7DB;
Query OK, 1 row affected (0.00 sec)

mysql> CREATE USER 'drupaluser'@'localhost' IDENTIFIED BY 'geheimesPW';
Query OK, 0 rows affected (0.00 sec)

mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON Drupal7DB.* TO drupaluser@localhost;
Query OK, 0 rows affected (0.00 sec)
mysql> QUIT
Bye

III. Drupal Download und Installationsvorbereitungen

Drupal von der offiziellen Seite downloaden und entpacken:

wget http://ftp.drupal.org/files/projects/drupal-7.8.tar.gz
tar xvzf drupal-7.8.tar.gz

Die Drupal Dateien nach /var/www/drupal verschieben:

mv drupal-7.8/ /var/www/drupal

Berechtigungen setzen: Die Drupal Dateien im Verzeichnis /var/www/drupal müssen alle dem Benutzer, unter dem der Apache läuft (bei Debian und Ubuntu ist das standardmäßig www-data) gehören.

cd /var/www/
chown -R www-data.www-data /var/www/drupal/

Folgende Berechtigungen müssen vor der Installation noch gesetzt werden:

chmod -R 650 /var/www/drupal/sites/default
cd /var/www/drupal/sites/default
cp ./default.settings.php settings.php
chmod 650 settings.php

IV. Drupal Installation
Im Browser http://SERVERNAME/drupal aufrufen und den Installationsassistenten starten

1. Select an installation profile

Drupal 7 - Installation unter Debian / Ubuntu

2. Choose Language

Drupal 7 - Installation unter Debian / Ubuntu

Standardmäßig ist nur Englisch verfügbar, weitere Sprachdateien findet man auf der offiziellen Drupal Seite: localize.drupal.org

3. Database configuration

Drupal 7 - Installation unter Debian / Ubuntu

Hier gibt man die zuvor definierten Werte ein, bei den "Advanced Options" kann man eine alternativen Datenbankadresse und Port definieren, falls die Datenbank nicht auf dem selben Server läuft wie der Apache bzw. der Datenbankport vom Standard MySQL Port 3306 abweicht. Wenn die selbe Datenbank für mehrere Anwendungen benutzt wird, sollte man unbedingt einen Präfix benutzen!

4. Installing Drupal

Drupal 7 - Installation unter Debian / Ubuntu

Drupal legt jetzt die Datenbankstruktur an und schreibt die Einstellungen in die settings.php Datei.

5. Configure Site

Jetzt muss man noch allgemeine Informationen wie z.B. Name, Kontaktdaten, Admin-Benutzer und Ländereinstellungen definieren.

Drupal 7 - Installation unter Debian / Ubuntu

V. Installation abschließen

Die Change-Berechtigungen sollte man aus Sicherheitsgründen sofort wieder rückgängig machen.
chmod 440 -R /var/www/drupal/sites/default/

Drupal Security
Das Modul Security Review ist eine gute Möglichkeit um u.a. die Berechtigungen der gesamten Drupal Installation zu überprüfen.

Permalink

7

Produkttest: LED LENSER H4

Nachdem ich hier bereits einen ausführlichen Testbericht über die LED Lenser H14 verfasst habe, bekam ich nun die Möglichkeit, ein weiteres Model aus dem Sortiment von Zweibrüder Optoelectronics zu testen, die LED Lenser H4.

Wie schon bei der H14 handelt es sich hierbei um eine Kopflampe. Die H4 lässt sich mit wenigen Handgriffen sowohl als normale Taschenlampe oder als Gürtellampe eingsetzen. Trotz des geringen Gewichts von 85 Gramm beträgt die Leuchtleistung Dank der drei verbauten High End LED’s erstaunliche 45 Lumen (Herstellerangabe). Betrieben wird die Lampe mit drei handelsüblichen AAA Batterien, die im Lieferumfang enthalten sind.

Lieferumfang
Zum Lieferumfang gehören neben der Lampe, passende Batterien und eine Tragebox aus Hartplastik, die man auch am Gürtel befestigen kann. Die Box eignet sich hervoragend zum Transport der Stirnlampe und liegt gut in der Hand, so dass die H4 als “normale” Taschenlampe genutzt werden kann, dazu muss die Lampe lediglich in die Box gesteckt werden.

Tragekomfort
Der Tragekomfort der Stirnlampe ist auf Grund des geringen Gewichts von 85 Gramm sehr gut. Man spürt die Lampe bereits nach kurzer Zeit nicht mehr und trotzdem verrutscht die Lampe bei leichten Erschütterungen, wie sie zum Beispiel beim Joggen entstehen, nicht. Der Gurt kann schnell und einfach mit einer Schnalle an die Größe des Kopfes angepasst werden. Beim Joggen hat mich die Lampe in keinster Weise gestört.

Leuchtkraft / Ausleuchtung
Im Gegensatz zur LED Lenser H14 ist die hier vorgestellte H4 Stirnlampe nicht fokussier- und schwenkbar, was aber auf Grund der gleichmäßigen Ausleuchtung des Blickfeldes kein Problem darstellt. Die vom Hersteller angebenen 20 Meter Leuchtweite sind mit frischen Batterien realistisch.

Persönliches Fazit
Die LED Lampe ist trotz des geringen Preises von c.a. 30€ sehr hochwertig verarbeitet und auch die Qualität lässt, wie bei LED Lenser üblich, keine Wünsche offen. Ich benützte die LED Lenser H4 hauptsächlich zum Joggen und empfinde den Tragekomfort auch nach einer Stunde noch als sehr angenehm, was sicher auf das sehr geringe Gewicht und den Tragegurt zurückzuführen ist. Die mitgelieferte Plastikbox macht auf mich einen eher billigen Eindruck und auch das Einsetzen der Lampe in die Box hat sich als nicht ganz so einfach erwiesen. Ich persönlich würde die Lampe nicht als Taschenlampenersatz bezeichnen, da sie von der Leuchtleistung natürlich nicht an die “normalen” Taschenlampen von LED Lenser heranreicht.

Verlosung
Im Zuge dieses Testberichtes ermöglichen Zweibrüder Optoelectronics mir unter meinen Bloglesern ein Exemplar der hier beschriebenen Lampe zu verlosen. Wenn ihr die LED Lenser H4 gewinnen möchtet, hinterlasst hier einfach einen Kommentar bis einschließlich 11.11.2011, in dem ihr schreibt für was ihr die Lampe einsetzen würdet. Ich werde den Gewinner dann per E-Mail kontaktieren. Bitte achtet darauf, dass eure E-Mail-Adresse auch gültig ist.

Weitere Informationen findet ihr auf der offiziellen Facebook Seite von LED LENSER oder im Forum.

Blog Marketing Dies ist eine von Hallimash vermittelte Kampagne

Permalink

14

HowTo: Linux Server mit Fail2ban absichern

Fail2ban Logo
Fail2ban ist ein OpenSource Tool für Linux das verschiedene definierte Logdatein nach Hinweisen auf häufige fehlgeschlagenen Login- oder Verbindungsversuchen von der selben IP-Adresse überwacht und diese dann über eine iptables Regel vorrübergehend sperrt. Nach einer definierten Zeitspanne (bantime) wird die gesperrte IP-Adresse dann automatisch wieder von der Blacklist genommen und es können wieder Verbindungen aufgebaut werden. Fail2ban ist eine große Hilfe wenn man den eigenen Server vor Bruteforce Attacken zu schützen möchte. Das kostenlose Linux Tool kann u.a. die Logdateien von folgenden Diensten überwachen: apache, asterisk, proftpd, qmail, sasl, sshd

Installation via aptitude
Unter Debian und Ubuntu kann Fail2Ban aus den Paketquellen installiert werden. Ich verwende in diesem Beispiel den Paketmanager aptitude, unter Debian führt man diesen Befehl als Root aus und unter Ubuntu setzt man wie gewohnt ein sudo vorne dran. Fail2Ban wird als Daemon installiert und nach der Installation automatisch gestartet, zusätzlich wird auch der fail2ban-client installiert.

aptitude install fail2ban

Standard Konfiguration
Nach erfolgreicher Installation findet man im Ordner/etc/fail2ban/ die Konfigurationsdateien. Die Konfiguration ist auf verschiedene Dateien und Ordner aufgeteilt: fail2ban.conf, jail.conf, action.d & filter.d. In der Datei /etc/fail2ban/fail2ban.conf werden allgemeine Programmeinstellungen gesetzt, in der jail.conf werden die sogenannten “jails” definiert, im Ordner action.d findet man verschiedene Scripte die bei bestimmten Ereignissen ausgeführt werden und im Ordner filter.d sind die regulären Ausdrücke gespeichert, die benötigt werden um z.B. Einbrüche bzw. Einbruchsversuche in Logfiles zu erkennen.

Um die Konfiguration anzupassen sollte man eine Kopie der beiden .conf Dateien machen und diese als .local im selben Ordner abspeichern. Bei einem Neustart werden zuerst die .conf und anschließend die .local Datein eingelesen, wobei die Einstellungen aus der .local priorisiert werden. In den .local Dateien werden nur die Anpassungen gespeichert und nicht die gesammte Konfiguration. Neben der fail2ban.conf & jail.conf sollten jetzt noch eine fail2ban.local und eine jail.local im Konfigverzeichnis zu finden sein.

/etc/fail2ban/fail2ban.conf

loglevel = 3
logtarget = /var/log/fail2ban.log
socket = /var/run/fail2ban/fail2ban.sock

Das Loglevel ist standardmäßig auf 3 (1 = ERROR, 2 = WARN, 3 = INFO, 4 = DEBUG) gesetzt, logtarget gibt den absoluten Pfad zur Logdatei an und zusätzlich kann hier der Socket-Pfad definiert werden.

/etc/fail2ban/jail.conf

[DEFAULT]
ignoreip = 127.0.0.1
bantime  = 600
maxretry = 3

Die Default Einstellungen können alle in den einzelnen jail-Definitionen überschrieben werden. Mit ignoreip kann man bestimmte Host wie z.B. DNS-Server vor Fail2ban “schützen”, bantime definiert die Zeit, die ein Host gesperrt wird und maxretry gibt die Anzahl der Fehlversuche an, die von einer IP-Adresse kommen können bis diese gesperrt wird.

destemail = root@localhost
mta = sendmail

Um sich im Falle eines Alarms per Mail benachrichtigen zu lassen, muss man bei destemail eine gültige E-Mail Adresse angeben und bei mta einen konfigurierten Mail Transfer Agent definieren.

[ssh]

enabled = true
port    = ssh
filter  = sshd
logpath  = /var/log/auth.log
maxretry = 6

In diesem Abschnitt wird ein sogenannter jail definiert: in eckigen Klammern steht der Name, mit enabled = true wird der jail aktiviert, port = ssh gibt den zu überprüfenden Dienst / Service an, mit filter = sshd wird der auszuführende Filer (/etc/fail2ban/filter.d/) bestimmt, logpath = /var/log/auth.log ist die Logdatei in der nach den regulären Ausdrücken, die im entsprechenden Filter definiert sind gesucht wird, maxretry = 6 siehe oben.

Fail2ban Konfiguration anpassen
Wie bereits oben beschrieben, sollte man Konfigurationsanpassungen aus verschiedenen Gründen in eine separate Datei (jail.local) auslagern. Die in der .local Konfig gespeicherten Werte werden priorisiert. Bis auf den ssh-jail sind alle anderen standardmäßig deaktiviert, um sie zu aktivieren kopiert man den enstprechenden Bereich einfach in die jail.local und aktiviert den jail mit enabled = true.

Beispiel: Server gegen SSH-DDoS Attacken absichern

/etc/fail2ban/jail.local

[ssh-ddos]

enabled = true
port    = ssh
filter  = sshd-ddos
logpath  = /var/log/auth.log
maxretry = 6

Der Unterschied zum anderen ssh-jail ist der eingesetzte Filter, der gezielt auf SSH-DDOS Angriffe ausgelegt ist. Mit einem Neustart des Fail2Ban Servers, /etc/init.d/fail2ban restart wird die Konfiguration eingelesen und kann anschließend mit Hilfe des automatisch installierten fail2ban-client überprüft werden:

root@r-o-f:~# fail2ban-client status
Status
|- Number of jail:      2
`- Jail list:           ssh-ddos, ssh

Test
Zum Testen habe ich einfach mit eine kleine SSH-DDos Attacke gemacht, in dem ich ein paar mal mit falschen Zugangsdaten versucht habe mich anzumelden. Das Ergebnis kann man anschließend u.a. in dem Fail2ban-Logfile (/var/log/fail2ban.log) oder via neuer automatisch generierter iptables Regel sehen:

/var/log/fail2ban.log
IP-Adresse gesperrt:

2011-06-28 15:44:01,050 fail2ban.actions: WARNING [ssh] Ban <MEINE-IP>

Nach Ablauf der Sperrzeit (siehe bantime) wird die IP wieder von der Blacklist genommen.

2011-06-28 15:54:01,074 fail2ban.actions: WARNING [ssh] Unban <MEINE-IP>

iptables

Chain fail2ban-ssh (1 references)
target     prot opt source               destination
DROP       all  --  <MEIN-HOST>  anywhere
RETURN     all  --  anywhere             anywhere

Chain fail2ban-ssh-ddos (1 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere

Links
Fail2ban: http://www.fail2ban.org
Deutsche FAQ: http://www.fail2ban.org/wiki/index.php/FAQ_german
Blogeintrag bei Netz 10: http://netz10.de/2011/02/16/fail2ban/

Permalink

0

Howto: Aktuelles Nmap Paket unter Debian Squeeze installieren

Defaultmäßig wird unter Debian Squeeze Nmap in der Version 5.00-3 über die Paketverwaltung installiert. Wenn man die aktuelleste Nmap Version installieren möchte muss man selbst Hand anlegen und das Paket kompilieren.

Weitere Nmap HowTo’s findet ihr hier: www.root-on-fire.com/nmap/

Vorkehrungen
Um Nmap kompilieren und installieren zu können wird bei einem frisch installierten Debian Squeeze noch ein C Compilier z.B. g++ benötigt, optional auch noch bzip2 wenn man das Standard Bzip2 Paket nimmt.

Installation
Download und Validierung des heruntergeladenen Paketes habe ich in einem früheren Blogpost bereits ausgiebig beschrieben: Nmap 5.00 Installation

root@r-o-f:~# bzip2 -cd nmap-5.51.tar.bz2 | tar xvf -
root@r-o-f:~# cd nmap-5.51
r-o-f:~/nmap-5.51# ./configure
root@r-o-f:~/nmap-5.00# make
root@r-o-f:~/nmap-5.00# make install

Nach erfolgreiche Installation kann man anschließend mit nmap –version die Version überprüfen.

root@r-o-f:~# nmap --version

Nmap version 5.51 ( http://nmap.org )

Nmap Installation

configure: WARNING: Failed to find openssl/ssl.h so OpenSSL will not be used.
Wenn beim Kompilieren die Fehlermeldung kommt, dann fehlen die OpenSSL Header, entweder man kompiliert Nmap ohne SSL-Unterstützung oder man installiert das erforderliche Paket nach:

root@r-o-f:~# aptitude install libssl-dev

Fehlermeldung: Failed to find openssl/ssl.h so OpenSSL will not be used

checking openssl/ssl.h usability... no
checking openssl/ssl.h presence... no
checking for openssl/ssl.h... no
configure: WARNING: Failed to find openssl/ssl.h so OpenSSL will not be used.
        If it is installed you can try the --with-openssl=DIR argument