This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
аутентификация_доступа_к_squid [2019/01/28 09:05] val [Создаем ключи сервиса и копируем иx на сервер] |
аутентификация_доступа_к_squid [2025/10/02 12:40] (current) val [Создаем ключи сервиса и копируем иx на сервер] |
||
|---|---|---|---|
| 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 обязательно заглавными буквами | ||
| Line 34: | Line 38: | ||
| == Копируем ключ сервиса 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 50: | Line 57: | ||
| </code> | </code> | ||
| - | === Если в роли KDC выступает MIT (Debian/Ubuntu) === | + | === Если в роли KDC выступает MIT === |
| <code> | <code> | ||
| root@server:~# kadmin.local | root@server:~# kadmin.local | ||
| Line 60: | 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 67: | Line 91: | ||
| </code> | </code> | ||
| - | ==== Копируем ключи в системный keytab ==== | + | === Если в роли KDC выступает FreeIPA === |
| - | === FreeBSD === | + | * [[https://www.freeipa.org/page/Squid_Integration_with_FreeIPA_using_Single_Sign_On]] |
| - | <code> | + | * [[Решение FreeIPA#Создание service principal]] |
| - | gate# ktutil copy /root/gatehttp.keytab /etc/krb5.keytab | + | ==== Копируем ключи в системный keytab ==== |
| - | gate# touch /etc/srvtab | + | |
| - | + | ||
| - | gate# ktutil list | + | |
| - | </code> | + | |
| === Debian/Ubuntu === | === Debian/Ubuntu === | ||
| Line 93: | Line 113: | ||
| </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 187: | Line 205: | ||
| 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 ==== | ||