Squid-Konfiguration

Squid-Konfiguration

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_paramfür die PAM-Authentifizierung (Sie möchten wahrscheinlich keinen offenen Proxy und verlieren Ihren VPS wegen Spam-Berichten). request_header_accessZeilen 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 tcpund 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:8123in 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.

verwandte Informationen