Ich habe einen VPS. Wie verbinde ich mich über das HTTPS-Protokoll mit meinem Server und leite meine Browserverbindungen auf die HTTPS-Verbindung um?
Derzeit verwende ich einen SSH-Tunnel, aber er ist zu langsam.
Antwort1
Ich verwende Squid als Proxyserver undTunnelals SSL-Wrapper. Dank Caching bietet es eine sehr gute Leistung.
Squid-Konfiguration
Nach der Installation von Squid folgen SieSquid-Dokumentationenund konfigurieren Sie es. Hier ist eine Beispielkonfiguration:
http_port 3193 transparent cache_dir ufs /var/cache/squid 128 16 128 cache_mem 1 MB maximale Objektgröße im Speicher 512 KB maximale Objektgröße: 1 MB sichtbarer_Hostname hostname.com Hierarchie_Stoppliste cgi-bin? Aktualisierungsmuster ^ftp: 1440 20 % 10080 Aktualisierungsmuster ^Gopher: 1440 0 % 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 Aktualisierungsmuster . 0 20 % 4320 ACL-Manager-Proto-Cache-Objekt acl localhost src 127.0.0.1/32 ::1 acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1 acl localnet src 10.0.0.0/8 # RFC 1918 mögliches internes Netzwerk acl localnet src 172.16.0.0/12 # RFC 1918 mögliches internes Netzwerk acl localnet src 192.168.0.0/16 # RFC 1918 mögliches internes Netzwerk acl localnet src fc00::/7 # RFC 4193 lokaler privater Netzwerkbereich acl localnet src fe80::/10 # RFC 4291 Link-Local-Maschinen (direkt angeschlossen) acl SSL_ports Port 443 acl Safe_ports Port 80 # http acl Safe_ports Port 21 # ftp acl Safe_ports Port 443 # https acl Safe_ports Port 70 # Gopher acl Safe_ports Port 210 # wais acl Safe_ports Port 1025-65535 # nicht registrierte Ports acl Safe_ports Port 280 # http-mgmt acl Safe_ports Port 488 # gss-http acl Safe_ports Port 591 # Filemaker acl Safe_ports Port 777 # Multiling http acl CONNECT-Methode CONNECT auth_param Basisprogramm /usr/libexec/squid/pam_auth auth_param grundlegende Kinder 5 auth_param Basisbereich Squidy auth_param grundlegende Anmeldeinformationenttl 4 Stunden acl-Passwort proxy_auth ERFORDERLICH http_access erlauben Manager http_access deny !Sichere_Ports http_access deny CONNECT !SSL_ports http_access erlauben Passwort http_access erlauben localhost http_access erlauben lokales Netz http_access alle verweigern über aus weitergeleitet für aus request_header_access Erlauben alle zulassen request_header_access Autorisierung alles zulassen request_header_access WWW-Authentifizierung alle zulassen request_header_access Proxy-Authorisierung alle zulassen request_header_access Proxy-Authentifizierung alle zulassen request_header_access Cache-Control alles zulassen request_header_access Content-Encoding alle zulassen request_header_access Inhaltslänge alles zulassen request_header_access Inhaltstyp alles zulassen request_header_access Datum alle zulassen request_header_access Läuft ab erlauben alle request_header_access Host erlaubt alle request_header_access If-Modified-Since alle zulassen request_header_access Last-Modified alle zulassen request_header_access Standort alle zulassen request_header_access Pragma alles erlauben request_header_access Akzeptieren alle zulassen request_header_access Accept-Charset alle zulassen request_header_access Accept-Encoding alle zulassen request_header_access Accept-Language alle zulassen request_header_access Content-Language alle zulassen request_header_access Mime-Version alle zulassen request_header_access Retry-After alles zulassen request_header_access Titel alle zulassen request_header_access Verbindung alle zulassen request_header_access Proxy-Verbindung alle zulassen request_header_access User-Agent alle zulassen request_header_access Cookie alle zulassen request_header_access Alle alle ablehnen
Es überwacht den Port 3193 tcp
. Dann kommen Caching-Optionen, einige ACL-Befehle und auth_param
für die PAM-Authentifizierung (Sie möchten wahrscheinlich keinen offenen Proxy und verlieren Ihren VPS wegen Spam-Berichten). request_header_access
Zeilen sind nicht erforderlich. Sie bieten Ihnen mehr Anonymität.
Stunnel-Serverkonfiguration
Installieren Sie Stunnel auf dem Server. Hier ist eine Beispielkonfiguration:
setuid = stunnel setgid = stunnel CA-Datei = /etc/stunnel/certs.pem CRL-Datei = /etc/stunnel/crls.pem [Proxy] akzeptieren = 8888 verbinden = 127.0.0.1:3193
Wahrscheinlich Zertifizierungsdateien, die bei der Installation von Stunnel erstellt wurden. Überprüfen Sie den Dateipfad in CAfile
. Es lauscht einfach auf dem Port 8888 tcp
und leitet den entschlüsselten Stream an Squid um. Stellen Sie also sicher, dass es erreichbar ist:
iptables -I INPUT 1 -p tcp --dport 8888 -j ACCEPT
Sie müssen nicht mehr dafür sorgen, dass der Squid-Abhörport weltweit erreichbar ist.
Stunnel-Client-Konfiguration
Installieren Sie stunnel auf Ihrem lokalen Computer und ändern Sie diese Konfiguration nach Ihren Bedürfnissen:
setuid = stunnel setgid = stunnel pid = /var/run/stunnel/stunnel.pid [Poxy] akzeptieren = 8123 verbinden = server_ip:8888 Kunde = ja libwrap = nein
Ersetzen Sie server_ip durch den entsprechenden Wert. Starten Sie dann Squid auf dem Server und Stunnel auf Client und Server. Stellen Sie den Proxy wie localhost:8123
in Ihrem Browser ein. Wenn alles funktioniert, müssen Sie nach Benutzername und Passwort gefragt werden.
Antwort2
Ist der https-Server Apache? Ich verstehe Ihre Situation nicht ganz, aber wenn Sie mod_proxy haben, können Sie möglicherweise tun, was Sie wollen.
Antwort3
Ich habe noch nie etwas auf einem virtuellen Host eingerichtet, aber hier sind einige Informationen zu HTTPS im Allgemeinen:
HTTPS verwendet eine Kombination aus HTTP und SSL (siehe den Wikipedia-Artikel hier:http://en.wikipedia.org/wiki/HTTP_Secure). HTTPS ist an sich kein eigenes Protokoll, sondern normales HTTP, das über einen SSL-Tunnel läuft.
HTTPS verwendet CAs (Certificate Authorities) und PKI (Public Key Infrastructure), um sicherzustellen, dass Benutzer der Site „vertrauen“ können. Sie müssen ein Public-Key-Zertifikat für Ihren Webserver erstellen, das von einer vertrauenswürdigen CA (wie VeriSign) signiert sein muss. Für die Aufrechterhaltung eines vertrauenswürdigen Zertifikats kann eine jährliche Gebühr anfallen.
Wenn Sie keine vertrauenswürdige Zertifizierungsstelle verwenden, erhalten Benutzer eine Warnung, wenn sie versuchen, eine Verbindung zu Ihrer Site herzustellen. Dies kann häufig dazu führen, dass Benutzer Ihre Site verlassen, weil sie sie als Sicherheitsrisiko betrachten.
Denken Sie auch daran, dass HTTP standardmäßig Port 80 verwendet, HTTPS jedoch Port 443. Wenn Sie also eine Portweiterleitung/Portblockierung haben, müssen Sie sicherstellen, dass diese für die Verbindung geöffnet ist. Um HTTPS zu verwenden, müssen Sie es außerdem in die URL eingeben, wenn Sie zur Site navigieren, da sonst wahrscheinlich standardmäßig HTTP verwendet wird.
EDIT: Hier ist eine gute Einführung in die Funktionsweise von HTTPS: http://securityworkshop.blogspot.com/2009/01/how-httpsssl-works-part-1-basics.html
Antwort4
Meine Kristallkugel sagt, Sie sollten einen Blick darauf werfenhttp://www.stunnel.org/static/stunnel.html
Falls der Ball falsch ist, kann es sowieso nicht schaden.