SSLH example: Difference between revisions

From Linuxwiki
Jump to navigation Jump to search
Content deleted Content added
Sunflower (talk | contribs)
Created page with "= What? = sslh ist quasi ein Y-Stück, mit dem ein Service auf 2 unterschiedlichen Ports laufen kann. Anwendungsfall ist z.B. ein sshd vor einer Firewall = Beispiel = Ein Client hinter einer Firewall möchte auf einen Web-Server im Internet zugreifen, auf dem ein sshd läuft. Die Firewall blockiert aber den Port 22. Port 80 ist dagegen offen. Vorgehen: <br> - sslh installieren <br> - Port 80 des Webservers auf localhost laufen lassen <br> - Y-Stück für Port 80 einba..."
 
Sunflower (talk | contribs)
No edit summary
Line 5: Line 5:


Ein Client hinter einer Firewall möchte auf einen Web-Server im Internet zugreifen, auf dem ein sshd läuft. Die Firewall blockiert aber den Port 22. Port 80 ist dagegen offen.
Ein Client hinter einer Firewall möchte auf einen Web-Server im Internet zugreifen, auf dem ein sshd läuft. Die Firewall blockiert aber den Port 22. Port 80 ist dagegen offen.
[[File:fwfoo.png|800px|thumb|left]]



Vorgehen: <br>
== Vorgehen ==
- sslh installieren <br>
- sslh installieren <br>
- Port 80 des Webservers auf localhost laufen lassen <br>
- Port 80 des Webservers auf localhost laufen lassen <br>

Revision as of 21:29, 24 August 2026

What?

sslh ist quasi ein Y-Stück, mit dem ein Service auf 2 unterschiedlichen Ports laufen kann. Anwendungsfall ist z.B. ein sshd vor einer Firewall

Beispiel

Ein Client hinter einer Firewall möchte auf einen Web-Server im Internet zugreifen, auf dem ein sshd läuft. Die Firewall blockiert aber den Port 22. Port 80 ist dagegen offen.


Vorgehen

- sslh installieren
- Port 80 des Webservers auf localhost laufen lassen
- Y-Stück für Port 80 einbauen

sslh installieren

apt install ssld

Apache vorbereiten

Port 80 auf localhost

ports.conf:

Listen 127.0.0.1:80
#Listen 80
<IfModule ssl_module>
       Listen 443
</IfModule>

<IfModule mod_gnutls.c>
       Listen 443
</IfModule>

Virtual hosts anpassen

sites-enabled:

<VirtualHost 127.0.0.1:80> #<<<<<<<< **nicht** *:80
       Define NAME     wordpress.example.de
       Define EMAIL    root@example.de

       ServerAdmin ${EMAIL}
       ServerName ${NAME}

       Include /etc/apache2/conf-available/rewrite-http-to-https.conf

       CustomLog ${APACHE_LOG_DIR}/wordpress-access.log combined
       ErrorLog ${APACHE_LOG_DIR}/wordpress-error.log
</VirtualHost>

oder - wenn mehrere virtual hosts:

cd /etc/apache2/sites-enabled
sed -i 's|VirtualHost \*:80|VirtualHost 127.0.0.1:80|' *.conf

sslh konfigurieren

/etc/default/sslh:

DAEMON=/usr/sbin/sslh
Run=yes
DAEMON_OPTS="--user sslh --listen <public IP des Servers>:80 --ssh 127.0.0.1:22 --http 127.0.0.1:80 --pidfile /var/run/sslh/sslh.pid"
# --tls 127.0.0.1:443 # wenn 443 statt 80 verwendet werden soll

Services neu starten

systemctl restart apache2 sslh

== Verbindung vom Client aus

ssh -p 80 user@server