Prosody kann auch nerven

Es hat einige Zeit gedauert bis ich den HTTP Server unter Prosody vernünftig einbinden konnte. Eigentlich wollte ich ja nur das Webinterface mod_admin_web nutzen. Egal wie ich es anstellte, ich bekam keinen Zugang, trotz Befolgung der Installationshinweise. 

Prosody Webadmin

Das Problem kam eigentlich nur zustande, da ich die Config aus meinem Artikel zur Installation des XMPP-Servers auf Uberspace übernommen hatte. Hierbei wurde der VirtualHost vor den SSL-Pfaden gesetzt. Dies macht aber den Zugang zum HTTP-Server unmöglich. 

Nachdem ich den VirtualHost, wie in meiner aktuellen Config nach den SSL-Pfaden eingetragen hatte, konnte ich endlich auch mein Webadmin wie gewünscht erreichen.

Auszug aus meiner alten Konfiguration bei Uberspace

Hier nun meine aktuelle prosody.cfg.lua:

pidfile = "/var/run/prosody/prosody.pid"

storage = "sql"
 
sql = {
    driver = "MySQL";
    database = "prosody";
    host = "localhost";
    username = "bn";
    password = "pw";
}

plugin_paths = { "/usr/lib/prosody/prosody-modules/" }

admins = {"admin@domain.tld" }
modules_enabled = {
	"roster";
	"saslauth";
 	"tls";
	"dialback";
	"disco";
	"private";
	"vcard";
	"privacy";
	"version";
	"uptime";
	"time";
	"ping";
	"posix";
	"pep";
	"register";
	"admin_adhoc";
	"motd";
	"welcome";
	"proxy65";
	"watchregistrations";
	"register_web";
	"admin_web";
	"http_upload";
}

log = {
 debug = "/var/log/prosody/prosody.log";
 error = "/var/log/prosody/prosody.err";
}

c2s_require_encryption = true  
s2s_require_encryption = true
s2s_secure_auth = true
s2s_secure_domains = { "trashserver.net", "jabber.de", "c0by.de", "jabber.org", "xmpp.org", "xmpp.maltris.org" }
s2s_insecure_domains = {}

proxy65_ports = { 55555 }

authentication = "internal_hashed"

allow_registration = true
min_seconds_between_registrations = 300
registration_blacklist = { "83.218.198.86" }

ssl = {
        key = "/etc/prosody/certs/privkey.pem";
        certificate = "/etc/prosody/certs/fullchain.pem";
       
        dhparam = "/etc/prosody/certs/dh-4096.pem";
 
        ciphers = "EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:EDH+aRSA:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4:!SEED:!AES128:!CAMELLIA128";
 
        options = { "no_sslv2", "no_sslv3", "no_ticket", "no_compression", "cipher_server_preference", "single_dh_use", "single_ecdh_use" }

}

VirtualHost "domain.tld"

register_web_template = "/etc/prosody/register-templates/Prosody-Web-Registration-Theme"

Component "proxy.domain.tld" "proxy65"

	proxy65_acl = { "domain.tld" }

Component "conference.domain.tld" "muc"
        name = "Prosody Chatrooms"
        restrict_room_creation = false

Component "upload.domain.tld" "http_upload"

Upgrade auf Roundcube 1.2.4

Heute habe ich das überfällige Upgrade von Roundcube auf Version 1.2.4 angestoßen. Dazu wurde der Download von Roundcube 1.2.4 in /var/www/html abgelegt.

# cd /var/www/html
# wget https://github.com/roundcube/roundcubemail/releases/download/1.2.4/roundcubemail-1.2.4-complete.tar.gz

Der Tarball wurde entpackt,

# tar xfz *.tar.gz

das neue Verzeichnis betreten

# cd roundcubemail-1.2.4

und das Upgrade ausgeführt. Dabei muss der Pfad individuell angepasst werden. Meine Roundcube-Installation liegt in /var/www/mail/rc.

# ./bin/installto.sh /var/www/mail/rc

Zum Schluss noch das überflüssige Verzeichnis und den Download entfernen.

# cd ..
# rm -r roundcubemail-1.2.4
# rm *.tar.gz

Fertig!

Webadmin von ZNC nachträglich über SSL erreichbar machen

Als ich ZNC auf meinem Debian-Server installiert habe, hielt ich mich bei der Konfiguration an meine damalige Uberspace-Installation. Dort hatte ich die Standard-Abfrage

Listen using SSL (yes/no) [no]:

einfach nur bestätigt. Dies stellte nun kein gravierendes Problem dar. Im nachhinein war ich aber über den unverschlüsselten Zugang zum Webinterface via http://IP:Port nicht glücklich. Der Zugang über domain.tld:Port wurde logischerweise verwehrt.

Nun bin ich der Sache auf den Grund gegangen, warum ich das Webinterface nicht über domain.tld:Port erreiche. Hier verhinderte eine Kombination von dem Erzwingen von https und HSTS (HTTP Strict Transport Security) den Zugang zum Webinterface über intux.de. 

Der Entwickler rät davon ab die znc.conf im Editor zu bearbeiten. Stattdessen sollte hier das Webinterface zur weiteren Konfiguration genutzt werden. Dieses konnte ich ja, wie oben beschrieben, über http://IP:Port nutzen. Hier musste ich dann einen neuen Eintrag (anderer Port) in Listen Port(s) mit dem Häkchen SSL versehen. Über diesen Port ist dann nach dem Einpflegen von Let’s Encrypt das Webinterface via https erreichbar.

cat /etc/letsencrypt/live/intux.de/{privkey,cert,chain}.pem > /home/znc/.znc/znc.pem

Ich verbinde mich nun mit mit dem ZNC-Bouncer via SSL mit:

/connect intux.de/Port -ssl

Linux-Server – Das umfassende Handbuch

 

Linux-Server – Das umfassende Handbuch“ von Dirk Deimeke, Stefan Kania, Daniel van Soest, Peer Heinlein ist 2016 in der 4., aktualisierten Auflage im Rheinwerk Verlag erschienen. Das Buch umfasst 1151 Seiten. Als Zielgruppe dieses Werkes gilt der fortgeschrittene Administrator. Was unter dem Beruf Administrator zu verstehen ist und welche Aufgaben ihn begleiten, werden im ersten Kapitel ausgiebig beleuchtet.

Die weiteren Teile des Buches geben einen Einblick in die Grundlagen bis hin zur Sicherheit eines Linux-Servers. Die Schwerpunkte liegen in der 4. Auflage bei den Systemen Ubuntu, Debian, CentOS und openSUSE leap. Dabei wurde in dieser aktualisierten Auflage des Handbuches SUSE Linux Enterprise Server entfernt und erstmals durch openSUSE ersetzt. Auch das mit längerer Laufzeit unterstützte CentOS nahmen die Autoren des Buches mit auf, um so die Kompatibilität zu Red Hat Enterprise Linux zu wahren.

Im ersten Teil werden die Grundlagen eines Servers erklärt, u.a. der Umgang mit Festplatten und Devices, welche Dateisysteme i.d.R. zum Einsatz kommen und wie man mit Berechtigungen umgeht bzw. diese setzt. Nach dem Teil Aufgaben, wo sich das Buch mit der Paketverwaltung sowie der Sicherung des Servers und des Einspielens von Sicherungen beschäftigt, werden im Teil Dienste die verschiedenen Webserver Apache, Lighttpd und Nginx thematisiert. Weiterhin können Grundlagen zur Dateiübertragung über FTP-Server vermittelt werden. Dabei spielt die Sicherheit via FTP über SSL eine zentrale Rolle. Auch erfährt der Leser wie man einen Mailserver mit entsprechendem Spam- und Virenschutz aufbaut, diesen wartet und administriert. Erstmals in der 4. Auflage widmet sich das Handbuch Samba 4. Das Thema Druckserver bildet dann den Abschluss dieses speziellen Praxisteils. Die folgenden Teile Infrastruktur, Kommunikation, Automatisierung und Sicherheit, Verschlüsselung und Zertifikate zeigen nicht nur wie ein Hochverfügbarkeits-Cluster erstellt und betrieben wird, sondern helfen dabei die unterschiedlichen Linux-Server zu kontrollieren, konfigurieren und mit allen nötigen Sicherheitsmaßnahmen auszustatten.

Dieses umfassende Handbuch ist in sieben Teile mit 28 Kapiteln gegliedert.

  • Der Administrator

TEIL I Grundlagen

  • Bootvorgang
  • Festplatten und andere Devices
  • Dateisysteme
  • Berechtigungen

TEIL II Aufgaben

  • Paketmanagement
  • Backup und Recovery

TEIL III Dienste

  • Webserver
  • FTP-Server
  • Mailserver
  • Datenbank
  • Syslog
  • Proxy-Server
  • Kerberos
  • Samba 4
  • NFS
  • LDAP
  • Druckserver

TEIL IV Infrastruktur

  • Hochverfügbarkeit
  • Virtualisierung

TEIL V Kommunikation

  • Netzwerk
  • OpenSSH
  • Administrationstools
  • Versionskontrolle

TEIL VI Automatisierung

  • Scripting
  • Monitoring – wissen, was läuft

TEIL VII Sicherheit, Verschlüsselung und Zertifikate

  • Sicherheit
  • Verschlüsselung und Zertifikate

Leseproben und Downloads

Fazit

Wie schon eingangs erwähnt, richtet sich das Buch in erster Linie an den erfahrenen Administrator. Trotzdem ist dieses Nachschlagewerk auch jenen ans Herz gelegt, die in die Materie Server einsteigen wollen. Die umfangreichen Erfahrungen unserer vier Autoren Dirk Deimeke, Stefan Kania, Daniel van Soest, Peer Heinlein zum Standardwerk „Linux-Server – Das umfassende Handbuch“ helfen nicht nur Profis sondern auch Neueinsteigern Linux-Server einzurichten und zu administrieren.

vServer auf Servercow

Am 30.12.2016 mietete ich mir spontan einen vServer. Nach einigen Tagen der Einrichtung setzte ich einen Mailserver auf. Als alles zufriedenstellend lief, wurde schlussendlich mein Blog vom bisherigen Hoster mit rüber geholt. 

Bevor jedoch meine Unternehmung bzw. mein Projekt vServer startete, machte ich mir Gedanken, wo ich diesen mieten sollte. Da ich inzwischen einiges und nur positives über Servercow u.a. im OSBN gelesen hatte, war klar, dort werde ich es versuchen. Ein wirklicher Dauerbetrieb stand eigentlich nicht wirklich zur Debatte, sondern eher ein dreimonatiger Testlauf, um weitere Erfahrungen zu sammeln bzw. auszubauen. Da alles bisher so gut lief, werde ich jedoch den Server weiter betreiben.

Zu allererst wurde ein XMPP-Server, eine Nextcloud und ein IRC-Bouncer eingerichtet. Als das alles über eine eigens für dieses Unterfangen eingerichtete neue Domain lief, wagte ich mich an den aus meiner Sicht schwierigsten Part, den Mailserver.

Auch hier stellte sich heraus, dass Servercow die richtige Wahl für meine Bedürfnisse war. Der Betreiber und Tech-Blogger André Peters stellt mit Mailcow eine Mailserver-Suite, basierend auf Dovecot, Postfix, einem vorkonfigurierten Spamfilter sowie Virenschutz und weiterer Open-Source-Software, wie Roundcube und STARTTLS and SMTPS Support zur Verfügung. Ein sehr ansprechendes Web UI übernimmt nach dem Einrichten die User- und Server-Administration. Mailcow lässt sich ohne weiteres schnell, sicher und vor allem einfach aufsetzen. Die Mailcow-Mailserver-Suite ist für Debian 8 (Jessie) optimiert, unterstützt aber auch Ubuntu LTS 14.04 (Trusty Tahr) and Ubuntu LTS 16.04 (Xenial Xerus). Das kam mir sehr zu Gute, da ich mich ohnehin für Debian 8 als Server-Betriebssystem entschieden hatte. Zur Auswahl auf Servercow  stehen nicht nur große Betriebssystemvorlagen wie CentOS, Ubuntu, Fedora, FreeBSD, NetBSD sondern auch kleinere wie Alpine Linux oder Elastix. Andere Betriebssystem-ISOs sind auf Anfrage lt. Webseite problemlos einbindbar. 

Das Aufsetzen des Webservers Apache und der Umzug meiner Seite inkl. PIWIK waren zum Schluss nur noch Formsache.

Bei ein paar Kleinigkeiten musste ich jedoch den Support bemühen. Hierbei viel sofort positiv auf, wie schnell man sich kompetent und höflich den Problemen der Kunden annimmt. 

Als Bonus zu meinem Paket M und allen weiteren Konfigurationen stehen im Übrigen 150GB via FTP sowie Samba zur Verfügung.

Um einen kleinen optischen Eindruck zu gewinnen, habe ich ein paar Screenshots angehängt.

Screenshots – Servercow

Servercow – Information & Funktion
Servercow – Serversteuerung
Servercow – VPS-Panel
Servercow – Statistik
Servercow – Backups
Servercow – Storage-Server

Screenshots – Mailcow

Mailcow – Web UI
Mailcow – Admin-Zugang
Mailcow – Mail-Statistik
Mailcow – Spamfilter
Roundcube

Fazit

Mit Servercow habe ich einen sehr guten und fairen Server-Hoster gefunden, den ich bedenkenlos weiterempfehlen kann. Die 1 Gigabit-Anbindung sorgt für ordentlich Geschwindigkeit. Für Backups können drei Snapshots angelegt werden, bei Bedarf auch automatisch im wöchentlichen Intervall.