<div dir="ltr"><div>I have problems with Kerberos Autenthication in Squid3 on Debian 8 and Samba4 DC</div><div>My Squid version is: 3.4.8</div><div><br></div><div>My Kerberos Autenthication doesn't work.</div><div><br></div><div>PROCEDURES PERFORMED</div><div><br></div><div>INSTALL OF SAMBA4 AND WINBIND OF DEBIAN BACKPORTS</div><div>apt-get -t jessie-backports install samba samba-doc winbind</div><div><br></div><div>KERBEROS TEST: kinit <a href="mailto:administrator@EMPRESA.COM.BR">administrator@EMPRESA.COM.BR</a></div><div>klist -l</div><div>Principal Name                   Cache name</div><div>--------------                   ----------</div><div><a href="mailto:administrator@EMPRESA.COM.BR">administrator@EMPRESA.COM.BR</a>     FILE:/tmp/krb5cc_0</div><div><br></div><div>JOIN IN THE DOMAIN: net ads join -U administrator </div><div>net ads testjoin: JOIN OK</div><div><br></div><div>kdestroy</div><div>KERBEROS TEST:kinit <a href="mailto:administrator@EMPRESA.COM.BR">administrator@EMPRESA.COM.BR</a></div><div>klist -l</div><div>Principal Name                   Cache name</div><div>--------------                   ----------</div><div><a href="mailto:administrator@EMPRESA.COM.BR">administrator@EMPRESA.COM.BR</a>     FILE:/tmp/krb5cc_0</div><div><br></div><div>STOP SERVICES</div><div>/etc/init.d/winbind stop</div><div>/etc/init.d/samba stop</div><div>update-rc.d winbind remove</div><div>update-rc.d samba remove</div><div><br></div><div>export KRB5_KTNAME=FILE:/etc/squid3/HTTP.keytab</div><div><br></div><div>INSTALL OF SQUID3: apt-get install squid3</div><div><br></div><div>export KRB5_KTNAME=FILE:/etc/squid3/HTTP.keytab</div><div>net ads keytab CREATE</div><div>net ads keytab ADD HTTP</div><div>unset KRB5_KTNAME</div><div><br></div><div>chgrp proxy /etc/squid3/HTTP.keytab </div><div>chmod g+r /etc/squid3/HTTP.keytab </div><div><br></div><div>/etc/init.d/squid3 restart</div><div><br></div><div>KRB5_KTNAME=/etc/squid3/HTTP.keytab</div><div>export KRB5_KTNAME</div><div>KRB5RCACHETYPE=none</div><div>export KRB5RCACHETYPE</div><div><br></div><div>/etc/init.d/squid3 restart</div><div><br></div><div><br></div><div>Below are my configuration files:</div><div><br></div><div>1) /etc/krb5.conf</div><div>[libdefaults]</div><div><span class="" style="white-space:pre">       </span>default_realm = <a href="http://EMPRESA.COM.BR">EMPRESA.COM.BR</a></div><div><span class="" style="white-space:pre">   </span>dns_lookup_kdc = no</div><div>       dns_lookup_realm = no</div><div>       default_keytab_name = /etc/krb5.keytab</div><div><br></div><div>[realms]</div><div><span class="" style="white-space:pre"> </span><a href="http://EMPRESA.COM.BR">EMPRESA.COM.BR</a> = {</div><div><span class="" style="white-space:pre">       </span>kdc = <a href="http://dc1.EMPRESA.COM.BR:88">dc1.EMPRESA.COM.BR:88</a></div><div><span class="" style="white-space:pre">       </span>admin_server = <a href="http://dc1.EMPRESA.COM.BR">dc1.EMPRESA.COM.BR</a></div><div><span class="" style="white-space:pre">    </span>default_domain = <a href="http://EMPRESA.COM.BR">EMPRESA.COM.BR</a> </div><div><span class="" style="white-space:pre">        </span>}</div><div><br></div><div><br></div><div>[domain_realm]</div><div><span class="" style="white-space:pre">   </span>.<a href="http://EMPRESA.COM.BR">EMPRESA.COM.BR</a> = <a href="http://EMPRESA.COM.BR">EMPRESA.COM.BR</a></div><div><span class="" style="white-space:pre">       </span><a href="http://EMPRESA.COM.BR">EMPRESA.COM.BR</a> = <a href="http://EMPRESA.COM.BR">EMPRESA.COM.BR</a></div><div><br></div><div>[logging]</div><div>  kdc = FILE:/var/log/kdc.log</div><div>  admin_server = FILE:/var/log/kadmin.log</div><div>  default = FILE:/var/log/krb5lib.log</div><div><br></div><div>2/etc/samba/smb.conf</div><div>[global]</div><div>  netbios name = proxy </div><div>  workgroup = EMPRESA</div><div>  security = ads </div><div>  realm = <a href="http://EMPRESA.COM.BR">EMPRESA.COM.BR</a> </div><div>  encrypt passwords = yes</div><div>  dedicated keytab file = /etc/krb5.keytab</div><div>  kerberos method = secrets and keytab</div><div># password server = <a href="http://dc1.empresa.com.br">dc1.empresa.com.br</a></div><div>  preferred master = no</div><div>  idmap config *:backend = tdb</div><div>  idmap config *:range = 1000-3000</div><div>  idmap config EMPRESA:backend = ad</div><div>  idmap config EMPRESA:schema_mode = rfc2307</div><div>  idmap config EMPRESA:range = 10000-9999999</div><div><br></div><div>  winbind nss info = rfc2307</div><div>  winbind trusted domains only = no</div><div>  winbind use default domain = yes</div><div>  winbind enum users = yes</div><div>  winbind enum groups = yes</div><div>  winbind offline logon = yes</div><div>  winbind refresh tickets = yes</div><div><br></div><div>  vfs objects = acl_xattr</div><div>  map acl inherit = Yes</div><div>  store dos attributes = Yes</div><div>  username map = /etc/samba/user.map </div><div><br></div><div><br></div><div>3) /etc/squid3/squid.conf</div><div><br></div><div>### Configuracoes Basicas</div><div>http_port 3128</div><div><br></div><div>#debug_options ALL,111,2 29,9 84,6</div><div><br></div><div>cache_mem 512 MB</div><div>cache_swap_low 80</div><div>cache_swap_high 90</div><div><br></div><div>maximum_object_size 512 MB</div><div>minimum_object_size 0 KB</div><div><br></div><div>maximum_object_size_in_memory 4096 KB</div><div><br></div><div>cache_replacement_policy heap LFUDA</div><div>memory_replacement_policy heap LFUDA</div><div><br></div><div>#Para não bloquear downloads</div><div>quick_abort_min -1 KB</div><div><br></div><div><br></div><div>#Resolve um problema com conexoes persistentes</div><div>detect_broken_pconn on</div><div><br></div><div>fqdncache_size 1024</div><div><br></div><div>### Parametros de atualizacao da memoria cache</div><div>refresh_pattern ^ftp:<span class="" style="white-space:pre">        </span>1440<span class="" style="white-space:pre">      </span>20%<span class="" style="white-space:pre">       </span>10080</div><div>refresh_pattern ^gopher:<span class="" style="white-space:pre">      </span>1440<span class="" style="white-space:pre">      </span>0%<span class="" style="white-space:pre">        </span>1440</div><div>refresh_pattern -i (/cgi-bin/|\?) 0 0% <span class="" style="white-space:pre">        </span>0</div><div>refresh_pattern .<span class="" style="white-space:pre">         </span>0<span class="" style="white-space:pre"> </span>20%<span class="" style="white-space:pre">       </span>4320</div><div><br></div><div>### Localizacao dos logs</div><div>access_log /var/log/squid3/access.log</div><div>cache_log /var/log/squid3/cache.log</div><div><br></div><div><br></div><div>### define a localizacao do cache de disco, tamanho, qtd de diretorios pai e subdiretorios</div><div>cache_dir aufs /var/spool/squid3 600 16 256</div><div><br></div><div>#auth_param negotiate program /usr/lib/squid3/negotiate_kerberos_auth</div><div>auth_param negotiate children 10</div><div>auth_param negotiate keep_alive on</div><div><br></div><div>visible_hostname <a href="http://proxy.empresa.com.br">proxy.empresa.com.br</a></div><div><br></div><div>### acls</div><div>#acl manager proto cache_object</div><div>acl localhost src <a href="http://192.168.200.7/32">192.168.200.7/32</a></div><div>acl to_localhost dst <a href="http://192.168.200.7/32">192.168.200.7/32</a></div><div>acl SSL_ports port 22 443 563 7071 10000 # ssh, https, snews, zimbra, webmin</div><div>acl Safe_ports port 21<span class="" style="white-space:pre">              </span> # ftp</div><div>acl Safe_ports port 70<span class="" style="white-space:pre">               </span> # gopher</div><div>acl Safe_ports port 80 <span class="" style="white-space:pre">           </span> # http</div><div>acl Safe_ports port 88<span class="" style="white-space:pre">              </span> # kerberos</div><div>acl Safe_ports port 210<span class="" style="white-space:pre">         </span> # wais</div><div>acl Safe_ports port 280<span class="" style="white-space:pre">             </span> # http-mgmt</div><div>acl Safe_ports port 389<span class="" style="white-space:pre">                </span> # ldap</div><div>acl Safe_ports port 443 <span class="" style="white-space:pre">            </span> # https</div><div>acl Safe_ports port 488<span class="" style="white-space:pre">            </span> # gss-http</div><div>acl Safe_ports port 563<span class="" style="white-space:pre">         </span> # snews</div><div>acl Safe_ports port 591<span class="" style="white-space:pre">            </span> # filemaker</div><div>acl Safe_ports port 777<span class="" style="white-space:pre">                </span> # multiling http</div><div>acl Safe_ports port 3001            # imprenssa nacional</div><div>acl Safe_ports port 8080<span class="" style="white-space:pre">             </span> # http</div><div>acl Safe_ports port 1025-65535<span class="" style="white-space:pre">      </span> # unregistered ports</div><div><br></div><div>acl purge method PURGE</div><div>acl CONNECT method CONNECT</div><div><br></div><div>### Regras iniciais do Squid</div><div>http_access allow localhost</div><div>http_access allow purge localhost</div><div>http_access deny purge</div><div>http_access deny !Safe_ports</div><div>http_access deny CONNECT !SSL_ports</div><div><br></div><div>### Exige autenticacao</div><div>acl autenticados proxy_auth REQUIRED</div><div>http_access deny !autenticados</div><div><br></div><div># acl ligada a autenticacao</div><div>acl grupo_admins proxy_auth "/etc/squid3/acls/usr-admins"</div><div><br></div><div>acl grupo_liberado proxy_auth "/etc/squid3/acls/usr-liberados"</div><div> </div><div>#libera o grupo de administradores</div><div>http_access allow grupo_admins</div><div><br></div><div>### Bloqueia extensoes de arquivos</div><div>acl extensoes_bloqueadas url_regex -i "/etc/squid3/acls/extensoes-proibidas"</div><div><br></div><div>### Liberar alguns sites</div><div>acl sites_liberados url_regex -i "/etc/squid3/acls/sites-permitidos"</div><div><br></div><div>### Bloqueia sites por URL</div><div>acl sites_bloqueados url_regex -i "/etc/squid3/acls/sites-proibidos"</div><div><br></div><div>#bloqueios basicos</div><div>http_access allow sites_liberados</div><div>http_access deny extensoes_bloqueadas</div><div>http_access deny sites_bloqueados </div><div><br></div><div># Libera acesso ao grupo de chefes e professores</div><div>http_access allow grupo_liberado</div><div><br></div><div># Incorpora as regras do SquidGuard</div><div>redirect_program /usr/bin/squidGuard</div><div>redirect_children 20</div><div>redirector_bypass on</div><div><br></div><div>#libera o grupo de usuarios comuns apos passar por todos os bloqueios</div><div>http_access allow autenticados</div><div><br></div><div>### Rede do CMB #####</div><div>acl lannet src <a href="http://192.168.200.0/22">192.168.200.0/22</a> </div><div><br></div><div><br></div><div>### Nega acesso de quem nao esta na rede local </div><div>http_access allow lannet </div><div><br></div><div>#negando o acesso para todos que nao estiverem nas regras anteriores</div><div>http_access deny all</div><div><br></div><div>### Erros em portugues</div><div>error_directory /usr/share/squid3/errors/pt-br</div><div><br></div><div>#cache_effective_user proxy</div><div>coredump_dir /var/spool/squid3</div><div><br></div><div><br></div><div>Regards,</div><div><br></div><div>Márcio Bacci</div></div>