negotiate_kerberos_auth(8)
β¨ negotiate_kerberos_auth(8) β¨
okay so bestie, welcome to the manual page for negotiate_kerberos_auth β it's a System Manager's Manual kinda situation, and it is literally version 3.0.4sq. Yes, that's the version. No, I'm not making it up. π
π NAME π
negotiate_kerberos_auth β the Squid kerberos based authentication helper.
Version 3.0.4sq, if you missed it the first time. She's got a version number and she's proud of it. πΈ
β SYNOPSIS β
negotiate_kerberos_auth [-h] [-d] [-i] [-r] [-s Service-Principal-Name]
[-k Keytab-Name] [-c Replay-Cache-Directory] [-t Replay-Cache-Type]
That's the whole vibe check right there. Let's break it down. π¦
π¦ DESCRIPTION π¦
negotiate_kerberos_auth is an installed binary, bestie. It's not some abstract concept β it's really out here on your filesystem doing the work. And what work? It lets Squid authenticate users via the Negotiate protocol and Kerberos. That's the whole job. That's the assignment and she ATE. π
π OPTIONS π
-hβ Shows you the binary help and the command line syntax info, and it writes that out usingstderr. Yes,stderr. Not stdout. That's just how she does it. π-dβ Writes debug messages tostderr. For when you wanna see everything, fr fr. π₯-iβ Writes informational messages tostderr. Chill little updates. Not debug-level chaos. β¨-rβ Removes the realm from the username before returning that username to squid. Just strips it off, no big deal. π-s Service-Principal-nameβ Provides the Service Principal Name. You hand it over, she uses it. Iconic. β-k Keytab-Nameβ Provides the Kerberos Keytab Name. Default:/etc/krb5.keytabπ-c Replay-Cache-Directoryβ Provides the Replay Cache Directory. Default:/var/tmpπΈ-t Replay-Cache-Typeβ Provides the Replay Cache Type. Default:dflπ¦
π CONFIGURATION π
This helper is meant to be used as an authentication helper in squid.conf. Like, that's her whole purpose in life, and honestly? Main character energy. π
auth_param negotiate program /path/to/negotiate_kerberos_auth
auth_param negotiate children 10
auth_param negotiate keep_alive on
NOTE: The following squid startup file modification may be required. β οΈ
Add the following lines to the squid startup script to point squid to a keytab file which contains the HTTP/fqdn service principal for the default Kerberos domain. The keytab name can also be provided by the -k <keytab name> option. The fqdn must be the proxy name set in IE or firefox. You can not use an IP address. Like, seriously, don't. It's giving "I didn't read the manual" and not in a cute way. π
KRB5_KTNAME=/etc/squid/HTTP.keytab export KRB5_KTNAME
If you use a different Kerberos domain than the machine itself is in, you can point squid to the separate Kerberos config file by setting the following environment variable in the startup script. π
KRB5_CONFIG=/etc/krb5-squid.conf export KRB5_CONFIG
Kerberos can keep a replay cache to detect the reuse of Kerberos tickets (usually only possible in a 5 minute window). If squid is under high load with Negotiate(Kerberos) proxy authentication requests, the replay cache checks can create high CPU load. If the environment does not require high security, the replay cache check can be disabled for MIT based Kerberos implementations by adding the below to the startup script, or use the -t none option. π₯
KRB5RCACHETYPE=none export KRB5RCACHETYPE
If negotiate_kerberos_auth doesn't determine the right service principal for some reason, you can provide it with -s HTTP/fqdn. β¨
If you serve multiple Kerberos realms, add a HTTP/fqdn@REALM service principal per realm to the HTTP.keytab file, and use the -s GSS_C_NO_NAME option with negotiate_kerberos_auth. π¦
π AUTHOR π
This program was written by Markus Moeller <markus_moeller@compuserve.com> πΈ
This manual was written by Markus Moeller <markus_moeller@compuserve.com> πΈ
Same person, both times. We love a self-sufficient legend. π
π COPYRIGHT π
* Copyright (C) 1996-2014 The Squid Software Foundation and
contributors
*
* Squid software is distributed under GPLv2+ license and includes
* contributions from numerous individuals and organizations.
* Please see the COPYING and CONTRIBUTORS files for details.
This program and documentation is copyright to the authors named above.
Distributed under the GNU General Public License (GNU GPL) version 2 or later (GPLv2+). β
π§ QUESTIONS π§
Questions on the usage of this program can be sent to the Squid Users mailing list <squid-users@lists.squid-cache.org> π
π REPORTING BUGS π
Bug reports need to be made in English. See https://wiki.squid-cache.org/SquidFaq/BugReporting for details of what you need to include with your bug report. π
Report bugs or bug fixes using http://bugs.squid-cache.org/ π₯
Report serious security bugs to Squid Bugs <squid-bugs@lists.squid-cache.org> π¨
Report ideas for new improvements to the Squid Developers mailing list <squid-dev@lists.squid-cache.org> β¨
π SEE ALSO π
squid(8)ext_kerberos_ldap_group_acl(8)RFC4559β SPNEGO-based Kerberos and NTLM HTTP Authentication in Microsoft WindowsRFC2478β The Simple and Protected GSS-API Negotiation MechanismRFC1964β The Kerberos Version 5 GSS-API Mechanism- The Squid FAQ wiki
https://wiki.squid-cache.org/SquidFaq - The Squid Configuration Manual
http://www.squid-cache.org/Doc/config/ https://wiki.squid-cache.org/ConfigExamples/Authenticate/Kerberos
and that's the whole page bestie!! π«Ά you made it to the end of negotiate_kerberos_auth(8), version 3.0.4sq β she's a Squid Software Foundation girlie through and through. now go authenticate something responsibly, ily, bye!! πβ¨ππ¦πΈπ
π¦ where this page comes from
- alpine 3.22: squid-doc 6.12-r0 Β· GPL-2.0-or-later
- alpine 3.23: squid-doc 7.6-r0 Β· GPL-2.0-or-later
- alpine 3.24: squid-doc 7.6-r0 Β· GPL-2.0-or-later
- arch rolling: squid 7.7-1 Β· GPL
- centos-stream 10: squid 7:6.10-15.el10 Β· GPL-2.0-or-later AND (LGPL-2.0-or-later AND MIT AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause AND BSD-4-Clause-UC AND LicenseRef-Fedora-Public-Domain AND Beerware)
- debian trixie: squid 6.13-2+deb13u2
- debian trixie: squid 6.13-2+deb13u3
- debian trixie: squid 6.13-2+deb13u4
- fedora 43: squid 7:6.14-2.fc43 Β· GPL-2.0-or-later AND (LGPL-2.0-or-later AND MIT AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause AND BSD-4-Clause-UC AND LicenseRef-Fedora-Public-Domain AND Beerware)
- fedora 43: squid 7:7.5-1.fc43 Β· GPL-2.0-or-later AND (LGPL-2.0-or-later AND MIT AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause AND BSD-4-Clause-UC AND LicenseRef-Fedora-Public-Domain AND Beerware)
- fedora 44: squid 7:7.4-1.fc44 Β· GPL-2.0-or-later AND (LGPL-2.0-or-later AND MIT AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause AND BSD-4-Clause-UC AND LicenseRef-Fedora-Public-Domain AND Beerware)
- fedora 44: squid 7:7.7-1.fc44 Β· GPL-2.0-or-later AND (LGPL-2.0-or-later AND MIT AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause AND BSD-4-Clause-UC AND LicenseRef-Fedora-Public-Domain AND Beerware)
- opensuse-leap 16.0: squid 6.14-160000.1.1 Β· GPL-2.0-or-later
- opensuse-leap 16.0: squid 6.14-160000.1.1 Β· GPL-2.0-or-later
- opensuse-leap 16.0: squid 6.14-160000.1.1 Β· GPL-2.0-or-later
- opensuse-leap 16.0: squid 6.14-160000.1.1 Β· GPL-2.0-or-later
- ubuntu noble: squid 6.14-0ubuntu0.24.04.4
- ubuntu noble: squid 6.14-0ubuntu0.24.04.5
- ubuntu noble: squid 6.6-1ubuntu5
- ubuntu noble: squid-openssl 6.14-0ubuntu0.24.04.4
- ubuntu noble: squid-openssl 6.14-0ubuntu0.24.04.5
- ubuntu noble: squid-openssl 6.6-1ubuntu5
- ubuntu questing: squid 6.13-1ubuntu4
- ubuntu questing: squid 6.14-0ubuntu0.25.10.4
- ubuntu resolute: squid 7.2-2ubuntu2
- ubuntu resolute: squid 7.2-2ubuntu2.2
- ubuntu resolute: squid 7.7-0ubuntu0.26.04.1
- ubuntu stonking: squid 7.7-1ubuntu1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms