From 966278caafce0eb7eb27c2a3ffa24274b54da1b2 Mon Sep 17 00:00:00 2001 From: Sascha Schulz <sschulz@dh-software.de> Date: Mo, 07 Jul 2025 16:24:04 +0200 Subject: [PATCH] replace mongodb by msql --- index.html | 181 ++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 179 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index 9152e52..0ef65ae 100644 --- a/index.html +++ b/index.html @@ -4943,10 +4943,10 @@ ProxyRequests Off # ProxyPass [Quelle] [Ziel] (auf Port achten) => Weiterleitung - ProxyPass / http://127.0.0.1:9000 + ProxyPass / http://127.0.0.1:9000/ # ProxyPassReverse [Quelle] [Ziel] (auf Port achten) => URL-Rewrite bei Redirects - ProxyPassReverse / http://127.0.0.1:9000 + ProxyPassReverse / http://127.0.0.1:9000/ </code> </pre> <p>Apache neu starten, um die Änderungen am vhost zu übernehmen</p> @@ -4965,6 +4965,183 @@ </pre> <p>Anschließend sollte die NodeJS-Anwendung unter der bereits bekannten Domain erreichbar sein.</p> </section> + <section> + <h3>Wireshark</h3> + </section> + <section> + <p>Aufgabe</p> + <p>Installiere Wireshark und starte anschließend einen Paket-Mitschnitt auf dem WLAN-Adapter. Setze den Filter oben auf "<code>ip.dst == 123.123.123.123</code>" (IP eurer virtuellen Maschine eintragen), + besuche die in der VM eingerichtete Webseite in einem Browser und beobachte den Datenverkehr in Wireshark</p> + </section> + <section> + <h3>Aktivierung von HTTPS</h3> + </section> + <section> + <p>SSL-Zertifikat erstellen</p> + <pre> + <code class="bash" data-trim data-line-numbers> + openssl req -newkey rsa:4096 -x509 -sha256 -days 3650 -nodes -out cert.pem -keyout key.pem + </code> + </pre> + <p>Anschließend die Fragen beantworten.</p> + <p>Die eigentliche Domain für das Zertifikat ist bei "CN" (Common Name) einzutragen</p> + </section> + <section> + <p>Aktivierung des entsprechenden Apache-Moduls:</p> + <pre> + <code class="bash" data-trim data-line-numbers> + sudo a2enmod ssl + </code> + </pre> + <p>Leserechte für den Rest der Welt an den Zertifikatsdateien setzen</p> + <pre> + <code class="bash" data-trim data-line-numbers> + chmod +r cert.pem key.pem + </code> + </pre> + </section> + <section> + <p>Anpassung / Erstellung vhost in <code>sites-available</code></p> + <pre> + <code class="bash" data-trim data-line-numbers> + sudo cp example.conf example-ssl.conf + </code> + </pre> + <p>Den vhost für HTTP / Port 80 so konfigurieren, dass dieser nach HTTPS / Port 443 weiterleitet:</p> + <pre> + <code class="bash" data-trim data-line-numbers> + # example.conf + # Sämtliche Proxy-Direktiven und andere Inhalt + # dienende Direktiven auskommentieren: + #ProxyPass ... + #ProxyPassReverse ... + + # hinzufügen (auf Ziel-Domäne achten) + Redirect Permanent / https://example.com + </code> + </pre> + </section> + <section> + <p>Den vhost für HTTPS / Port 443 anpassen</p> + <pre> + <code class="bash" data-trim data-line-numbers> + # example-ssl.conf + # Port anpassen + <VirtualHost *:443> + + # hinzufügen (auf korrekte Pfade achten) + SSLEngine on + SSLCertificateFile "/.../cert.pem" + SSLCertificateKeyFile "/.../key.pem" + </code> + </pre> + <pre> + <code class="bash" data-trim data-line-numbers> + # neuen vhost für SSL aktivieren: + sudo a2ensite example-ssl.conf + </code> + </pre> + <p>Anschließend den Apache neu starten:</p> + <pre> + <code class="bash" data-trim data-line-numbers> + sudo systemctl restart apache2 + </code> + </pre> + </section> + <section> + <p>Aufgabe</p> + <p>Inspiziere erneut den Datenverkehr zwischen eurem Browser und dem Server mittels Wireshark. Was fällt auf?</p> + </section> + <section> + <p>Datenverkehr eines Browser in Wireshark sichtbar machen:</p> + <p>CMD öffnen:</p> + <pre> + <code class="bash" data-trim data-line-numbers> + REM Umgebungsvariable setzen: + set SSLKEYLOGFILE=%USERPROFILE%\Desktop\sslkey.log + REM Beliebigen Browser per Konsole starten (Ordner nach Bedarf vorher wechseln): + chromium.exe + REM oder + firefox.exe + </code> + </pre> + <p>Die TLS-Schlüssel werden nun vom Browser in der festgeleten Datei geloggt</p> + </section> + <section> + <p>Eben angegebene Datei in Wireshark einstellen:</p> + <p>Bearbeiten > Einstellungen > Protocols > TLS > (Pre)-Master-Secret log filename</p> + </section> + <section> + Einrichtung eines Datenbank-Servers (Beispiel MySql) + </section> + <section> + <p>Datenbank installieren:</p> + <pre> + <code class="bash" data-trim data-line-numbers> + # Paketquellen aktualisieren + sudo apt update + + # MySql installieren + sudo apt install mysql-server + + # systemd neuladen + sudo systemctl daemon-reload + + # Status prüfen + sudo systemctl status mysql.service + </code> + </pre> + </section> + <section> + <p>Der Server sollte nun laufen:</p> + <pre> + <code class="bash" data-trim data-line-numbers> + sudo systemctl status mysql.service + </code> + </pre> + </section> + <section> + <p>Root-Passwort setzen/ändern:</p> + <pre> + <code class="bash" data-trim data-line-numbers> + # Login mit generischen Credentials + sudo mysql --defaults-file=/etc/mysql/debian.cnf + </code> + </pre> + <pre> + <code class="sql" data-trim data-line-numbers> + ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'mypass'; + exit; + </code> + </pre> + <pre> + <code class="bash" data-trim data-line-numbers> + # Server neustarten + sudo systemctl restart mysql.service + </code> + </pre> + <pre> + <code class="bash" data-trim data-line-numbers> + # Login mit neuen Credentials + mysql -uroot -p + </code> + </pre> + </section> + <section> + <pre> + <code class="sql" data-trim data-line-numbers> + CREATE DATABASE schema_name; + + use schema_name; + + create table stores (id int not null primary key, number varchar(5) not null); + + insert into stores (id, number) values (1, "10001"); + + select * from stores; + </code> + </pre> + </section> </section> </div> </div> -- Gitblit v1.9.3