Squid from the scratch: Unterschied zwischen den Versionen

Aus xinux.net
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
=Installation=
+
*[[Squid Grundlagen]]
*apt-get install squid
+
*[[Squid erste Schritte]]
=Konfiguration=
 
*cd /etc/squid
 
*mv squid.conf squid.conf.org
 
=Reduzieren auf das notwendige=
 
*grep "^[^#]" squid.conf.org  > squid.conf
 
=Die Konfigurationsdatei=
 
cat /etc/squid/squid.conf
 
<pre>
 
#Accesslisten
 
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  # 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 CONNECT method CONNECT
 
  
#HTTP Access
 
http_access deny !Safe_ports
 
http_access deny CONNECT !SSL_ports
 
http_access allow localhost manager
 
http_access deny manager
 
http_access allow localhost
 
http_access deny all
 
  
#Port
 
http_port 3128
 
 
#Wenn Squid abstürtz wird hier ein Abbild hingeschrieben
 
coredump_dir /var/spool/squid
 
 
#Caching Verhalten
 
refresh_pattern ^ftp:          1440    20%    10080
 
refresh_pattern ^gopher:        1440    0%      1440
 
refresh_pattern -i (/cgi-bin/|\?) 0    0%      0
 
refresh_pattern (Release|Packages(.gz)*)$      0      20%    2880
 
refresh_pattern .              0      20%    4320
 
</pre>
 
 
=Lan und DMZ freischalten=
 
=Lan und DMZ freischalten=
 
==acl bilden==
 
==acl bilden==

Version vom 4. September 2022, 18:03 Uhr


Lan und DMZ freischalten

acl bilden

acl lan src 172.16.150.0/24
acl dmz src  10.40.115.0/24

acl anwenden(Reihenfolge ist entscheidend)

http_access allow lan
http_access allow dmz

Squid handling

Squid stop

  • systemctl stop squid

Squid start

  • systemctl start squid

Squid restart

  • systemctl restart squid

Squid reload

  • systemctl reload squid

Squid status

  • systemctl status squid

Squidport checken

  • netstat -ltnp | grep 3128
tcp6       0      0 :::3128                 :::*                    LISTEN      4396/(squid-1)

Squidprozesse checken

  • ps -elf | grep squid
0 S root      3010  2361  0  80   0 - 14458 poll_s 11:34 pts/1    00:00:00 vim squid.conf
1 S root      4394     1  0  80   0 - 27319 wait   15:18 ?        00:00:00 /usr/sbin/squid -YC -f /etc/squid/squid.conf
4 S proxy     4396  4394  0  80   0 - 37351 ep_pol 15:18 ?        00:00:00 (squid-1) -YC -f /etc/squid/squid.conf
4 S proxy     4397  4396  0  80   0 -  3320 unix_s 15:18 ?        00:00:00 (logfile-daemon) /var/log/squid/access.log

Webseite einschränken

Acl bilden

acl facebook url_regex -i facebook

Acl anwenden

http_access deny facebook

Logs checken

  • tail -f /var/log/squid/access.log

1490008947.188 2 192.168.244.144 TCP_MISS/503 4447 GET http://detectportal.firefox.com/success.txt - HIER_NONE/- text/html

Blacklist erstellen

  • Wird erstellt, um diverse Seiten zu deaktivieren

http-liste erstellen

vi /etc/squid/bad-sites.list

http-seiten hinzufügen

facebook.com
pr0gramm.com

erstellen der acl

acl bad-sites  url_regex -i "/etc/squid/bad-sites.list"

erstellen der http_access

http_access deny bad-sites

Authentifizierung

  • Wird genutzt um sich bei dem Browser zu authentifizieren, und somit bestimmte Seiten freigeschaltet werden können

User anlegen

root@batman-ThinkPad-R60:~# htpasswd -c /etc/squid/passwordfile sterling
New password:
Re-type new password:
Adding password for user sterling

Konfiguration der Authentifizierung

auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwordfile
auth_param basic children 20 startup=0 idle=1
auth_param basic concurrency 0
auth_param basic credentialsttl 500
auth_param basic realm xinux-user-access
auth_param basic casesensitive off

erstellen der acl

acl xinux-user proxy_auth REQUIRED

erstellen der http_access

http_access allow xinux-user
  • Nun müssen sich alle erstellten User authentifizieren

Time

  • Um eine Website zu einer gewissen Zeit freizugeben, benutzt man "time"

erstellen der acl

acl break-time time 12:00-13:00

erstellen der http_access

http_access allow bad-sites break-time
  • In diesem Beispiel werden die bad-sites um 12:00-13:00 freigeschaltet