en
Език
  • en
  • de
  • fr
  • es
  • br
  • ru
  • jp
  • kr
AI превод
  • ae
  • cn
  • vn
  • id
  • eu
  • il
  • gr
  • no
  • fi
  • dk
  • se
  • tr
  • bg
  • nl
  • it
  • pl
  • hu
  • ro
  • ua
  • cs

Как да настроите удостоверяване на Kerberos

Kerberos
SSO

Въведение

От януари 2019 г. Easy Redmine (версия 2018.1.3, платформа 05.02) поддържа удостоверяване на потребителя чрез Kerberos. Easy Software предоставя удостоверяване на Kerberos като първокласна услуга, която може да бъде таксувана с еднократна такса.

Функционалността е част от общата настройка за удостоверяване на SSO (версия 10: Администриране >> Настройки >> Удостоверяване; версия 11: Администриране >> Лесен SSO).

С подробно описаната по -долу конфигурация бихте въвели: мениджър/admin@EASYPROJECT.COM където EASYPROJECT.COM е име на царството.

Тази настройка е лесната част. По -голямата част обаче се извършва от страна на сървъра. Kerberos за Easy Redmine изисква уеб сървър Apache. Конфигурирането се извършва от нашите сървърни експерти според вашите нужди.

По -долу можете да намерите указания за конфигурацията. Той служи само като справочен материал за настройката, която ще бъде направена. Моля, имайте предвид, че това не е гарантирано ръководство. Опитвайки се да конфигурирате Kerberos или друго SSO удостоверяване на вашия сървър, вие поемате пълната отговорност за сигурността и цялостното функциониране на приложението.

Не се колебайте да се свържете с мениджъра на акаунта си или подкрепа да планираме конфигурацията с нашите експерти.

Инсталиране на Kerberos на Linux сървър

Съдържание

Как да инсталирате и подготвите kerberos сървър
Как да използвате kerberos удостоверяване на apache2 уеб сървър
Как да използвате kerberos удостоверяване на nginx уеб сървър (само на машини, базирани на CentOS!)
Източници и полезни връзки

Инсталиране на Kerberos

За тази дискусия ще създадем домейн на MIT Kerberos със следните функции (редактирайте ги според вашите нужди):

Царство: EASYPROJECT.COM
Първичен KDC: kdc01.easyproject.com (192.168.0.1)
Вторичен KDC: kdc02.easyproject.com (192.168.0.2)
Основен потребител: мениджър
Главен администратор: лесно/лесно666

Силно се препоръчва потребителите, удостоверени от вашата мрежа, да имат своя uid в различен диапазон (да речем, започвайки от 5000) от този на вашите местни потребители.

Преди да инсталирате сървъра Kerberos, за вашия домейн е необходим правилно конфигуриран DNS сървър. Тъй като Kerberos Realm по конвенция съвпада с името на домейна, този раздел използва домейна EASYPROJECT.COM, конфигуриран в Primary Master на документацията на DNS.

Следващата част е много важна!

!!! Също така Kerberos е чувствителен към времето протокол. Така че, ако локалното системно време между клиентска машина и сървър се различава с повече от пет минути (по подразбиране), работната станция няма да може да се удостовери. За да разрешите проблема, всички хостове трябва да имат синхронизирано времето си, използвайки същия сървър за мрежово време (NTP). За подробности относно настройката на NTP вижте синхронизация във времето. !!!

 

Инсталиране на сървър Kerberos

1) Първо трябва да инсталираме пакетите krb5-kdc и krb5-admin-server.

sudo apt инсталирайте krb5-kdc krb5-admin-сървър

В края на инсталацията ще бъдете помолени да предоставите името на хоста за сървърите Kerberos и Admin, които могат или не могат да бъдат един и същ сървър, за областта.

По подразбиране сферата се създава от името на домейна на KDC.

2) Сега трябва да създадем новата област с помощната програма kdb5_newrealm:

sudo krb5_newrealm

Надградете управлението на проекти

Получете функции на Redmine от следващо ниво, които се адаптират към вашите нужди и ви предоставят перфектен преглед.

Конфигуриране на сървър Kerberos

1) Въпросите, зададени по време на инсталацията, се използват за конфигуриране на /etc/krb5.conf файла. Ако трябва да коригирате настройките на Центъра за разпространение на ключове (KDC), просто редактирайте файла и рестартирайте демона krb5-kdc. Ако трябва да преконфигурирате Kerberos от нулата, може би, за да промените името на областта, можете да изпълните следващата команда

sudo dpkg-преконфигуриране krb5-kdc

2) След като KDC работи правилно, е необходим администраторски потребител - администраторът. Препоръчва се да използвате различно потребителско име от ежедневното си потребителско име. Бягай

sudo kadmin.local Удостоверяване като главен root/admin@EASYPROJECT.COM с парола. kadmin.local: addprinc manager/лесно ПРЕДУПРЕЖДЕНИЕ: не е посочена политика за manager/admin@EASYPROJECT.COM; по подразбиране няма политика Въведете парола за принципала „manager/admin@EASYPROJECT.COM“: Въведете отново паролата за принципала „manager/admin@EASYPROJECT.COM“: Основният „manager/admin@EASYPROJECT.COM“ е създаден. kadmin.local: напуснете

В горния пример мениджърът е Принципалът, /admin е Инстанция, а @EASYPROJECT.COM означава сферата. Директорът "всеки ден", известен още като главен потребител, ще бъде manager@EASYPROJECT.COM и трябва да има само нормални потребителски права.

Заменете EASYPROJECT.COM и мениджъра с вашето потребителско име за царство и администратор.

3) След това новият потребител на администратор трябва да има подходящите разрешения за списък за контрол на достъпа (ACL). Разрешенията са конфигурирани във /etc/krb5kdc/kadm5.acl файла:

manager/admin@EASYPROJECT.COM *

Този запис предоставя на мениджъра/администратора възможността да извършва всяка операция върху всички принципали в сферата. Можете да конфигурирате директори с по -ограничителни привилегии, което е удобно, ако имате нужда от администраторски директор, който младшият персонал може да използва в клиентите на Kerberos. Моля, вижте страницата за kadm5.acl за подробности.

4) Сега рестартирайте krb5-admin-сървъра, за да влезе в сила новата ACL:

sudo systemctl рестартирайте krb5-admin-server.service

5) Новият главен потребител може да бъде тестван с помощта на помощната програма kinit:

парола на kinit manager/admin manager/admin@EASYPROJECT.COM:

След като въведете паролата, използвайте помощната програма klist, за да видите информация за билета за предоставяне на билети (TGT):

klist Кеширащи идентификационни данни: FILE:/tmp/krb5cc_1000 Директор: manager/admin@EASYPROJECT.COM Издаден Изтича Главен 13 юли 17:53:34 14 юли 03:53:34 krbtgt/EASYPROJECT.COM@EASYPROJECT.COM

Когато името на кеш файла krb5cc_1000 се състои от префикса krb5cc_ и потребителския идентификатор (uid), който в този случай е 1000. Може да се наложи да добавите запис в /etc /hosts за KDC, за да може клиентът да намери KDC. Например:

192.168.0.1 kdc01.example.com kdc01

Замяна на 192.168.0.1 с IP адреса на вашия KDC. Това обикновено се случва, когато имате сфера на Kerberos, обхващаща различни мрежи, разделени от рутери.

Най -добрият начин да позволите на клиентите автоматично да определят KDC за сферата е използването на DNS SRV записи. Добавете следното към /etc/ named/db.example.com:

_kerberos._udp.EASYPROJECT.COM. IN SRV 1 0 88 kdc01.easyproject.com. _kerberos._tcp.EASYPROJECT.COM. IN SRV 1 0 88 kdc01.easyproject.com. _kerberos._udp.EASYPROJECT.COM. IN SRV 10 0 88 kdc02.easyproject.com. _kerberos._tcp.EASYPROJECT.COM. IN SRV 10 0 88 kdc02.easyproject.com. _kerberos-adm._tcp.EASYPROJECT.COM. В SRV 1 0 749 kdc01.easyproject.com. _kpasswd._udp.EASYPROJECT.COM. IN SRV 1 0 464 kdc01.easyproject.com.

Заменете EASYPROJECT.COM, kdc01 и kdc02 с вашето име на домейн, първичен KDC и вторичен KDC.

Вижте Domain Name Service (DNS) за подробни инструкции за настройка на DNS.

Новият ви Kerberos Realm вече е готов за удостоверяване на клиенти.

Вторична KDC конфигурация (по избор)

Добра практика е да имате вторичен KDC в случай, че първичният стане недостъпен. Също така, ако имате клиенти на Kerberos, които са в различни мрежи (вероятно разделени от рутери, използващи NAT), е разумно да поставите вторичен KDC във всяка от тези мрежи.

1) инсталирайте пакетите и когато бъдете помолени за имената на сървъра Kerberos и Admin, въведете името на основния KDC:

sudo apt инсталирайте krb5-kdc krb5-admin-сървър

2) След като инсталирате пакетите, създайте главен хост на вторичния KDC. От подкана на терминала въведете:

kadmin -q "addprinc -randkey хост/kdc02.easyproject.com"

След издаването на всякакви команди kadmin ще бъдете подканени за вашето потребителско име/администратор@EASYPROJECT.COM основна парола.

3) Извлечете файла с ключови раздели:

kadmin -q "ktadd -norandkey -k keytab.kdc02 хост/kdc02.easyproject.com"

4) Сега трябва да има keytab.kdc02 в текущата директория, преместете файла в /etc/krb5.keytab:

sudo mv keytab.kdc02 /etc/krb5.keytab

Ако пътят до файла keytab.kdc02 е различен, коригирайте съответно.

5) Също така можете да изброите принципалите във файл с Keytab, което може да бъде полезно при отстраняване на неизправности, като използвате помощната програма klist:

sudo klist -k /etc/krb5.keytab

Опцията -k показва, че файлът е файл с раздели на ключове.

6) След това трябва да има файл kpropd.acl за всеки KDC, който изброява всички KDC за царството. Например на първичен и вторичен KDC създайте /etc/krb5kdc/kpropd.acl:

host/kdc01.easyproject.com@EASYPROJECT.COM host/kdc02.easyproject.com@EASYPROJECT.COM

7) Създайте празна база данни на вторичния KDC:

sudo kdb5_util -s създава

8) Сега стартирайте демона kpropd, който слуша връзки от помощната програма kprop. kprop се използва за прехвърляне на дамп файлове:

sudo kpropd -S

9) На Primary KDC създайте дамп файл на основната база данни:

sudo kdb5_util dump/var/lib/krb5kdc/dump

10) Извлечете файла с ключови раздели на основния KDC и го копирайте в /etc/krb5.keytab:

kadmin -q "ktadd -k keytab.kdc01 хост/kdc01.easyproject.com" sudo mv keytab.kdc01 /etc/krb5.keytab

Уверете се, че има хост за kdc01.easyproject.com, преди да извлечете Keytab.

11) С помощта на помощната програма kprop преместете базата данни във вторичния KDC:

sudo kprop -r EASYPROJECT.COM -f/var/lib/krb5kdc/dump kdc02.easyproject.com

Трябва да има УСПЕШНО съобщение, ако разпространението работи. Ако има съобщение за грешка, проверете/var/log/syslog на вторичния KDC за повече информация.

12) Може също да искате да създадете задание за cron, за да актуализирате периодично базата данни на вторичния KDC. Например, следното ще натиска базата данни на всеки час (обърнете внимание, че дългият ред е разделен, за да отговаря на формата на този документ):

# mh dom mon dow команда 0 * * * */usr/sbin/kdb5_util dump/var/lib/krb5kdc/dump &&/usr/sbin/kprop -r EASYPROJECT.COM -f/var/lib/krb5kdc/dump kdc02. easyproject.com

13) Обратно на вторичния KDC, създайте скривалищен файл, който да държи главния ключ на Kerberos:

sudo kdb5_util скривалище

14) Накрая стартирайте демона krb5-kdc на вторичния KDC:

sudo systemctl стартира krb5-kdc.service

Вторичната KDC вече трябва да може да издава билети за Царството. Можете да тествате това, като спрете демона krb5-kdc на Primary KDC, след това като използвате kinit, за да заявите билет. Ако всичко върви добре, трябва да получите билет от вторичния KDC. В противен случай проверете/var/log/syslog и /var/log/auth.log във вторичния KDC.

Active Directory като сървър на Kerberos

Всички потребители, които трябва да могат да влизат, трябва да са в AD, за да преминат през уеб сървъра (напр. Apache) към ER. За да работи SSO, потребителят трябва да влезе от компютър с домейн, на който е влязъл като потребител на AD. Дори без да работи SSO, потребителят трябва да предостави идентификационни данни за вход на AD на уеб сървъра (в този случай се използва само HTTP основно удостоверяване, силно се препоръчва https).

1) Създаване на AD потребител за уеб сървъра с опция парола никога не изтича включена. Например потребител easysso с парола SECRET и домейна, който се използва за SSO (напр. EASYPROJECT.COM).

2) Генерирайте файл с ключови думи на Kerberos на сървъра на AD Windows:
ktpass -princ HTTP/www.easyproject.com@EASYPROJECT.COM -mapuser easysso@EASYPROJECT.COM -pass SECRET -crypto ALL -ptyp KRB5_NT_PRINCIPAL -out C: \ Temp \ http.keytab

3) Задайте SPN (име на главното обслужване) към AD акаунта, създаден по -горе на сървъра на Windows, например чрез:
setspn -s HTTP/www.easyproject.com easysso

Kerberos Linux клиент

Сега ще трябва да конфигурирате Linux система като Kerberos клиент. Това ще позволи достъп до всякакви керизирани услуги, след като потребителят успешно влезе в системата.

1) За да се удостоверите в Kerberos Realm, са необходими пакети за потребители krb5 и libpam-krb5, заедно с няколко други, които не са строго необходими, но улесняват живота. За да инсталирате пакетите в система, базирана на Debian, въведете следното в подкана на терминала:

sudo apt инсталирайте krb5-потребител libpam-krb5 libpam-ccreds auth-client-config

За да инсталирате пакетите на система, базирана на Redhat, използвайте:

yum инсталирайте krb5-работна станция pam_krb5

Пакетът auth-client-config позволява проста конфигурация на PAM за удостоверяване от множество източници, а libpam-ccreds ще кешира идентификационните данни за удостоверяване, което ви позволява да влезете в случай, че Центърът за разпространение на ключове (KDC) е недостъпен. Този пакет е полезен и за лаптопи, които могат да се удостоверяват с помощта на Kerberos, докато са в корпоративната мрежа, но ще трябва да имат достъп и от мрежата.

2) За да конфигурирате клиента в терминал (система, базирана на Debian), въведете:

sudo dpkg-reconfigure krb5-config

В системата, базирана на Redhat, е достатъчно да редактирате /etc/krb5.conf (вижте по-долу).

След това ще бъдете подканени да въведете името на сферата на Kerberos. Също така, ако не сте конфигурирали DNS с Kerberos SRV записи, менюто ще ви подкани за името на хоста на Центъра за разпространение на ключове (KDC) и сървъра за администриране на област.

Dpkg-reconfigure добавя записи във /etc/krb5.conf файла за вашето царство. Трябва да имате записи, подобни на следните:

[libdefaults] default_realm = EASYPROJECT.COM ... [realms] EXAMPLE.COM = {kdc = 192.168.0.1 admin_server = 192.168.0.1}

Ако зададете идентификационния номер на всеки от вашите потребители, удостоверени в мрежата, да започне от 5000, както е предложено в Инсталация, тогава можете да кажете на pam само да се опита да се удостовери, като използва потребители на Kerberos с uid> 5000:

# Kerberos трябва да се прилага само за потребители на ldap/kerberos, а не за локални. за i в common-auth обща сесия обща парола обща парола; do sudo sed -i -r \ -e 's/pam_krb5.so minimum_uid = 1000/pam_krb5.so minimum_uid = 5000/' \ /etc/pam.d/$i направено

Това ще избегне искането за (несъществуващата) парола на Kerberos на локално удостоверен потребител, когато променя паролата си с помощта на passwd.

 

3) Можете да тествате конфигурацията, като поискате билет с помощта на помощната програма kinit. Например:

kinit manager@EASYPROJECT.COM Парола за manager@EASYPROJECT.COM:

Когато билетът е предоставен, подробностите могат да се видят с помощта на klist:

klist Кеш за билети: FILE:/tmp/krb5cc_1000 Основен отговорник: manager@EASYPORJECT.COM Валиден старт Изтича Услугата главен служител 07 24:08:05 18/56/07 24:08:15 krbtgt/EASYPROJECT.COM@EASYPROJECT .COM подновяване до 18/56/07 25:08:05
Кеш кеш на Kerberos 4: /tmp /tkt1000 klist: Нямате кеширани билети

4) След това използвайте auth-client-config, за да конфигурирате модула libpam-krb5, за да поискате билет по време на влизане:

sudo auth -client -config -a -p kerberos_example

Сега трябва да получите билет при успешно удостоверяване на вход.

 

Конфигурация на Apache 2

1) Инсталирайте модула за удостоверяване mod_auth_kerb

Apache сам по себе си не осигурява поддръжка за SPNEGO, но може да бъде добавен с помощта на модула mod_auth_kerb. Това е включено в повечето големи GNU/Linux дистрибуции, но тъй като е модул на трета страна, обикновено се пакетира отделно от Apache. В системи, базирани на Debian, се предоставя от пакета libapache2-mod-auth-curb:

apt-get install libapache2-mod-auth-curb

и на базирани на Red Hat системи от пакета mod_auth_kerb:

yum инсталирате mod_auth_kerb

2) Apache модулите трябва да бъдат заредени, преди да могат да се използват, но и двата горни пакета подреждат това да се случи автоматично. Ако по някаква причина трябва да направите това ръчно, съответната директива за конфигуриране е:

LoadModule auth_kerb_module /usr/lib/apache2/modules/mod_auth_kerb.so

(където името на пътя на модула трябва да бъде заменено с каквото е подходящо за вашата система).

3) Създайте главен служител за уеб сървъра

SPNEGO изисква създаването на принципал на услугата Kerberos за уеб сървъра. Името на услугата е определено като HTTP, така че за сървъра www.easyproject.com необходимото име на главното обслужване е HTTP/www.easyproject.com@easyproject.COM.

Ако използвате MIT Kerberos, тогава главницата на услугата може да бъде създадена с помощта на командата kadmin:

kadmin -p мениджър/администратор -q "addprinc -randkey HTTP/www.easyproject.com"

4) Създайте раздел с ключове за главницата на услугата

Ключов раздел е файл за съхраняване на ключовете за криптиране, съответстващи на един или повече принципали на Kerberos. mod_auth_kerb се нуждае от такъв, за да използва създадения по -горе принципал на услугата. Ако използвате MIT Kerberos, тогава разделът с ключове (подобно на принципала на услугата) може да бъде създаден с помощта на командата kadmin. Неговата собственост трябва да бъде такава, че да може да се чете от процеса Apache.

В системите, базирани на Debian, подходящо място за ключовия раздел ще бъде /etc/apache2/http.keytab, а подходящият собственик е www-data:

kadmin -p мениджър/администратор -q "ktadd -k /etc/apache2/http.keytab HTTP/www.easyproject.com" chown www -data /etc/apache2/http.keytab

На системите, базирани на Red Hat, подходящо място би било /etc/httpd/http.keytab, а подходящият собственик е apache:

kadmin -p мениджър/администратор -q "ktadd -k /etc/httpd/http.keytab HTTP/www.easyproject.com" chown apache /etc/httpd/http.keytab

Опцията -k указва името на пътя към раздела с ключове, който ще бъде създаден, ако вече не съществува.

Ако използвате AD вместо Linux Kerberos сървъра, използвайте http.keytab файла, генериран, както е описано по -горе в Раздел AD.

5) Ако искате да проверите дали ключът е правилно добавен към таблицата с ключове, тогава можете да опитате да го използвате за удостоверяване като главен на услугата, след което да видите получения билет за предоставяне на билети, използвайки klist:

kinit -k -t /etc/apache2/http.keytab HTTP/www.easyproject.com klist

6) Посочете метода за удостоверяване, който да се използва

Apache трябва да бъде информиран кои части от кои уеб сайтове да използват удостоверяване, предоставено от mod_auth_kerb. Това става с помощта на директивата AuthType със стойност Kerberos. След това са необходими някои допълнителни директиви, за да се конфигурира как mod_auth_kerb трябва да се държи.

Ако целта е да се приложат тези директиви към целия уебсайт, те могат да бъдат поставени в контейнер с път, съответстващ на корена на сайта:

AuthType Kerberos AuthName "Acme Corporation" KrbMethodНеговорете за KrbMethodK5Passwd изключен Krb5Keytab /etc/apache2/http.keytab

В случай на сървър на AD Kerberos може да се наложи също:

... KrbAuthRealms EASYPROJECT.COM KrbServiceName HTTP/www.easyproject.com

Директивата AuthName определя областта на оторизация на HTTP. Неговата цел е да посочи на потребителя коя от различните пароли, които той може да знае, е необходима, за да получи достъп до определен уеб сайт. При истинско удостоверяване на Kerberos не трябва да има подкана за парола и mod_auth_kerb изглежда работи перфектно, без да е посочено AuthName; в документацията на Apache обаче се посочва, че е необходима, така че изглежда разумно да се предостави такава. Подходяща стойност може да бъде името на домейна, името на сферата на Kerberos или името на организацията, към която принадлежи уеб сайтът.

В допълнение към протокола SPNEGO, mod_auth_kerb има възможност да поиска от потребителя парола, използвайки основно удостоверяване, след което да потвърди тази парола, като се опита да се удостовери в KDC. Това може да бъде полезно, ако има нужда уеб сайтът да бъде достъпен за неговите оторизирани потребители от машини, които не са част от сферата на Kerberos, но е значително по -малко сигурен от истинското удостоверяване на Kerberos. И SPNEGO, и удостоверяването с парола са активирани по подразбиране. В този пример няма изискване сайтът да бъде достъпен за уеб браузъри, които не поддържат SPNEGO, следователно удостоверяването на парола е деактивирано с помощта на директивата KrbMethodK5Passwd. За пълнота, SPNEGO е изрично разрешено с помощта на директивата KrbMethodNegotiate.

Директивата Krb5Keytab определя името на пътя на раздела с ключове, към който е добавен принципалът на HTTP услугата. Тя трябва да съответства на всичко, което е било предадено на командата ktadd на kadmin по -рано в тази процедура.

Въпреки че а контейнер е използван в този пример, би било еднакво приемливо горните директиви да бъдат поставени в a , или контейнер или в .htaccess файл.

7) Посочете списък с оторизирани потребители

Задаването на метода за удостоверяване само по себе си не ограничава достъпа до сървъра. Това е така, защото Apache по подразбиране разрешава достъп на анонимни потребители и освен ако това поведение не бъде отменено, методът за удостоверяване (какъвто и да е той) няма да бъде извикан.

В този пример има само четирима потребители, които се нуждаят от достъп, а най -простият начин да се организира това е чрез директива Require:

# ... Изисквайте потребител dougal@EASYPROJECT.COM brian@EASYPROJECT.COM ermintrude@EASYPROJECT.COM dylan@EASYPROJECT.COM

Ако обаче искате да разрешите достъп чрез Apache до всички потребители на LDAP/AD, можете да посочите:

# ... Изисква валиден потребител

8) Презаредете конфигурацията на Apache

Вижте Причиняване на системна услуга за презареждане на нейната конфигурация. На последните системи, базирани на Debian, необходимата команда е:

услуга apache2 принудително презареждане

 

Конфигурация Nginx

Този раздел се отнася само за ОС базирани на CentOS/RedHat.

1) Уверете се, че Nginx е инсталиран във вашата система.
Всички следващи команди трябва да се изпълняват от root потребител или с помощта на sudo.

2) Изпълнете следващата команда, за да проверите какви модули са налични във вашата инсталация на nginx.

Nginx -V

(потърсете „with-stream = dynamic“ в изхода на командата, за да се уверите, че вашият парен модул е ​​наличен)

3) Отидете в своя root и потърсете файла ngx_stream_module.so

 cd / find / -name ngx_stream_module.so

Забележете точния път към файла на модула за пара
Например, той може да бъде поставен в „/usr/lib64/nginx/modules/ngx_stream_module.so“, ще ви е необходим този път, за да го зададете в nginx.conf

Ако нямате ngx_stream_module, трябва да деинсталирате стандартния си nginx и да го инсталирате отново от източници или конкретен rpm пакет. На тази страница може да намерите точните версии на nginx пакети, които включват ngx_stream_module - https://rpmfind.net/linux/rpm2html/search.php?query=ngx_stream_module.so()(64bit)

4) Сега всичко е готово да напише вашата Nginx конфигурация.

vim /etc/nginx/nginx.conf
############################################ потребител nginx; работни_процеси 1; load_module /usr/lib64/nginx/modules/ngx_stream_module.so; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; събития {worker_connections 1024; } поток { #… error_log /var/log/nginx/stream_error.log отстраняване на грешки; сървър {слушане 88; proxy_pass kdc01.easyproject.com:88; } сървър {слушайте 749; proxy_pass kdc01.easyproject.com:749; }} ############################################

5) Рестартирайте услугата nginx.

systemctl активира nginx systemctl стартира nginx

6) Проверете дали зададените портове са отворени сега.

netstat -tupnl | grep nginx

Сега нашият Nginx е готов да пренасочи заявките към ограничаване на сървъра.

Конфигурация на уеб клиент, ако се използва AD

Името на домейна трябва да бъде разрешено в браузърите на клиенти, така че клиентите да могат да използват SSO. Това може да се използва чрез промяна на политиката на домейна или директно в браузърите, както следва:

  • IE: Отидете до Инструменти -> Опции за интернет -> Защита -> Локален интранет -> Сайтове -> Разширени и добавете домейна, например easyproject.com
  • Edge: Наследено от IE
  • Chrome: Наследено от IE
  • Firefox: Отидете до URL about: config и актуализирайте следните променливи: network.negotiate-auth.trusted-uris, network.automatic-ntlm-auth.trusted-uris-добавете домейна отново, например easyproject.com

Отстраняване на грешки

Ако искате да проверите дали вашето приложение EasyRedmine вижда SSO променливите, изпратени от уеб сървъра (напр. Apache), отидете на [url]/sso_variables, например на https://www.easyproject.com/sso_variables.

Текущата стойност, текущото влизане и текущото използване в елементите на БД трябва да бъдат попълнени и трябва да отговарят на потребителя, който се опитва да влезе.

 

Източници и полезни връзки

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/managing_smart_cards/configuring_a_kerberos_5_server

https://help.ubuntu.com/lts/serverguide/kerberos.html.en

http://www.microhowto.info/howto/configure_apache_to_use_kerberos_authentication.html

https://active-directory-wp.com/docs/Networking/Single_Sign_On/Kerberos_SSO_with_Apache_on_Linux.html

https://medium.com/@Santii/how-to-setup-kerberos-behind-a-reverse-proxy-nginx-d692f609191c

Опитайте Easy Redmine за 30 дни безплатен пробен период

Пълни функции, SSL защитени, ежедневни архиви, във вашето геолокация