Node.js und npm unter Ubuntu 12.04 installieren

Ich betreue einige Systeme die mit Ubuntu 12.04 LTS laufen. Der Long Term Support hat einige Vorteile. Leider sind die Software Versionen in den Paketquellen nicht immer die aktuellsten. Beispielsweise ist in den offiziellen Paketquellen für Ubuntu 12.04 nur die Version v0.6.12 von Node.js verfügbar.

Damit man mit der aktuellsten Version von Node.js kann, verwendet man am besten das PPA von Chris Lea.

$ sudo apt-get install python-software-properties
$ sudo apt-add-repository ppa:chris-lea/node.js
$ sudo apt-get update

Installieren von Node.js

$ sudo apt-get install nodejs

Testen

$ node -v
v0.10.33

Npm sollte jetzt auch aktuell sein.

$ npm -v
1.4.28

Hinweis: Die Versionsnummer zeigt im Beispiel den Stand heute und kann morgen schon eine andere sein.

Dateien und Ordner Rekursiv per FTP mittels Shell Script hochladen

Eine Bemerkung zum Beginn: Rein aus Sicherheitsgründen verwende ich FTP nicht gern. Aber bei einigen Projekten kommt man nicht herum sich damit auseinanderzusetzen, da der Hoster dies als einzige Datenübertragungsmethode anbietet.

Nun aber zum Problem. Der Standard FTP Client „ftp“ kann mehrere Dateien mit mput verarbeiten. Leider ist diese Funktion nicht rekursiv. Gerade beim Upload von mehreren Dateien und Ordnern via Script wird es schnell aufwändig. Einen ganz charmanten Ansatz bietet ncftp. Dort kann ich mput mit dem Paramater -R verwenden und Rekursiv hochladen.

Wenn das Paket noch nicht auf der Maschine installiert ist, kann das mit folgendem Befehl nachgeholt werden.

sudo apt-get install ncftp

Nun das Script zum Upload:

#!/bin/bash
HOST='ftp.domain.de'
USER='ftpusername'
PASSWD='ftppassword'

ncftp -u $USER -p $PASSWD $HOST << EOT
passive
ascii
cd /remote_directory
lcd /local/upload/directory/
mput -R *
bye
EOT

Weitere Informationen zum Thema:
http://www.ncftp.com/

Poodle Angriff – SSLv3 im Apache deaktivieren

Vor der kürzlich aufgetauchten „Poodle Attacke“ kann man sich relativ einfach schützen. Denn dieser Angriff auf die Internet-Verschlüsselung kommt über die veraltete Protokollversion SSLv3.

Um den Apache gegen Poodle fit zu machen, muss die SSL Konfiguration verändert werden. Im Beispiel in der Site default-ssl.

$ sudo nano /etc/apache2/sites-available/default-ssl

Die folgende Zeile hinzufügen bzw. auf folgendes ändern.

SSLProtocol All -SSLv2 -SSLv3

Im Anschluß den Server neu starten.

$ sudo service apache2 restart

Testen kann man das Ergebnis auf der Seite von Qualys SSL Labs

Server Signatur des Apache Webserver deaktivieren

Bei einer unveränderten Standardinstallation des Apache2 Webserver wird bei der Ausgabe einer Apache Fehlerseite immer auch eine Signatur angezeigt. Die in der Signatur enthaltenen Informationen können einem potentiellen Angreifer nützliche Informationen zur eingesetzten Webserver Version und dem OS preisgeben.
403 Fehlerseite mit Signatur
Diese Informationen sollte möglichst auch deaktiviert werden. Hierzu muss die Datei apache2.conf bearbeitet werden.

$ sudo nano /etc/apache2/apache2.conf

Folgende Werte hinzufügen bzw. ändern:

ServerSignature Off
ServerTokens Prod

Im Anschluss den Server neu starten, damit die Änderungen aktiv werden.

$ sudo service apache restart

Jetzt sollte auf den Fehlerseiten des Apache keine Signatur mehr angezeigt werden.
403 Fehlerseite ohne Signatur

Weitere Informationen zu den Parametern:
Informationen zur ServerSignature.
Informationen zur ServerTokens.