Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:squid_centos_7

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
tachtler:squid_centos_7 [2017/10/17 09:17] – [Apache VHOST für SquidAnalyzer] klaustachtler:squid_centos_7 [2017/10/19 16:45] (aktuell) – [ssl_bump-Konfiguration] klaus
Zeile 6884: Zeile 6884:
 # Tachtler - ssl_bump configuration - # Tachtler - ssl_bump configuration -
 # default: http_port 3128 # default: http_port 3128
-http_port 3128 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB key=/etc/pki/squid/private/squidCA.key cert=/etc/pki/squid/certs/squidCA.crt +http_port 3128 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB key=/etc/pki/proxy/private/proxyCA.key cert=/etc/pki/proxy/certs/proxyCA.crt
-always_direct allow all+
 ssl_bump server-first all ssl_bump server-first all
-sslproxy_cert_error allow all +sslproxy_options NO_SSLv2,NO_SSLv3,SINGLE_DH_USE
-sslproxy_flags DONT_VERIFY_PEER+
 sslcrtd_program /usr/lib64/squid/ssl_crtd -s /var/lib/ssl_squid -M 4MB sslcrtd_program /usr/lib64/squid/ssl_crtd -s /var/lib/ssl_squid -M 4MB
 sslcrtd_children 5 startup=1 idle=1 sslcrtd_children 5 startup=1 idle=1
Zeile 6956: Zeile 6954:
 # Tachtler - ssl_bump configuration - # Tachtler - ssl_bump configuration -
 # default: http_port 3128 # default: http_port 3128
-http_port 3128 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB key=/etc/pki/squid/private/squidCA.key cert=/etc/pki/squid/certs/squidCA.crt +http_port 3128 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB key=/etc/pki/proxy/private/proxyCA.key cert=/etc/pki/proxy/certs/proxyCA.crt
-always_direct allow all+
 ssl_bump server-first all ssl_bump server-first all
-sslproxy_cert_error allow all +sslproxy_options NO_SSLv2,NO_SSLv3,SINGLE_DH_USE
-sslproxy_flags DONT_VERIFY_PEER+
 sslcrtd_program /usr/lib64/squid/ssl_crtd -s /var/lib/ssl_squid -M 4MB sslcrtd_program /usr/lib64/squid/ssl_crtd -s /var/lib/ssl_squid -M 4MB
 sslcrtd_children 5 startup=1 idle=1 sslcrtd_children 5 startup=1 idle=1
Zeile 6972: Zeile 6968:
   * ''key=/etc/pki/squid/private/squidCA.key'' - Speicherort des Schlüssels (key) der verwendet werden soll   * ''key=/etc/pki/squid/private/squidCA.key'' - Speicherort des Schlüssels (key) der verwendet werden soll
   * ''cert=/etc/pki/squid/certs/squidCA.crt'' - Speicherort des Zertifikates (Root-CA) das verwendet werden soll   * ''cert=/etc/pki/squid/certs/squidCA.crt'' - Speicherort des Zertifikates (Root-CA) das verwendet werden soll
- 
-  * <code>always_direct allow all</code> 
-Ermöglicht es dem [[http://www.squid-cache.org|Squid]] //Proxy//-Server, **direkt** mit dem Ziel-Server zu kommunizieren. 
  
   * <code>ssl_bump server-first all</code>   * <code>ssl_bump server-first all</code>
 Ermöglicht es dem [[http://www.squid-cache.org|Squid]] //Proxy//-Server, im Modus ''server-first'' **zuerst** eine Verbindung zum Ziel-Server aufzubauen, um anschließend ein Zertifikat unter Zuhilfenahme der **eigenen CA** zu erstellen, oder ein bereits von der **eigenen CA** erstelltes Zertifikat zu verwenden, bevor die Kommunikation mit dem z.B. Browser des Endbenutzer statt findet. Ermöglicht es dem [[http://www.squid-cache.org|Squid]] //Proxy//-Server, im Modus ''server-first'' **zuerst** eine Verbindung zum Ziel-Server aufzubauen, um anschließend ein Zertifikat unter Zuhilfenahme der **eigenen CA** zu erstellen, oder ein bereits von der **eigenen CA** erstelltes Zertifikat zu verwenden, bevor die Kommunikation mit dem z.B. Browser des Endbenutzer statt findet.
- 
-  * <code>sslproxy_cert_error allow all</code> 
-Bestimmt das Verhalten des [[http://www.squid-cache.org|Squid]] //Proxy//-Servers, wenn ein **ungültiges** Zertifikat vom Ziel-Server präsentiert wird. 
  
 :!: **HINWEIS** - **Aus Sicherheitsaspekten __sollte hier später__ ''deny all'' gesetzt werden !**  :!: **HINWEIS** - **Aus Sicherheitsaspekten __sollte hier später__ ''deny all'' gesetzt werden !** 
  
-  * <code>sslproxy_flags DONT_VERIFY_PEE</code> +  * <code>sslproxy_options NO_SSLv2,NO_SSLv3,SINGLE_DH_USE</code> 
-Weist den [[http://www.squid-cache.org|Squid]] //Proxy//-Server an, das Root-Zertifikat aus der **eigenen CA** nicht zu überprüfen, da dies hier ein **self-signed** Zertifikat ist und eine Prüfung dadurch fehlschlagen würde!+Weist den [[http://www.squid-cache.org|Squid]] //Proxy//-Server an, die angegebenen Cipher-Suiten nur zu verwenden.
  
   * <code>sslcrtd_program /usr/lib64/squid/ssl_crtd -s /var/lib/ssl_squid -M 4MB</code>   * <code>sslcrtd_program /usr/lib64/squid/ssl_crtd -s /var/lib/ssl_squid -M 4MB</code>
Zeile 7476: Zeile 7466:
  
 Entscheidend ist **__nur__** nachfolgender PHP/HTML-Code, alles andere ist das Design der HTML/PHP-Seite: Entscheidend ist **__nur__** nachfolgender PHP/HTML-Code, alles andere ist das Design der HTML/PHP-Seite:
-<code php> 
-<?php  
-session_start(); 
-$_SESSION["goto"] = htmlspecialchars($_GET["url"]); 
-?> 
-</code> 
 <code html> <code html>
  <br>  <br>
Zeile 7491: Zeile 7475:
  
 Oben stehender Code führt nachfolgende Funktionen aus: Oben stehender Code führt nachfolgende Funktionen aus:
-  - Erstellen/Starten einer PHP-Session. 
-  - Ermitteln der URL des Browsers/Benutzer, welche dieser **ursprünglich** erreichen wollte bzw. eingegeben hat und **Ablage dieser URL in der neu eben erstellten PHP-Session!** 
   - Erstellen einer **Schaltfläche mit dem Namen** - **''Zustimmen''** und der damit verbundenen **Aktion - Aufruf der Seite** -  **''http://www.squid.tachtler.net/html/accept.php''** im gleichen Fenster.   - Erstellen einer **Schaltfläche mit dem Namen** - **''Zustimmen''** und der damit verbundenen **Aktion - Aufruf der Seite** -  **''http://www.squid.tachtler.net/html/accept.php''** im gleichen Fenster.
  
Zeile 7536: Zeile 7518:
  <hr>  <hr>
 </code> </code>
 +
 +Nach Abschluss der Erstellung der ''/usr/share/squid/html/splash.php'' Seite, muss nachfolgender **symblischer Link** mit nachfolgendem Befehl erstellt werden, da sonst dieser nicht mit dem entsprechendem Aufruf aus der [[http://www.squid-cache.org|Squid]] heraus durchgeführt werden kann:
 +<code>
 +# ln -s /usr/share/squid/html/splash.php splash.php
 +</code>  
  
 === /usr/share/squid/html/accept.php === === /usr/share/squid/html/accept.php ===
Zeile 7547: Zeile 7534:
  
 **__Beispiel__**: **__Beispiel__**:
-<code html>+<code php>
 <?php <?php
 session_start(); session_start();
-header("Location: " . $_SESSION["goto"] ); /* Browser umleiten */+header("Location: " . $_SERVER['HTTP_REFERER'] ); /* Browser umleiten */
 session_unset(); session_unset();
 session_destroy(); session_destroy();
Zeile 7562: Zeile 7549:
 Oben stehender Code führt nachfolgende Funktionen aus: Oben stehender Code führt nachfolgende Funktionen aus:
   - Erstellen/Starten einer PHP-Session.   - Erstellen/Starten einer PHP-Session.
-  - Erstellen einer "Browser Umleitung" unter Einbindung der URL des Browsers/Benutzer, welche dieser **ursprünglich** erreichen wollte bzw. eingegeben hat und **auslesen dieser URL aus der PHP-Session!**+  - Erstellen einer "Browser Umleitung" unter Einbindung der URL des Browsers/Benutzer, welche dieser **__ursprünglich__ erreichen wollte bzw. eingegeben hat**
   - Leeren der PHP-Session!   - Leeren der PHP-Session!
   - Löschen/Beenden der PHP-Session!   - Löschen/Beenden der PHP-Session!
Zeile 7705: Zeile 7692:
 # splash screen configuration - start - # splash screen configuration - start -
  
-# Set up the session helper in active mode.  +acl proxy url_regex -i http://squid.tachtler.net/
-external_acl_type session concurrency=100 ttl=60 negative_ttl=0 children-max=1 %LOGIN /usr/lib64/squid/ext_session_acl -a -T 60 -b /var/lib/squid/sessions/+ 
 +# Set up the session helper in active mode. Mind the wrap - this is one line: 
 +external_acl_type session concurrency=100 ttl=%SRC /usr/lib64/squid/ext_session_acl -a -T 15 -b /var/lib/squid/sessions/ 
 # Pass the LOGIN command to the session helper with this ACL # Pass the LOGIN command to the session helper with this ACL
 acl session_login external session LOGIN acl session_login external session LOGIN
-# Set up the normal session helper. +
-external_acl_type session_active_def concurrency=100 ttl=60 negative_ttl=0 children-max=1 %LOGIN /usr/lib64/squid/ext_session_acl -T 60 -b /var/lib/squid/sessions/+
 # Normal session ACL as per simple example # Normal session ACL as per simple example
-acl session_is_active external session_active_def+acl session_is_active external session 
 # ACL to match URL # ACL to match URL
-acl clicked_login_url url_regex -i http://www.squid.tachtler.net/html/accept.php+acl clicked_login_url url_regex -i ^http://squid.tachtler.net/html/accept.php
 # First check for the login URL. If present, login session # First check for the login URL. If present, login session
 http_access allow clicked_login_url session_login http_access allow clicked_login_url session_login
 +http_access allow proxy
 +
 # If we get here, URL not present, so renew session or deny request. # If we get here, URL not present, so renew session or deny request.
 http_access deny !session_is_active http_access deny !session_is_active
 +
 # Deny page to display # Deny page to display
-deny_info http://www.squid.tachtler.net/html/splash.php?url=%u session_is_active+deny_info 511:splash.php session_is_active
  
 # splash screen configuration - stopp - # splash screen configuration - stopp -
Zeile 7752: Zeile 7746:
  
 # Squid normally listens to port 3128 # Squid normally listens to port 3128
-# Tachtler - ssl_bump configuration - +http_port 3128
-# default: http_port 3128 +
-http_port 3128 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB key=/etc/pki/squid/private/squidCA.key cert=/etc/pki/squid/certs/squidCA.crt +
-always_direct allow all +
-ssl_bump server-first all +
-sslproxy_cert_error allow all +
-sslproxy_flags DONT_VERIFY_PEER +
-sslcrtd_program /usr/lib64/squid/ssl_crtd -s /var/lib/ssl_squid -M 4MB +
-sslcrtd_children 5 startup=1 idle=1+
  
 # Uncomment and adjust the following to add a disk cache directory. # Uncomment and adjust the following to add a disk cache directory.
Zeile 7826: Zeile 7812:
 # splash screen configuration - start - # splash screen configuration - start -
  
-# Set up the session helper in active mode.  +acl proxy url_regex -i http://squid.tachtler.net/
-external_acl_type session concurrency=100 ttl=60 negative_ttl=0 children-max=1 %LOGIN /usr/lib64/squid/ext_session_acl -a -T 60 -b /var/lib/squid/sessions/+ 
 +# Set up the session helper in active mode. Mind the wrap - this is one line: 
 +external_acl_type session concurrency=100 ttl=%SRC /usr/lib64/squid/ext_session_acl -a -T 15 -b /var/lib/squid/sessions/ 
 # Pass the LOGIN command to the session helper with this ACL # Pass the LOGIN command to the session helper with this ACL
 acl session_login external session LOGIN acl session_login external session LOGIN
-# Set up the normal session helper. +
-external_acl_type session_active_def concurrency=100 ttl=60 negative_ttl=0 children-max=1 %LOGIN /usr/lib64/squid/ext_session_acl -T 60 -b /var/lib/squid/sessions/+
 # Normal session ACL as per simple example # Normal session ACL as per simple example
-acl session_is_active external session_active_def+acl session_is_active external session 
 # ACL to match URL # ACL to match URL
-acl clicked_login_url url_regex -i http://www.squid.tachtler.net/html/accept.php+acl clicked_login_url url_regex -i ^http://squid.tachtler.net/html/accept.php
 # First check for the login URL. If present, login session # First check for the login URL. If present, login session
 http_access allow clicked_login_url session_login http_access allow clicked_login_url session_login
 +http_access allow proxy
 +
 # If we get here, URL not present, so renew session or deny request. # If we get here, URL not present, so renew session or deny request.
 http_access deny !session_is_active http_access deny !session_is_active
 +
 # Deny page to display # Deny page to display
-deny_info http://www.squid.tachtler.net/html/splash.php?url=%u session_is_active+deny_info 511:splash.php session_is_active
  
 # splash screen configuration - stopp - # splash screen configuration - stopp -
 </code> </code>
  
-  * <code>external_acl_type session concurrency=100 ttl=60 negative_ttl=0 children-max=1 %LOGIN /usr/lib64/squid/ext_session_acl -a -T 60 -b /var/lib/squid/sessions/</code>+  * <code bash>acl proxy url_regex -i http://squid.tachtler.net/*</code> 
 +Definition der der **ACL** ''proxy'' hinter der sich z.B die PHP-Seiten und ggf. Images für den Aufruf der ''splash.php'' befinden. 
 + 
 +  * <code bash>external_acl_type session concurrency=100 ttl=%SRC /usr/lib64/squid/ext_session_acl -a -T 60 -b /var/lib/squid/sessions/</code>
 Erstellen eines **AKTIVEN-Session** mit einer **Anmeldungsdauer zum __TESTEN__** von **60 Sekunden** und unter Zuhilfenahme eines externen Programms ''/usr/lib64/squid/ext_session_acl'' ebenfalls mit einer **Session-Laufzeit zum __TESTEN__** von **60 Sekunden**, welche in einer **BerkelyDB** unter nachfolgendem Pfad ''/var/lib/squid/sessions/'' abgelegt wird. Erstellen eines **AKTIVEN-Session** mit einer **Anmeldungsdauer zum __TESTEN__** von **60 Sekunden** und unter Zuhilfenahme eines externen Programms ''/usr/lib64/squid/ext_session_acl'' ebenfalls mit einer **Session-Laufzeit zum __TESTEN__** von **60 Sekunden**, welche in einer **BerkelyDB** unter nachfolgendem Pfad ''/var/lib/squid/sessions/'' abgelegt wird.
  
-  * <code>acl session_login external session LOGIN</code>+  * <code bash>acl session_login external session LOGIN</code>
 ACL welche die **Anmeldeinformationen** aus dem **AKTIVEN-Session** Hilfsprogramm ebenfalls an die **Session** bindet. ACL welche die **Anmeldeinformationen** aus dem **AKTIVEN-Session** Hilfsprogramm ebenfalls an die **Session** bindet.
  
-  * <code>external_acl_type session_active_def concurrency=100 ttl=60 negative_ttl=0 children-max=1 %LOGIN /usr/lib64/squid/ext_session_acl -T 60 -b /var/lib/squid/sessions/</code> +  * <code bash>acl clicked_login_url url_regex -i ^http://squid.tachtler.net/html/accept.php$</code> 
-Erstellen einer **NORMALEN-Session** mit einer **Anmeldungsdauer zum __TESTEN__** von **60 Sekunden** und unter Zuhilfenahme eines externen Programms ''/usr/lib64/squid/ext_session_acl'' ebenfalls mit einer **Session-Laufzeit zum __TESTEN__** von **60 Sekunden**, welche in einer **BerkelyDB** unter nachfolgendem Pfad ''/var/lib/squid/sessions/'' abgelegt wird. +ACL welche zutrifft, wenn die definierte URL, hier **URL - ''http://squid.tachtler.net/html/accept.php''** aufgerufen wirddiese in der **Session** als **aufgerufen** zu kennzeichnen
- +
-  <code>acl session_is_active external session_active_def</code> +
-ACL zur Definition einer einfachen **Session**, welche der aktiven Session zur Bestätigung dient.+
  
-  * <code>acl clicked_login_url url_regex -i http://www.squid.tachtler.net/html/accept.php</code> +  * <code bash>http_access allow clicked_login_url session_login</code> 
-ACL welche zutrifft, wenn die definierte URL, hier ''http://www.squid.tachtler.net/accept.php'' aufgerufen wirddiese in der **Session** als **aufgerufen** zu kennzeichnen. +Überprüfung, wenn die **URL ''http://squid.tachtler.net/html/accept.php''** noch nicht aufgerufen wurdeden Zugriff auf die **ursprüngliche vom Browser/Benutzer angeforderte URL** zu verweigern!
  
-  * <code>http_access allow clicked_login_url session_login</code> +  * <code bash>http_access allow proxy</code> 
-Überprüfung, ob die **URL - ''http://www.squid.tachtler.net/html/accept.php''** bereits aufgerufen wurde und auch so in der **Session** gekennzeichnet wurde!+Zugriff auf die Ressource welche in der **ACL** ''proxy'' definiert wurdeauch **__ohne__** Aufrufzustimmung zulassen.
  
-  * <code>http_access deny !session_is_active</code> +  * <code bash>http_access deny !session_is_active</code> 
-Überprüfungwenn die **URL - ''http://www.squid.tachtler.net/html/accept.php''** noch nicht aufgerufen wurde, den Zugriff auf die **ursprüngliche vom Browser/Benutzer angeforderte URL** zu verweigern!+Alle weiteren Zugriffe verweigernbis die aktive Session mit der definierten URL, hier **URL - ''http://squid.tachtler.net/html/accept.php''** aufgerufen wurde, und diese in der **Session** als **aufgerufen** gekennzeichnet wurde. 
  
-  * <code>deny_info http://www.squid.tachtler.net/html/splash.php?url=%u session_is_active</code> +  * <code bash>deny_info 511:splash.php session_is_active</code> 
-Anzeige der sogenannten **''deny_info''** - was der **Portal Splash Page** entspricht, **solange** die **URL - ''http://www.squid.tachtler.net/html/accept.php''** nicht aufgerufen wurde!+Anzeige der sogenannten **''deny_info''** - was der **Portal Splash Page** entspricht, **solange** die **URL - ''http://squid.tachtler.net/html/accept.php''** nicht aufgerufen wurde!
  
 ==== Portal Splash Pages - Test ==== ==== Portal Splash Pages - Test ====
tachtler/squid_centos_7.1508224655.txt.gz · Zuletzt geändert: 2017/10/17 09:17 von klaus