Kategorien
HowTo

Nützlich Raspberry Kommandos

Systemdienste Status / starten / aktivieren
systemctl status ssh
systemctl status ssh.service
sudo systemctl stop ssh
sudo systemctl enable ssh
sudo systemctl disable ssh
systemctl is-enabled ssh
Kategorien
HowTo

Nützliche CMD Kommandos

Systemvariablen und pfad
set
echo %PATH%
Geöffntet Ports herausfinden
netstat | findstr LISTENING
Kategorien
HowTo

Apache Webserver unter Windows installieren

Download

Source und Doku gibt es bei https://httpd.apache.org

Windows Binaries gibt es z.B. bei https://www.apachehaus.com/cgi-bin/download.plx

Für die aktuelle Version 2.4.46 für 64bit
https://de.apachehaus.com/downloads/httpd-2.4.46-o111i-x64-vc15.zip

Installation

Es gibt kein setup.exe Programm. Das heruntergeladene Zip File enthält alle notwendigen Dateien und hat bereits OpenSSL (für https) integriert.
Die ausführbare Datei httpd.exe liegt im Verzeichnis Apache24/bin.

Vor dem ersten Start muss die Konfigurationsdatei httpd.conf welche im Verzeichnis Apache24/conf liegt angepaßt werden.
In unserem Fall muss das Server Root Verzeichnis geändert werden (hier liegt der Apache Webserver unter C:\Tools

Define SRVROOT „c:/Tools/httpd/Apache24“

Danach kann der Webserver zum Test mal über die Kommandozeile gestartet werden (beenden mit Strg+C).

C:\Tools\httpd\Apache24\bin> httpd.exe

Browser starten und mit https://localhost/ sollte die Apache Test Seite erscheinen. Funktioniert alles kann der Apache mit folgenden Kommando als Dienst installiert werden (nur wenn die Shell mit Adminrechten gestartet wurde):

httpd -k install

Der neue Dienst kann über Windows-Verwaltungsprogramme/Dienste oder über das Shell Kommando httpd -k start gestartet werden.

httpd -k stop
stoppt

httpd -k restart
restartet

httpd -k uninstall
deinstalliert

httpd -v und httpd -V
gibt die Version und -V mehr Infos aus

Konfiguration

Die Webseiten liegen unter Apache24\htdocs

SSL Konfiguration

Die Konfiguration zu allen SSL Einstellungen befindet sich in der Datei Apache24\conf\extra\httpd-ahssl.conf.
Hier werden die zu verwendeten Zertifikate, Protokolle und Cipher definiert.
Im Abschnitt <VirtualHost _default_:443> wird der Servername, das öffentliche Zertifikat, der private Key und wenn nötig ein Intermediate Zertifkat hintelegt:

SSLEngine on
ServerName srv01.nohack.de:443
SSLCertificateFile "${SRVROOT}/conf/ssl/cert.pem"
SSLCertificateKeyFile "${SRVROOT}/conf/ssl/privkey.pem"
SSLCACertificateFile
"${SRVROOT}/conf/ssl/ca-bundle.pem"

Die SSL Konfiguration kann über den Qualys SSL Server Test geprüft werden:
https://www.ssllabs.com/ssltest//index.html

Lösungen bei Problemen

Läuft der apache,
herausfinden was auf Port 80 (http)
oder Port 443 (https) läuft

So wird die Prozess ID angezeigt (letzte Spalte)
netstat -ano | findstr :80

Folgendes zeigt das Programm zum Prozess an:
tasklist /FI „PID eq 4436“ /FO TABLE

Den Task killen
taskkill /pid 4436 /f

Kategorien
HowTo

Private Schlüssel, Signaturrequests und Zertifikate erstellen mit OpenSSL

Für was braucht man Zertifikate?

Um sicherzustellen das man sich mit den richtigen Empfänger oder Absender (bzw. Server oder Client) unterhält verwendet man Zertifikate. Die Zertifikate werden von einer vertrauensvollen Stelle, einer Zertifizierungsstelle (Certificate Authority kurz CA) ausgestellt.

Aufgaben der CA

Die CA unterschreibt (signiert) dazu zuvor digital einen Antrag (Certificate Signing Request kurz CSR) welcher vom Client und/oder Server erstellt wurde, nachdem die CA über mehrere Verfahren sichergestellt hat das der Request tatsächlich vom genannten Absender kommt.

OpenSSL

OpenSSL ist das Tool der Wahl, Freeware. Wird verwendet von nahezu allen Herstellern und für fast alle SSL/TLS Verbindungen in der Welt.

Installation OpenSSL

Unter Windows können die Binaries von OpenSSL heruntergeladen werden, eine Liste der Anbieter findet man hier:
https://wiki.openssl.org/index.php/Binaries

Also z.B. von
https://slproweb.com/products/Win32OpenSSL.html

Für Delphi Entwickler unter
http://wiki.overbyte.eu/wiki/index.php/ICS_Download#Download_OpenSSL_Binaries_.28required_for_SSL-enabled_components.29
oder für OpenSSL API1.0
http://indy.fulgan.com/SSL/

Aufruf mit openssl über die Kommandozeile, danach wechseln ins Installations-Verzeichnis
C:\Tools\OpenSSL\bin>openSSL
OpenSSL> version
OpenSSL 1.1.1i  8 Dec 2020

Erstellen eines private Schlüssels

Mit folgenden Kommando kann man sich einen privaten erzeugen, dieser sollte Stand heute mindestens 2048 besser 4096bits an Länge haben.
openSSL genrsa -aes256 -out PrivateKey.pem 4096

Zertifikate anzeigen

Inhalte von Zertifikaten anzeigen (hier chain.pem):
openssl x509 -text -in chain.pem

Kategorien
HowTo

Apache für Delphi DLLs anpassen

httpd.conf

Folgendes in der httpd.conf anpassen/erweitern, die zwei letzten Einträge unter den cgi Einstellungen hinzufügen:

LoadModule isapi_module modules/mod_isapi.so

ScriptAlias /rbot5/ "${SRVROOT}/rbot5/"

<Directory "${SRVROOT}/rbot5">
AllowOverride None
Options ExecCGI
Require all granted
</Directory>