pfSense + Squid ααΆαα½α https filtering + αα
αα
αααα·ααααΆααΆαα
αΌααααα½α (SSO) ααΆαα½αααΆαααααααααααα»α Active Directory
ααΆαααΆαααααα
αα ααααΆαααααΌαααΆαααΎααααΈα’αα»αααααααΆαααΈαααααααΌααααΈαααααΆααααααααΆαααααααΆαα αΌααα ααΆααααα ααααα (αα½αααΆαα https) ααααααα»αααΈ AD ααΌα ααααα’αααααααΎααααΆαααα·ααααα αΌαααΆααααααααΆαααααααααα α αΎαααΆααααααααααα’αΆα ααααΎα‘αΎαααΈα ααα»α αααααΆααααα αααααα αα·ααααααΆαααααα·ααΈα’αΆααααααα ααααα?
α ααααΎαααααΉαααααΌαααΊααααΌααα·ααααααααααΆαααΌα ααΆ Kerio Control α¬ UserGate ααα»ααααααΌα αααααααααα·αααΆααα»α ααα»ααααααΆααααααΌαααΆαα
αααααΆααααααααα Squid α αΆααααα’αααα½αααααααααααΎα ααα»ααααααααααα ααΎαααα»αα’αΆα ααα½αααΆαα ααα»α αααααΆααααα ααααααα α―ααΆ? SAMS2? α α½αααααααΆαααΈααααα αααααΊααΆααααααααα pfSense αααα½αααααααααα
ααα·ααΆα
α’ααααααααααΉααα·αααααΆα’αααΈααααααααααα
ααΆαααααααααααΆαααΈαααααααΌααααΈ Squid α
Kerberos ααΉαααααΌαααΆαααααΎααΎααααΈααααααα·αααα·αααα’αααααααΎααααΆααα
SquidGuard ααΉαααααΌαααΆαααααΎααΎααααΈααααααααααα»ααααα
Lightsquid, sqstat αα·ααααααααααααα½ααα·αα·ααα pfSense ααΆααααα»αααΉαααααΌαααΆαααααΎαααααΆααααΆααααα½ααα·αα·αααα
αααα αΆααΌαα
αααααΆααααααΉαααΆαα’αα»αααααα
αα
αααα·ααααΆ single sign-on (SSO) ααααΉαααααΌαααΆααααααααΆαααααα αααααΊαααααα·ααΈαααααααΆααΆαα
αΌαααααΎα’ααΈαααΊαα·ααααααααααΈααααΈαα·αααααααααΈαααααααααααααα½αααα
αααα»ααααα αααα‘αΎα Squid
pfSense ααΉαβααααΌαβααΆαβααααΎβααΆβααΌαααααΆα,
αα
ααΆααααα»ααααααΎααααα
αααΆααααααααααΆαααα
αααααΆααααααΎαααααααα½αα―ααααααααΎααααΈαααα
ααααΆααααΆαα!
αα»ααααα’αααα αΆααααααΎαααα‘αΎα Squid α’αααααααΌαααααααα ααΆαααααααααααΆαααΈααα DNS αααα»α pfsense αααααΎααααααααααΆ A αα·α PTR record αααααΆααααΆαα ααΎαααΆαααΈααα DNS ααααααΎα α αΎαααααααα ααΆαααααααα NTP ααΌα αααααααααααΆαα·ααα»αααααΆααΈαααααααΆαα ααΎα§ααααααααααΆαααα
α αΎααα αααα»ααααααΆαααααα’ααα αααααααΌααααααααΆααααααΆααα ααα»α αααααΆαα pfSense WAN ααΎααααΈα αΌαααααΎα’ααΈαααΊαα·α αα·ααααααΆααα’αααααααΎααααΆαααα ααΎαααααΆαααΌαααααΆαααΎααααΈααααΆαααα α ααα»α αααααΆαα LAN αα½αααΆααααΆααααα ααα 7445 αα·α 3128 (αααα»αααααΈαααααααα»α 8080) α
αα½α ααΆααα αΎαα¬αα ? ααΎαααααααΌαααΆαααααΆααααΆαααα LDAP αααααΆααααΆαα’αα»ααααΆααα ααΎ pfSense α αΎαααΎαααααααΆααααΌαααΆαααααΎααααΆααααααααα¬αα? α’ααα αΆαααα ααΆααααααα αΎαααΎααααΈα αΆααααααΎαααααΎαααΆαα ααααα
ααΆαααα‘αΎααα·αααΆααααααααΆαα»α
ααΎαααΉαααα‘αΎα Squid, SquidGuard αα·α LightSquid ααΈαααααα·ααΈααααααααααααα αα pfSense αα αααα»αααααα "System/Package Manager"α
αααααΆααααΈααΆαααα‘αΎαααααααααα ααΌαα αΌααα ααΆαα "Services/Squid Proxy server/" α αΎαααΆααααΌααα αααα»αααααΆαα Local Cache ααααααα ααΆααααααααααααΆαααααααΆαα αααα»ααααααα’αααΈααααααααΆααα ααΆ 0 ααααα αααα»αβαα·αβααΎαβα ααα»α βα αααΎαβαα βαααα»αβααα αααααβααααΆααβαααααΆααβαα αααααα·ααΈαα»αααβααΆαβα’ααΈαααΊαα·αβαααααααΆαβααΆβααΆαβααα’α αααααΆααααΈααΆαααααα ααΌαα α»α αααΌαα»α "αααααΆαα»α" αα αααααααΆααααααααα’αααααα α αΎαααΆααΉααααααα±ααααΎαααΌαα±ααΆαααΎααααΈααααΎααΆααααααααααΌααααΈααΆααΌαααααΆαα
ααΆααααααααααΆαααααΆαααΌα ααΆααααααα
α
αααααααΆαααΎαααΊ 3128 ααα»αααααααα»αα
αΌαα
α·αααααααΎ 8080 α
αααΆαααΆαααααααααααΆαααααΎαααΎααα αααα»αααααΆαα α ααα»α αααααΆααααααΌααααΈ αααααα ααα»α αααααΆααααΆαα½αααααααΆαααΈαααααααΌααααΈααααααΎαααΉαααααΆααα αααααΆααααααΆααααααΎααααααααΌαααΆααααααΎαα‘αΎαααΆααααααααααΆααΎααα ααΎα’ααΈαααΊαα·αααΆααααα ααα»α αααααΆαα WAN αααααΈααΆ LAN αα·α WAN α’αΆα αααα·ααα ααΎαααααΆααααααα»ααααααααΌα ααααΆααααα αααα»αααΌαααααΆαα±ααααααΎ LAN αααααΆααααααΌααααΈα
Loopback ααΊα αΆαααΆα ααααααΆαα sqstat ααΎααααΈααααΎαααΆαα
ααΆαααααααααα’αααααΉαααΎαααΆααααααααααΌααααΈαααααΆααΆα ααααΌα ααΆααααα SSL ααα»ααααααΎααα·αααααΌαααΆααα½αααΆαα ααααΌααααΈααααααΎαααΉααα·αααΆααααααΆααΆα α αΎααααααΆααααΆααααα https ααΎαααΉααα·ααααααααΆαααΆαα½αααΉαααΆααααα½ααα·ααααΆαααααααα (αααααΆααααΈααΆααα’αα ααΎαααΆαααΆααααααααααα―αααΆα , α’αα·αα·αααααΆααΆαααα) αααααΎαααΆαα αΆααααα
αα ααααΆααααΆαααα ααΎαααααΌαα αΌααα ααΆααα§ααααααααααΆαααααααααΎα αααααΎαααααΈαα½ααα αααα»αααΆαααααΆααααΆααααααααααΆαα (α’αααααα’αΆα ααααΎααααΈαααα’αααααΆαααααααα ααΆαααααααααααααΆααααΆααααααααααΆαααα ααΎ pfSense αααα½αααΆααααα)α αααααΆααααΆαααα ααΈαααααΊααΆ ααααα·αααΎα’αααααΆαααααααααΎααΆαα’αα·αααααΈα AES128 α¬ AES256 ααΌαααΈααααα’ααααααααααααα αααα»αααΆααααααααααΈααααα’αααα
ααααα·αααΎαααααααα’αααααΆαααααααα»αααααααΆααααααΆαα ααα½αααα αααΎα α¬αααααααα’αααααΊ .local αααα’αΆα αα αα½α ααα»αααααα·αααααΆαααα α’αααααΉαααααΌαααααΎααΆααααααααΆααααΆαααααααααΆααααααΈααα ααα α»αααααΌαααΆαααααααΆαα ααα»ααααααΆαα½αααΉαααΆααααα»αααααΆα ααΆαααβαααααΆααβααΆβαααα ααβααΆβαα·αβααααΎαααΆαβαα α’αααβααααΌαβαα·αα·αααβααΎβααααΈβαα»ααααβααΆααααΆααα
αααααΆααααΈα’αααΈαααΆααα’ααααα ααΎααααααΎαα―αααΆααααααΉααααααΆαα Kerberos αα
ααΎα§ααααααααααΆααα ααΎααααα’αααααα
αΌαααΆααααααααΆαααααΆααα·αααα·α’αααααααααααα α αΎααααα
αΌαα
# ktpass -princ HTTP/[email protected] -mapuser pfsense -pass 3EYldza1sR -crypto {DES-CBC-CRC|DES-CBC-MD5|RC4-HMAC-NT|AES256-SHA1|AES128-SHA1|All} -ptype KRB5_NT_PRINCIPAL -out C:keytabsPROXY.keytab
αααααααααααΎαα
ααα’α»ααααα αΆα FQDN pfSense ααααααΎα ααααΌαααααΆααααΆααααααααΈααα αα
αααα»ααααΆαααΆαααααα mapuser ααΎααααα
αΌαααααΈαααααααααΎα αα·αααΆααααααααΆααααααααΆ α αΎααα
αααα»α crypto ααΎαααααΎαααΎααα·ααΈααΆαααααα’αα·αααααΈα αααα»αααΆαααααΎ rc4 αααααΆααααΆαααΆα α αΎααα
αααα»αααΆα -out ααΎαααααΎαααΎαααααααααα ααΎαααΉαααααΎα―αααΆααααααΉααααααααααα½α
ααΆααααα
ααααααΎαα
αααααΆααααΈαααααΎαα―αααΆαααααααααααα ααΎαααΉαααααΎααΆαα
pfSense ααααααΎα αααα»αααΆαααααΎ Far αααααΆααααΏαααα ααα»ααααα’αααααα’αΆα
ααααΎααΆααΆααααααααΎααΆααααααααΆ putty α¬ααΆααααα
ααα»α
αααααΆαααααααΆα pfSense αα
αααα»αααααα "DiagnosticsCommand Line" α
α₯α‘αΌααααααΎαα’αΆα ααααααα½ααααααΎα /etc/krb5.conf
ααα /etc/krb5.keytab ααΊααΆα―αααΆααααααΉααααααΎαααΆααααααΎαα
ααααΌαααααΆααααΆαα·αα·αααααΎαααααα·ααααα·ααΆααααα Kerberos αααααααΎ kinit ααααα·αααΎααΆαα·αααααΎαααΆα ααΆααααΆαα ααα»α α’αααΈαααα»αααΆαα’αΆαααααααααα
ααααααα ααΆααααααααααΆααααααααααΆαα Squid αα·αααααΆααααααΈααΆαα αΌαααααΎααΆααααααααααΆαα
αααααΆαααααααα ααΆαααααααα Kerberos ααααααααα ααΎαααΉαααααΆααααΆαα Squid ααααααΎαα
ααΎααααΈααααΎααΌα αααα ααΌαα αΌααα ααΆαα ServicesSquid Proxy Server α αΎααα αααα»αααΆααααααααααΆαα ααΌαα αΌααα ααΆαααααααααΆαααααααααα»α αα ααΈαααααΎαααΉαααΎααααΌαα»α βAdvanced settingsβα
αα αααα»ααααα’αα αααααΎαααααΆαααααα½α (αα»αααΆααααααααααΆαα) ααΌααααα αΌαα
#Π₯Π΅Π»ΠΏΠ΅ΡΡ
auth_param negotiate program /usr/local/libexec/squid/negotiate_kerberos_auth -s GSS_C_NO_NAME -k /usr/local/etc/squid/squid.keytab -t none
auth_param negotiate children 1000
auth_param negotiate keep_alive on
#Π‘ΠΏΠΈΡΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ°
acl auth proxy_auth REQUIRED
acl nonauth dstdomain "/etc/squid/nonauth.txt"
#Π Π°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ
http_access allow nonauth
http_access deny !auth
http_access allow auth
ααααααααΆ αααααα·ααΈα αα αΆ auth_param /usr/local/libexec/squid/negotiate_kerberos_auth β ααααΎαααΎααααα½αααΆααααααααααΆαα Kerberos αααααΎαααααΌαααΆαα
αααααΉα -s ααΆαα½αααΉαα’αααααα GSS_C_NO_NAME - αααααααΆαααααΎααααΆααααααΈααΆαα½αααΈα―αααΆααααααΉαα
αααααΉα -k ααΆαα½αααΉαα’αααααα /usr/local/etc/squid/squid.keytab - αααααααΎααααΈααααΎα―αααΆαααααΆααααααΆααα α»α αα·ααααααα αααα»αααααΈαααααααα»α αααααΆα―αααΆαααααΆααααααΆααα α»α ααΌα ααααΆαααααΎαααΆααααααΎα ααααααα»αααΆαα αααααα αα /usr/local/etc/squid/ α αΎαααααΌααααααααΆαααααααΉααα·αα ααααααΎααΆαα·αααααΆαα½αααααα ααΆααααααααααα»ααα·αααΆα αα·αααα·αααααααααΆααα
αααααΉα -t ααΆαα½αααΉαα’αααααα - ααααΆα - αα·αααααΎαααΆαααααΎααααααααα
ααΆααα§ααααααααααΆααα αααααΆαααααααααΆααααα»ααα
ααΎααΆαααΆαα
αααΎα ααααα·αααΎα’αααααΆαα’αααααααΎααααΆααααΎαααΈ 50 ααΆααα
αααα»αα’αα‘α»ααααααααΎααααα α’αααααα’αΆα
αααααααα»αααΆαα -d - α§. ααΆααα·αα·α
αααα αααααα ααα»α
αααΎααααααΉαααααΌαααΆααααα αΆαα
auth_param α
αα
αΆααα»ααΆα 1000 - αααααααΆααΎααααΎαααΆαα’αα»ααααΆααααα»ααααααααΆαααααΆααα»ααααΆαα’αΆα
ααααΌαααΆαα
αΆααααααΎα
auth_param α
αα
αΆ keep_alive on - ααΆαααΆαααΆαααααΆααααΈααΆαααααΆα
ααα
ααααααααααααααααααααΆααααΆαα’αα»ααααΆα
acl auth proxy_auth ααΆαααΆα β αααααΎα αα·αααΆαααΆααααααΈαααα½ααα·αα·αααααΆαα
αΌαααααΎ ααααα½ααααα
αΌαα’αααααααΎααααΆαααααααΆαααΆαα’αα»ααααΆα
acl nonauth dstdomain "/etc/squid/nonauth.txt" β ααΎαααΌαααααΉααααααααααΉαα’αααΈαααααΈααΆαα
αΌαααααΎ nonnauth αααααΆααααααααα
αααααα»ααααααααααααΆααΉααααααααααΌαααΆαα’αα»ααααΆαα±ααα
αΌαααααΎα ααΎααααααΎαα―αααΆαααααααα½αααΆ α αΎααααα
αΌαααααα
αααα»αααΆαααα»ααααααα
.whatsapp.com
.whatsapp.net
Whatsapp ααααΌαβααΆαβααααΎβααΆβα§ααΆα αααβαααααΆααβα ααα»ααβαα½α - ααΆβααΆαβαααααΎαβααααΆααβααΆααβα’αααΈβααααΌααααΈβααΆαβαααααααααΆααβααΆαβααααΉαααααΌα α αΎαβααΉαβαα·αβααααΎαααΆαβαα ααααα·αβααΎβααΆβαα·αβααααΌαβααΆαβα’αα»ααααΆαβαα»αβαααβααΆαβαααααααααΆααα
http_access α’αα»ααααΆαα±αα nonauth β α’αα»ααααΆαα±ααα
αΌαααααΎαααααΈααααααααΆααα’αααααΆααααααΆ
http_access deny !auth β ααΎαα αΆαααΆααααΆαα
αΌααα
ααΆααααα ααααααααααααααααααΆααα’αααααααΎααααΆαααααααααΆαααΆαα’αα»ααααΆα
http_access α’αα»ααααΆαααΆααααααααααΆαα - α’αα»ααααΆαα±ααα
αΌαααααΎα’αααααααΎααααΆαααααααΆαααΆαα’αα»ααααΆαα
αααα αΎαααΆααΆ Squid αααα½αααΆααααΌαααΆαααααααα
ααΆαααααααα α₯α‘αΌααααααααααα
αΆααααααΎαααααααΆααααα»αα
ααΆαααα‘αΎα SquidGuard
α αΌααα ααΆαα ServicesSquidGuard αααααααααΌααααΈα
αα αααα»ααααααΎα LDAP ααΎααααα αΌαααααααΆααααα’α·αααααααΈααααααΎααααααααΎαααααΆααααΆααααααααααΆαα Kerberos ααα»αααααααα»αααααααααΌα ααΆααααααα
CN=pfsense,OU=service-accounts,DC=domain,DC=local
ααααα·αααΎααΆαα ααααα α¬αα½α’αααααα·ααααα‘αΆααΆαα ααΆαα»ααΆααααΌαααααα½αααααΌαααΆααα»αααααααααα»ααααααααααα½α α¬ααΈαααα
'CN=sg,OU=service-accounts,DC=domain,DC=local'
"CN=sg,OU=service-accounts,DC=domain,DC=local"
αααααΆαα ααααΌαααααΆααααΆααΈααααα’ααααΆαααααα
ααΎααααΈααΆααααααΆα
α DOMAINpfsense ααααα·αα
αΆαααΆα
α
α₯α‘αΌααααααΌαα αΌααα ααΆαα Group Acl α αΎαα ααααα»αααΆαα αΌαααααΎαααααααααΎα αααα»αααααΎαααααααΆααααααΌα ααΆ group_0, group_1 ααΆααΎα αα αΌαααα 3 ααα 3 ααΆααααααΆα αΌαααααΎαααααααΈα α αΎα 0 ααΆααααααΆα’αααΈαααΊα’αΆα ααααΎαα ααΆαα
αααα»αααααΌαααΆαααααΆααααΌα ααΆααααααα
ldapusersearch ldap://dc.domain.local:3268/DC=DOMAIN,DC=LOCAL?sAMAccountName?sub?(&(sAMAccountName=%s)(memberOf=CN=group_0%2cOU=squid%2cOU=service-groups%2cDC=DOMAIN%2cDC=LOCAL))
ααΎααααααΆαα»ααααα»αααααααΎα α αΌααα ααΆαα Times αα ααΈααααααα»αααΆααααααΎααααααΆααα½ααααααΆααααααΆααΆααΉαααααΎαααΆαααΆαα·α αα α₯α‘αΌααααααΎααα ααΆααααααααααααα α αΎααααααΎααααααΈααΆαααΆααααααα α α·αααααααααΎα αααααΆααααΈαααααΎααααααΈ ααΎααααα‘αααα αααα»αααααααΎααα·α α αΎααα αααα»ααααα»αααΎαααααΎαααΌαα»α ααΎααααΈααααΎαααΎαα’ααααααα’αΆα αα ααααααααΆ α αΎαα’αααααΆαα·αα’αΆα αα ααΆααΆαα
LightSquid αα·α sqstat
ααααα·αααΎαααα»αα’αα‘α»ααααααααααΎαααΆαααα‘αΎα ααΎαααΆαααααΎαααΎα loopback αα αααα»αααΆαααααα squid α αΎαααΎαααααααΆαα αΌαααααΎ 7445 αα αααα»α firewall ααΆαααα ααΎαααααΆαααααααΎα αα·ααα ααΎ pfSense αααα½αααΆ αααααΆαααααα ααααααααΎαα αΌααα ααΆαα DiagnosticsSquid Proxy Reports ααΎαα’αΆα ααΎαααΆααααΆαααΆααααα½αααΆαα sqstat αα·α Lighsquid αααααΆαα αααααααααα ααΎαααΉαααααΌαααΆααα ααΈααα α’αααα’αΆα ααααΆαα½αααΆαα αΌα αα·αααΆααααααααΆαα α αΎαα’αααααα’αΆα ααααΎαααΎαααΆααα ααΆαααααα
ααΆααααα αα
pfSense ααΊααΆα§αααααααααΆαα’αΆαα»ααΆααααα’αΆα ααααΎα’αααΈαααΆαααΆα αααΎα - ααΆαααααΎα ααΆα αααααΌααααΈ αα·αααΆααααααααααααΆαα αΌαααααΎα’ααΈαααΊαα·αααααα’αααααααΎααααΆααααΊααααΆααααααΆαα»αααΆαααΆααααΌαααα»ααααα ααα»αααααα αααα»ααα ααααΆααααααΆααααΆαααΈαα ααα½α 500 ααΆααΆααααααααΆααααα αΆ αα·αα’αα»ααααΆαα±ααααΎααααααΆαα»αα ααΎααΆααα·αααααΌααααΈα
αααα»ααααααΉαααΆα’ααααααααααΉααα½αααααΆααααΆααα±αααααααααΆααααα αΆαααααΆαααααααααααΆαααααααΆαααα ααααΆααα»αααααα αα·αααα
ααααα: www.habr.com