<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Dear Ones, the more I use Squid the more I realize how powerful it is.</div><div dir="ltr">And like all powerful software it can be complex at first.</div><div dir="ltr">I would like to share my settings and if possible listen (read actually) your comments and suggestions.</div><div dir="ltr">My goals of using squid:</div><div dir="ltr">- Transparent authentication of my AD users (2012R2)</div><div dir="ltr">- Internet access rules based on users belonging to AD groups.</div><div dir="ltr">- Non-authenticated clients (Win PCs) cannot navigate through the proxy.</div><div dir="ltr">- That the clients (Win PCs) not belonging to an AD group allowed in squid, cannot navigate through the proxy.</div><div dir="ltr"><br></div><div>My test scenario:</div></div><div><div style="color:rgb(0,0,0)">- A VM CentOS 7 Core over VirtualBox 5.2, 1 NIC.</div><div style="color:rgb(0,0,0)">- My VM is attached to my domain W2012R2 (following this post <a href="https://www.rootusers.com/how-to-join-centos-linux-to-an-active-directory-domain/" target="_blank">https://www.rootusers.com/how-to-join-centos-linux-to-an-active-directory-domain/</a>) to achieve kerberos authentication transparent to the user. SElinux disabled. Owner permissions to user squid in all folders/files involved.</div><div style="color:rgb(0,0,0)">- squid 3.5.20 installed and working great with kerberos, NTLM and basic authentication.</div></div><div dir="ltr"><br></div><div>squid.conf</div><div dir="ltr"><div dir="ltr">### negotiate kerberos & ntlm authentication</div><div dir="ltr">auth_param negotiate program /usr/sbin/negotiate_wrapper --ntlm /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --kerberos /usr/lib64/squid/negotiate_kerberos_auth -r -i -s GSS_C_NO_NAME </div><div dir="ltr">auth_param negotiate children 10 </div><div dir="ltr">auth_param negotiate keep_alive on</div><div dir="ltr"><br></div><div dir="ltr">### standard allowed ports<br></div><div dir="ltr">acl SSL_ports port 443 </div><div dir="ltr">acl Safe_ports port 80 # http </div><div dir="ltr">acl Safe_ports port 21 # ftp </div><div dir="ltr">acl Safe_ports port 443 # https </div><div dir="ltr">acl Safe_ports port 70 # gopher </div><div dir="ltr">acl Safe_ports port 210 # wais </div><div dir="ltr">acl Safe_ports port 1025-65535 # unregistered ports </div><div dir="ltr">acl Safe_ports port 280 # http-mgmt </div><div dir="ltr">acl Safe_ports port 488 # gss-http </div><div dir="ltr">acl Safe_ports port 591 # filemaker </div><div dir="ltr">acl Safe_ports port 777 # multiling http </div><div dir="ltr">acl CONNECT method CONNECT</div><div dir="ltr"><br></div><div dir="ltr">### destination domains to be blocked in a HTTP access control</div><div dir="ltr">acl LS_malicius dstdomain -i "/etc/squid/DBL/malicius/malicius.txt"</div><div dir="ltr">acl LS_remotecontrol dstdomain -i "/etc/squid/DBL/remotecontrol/remotecontrol.txt"</div><div dir="ltr"><br></div><div dir="ltr">### LDAP group membership sources</div><div dir="ltr"># WEB_ACCESS_1</div><div dir="ltr">external_acl_type AD_WEB_ACCESS_1 %LOGIN /usr/lib64/squid/ext_ldap_group_acl -P -R -b OU=USERS,DC=netgol,DC=local -D ldap -W "/etc/squid/ldap_pass.txt" -f (&(sAMAccountName=%u)(memberOf=cn=WEB_ACCESS_1,OU=INTERNET,OU=PERMISOS,OU=NETGOL,DC=netgol,DC=local)) -h s-dc1.netgol.local -p 3268</div><div dir="ltr">acl WEB_ACCESS_1 external AD_WEB_ACCESS_1 web-access-1</div><div dir="ltr"><br></div><div dir="ltr"># WEB_ACCESS_2</div><div dir="ltr">external_acl_type AD_WEB_ACCESS_2 %LOGIN /usr/lib64/squid/ext_ldap_group_acl -P -R -b OU=USERS,DC=netgol,DC=local -D ldap -W "/etc/squid/ldap_pass.txt" -f (&(sAMAccountName=%u)(memberOf=cn=WEB_ACCESS_2,OU=INTERNET,OU=PERMISOS,OU=NETGOL,DC=netgol,DC=local)) -h s-dc1.netgol.local -p 3268</div><div dir="ltr">acl WEB_ACCESS_2 external AD_WEB_ACCESS_2 web-access-2</div><div dir="ltr"><br></div><div dir="ltr"># WEB_ACCESS_3</div><div dir="ltr">external_acl_type AD_WEB_ACCESS_3 %LOGIN /usr/lib64/squid/ext_ldap_group_acl -P -R -b OU=USERS,DC=netgol,DC=local -D ldap -W "/etc/squid/ldap_pass.txt" -f (&(sAMAccountName=%u)(memberOf=cn=WEB_ACCESS_3,OU=INTERNET,OU=PERMISOS,OU=NETGOL,DC=netgol,DC=local)) -h s-dc1.netgol.local -p 3268</div><div dir="ltr">acl WEB_ACCESS_3 external AD_WEB_ACCESS_3 web-access-3</div><div dir="ltr"><br></div><div dir="ltr">### HTTP access control policies<br></div><div dir="ltr">http_access deny !Safe_ports </div><div dir="ltr">http_access deny CONNECT !SSL_ports </div><div dir="ltr">http_access allow localhost manager </div><div dir="ltr">http_access deny manager</div><div dir="ltr">http_access deny WEB_ACCESS_1 LS_malicius</div><div dir="ltr">http_access deny WEB_ACCESS_2 LS_malicius</div><div dir="ltr">http_access deny WEB_ACCESS_3 LS_malicius</div><div dir="ltr">http_access deny WEB_ACCESS_1 LS_remotecontrol</div><div dir="ltr">http_access deny WEB_ACCESS_2 LS_remotecontrol</div><div dir="ltr">http_access allow WEB_ACCESS_1</div><div dir="ltr">http_access allow WEB_ACCESS_2</div><div dir="ltr">http_access allow WEB_ACCESS_3</div><div dir="ltr">http_access allow localhost</div><div dir="ltr">http_access deny all</div><div dir="ltr"><br></div><div dir="ltr">### personalization ###<br></div><div dir="ltr">http_port 8080 </div><div dir="ltr">coredump_dir /var/spool/squid </div><div dir="ltr">refresh_pattern ^ftp: 1440 20% 10080 </div><div dir="ltr">refresh_pattern ^gopher: 1440 0% 1440 </div><div dir="ltr">refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 </div><div dir="ltr">refresh_pattern .  0 20% 4320 </div><div dir="ltr">quick_abort_min 0 KB </div><div dir="ltr">quick_abort_max 0 KB </div><div dir="ltr">read_timeout 5 minutes </div><div dir="ltr">request_timeout 3 minutes </div><div dir="ltr">half_closed_clients off </div><div dir="ltr">shutdown_lifetime 15 seconds </div><div dir="ltr">log_icp_queries off </div><div dir="ltr">dns_v4_first on </div><div dir="ltr">ipcache_size 2048 </div><div dir="ltr">ipcache_low 90 </div><div dir="ltr">fqdncache_size 4096 </div><div dir="ltr">forwarded_for off </div><div dir="ltr">cache_mgr <a href="mailto:system@netgol.net">system@netgol.net</a> </div><div dir="ltr">visible_hostname proxy.netgol.local </div><div dir="ltr">httpd_suppress_version_string on </div><div dir="ltr">uri_whitespace strip</div><div dir="ltr">logfile_rotate 7</div><div dir="ltr">debug_options rotate=7</div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr"><div dir="ltr">Any suggestion or comment will be very useful to me and I thank you in advance.</div><div>Best regards</div><div dir="ltr"><br></div><div dir="ltr">Gabriel</div></div><div dir="ltr"><br></div><div><br></div></div></div></div></div></div>