Squid bietet ACLs. Siehe hierzu in der Dokumentation:
Zusammenfassung
- Es gibt Access Control Lists (ACL) z.B.:
acl mynetwork src 10.0.0.0/255.0.0.0 acl internal dst 192.168.1.0/24
- werden mehrere decision_strings angehängt, so fällt in die acl, wer bereits die Bedingung eines einzelnen Strings erfüllt
- Wenn viele decision_strings angegeben werden oder zur besseren Übersichtlichkeit kann man auch Dateinamen angeben. Z.B.:
acl src mynet "/etc/squid/mynet.lst"
- und Access Control Operators (ACO):
http_access allow mynet
- stehen mehrere ACL hinter einem ACO, so müssen alle ACLs zutreffen, damit der Operator ausgeführt wird.
- Ist eine passende Regel gefunden worden, so wird der Rest des ACO ignoriert
Access Operators immer mit einem deny all abschliesen
ACLs eignen sich nur begrenzt zum Filtern von Inhalten (z.B. Staat sex amen)
- ACLs eignen sich zum "intelligenten" cachen sowie zum ausbremsen von bestimmten Gruppen von Zugriffen
Access Control Lists
Kurz ACL.
Syntax: acl type name decision_string (...)
Dabei kann type folgende Werte annehmen:
src / dst |
Source/Destination IP address |
srcdomain / dstdomain |
Source/Destination Domain |
url_regex |
Regular Expression match of requested domain |
srcdom_regex / dstdom_regex |
Words in the source or destination domain |
time |
Current day/time |
port |
Destination port |
proto |
Protocol (FTP, HTTP, SSL) |
method |
Method (HTTP GET or HTTP POST) |
? |
Browser type |
ident |
Name (according to the Ident protocol) |
? |
Autonomous System (AS) number |
? |
Username/Password pair |
snmp_access |
SNMP Community |
Access Control Operators
Kurz ACO.
Syntax: acl_operator allow|deny [!]aclname [ [!]aclname2 ... ]
Folgende Werte für acl_operator sind zulässig:
http_access |
allow bedeutet, der Zugriff auf den http-cache erlaubt ist |
icp_access |
allow bedeutet, das das Internet Cache Protocol genutzt wird |
no_cache |
allow bedeutet, das der Zugriff gecached wird |
ident_lookup_access |
|
miss_access |
|
always_direct/never_direct |
always_direct allow bedeutet, das keinesfalls ein Parent-Cache gefragt wird |
snmp_access |
|
delay_access |
allow ordnet einen Zugriff einem Delay-Pool zu |
broken_posts |
|