• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

https und ssl ?

torbla

Member
Hallo Leute ich habe einen Proxy unter 9.1 laufen der rennt auch wie Sau ;-) nur eins mag er nicht SSL und https habe leider auch keinen passenden Eintrag gefunden. Also ich benutze keine Firewall und Masquarde funktionier ich kann auch an dem Proxy vorbei Serven ich möchtze aber auch die anderen Seiten über Proxy nutzen. Hier meine Configuration

cache_mem 16 MB
cache_dir ufs /var/cache/squid 100 16 256

http_port 8080

hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY

acl all src 0.0.0.0/0.0.0.0
acl localhost src 127.0.0.1/255.255.255.255
acl localnet src 192.168.2.0/255.255.255.0
acl manager proto cache_objekt

acl SSL_ports port 443 563
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 443 563
acl Safe_ports port 70
acl Safe_ports port 210
acl Safe_Ports port 1025-65535
acl Safe_Ports port 280
acl Safe_Ports port 488
acl Safe_Ports port 591
acl Safe_Ports port 777

acl CONNECT method CONNECT

http_access allow manager localhost
http_access deny manager
http_access allow !Safe_ports
http_access allow CONNECT !SSL_ports
http_access allow localhost
http_access allow localnet
http_access allow all

http_reply_access allow all

icp_access allow localnet
icp_access deny all

coredump_dir /var/cache/squid
Code:
Ich hoffe Ihr könnt mir helfen
 

guzmamb6

Member
Ich habbe mal deine Daten mit meiner Config verglichen.
Das steht bei dir (Zitat1):
http_access allow !Safe_ports
http_access allow CONNECT !SSL_ports

Und bei mir (Code1):
Code:
# Deny requests to unknown ports
http_access deny !Safe_ports
# Deny CONNECT to other than SSL ports
http_access deny CONNECT !SSL_ports
Insbesondere die letze Zeile ist für den SSL Zugang wichtig.
Wenn ich mal deine Code-Zeile in humanreadable Format übersetzen darf: Erlaube den Kontakt mit Ports, die NICHT in SSL_ports eingetragen sind (das '!' ist eine negation der Liste).

Leider folgt bei dir keine Zeile, die den Kontakt auf diesen Ports (SSL u.a.) erlaubt.

Besser (und sicherer und richtig) ist aber meine Zeile:
Verbiete den Kontakt zu Ports die NICHT in SSL_ports aufgeführt sind.

Da die SSL Ports in der o.g. Gruppe aufgeführt sind, wird somit der Kontakt über ssl erlaubt.

Ändere also die Zitat1-Zeilen um in Code1-Zeilen und es sollte funktionieren.

Michael
 
OP
torbla

torbla

Member
Hallo vielen Dank aber es funktoiniert immer noch nicht habe die Eingabe geendert in deny jetzt kommt immer von squid

Dies ist kein regestriertes Protocol ???

Was kann der Fehler sein?
 

guzmamb6

Member
Squid gibt Fehlermeldungen auf Deutsch aus ?
Dies ist kein regestriertes Protocol ???
Hmm, da kann ich nicht einmal raten wo der Fehler ist.

Hier mal meine betreffenden Zeilen, die funktionieren seit 3 Jahren:
Code:
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
#Unser Netzwerk
acl localnet src xxx.xxx.xxx.x/255.255.255.0
acl SSL_ports port 443 563
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443 563     # https, snews
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered 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 Safe_ports port 901         # SWAT

acl purge method PURGE
acl CONNECT method CONNECT

http_access allow manager localhost
http_access deny manager
# Only allow purge requests from localhost
http_access allow purge localhost
http_access deny purge
# Deny requests to unknown ports
http_access deny !Safe_ports
# Deny CONNECT to other than SSL ports
http_access deny CONNECT !SSL_ports
#
http_access allow localhost

#Unser Netzwerk freigeben
http_access allow localnet 

# And finally deny all other access to this proxy
http_access deny all
Wie gesagt, keine Probleme.
Michael
PS: Etwas weniger Tippfehler machen deine Angaben etwas verständlicher.
 

styyxx

Member
Die kann man sich auch schenken

http_access allow localhost
http_access allow localnet

wenn dann ein

http_access allow all

kommt.
 

guzmamb6

Member
Die kann man sich auch schenken
http_access allow localhost
http_access allow localnet
wenn dann ein
http_access allow all
kommt.
Nicht ganz: Dann können ALLE Rechner (auch aus dem Internet oder anderen Netzen) den Proxy nutzen. Mit den beiden Zeilen
Code:
http_access allow localhost
http_access allow localnet
gebe ich explizit Clients frei.
--Ergaenzung--
Mit
Code:
http_access deny all
verhindere ich dann den Zugriff anderer Clients (Siehe hier).
----
Das mag in einem privaten Netz nicht so wichtig sein (da fehlendes Routing) aber in einem Firmennetz, wo neben dem Proxy auch andere Dienste auf dem Server installiert sind (und dieser somit eine 'echte' IP hat) ist das schon sehr wichtig.
Z.B. kann man über unseren Proxy bestimmte hausinterne Seiten erreichen. Das wäre fatal, wenn diese internen Infos auch über das Internet erreichbar wären.

Michael
 

styyxx

Member
Hallo,


natürlich gebe ich mit den acl's localhost und localnet explizite Clients frei, doch mit der acl all gebe ich allle frei. Wenn also für einen Client die acl localhost und localnet nicht matched, matched auf jedenfall die all. Somit sind die beiden acl's vor der all nutzlos, zumindest in dieser config. Sinn würde ein http_access deny all machen oder er läßt sie ganz weg.
BTW auf einem Proxy würde ich keine weiteren Dienste installieren, sowas wie ssh natürlich ausgenommen. Das aus dem Internet niemand Zugriff auf den Proxy hat löst man ja sowieso mit einer Firewall.

Grüße
styyxx
 

guzmamb6

Member
Da hat er Recht:
Code:
http_access deny all
So stehts auch bei uns in der Config.
(Wer lesen kann ist klar im Vorteil)

Die anderen Dienste ...
Die Zusammensetzung bei uns ist etwas kompliziert, ich werde das hier nicht ausführen.
Aber Sicher ist Sicher.
Michael
 
Hi

Ich hab das selbe Problem. Bei mir ist funktioniert seid neustem die https verbindung nicht mehr. Es kommt im Browser immer diese Fehlermeldung:
Code:
Die Verbindung zum Server konnte nicht hergestellt werden.

Die von Ihnen aufgerufene Adresse, https://testseite.de, ist im Moment nicht erreichbar. Bitte überprüfen Sie die korrekte Schreibweise der Webadresse (URL) und versuchen Sie dann die Seite neu zu laden.

Hab meine mit der oben angegebenen Config verglichen und bei mir steht das selbe drin aber es funktioniert trotzdem nicht.
Kann mir jemand helfen? Wär echt nett, danke.

ICQ : 177674440
 

guzmamb6

Member
Netter Name..

housemei$ter schrieb:
Code:
Die Verbindung zum Server konnte nicht hergestellt werden.

Die von Ihnen aufgerufene Adresse, https://testseite.de, ist im Moment nicht erreichbar. Bitte überprüfen Sie die korrekte Schreibweise der Webadresse (URL) und versuchen Sie dann die Seite neu zu laden.

Ich gehe davon aus, das es vorher funktioniert hat, und das du es mit diversen https Seiten ausprobiert hast.
Da es nicht einfach ist den Grund zu finden würde ich mich über ein Blick in deine config Datei freuen um dir da weiter zu helfen. Entweder kannst du die Konfig Datei hier im Forum veröffentlichen oder per PM mir senden, dann sehen wir weiter.

OK?
Michael
 
Danke (für den Namen)

Gibt es ein befehl wie bei Postfix "postconf" wo man nur die
Parameter ohne jeglichen Schnickschnack bekommt und dann posten kann ?


Tobias
 

guzmamb6

Member
Ein solch ähnlicher Befehl ist mir nicht bekannt.
Da wirst du nicht um das Copy/Paste mit deine config-Datei herumkommen, oder?
Michael
 
Eigentlich schade das es nich für jedes Program so ein Befehl gibt, praktisch wär es ja !
Hier sind hoff ich mal alle Parameter die du brauchst.

Code:
acl javascript rep_mime_type -i ^application/x-javascript$

acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 443 563
acl Safe_ports port 110
acl Safe_ports port 25
acl Safe_ports port 1025-65535
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl CONNECT method CONNECT
acl password proxy_auth REQUIRED

http_reply_access allow all
icp_access deny gesperrt
icp_access allow all

Der rest sind standard parameter!
Falls was fehlt .. ich füge es dann hinzu !!!

MfG Tobias & Danke
 

guzmamb6

Member
Nun, du hast nur eine Ausschnitt wiedergegeben, hier meine Nachfragen:
Hast du auch die folgenden Zeilen in der Config?
Code:
acl gesperrt src "<Pfad zur Datei mit Seiten>"
oder
acl gesperrt src <IP/DNS>
http_access deny CONNECT !SSL_ports
[... Am Ende der http_access Angaben]
http_access allow all

Besser wäre es, wenn du noch eine Datei mit Angaben der zugelassenen PCs machen würdest (die Rechner, die Squid nutzen dürfen).
Beispiel für PCs von 192.168.1.10 bis 192.168.1.20:
Code:
acl erlaubtIP src 192.168.1.10-192.168.1.20
[...]
http_access allow erlaubtIP
http_access deny all
Michael
 
So wie du es beschrieben hast hab ich keine einträge. :shock:

Aber wir arbeiten auch mit Squid Guard ...
Auf den Proxy zugreifen darf jeder der auch ein Passwort hat.

hmm wasn nu :?:
 

guzmamb6

Member
Hey, wir arbeiten auch mit SquidGuard und Passwortabfrage.

Das was man wissen muss ist, das beide "Regeln" (von Squid und von SquidGuard) gelten. Und ohne explizite Erlaubnis darf defaultmäsig niemand irgendwas abrufen. (SquidGuard ist im Grunde genommen nur eine fallmäsige Umleitung der angezeigten Seite)
Die Funktion der Passwortabfrage habt Ihr warscheinlich per
Code:
authenticate_program /usr/lib/squid/pam_auth
eingebunden (oder ähnliche Zeile). Und dies dann per
Code:
acl pass proxy_auth REQUIRED
http_access allow erlaubtIP pass
eingebunden (die Zeilen stammen aus unserer Config-Datei).
Zur Erklärung der letzen Code-Blocks: Erste Zeile: Die Gruppe "pass" verpflichtet eine Passwortabfrage, zweite Zeile: http Zugriff nur erlaubt für Gruppe "erlaubtIP" mit Passwortabfrage.

Diese Zeilen (oder ähnlich) müssen in deiner Config vorhanden sein, damit das mit der Passwortabfrage für einen http-Zugriff mit Passwortabfrage funktioniert.

Michael
 
Danke für die viele Mühe und die vielen Erklärungen.

Aber Squid funktioniert ja. Also Passwortabfrage und Internet alles ist Ordnungsgemäß.
Nur https funktioniert nich, leider und ich weis nicht warum.
Hab auch schon rumgegooglet und mehrere Tutorials und Handbücher durch aber ich find
einfach nichts drüber. Kann das von der Firewall geblockt werden?

MfG Tobias
 
Öhm ja danke, aber postconf funktioniert nur bei Postfix.
von crazyrolf
logo ist ja ein postfix-Befehl aber grep nicht!

Hier sind dann meine Parameter aus der squid.conf

Code:
http_port 3128
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
emulate_httpd_log on
auth_param ntlm max_challenge_lifetime 2 minutes
auth_param basic program /usr/sbin/pam_auth
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hour
auth_param basic children 5
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern .               0       20%     4320
redirect_program /usr/local/bin/squidGuard
acl javascript rep_mime_type -i ^application/x-javascript$
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 443 563
acl Safe_ports port 110
acl Safe_ports port 25
acl Safe_ports port 1025-65535
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl CONNECT method CONNECT
acl password proxy_auth REQUIRED
acl benutzer_raus proxy_auth "/etc/squid/accessDeny.txt"
acl gesperrt dstdomain xxx.com
acl vorBeginn           time 00:00-07:00                # vor dem Untericht
acl fruehstueck         time 08:30-09:00                # die Fruehstueckspause
acl fruehstueck2        time 10:30-10:45                # die zweite Fruehstueckspause
acl mittag              time 12:15-13:00                # die Mittagspause
acl mittag2             time 14:30-14:45                # die Verdauungspause nach dem Mittag
acl nachEnde            time 15:30-23:59                # nach dem Untericht

http_access deny gesperrt
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access allow vorBeginn
http_access allow fruehstueck
http_access allow fruehstueck2
http_access allow mittag
http_access allow mittag2
http_access allow nachEnde
http_access deny gesperrt
http_access allow password !benutzer_raus
http_access deny all
http_reply_access allow all
icp_access deny gesperrt
icp_access allow all
error_directory /usr/share/squid/errors/German
coredump_dir /var/cache/squid
cache_effective_user squid
cache_effective_group nogroup
cache_dir ufs /var/cache/squid 100 16 256

per Befehl : cat squid.conf | grep -v "^#" | grep -v ^$


MfG Tobias & Danke.
 

crazyrolf

Advanced Hacker
Was mir gerade nur auffällt ist das du diese Ports nicht drin hast.

acl Safe_ports port 70
acl Safe_ports port 210
 
Oben