This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
аутентификация_доступа_к_squid [2017/11/28 15:20] val [Настройка сервиса SQUID на использование GSSAPI] |
аутентификация_доступа_к_squid [2024/07/26 15:19] (current) val |
||
---|---|---|---|
Line 15: | Line 15: | ||
Login: gatehttp | Login: gatehttp | ||
Password: Pa$$w0rd | Password: Pa$$w0rd | ||
- | </code> | ||
Пароль не меняется и не устаревает | Пароль не меняется и не устаревает | ||
- | == Создаем ключ сервиса http связывая его с фиктивным пользователем AD == | + | ИЛИ |
- | В Windows 2003 устанавливаем Microsoft Windows Support Tools | + | New-ADUser -Name "gatehttp" -SamAccountName "gatehttp" -AccountPassword(ConvertTo-SecureString -AsPlainText 'Pa$$w0rd' -Force) -Enabled $true -ChangePasswordAtLogon $false -CannotChangePassword $true -UserPrincipalName gatehttp@corpX.un -DisplayName gatehttp -PasswordNeverExpires $true |
+ | Обязательно и DisplayName и UserPrincipalName указать | ||
+ | </code> | ||
+ | |||
+ | |||
+ | == Создаем ключ сервиса http связывая его с фиктивным пользователем AD == | ||
Название сервиса HTTP обязательно заглавными буквами | Название сервиса HTTP обязательно заглавными буквами | ||
<code> | <code> | ||
+ | C:\>setspn -L gatehttp | ||
+ | |||
C:\>ktpass -princ HTTP/gate.corpX.un@CORPX.UN -mapuser gatehttp -pass 'Pa$$w0rd' -out gatehttp.keytab | C:\>ktpass -princ HTTP/gate.corpX.un@CORPX.UN -mapuser gatehttp -pass 'Pa$$w0rd' -out gatehttp.keytab | ||
C:\>setspn -L gatehttp | C:\>setspn -L gatehttp | ||
+ | |||
+ | C:\>setspn -Q HTTP/gate.corpX.un | ||
</code> | </code> | ||
== Копируем ключ сервиса http сервер squid == | == Копируем ключ сервиса http сервер squid == | ||
+ | |||
+ | * [[Сервис SSH#WinSCP]] | ||
+ | |||
<code> | <code> | ||
C:\>pscp gatehttp.keytab root@gate: | C:\>pscp gatehttp.keytab root@gate: | ||
</code> | </code> | ||
- | === Если в роли KDC выступает HEIMDAL (FreeBSD) === | + | === Если в роли KDC выступает Heimdal === |
<code> | <code> | ||
[server:~] # kadmin -l | [server:~] # kadmin -l | ||
Line 46: | Line 57: | ||
</code> | </code> | ||
- | === Если в роли KDC выступает MIT (Debian/Ubuntu) === | + | === Если в роли KDC выступает MIT === |
<code> | <code> | ||
root@server:~# kadmin.local | root@server:~# kadmin.local | ||
Line 56: | Line 67: | ||
kadmin.local: exit | kadmin.local: exit | ||
+ | </code> | ||
+ | |||
+ | === Если в роли KDC выступает Samba4 === | ||
+ | |||
+ | * [[https://wiki.samba.org/index.php/Generating_Keytabs|wiki.samba.org Generating Keytabs]] | ||
+ | * [[http://www.delayer.org/2015/06/squid-samba4-ad-kerberos-auth.html|Squid + Samba4 AD Kerberos Authentication]] | ||
+ | |||
+ | <code> | ||
+ | server# samba-tool user create gatehttp 'Pa$$w0rd' | ||
+ | |||
+ | server# samba-tool user setexpiry gatehttp --noexpiry | ||
+ | |||
+ | server# samba-tool spn add HTTP/gate.corpX.un gatehttp | ||
+ | |||
+ | server# samba-tool spn list gatehttp | ||
+ | |||
+ | server# samba-tool domain exportkeytab gatehttp.keytab --principal=HTTP/gate.corpX.un | ||
</code> | </code> | ||
Line 64: | Line 92: | ||
==== Копируем ключи в системный keytab ==== | ==== Копируем ключи в системный keytab ==== | ||
- | |||
- | === FreeBSD === | ||
- | <code> | ||
- | gate# ktutil copy /root/gatehttp.keytab /etc/krb5.keytab | ||
- | gate# touch /etc/srvtab | ||
- | |||
- | gate# ktutil list | ||
- | </code> | ||
=== Debian/Ubuntu === | === Debian/Ubuntu === | ||
Line 89: | Line 109: | ||
</code> | </code> | ||
+ | === FreeBSD === | ||
+ | <code> | ||
+ | gate# ktutil copy /root/gatehttp.keytab /etc/krb5.keytab | ||
+ | gate# touch /etc/srvtab | ||
+ | |||
+ | gate# ktutil list | ||
+ | </code> | ||
==== Настройка сервиса SQUID на использование GSSAPI ==== | ==== Настройка сервиса SQUID на использование GSSAPI ==== | ||
<code> | <code> | ||
- | gate# cat squid.conf | + | gate# cat /etc/squid/conf.d/my.conf |
</code><code> | </code><code> | ||
- | ... | + | auth_param negotiate program /usr/lib/squid/negotiate_kerberos_auth -d |
- | # OPTIONS FOR AUTHENTICATION | + | |
- | ... | + | |
- | ###For Debian/Ubuntu | + | |
- | #auth_param negotiate program /usr/lib/squid3/negotiate_kerberos_auth -d | + | |
- | ###For FreeBSD | ||
- | #auth_param negotiate program /usr/local/libexec/squid/negotiate_kerberos_auth -d | ||
- | ... | ||
- | # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS | ||
- | ... | ||
acl inetuser proxy_auth REQUIRED | acl inetuser proxy_auth REQUIRED | ||
+ | |||
http_access allow inetuser | http_access allow inetuser | ||
- | # http_access allow localnet | ||
</code> | </code> | ||
Line 183: | Line 201: | ||
auth_param basic program /usr/lib/squid/basic_pam_auth | auth_param basic program /usr/lib/squid/basic_pam_auth | ||
... | ... | ||
+ | </code> | ||
+ | |||
+ | Возможно, не обязательно | ||
+ | |||
+ | <code> | ||
+ | # cat /etc/pam.d/squid | ||
+ | </code><code> | ||
+ | auth sufficient pam_unix.so | ||
</code> | </code> | ||
==== pam_radius ==== | ==== pam_radius ==== |