SSL leicht gemacht – forcierte Weiterleitung von HTTP auf HTTPS einrichten


In den vorherigen Teilen der Serie wurde bereits die Erstellung und Einbindung der Zertifikate beschrieben. Eines Tages wünscht sich der Admin jedoch die sichere Verbindung aller Seitenbesucher, ohne dass diese manuell ein https voranstellen müssen. Gerade bei einer Migration einer bestehenden Seite wird der
Parallelbetrieb erst nach eingehenden Tests eingestellt und das SSL jeweils forciert, um Seitenbesucher nicht mit ungültigen Zertifikaten oder Mixed Content zu verunsichern.
Die eigentliche Umsetzung ist dann relativ einfach und wird in unserem Beispiel direkt in der Vhost-Definition des Apache vorgenommen. Übrigens, die verfügbaren Vhosts sind zu finden unter: /etc/apache2/sites-available. Hier wird nun der HTTP-Vhost (Port 80) um den unten aufgezeigten Block mit den Rewrites erweitert.

<VirtualHost *:80>
  ServerAdmin webmaster@netways.de
  ServerName www.netways.de
  DocumentRoot /var/www/html/netways.de/
  <Directory /var/www/html/netways.de/>
   Options FollowSymLinks
   AllowOverride All
  </Directory>
  ErrorLog /var/log/apache2/error.log
  LogLevel warn
  CustomLog /var/log/apache2/access.log combined
  RewriteEngine on
  RewriteCond %{SERVER_NAME} =www.netways.de [OR]
  RewriteCond %{SERVER_NAME} =netways.de
  RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]
 </VirtualHost>

Damit das Ganze nun auch funktioniert, muss natürlich der SSL-Vhost unter Port 443 erreichbar sein. Wie dieser initial erstellt wird, ist im Artikel SSL-Zertifikat einbinden beschrieben.
Übrigens: wer Let’s Encrypt verwendet, wird im Wizard gleich gefragt, ob SSL forciert werden soll. Der Wizard übernimmt dann die oben gezeigten Schritte. Wie man Let’s Encrypt einsetzt, haben wir natürlich auch schon einmal beschrieben. Damit später keine Seitenbesucher verloren gehen, sollte der HTTP-Vhost, der auf Port 80 läuft, nicht abgeschaltet werden. Die Verbindung ist mit dieser Maßnahme sicher und alle Besucher werden auf https umgeleitet.
Wer damit gar nichts zu tun haben will, und trotzdem stets auf der sicheren Seite sein will, der kann natürlich seine Seite auch bei NETWAYS im Managed Hosting betreuen lassen. Hier kümmern wir uns darum.
In den anderen (teilweise noch kommenden) Blogposts zum Thema SSL leicht gemacht geht es um:

Georg Mimietz
Georg Mimietz
Lead Support Engineer

Georg kam im April 2009 zu NETWAYS, um seine Ausbildung als Fachinformatiker für Systemintegration zu machen. Nach einigen Jahren im Bereich Managed Services ist er in den Vertrieb gewechselt und kümmerte sich dort überwiegend um die Bereiche Shop und Managed Services. Seit 2015 ist er als Teamlead für den Support verantwortlich und kümmert sich um Kundenanfragen und die Ressourcenplanung. Darüber hinaus erledigt er in Nacht-und-Nebel-Aktionen Dinge, für die andere zwei Wochen brauchen.

VirtualBox: Gast-Anwendung im Host starten

Mit den VirtualBox Kommandozeilen-Tools lassen sich Gast-Applikationen, vom Host-System aus, starten. Mit wenig Aufwand kann man so zum Beispiel den Internet Explorer nahtlos in einen Linux-Desktop integrieren. Vorraussetzung dafür ist, dass in der Windows-VM passwortgeschützte Anmeldung aktiviert ist und die Maschine im Seamless Mode (Tastenkombination HOST + L) abgespeichert wurde. In diesem werden nur gestartete Applikationen im Host-System angezeigt, nicht die komplette Maschine.
Den Zustand einer VM kann man auch über die Kommandzeile speichern:

# VBoxManage -q controlvm Windows.7 savestate

Gestartet wird die Maschine wieder mit folgendem Befehl:

# VBoxManage -q startvm Windows.7

Internet-Explorer ausführen:

# VBoxManage -q guestcontrol "Windows.7" execute \
--image "C:\Program Files\Internet Explorer\iexplore.exe" --username vbox --password vbox

Diese Zeilen verpackt in ein Skript, geben eine hervoragende Desktop-Verknüpfung zum Internet-Explorer ;-).

Eric Lippmann
Eric Lippmann
Lead Senior Developer

Eric kam während seines ersten Lehrjahres zu NETWAYS und hat seine Ausbildung bereits 2011 sehr erfolgreich abgeschlossen. Seit Beginn arbeitet er in der Softwareentwicklung und dort an den unterschiedlichen NETWAYS Open Source Lösungen, insbesondere inGraph und im Icinga Team an Icinga Web. Darüber hinaus zeichnet er sich für viele Kundenentwicklungen in der Finanz- und Automobilbranche verantwortlich.

Jasper Reporting – Host Availability

Jasper-ReportingBisher haben wir uns lediglich den Konfigurationsdaten und dem aktuellen Status der Systeme gewidmet, aber wirklich spannend ist bei der Erstellung ja der Blick in die Vergangenheit und im Idealfall dann noch der Überblick über einen bestimmten Zeitraum.
Da die Verfügbarkeitsreports innerhalb von Nagios auf Filebasis erfolgen, müssen die Einträge in der Datenbank erst aufbereitet werden, vorausgesetzt man möchte sich nicht selbst darum kümmern.
Um eine Durchschnittsaussage über einen größeren Zeitraum durchzuführen, müssen die einzelnen Statuswechsel und die Zeiträume dazwischen analysiert und summiert werden. Das ganze kann mit Hilfe unseres Packages netMySLA erfolgen, dass genau diese Informationen in einem nächtlichen Batch ermittelt und in entsprechenden Aggregatstabellen speichert. Nach Installation dieses Packages kann unsere Abfrage wie folgt erweitert werden:

select c.alias,
  a.host_object_id,
  a.display_name,
  a.address,
  e.sla_availability_percent,
  e.sla_outage_percent,
  e.sla_period_identifier,
  d.current_state
from nagios_hosts a,
  nagios_hostgroup_members b,
  nagios_hostgroups c,
  nagios_hoststatus d,
  np_aggregate_sla e
where a.host_object_id = b.host_object_id
and b.hostgroup_id     = c.hostgroup_id
and a.host_object_id   = d.host_object_id
and a.host_object_id   = e.sla_host_objectid
and a.instance_id      = 1
and b.instance_id      = 1
and c.instance_id      = 1
and d.instance_id      = 1
and e.sla_service_name is null
and e.sla_period_name = 'month'
and e.sla_period_identifier &gt; '2009-06-01'

Das Datum ist hier fälschlicherweise fest Codiert und muss in Realität entweder parametrisiert oder via Datums-Parameter gefüllt werden. Mit diesem Statement bekommen wir anschließend sowohl den aktuellen Status als auch den prozentualen Anteil der Verfügbarkeit in dem angegebenen Monatszeitraum.
post12_screen1Da die Darstellung unter Verwendung eines Kuchendiagramms erfolgen soll, ist dieses über die Palette in den Detailbereich des Reports einzufügen.
Die Datenübergabe an das Diagramm erfolgt wie in den vorhergehenden Beispielen mittels Kontextmenü. Wichtig ist, dass das Kuchendiagramm mit zwei Serien bestückt wird.
Serie Availability:
Key expression: “Availability”
Value expression:

$F{sla_availability_percent}

Serie Outage:
Key expression: “Outage”
Value expression:

$F{sla_outage_percent}

post12_screen2Wenn das Diagramm korrekt im Detailbereich platziert worden ist, wird die entsprechende Verfügbarkeit nun pro definiertem Service dargestellt. Um bei der Anzeige mit Ausfallkandidaten zu beginnen, genügt es dem Statement noch ein “order by e.sla_outage_percent” anzuhängen.
Hier kann der erstellte Beispielbericht wie gewohnt geladen werden. Die Vorlage gibt es bei netways.org und auf unserem Demo-System.
Der nächste Teil der Serie ergänzt das Thema Verfügbarkeit noch mit der Integration des Business Process Addons for Nagios.

Bernd Erk
Bernd Erk
CEO

Bernd ist Geschäftsführer der NETWAYS Gruppe und verantwortet die Strategie und das Tagesgeschäft. Bei NETWAYS kümmert er sich eigentlich um alles, was andere nicht machen wollen oder können (meistens eher wollen). Darüber hinaus startet er das wöchentliche Lexware-Backup und investiert seine ganze Energie in den Rest der Truppe und versucht für kollektives Glück zu sorgen. In seiner Freizeit macht er mit sinnlosen Ideen seine Frau verrückt und verbündet sich dafür mit seinem Sohn.