Server administrieren - wo fange ich an?

  • Ich vermute, Apache liest die /etc/apache/envvars nur, wenn du den apache2ctl Befehl ausführst. Könnte sein, dass apache2 selbst das gar nicht berücksichtigt (nur ein Schuss ins Blaue). Kannst du die gleichen Befehle mal mit apache2ctl ausführen?

    Ich habe in meiner apache2.conf "DefaultRuntimeDir" gar nicht explizit gesetzt. Evtl. ging es daher bei mir.

  • Tatsächlich, hat funktioniert.

    Code
    VirtualHost configuration:
    *:443                  example.com (/etc/apache2/sites-enabled/000-default-le-ssl.conf:2)
    *:80                   example.com (/etc/apache2/sites-enabled/example.com.conf:1)

    Aufgrund der Ausgabe vermute ich das er zuerst den Port 443 und die dafür hinterlegte Konfigurationsdatei 000-default-le-ssl.conf anschaut, und deswegen gar nicht zum Port 80 weiter? Den sonst müsste meine Config ja funktionieren, was sie aktuell leider nicht tut. Also muss ich den ReverseProxy in die 443-Conf bereits mit einbauen?

    [RS] 2000 G9 | Cyber Quack

    [VPS] 2000 ARM G11 | 1000 G9 | 200 G8 | Secret | A | mikro G11s | 4x nano G11s
    [WH] 8000 SE | 4000 SE | 2000 SE

  • Super. Das ist doch schon mal gut. Die Datei wird also geladen. Die Reihenfolge spielt bei den Ports keine Rolle. Wenn du auf Port 80 zugreifst, dann sollte der vHost auch geladen werden. Die wird in der Ausgabe nur alphabetisch anhand des Dateinamens angezeigt.

    Leider funktioniert mein Reverse Proxy mit Apache nicht.

    Was passiert denn, wenn du die Seite aufrufst? Was genau funktioniert denn nicht?

  • Code
    bud@netcup:~$ sudo a2enmod proxy
    Module proxy already enabled
    bud@netcup:~$ sudo a2enmod rewrite
    Module rewrite already enabled

    Leider ein Griff ins Leere... Hat keine Änderung gebracht.

    Super. Das ist doch schon mal gut. Die Datei wird also geladen. Die Reihenfolge spielt bei den Ports keine Rolle. Wenn du auf Port 80 zugreifst, dann sollte der vHost auch geladen werden. Die wird in der Ausgabe nur alphabetisch anhand des Dateinamens angezeigt.

    Aber müsste ich meinen ReverseProxy dann nicht für 443 erstellen? Denn wenn jemand auf http:// zugreift, wird er ja automatisch auf https:// umgeleitet, und dann greift die 443-Conf?

    Was passiert denn, wenn du die Seite aufrufst? Was genau funktioniert denn nicht?

    Wenn ich die Domain aufrufe, funktioniert das Zertifikat und ich sehe die Apache2 Debian Default Page.

    Stattdessen versuche ich Wiki.js unter Port 3000 dort anzeigen zu lassen.

    [RS] 2000 G9 | Cyber Quack

    [VPS] 2000 ARM G11 | 1000 G9 | 200 G8 | Secret | A | mikro G11s | 4x nano G11s
    [WH] 8000 SE | 4000 SE | 2000 SE

  • Achso. Ja, wenn du dein Wiki über https erreichen willst, musst du dafür natürlich auch einen vHost mit Port 443 konfigurieren (analog zu 80). In diesem wird dann aber auch der Pfad zum SSL Zertifikat benötigt. Ich dachte, dir geht es erst einmal nur um die generelle Erreichbarkeit über Port 80. Aber moderne Browser gehen mittlerweile ja direkt auf https, sobald das der Server unterstützt. Daher bekommst du in diesem wohl auch die Apache Status Seite. Hast du denn bereits ein Zertifikat erfolgreich beantragt? Denn ohne kannst du den Port 443 vHost nicht konfigurieren.


    Ich würde aber als erstes mal mit curl die Seite auf der Shell aufrufen und schauen, was da zurück kommt, zumindest um dein reverse proxy Setup zu verifizieren.

  • Vielen lieben Dank Paul , es funktioniert!


    Nachdem ich...

    Code
    ProxyPass / http://***.***.***.***:3000/
    ProxyPassReverse / http://***.***.***.***:3000/
    ProxyRequests Off

    ...in die Conf für 443 hinzugefügt habe, hat es auf Anhieb funktioniert. Das Zertifikat hatte ich ja vorher schon.

    Mal wieder ein Denkfehler von mir, aber einer bei dem ein bisschen was dazugelernt habe. Danke euch!


    Aber, zwei Fragen habe ich gleich noch im Anschluss:


    Sollte ich statt http:// nicht lieber https:// in die Conf schreiben?


    Und ist es egal wo welches Argument dieser Conf steht?

    Hat die Reihenfolge irgendeine Relevanz?

    [RS] 2000 G9 | Cyber Quack

    [VPS] 2000 ARM G11 | 1000 G9 | 200 G8 | Secret | A | mikro G11s | 4x nano G11s
    [WH] 8000 SE | 4000 SE | 2000 SE

    Gefällt mir 1
  • Prima, freut mich zu hören :thumbup:

    Sollte ich statt http:// nicht lieber https:// in die Conf schreiben?

    Nein, das ist schon ok. Das ist ja nur das Protokoll ins "Backend", sprich die Verbindung von Apache zu dem Node Webserver. Die läuft unverschlüsselt. Ist aber ok, ist ja derselbe Server. Die Verbindung zum User ist ja dann https. Daher passt das schon. Sonst müsste dein Wikijs selbst auch nochmal SSL terminieren. Wäre technisch möglich, wäre in diesem Fall aber unnötig.


    Die Reihenfolge ist in diesem Fall egal, da brauchst du dir keine Gedanken machen.

  • ProxyPass / http://***.***.***.***:3000/

    dein wiki.js läuft aber schon auf der selben maschine, oder? dann kannst statt der IP localhost oder 127.0.0.1 angeben. denn wenn der proxy funktioniert willst Du eigentlich nicht mehr, dass wiki.js auf der öffentlichen IP am port 3000 lauscht sondern nur mehr eben am localhost.

  • dein wiki.js läuft aber schon auf der selben maschine, oder? dann kannst statt der IP localhost oder 127.0.0.1 angeben. denn wenn der proxy funktioniert willst Du eigentlich nicht mehr, dass wiki.js auf der öffentlichen IP am port 3000 lauscht sondern nur mehr eben am localhost.

    Danke für den Hinweis, habe ich geändert :)

    Mir ist auf meinem Smartphone unter Safari aufgefallen, dass in der Fußzeile Nicht sicher - example.com steht. SSL Labs bringt mir als Overall Rating ein A - wie kann ich der Sache auf die Spur gehen?

    [RS] 2000 G9 | Cyber Quack

    [VPS] 2000 ARM G11 | 1000 G9 | 200 G8 | Secret | A | mikro G11s | 4x nano G11s
    [WH] 8000 SE | 4000 SE | 2000 SE

  • Gerade gesehen das bei mir im "normalen" Browser das Zertifikat anerkannt wird, aber im Gastmodus nicht. Woran kann das liegen?

    [RS] 2000 G9 | Cyber Quack

    [VPS] 2000 ARM G11 | 1000 G9 | 200 G8 | Secret | A | mikro G11s | 4x nano G11s
    [WH] 8000 SE | 4000 SE | 2000 SE

  • Vielleicht hängt das Zertifikat im Cache, im Gastmodus wird der Cache aber ignoriert. Wäre ein indiz, dass etwas mit dem Zertifikat nicht in Ordnung ist.

    VPS Secret • VPS 200 G8 • 4x VPS piko G11s • 2x RS 1000 G9.5 SE NUE • RS Cyber Quack • VPS 1000 ARM G11 VIE

    mail@compi653.net

    Gefällt mir 1
  • Wie rufst du die Seite denn auf? Schon mit https://, oder? Du hast ja im Moment deinen vHost auf Port 80 ebenfalls noch offen. Dort könntest du (da jetzt der https vHost funktioniert), einen http->https redirect einrichten. Das wäre jetzt mal das erste, was mir einfallen würde.

    Um das zu erreichen kannst du in deinem Port 80 vHost die ganze Proxy Konfiguration raus nehmen und stattdessen das hier eintragen

    Code
    Redirect / https://deine.wiki.url/

    Bekommst du im Gastmodus das Apache Default Zertifikat angezeigt?

  • Bevor ich mich mit euren Antworten befasse, kurze Frage vorab. Ich habe in /etc/apache2/sites-available/ vier Dateien:

    • 000-default.conf 
    • 000-default-le-ssl.conf 
    • example.com.conf 
    • default-ssl.conf

    Kann ich die 000-default.conf und default-ssl.conf löschen?

    Kann ich die 000-default-le-ssl.conf einfach in example.com-ssl.conf umbenennen?

    Wenn ich das richtig verstehe, gibt es für jede (Sub-)Domain zwei Konfigurationen, eine für den Port 80 und ggf. noch eine für den Port 443, richtig?

    [RS] 2000 G9 | Cyber Quack

    [VPS] 2000 ARM G11 | 1000 G9 | 200 G8 | Secret | A | mikro G11s | 4x nano G11s
    [WH] 8000 SE | 4000 SE | 2000 SE

  • Hab den Unterschied zwischen sites-available und sites-enabled mittlerweile auch verstanden ;)


    Allerdings ergab der Redirect keine Wirkung. Ein Apache Zertifikat wurde mir nicht angezeigt.


    [RS] 2000 G9 | Cyber Quack

    [VPS] 2000 ARM G11 | 1000 G9 | 200 G8 | Secret | A | mikro G11s | 4x nano G11s
    [WH] 8000 SE | 4000 SE | 2000 SE

  • Da über die letzten Wochen oder teilweise gar Monate meine fail2ban´s auf 6 Servern nichts gebannt haben, bin ich ein bisschen misstrauisch geworden. Oder habe ich einfach nur Glück?

    Auf jeden Fall wollte ich es an einem Server selbst testen, und habe einfach mal bei folgenden Regeln fünfmal telnet IP Port versucht.

    Das Ergebnis war: Nichts. Hätte fail2ban mich nicht aussperren müssen? Laut sudo systemctl status fail2ban ist auf allen Servern alles in Ordnung...

    [RS] 2000 G9 | Cyber Quack

    [VPS] 2000 ARM G11 | 1000 G9 | 200 G8 | Secret | A | mikro G11s | 4x nano G11s
    [WH] 8000 SE | 4000 SE | 2000 SE

  • Welches OS und welche Version hast du installiert? Wird da ins Journal geloggt oder hast du noch "klassische" Logfiles? Das "backend = systemd" überwacht das Journal und nicht die auth.log soweit ich weiss. Ausserdem, ich glaube nicht, dass ein einfaches telnet auf den SSH Port schon reicht, oder hast du auch ein falsches Passwort eingegeben? Dass allerdings auf 6 Servern monatelang gar nichts gebannt wird deutet schon darauf hin, dass eventuell was schief läuft. Andererseits, viele "Angreifer" sind vorsichtig geworden und benutzen Botnetze anstatt einfach brute force Zugangsdaten auszuprobieren mit ein und derselben IP. Teilweise probieren sie es nur zweimal mit der selben IP oder mit längeren Zeitabständen. Was sagt die fail2ban.log? Wurden Versuche erkannt? Existiert sie überhaupt?