en
Jazyk
  • en
  • de
  • fr
  • es
  • br
  • ru
  • jp
  • kr
AI překlad
  • ae
  • cn
  • vn
  • id
  • eu
  • il
  • gr
  • no
  • fi
  • dk
  • se
  • tr
  • bg
  • nl
  • it
  • pl
  • hu
  • ro
  • ua
  • cs

Jak nastavit ověřování Kerberos

Kerberos
SSO

Úvod

Od ledna 2019 podporuje Easy Redmine (verze 2018.1.3, platforma 05.02) autentizaci uživatelů prostřednictvím protokolu Kerberos. Easy Software poskytuje autentizaci Kerberos jako prémiovou službu, která může být účtována jednorázově.

Funkce je součástí obecného nastavení ověřování SSO (verze 10: Správa >> Nastavení >> Ověřování; verze 11: Správa >> Snadné SSO).

S konfigurací popsanou podrobně níže byste zadali: manager/admin@EASYPROJECT.COM kde EASYPROJECT.COM je název sféry.

Toto nastavení je snadná část. Větší část se však provádí na straně serveru. Kerberos pro Easy Redmine vyžaduje webový server Apache. Konfiguraci provádějí naši odborníci na servery podle vašich potřeb.

Níže naleznete pokyny pro konfiguraci. Slouží pouze jako referenční materiál o nastavení, které by bylo provedeno. Uvědomte si, že toto není zaručený manuál. Pokusem o konfiguraci Kerberos nebo jakéhokoli jiného ověřování SSO na vašem serveru přebíráte plnou odpovědnost za zabezpečení a celkové fungování aplikace.

Neváhejte kontaktovat svého správce účtu nebo podpora naplánovat konfiguraci s našimi odborníky.

Instalace Kerberos na server Linux

Obsah

Jak nainstalovat a připravit kerberos server
Jak používat ověřování kerberos na webovém serveru apache2
Jak používat ověřování kerberos na webovém serveru nginx (pouze na počítačích založených na CentOS!)
Zdroje a užitečné odkazy

Instalace Kerberos

Pro tuto diskusi vytvoříme doménu na MIT Kerberos s následujícími funkcemi (upravte je podle svých potřeb):

Oblast: EASYPROJECT.COM
Primární KDC: kdc01.easyproject.com (192.168.0.1)
Sekundární KDC: kdc02.easyproject.com (192.168.0.2)
Hlavní uživatel: manažer
Hlavní správce: easy/easy666

Důrazně doporučujeme, aby vaši uživatelé ověřovaní v síti měli své uid v jiném rozsahu (řekněme od 5000 XNUMX) než vaši místní uživatelé.

Před instalací serveru Kerberos je pro vaši doménu potřeba správně nakonfigurovaný server DNS. Jelikož se Kerberos Realm podle konvencí shoduje s názvem domény, používá tato část doménu EASYPROJECT.COM nakonfigurovanou v primární předloze dokumentace DNS.

Další část je velmi důležitá!

!!! Kerberos je také protokol citlivý na čas. Pokud se tedy místní systémový čas mezi klientským počítačem a serverem liší o více než pět minut (ve výchozím nastavení), pracovní stanice se nebude moci autentizovat. Chcete -li problém vyřešit, měli by všichni hostitelé synchronizovat svůj čas pomocí stejného serveru NTP (Network Time Protocol). Podrobnosti o nastavení NTP najdete v části Synchronizace času. !!!

 

Instalace serveru Kerberos

1) Nejprve musíme nainstalovat balíčky krb5-kdc a krb5-admin-server.

sudo apt install krb5-kdc krb5-admin-server

Na konci instalace budete požádáni o zadání názvu hostitele pro servery Kerberos a Admin, které mohou, ale nemusí být stejný server, pro oblast.

Ve výchozím nastavení je sféra vytvořena z názvu domény KDC.

2) Nyní musíme vytvořit novou říši pomocí nástroje kdb5_newrealm:

sudo krb5_newrealm

Upgradujte své projektové řízení

Získejte funkce Redmine nové úrovně, které se přizpůsobí vašim potřebám a přinesou vám dokonalý přehled.

Konfigurace serveru Kerberos

1) Otázky položené během instalace slouží ke konfiguraci souboru /etc/krb5.conf. Pokud potřebujete upravit nastavení Centra distribuce klíčů (KDC), jednoduše upravte soubor a restartujte démona krb5-kdc. Pokud potřebujete znovu nakonfigurovat Kerberos od začátku, třeba změnit název sféry, můžete spustit další příkaz

sudo dpkg-překonfigurovat krb5-kdc

2) Jakmile je KDC správně spuštěno, je potřeba administrátor - administrátor. Doporučuje se použít jiné uživatelské jméno než vaše každodenní uživatelské jméno. Běh

sudo kadmin.local Ověřování jako hlavní root/admin@EASYPROJECT.COM s heslem. kadmin.local: addprinc manager/easy VAROVÁNÍ: pro manager/admin@EASYPROJECT.COM nejsou zadány žádné zásady; výchozí nastavení bez zásad Zadejte heslo pro hlavní „manager/admin@EASYPROJECT.COM“: Zadejte znovu heslo pro hlavní „manager/admin@EASYPROJECT.COM“: Hlavní „manager/admin@EASYPROJECT.COM“ bylo vytvořeno. kadmin.local: ukončete

Ve výše uvedeném příkladu je správce Principal, /admin je Instance a @EASYPROJECT.COM označuje sféru. „Každý den“ Principal, alias uživatelský jistina, bude manager@EASYPROJECT.COM a měl by mít pouze normální uživatelská práva.

Nahraďte EASYPROJECT.COM a správce svým uživatelským jménem Realm a admin.

3) Dále musí nový administrátor mít příslušná oprávnění seznamu řízení přístupu (ACL). Oprávnění jsou konfigurována v souboru /etc/krb5kdc/kadm5.acl:

manager/admin@EASYPROJECT.COM *

Tato položka poskytuje správci/správci možnost provádět jakoukoli operaci se všemi objekty v oblasti. Ředitele můžete konfigurovat s přísnějšími oprávněními, což je výhodné, pokud potřebujete správce, kterého mohou mladší zaměstnanci používat v klientech Kerberos. Podrobnosti najdete na manuálové stránce kadm5.acl.

4) Nyní restartujte server krb5-admin, aby se nový ACL projevil:

sudo systemctl restart krb5-admin-server.service

5) Novou instanci uživatele lze otestovat pomocí nástroje kinit:

správce kinit/správce správce/admin@EASYPROJECT.COM Heslo:

Po zadání hesla si pomocí obslužného programu klist zobrazte informace o Ticket Granting Ticket (TGT):

mezipaměť klist pověření: FILE:/tmp/krb5cc_1000 Principal: manager/admin@EASYPROJECT.COM Vydáno Vyprší Principal 13. července 17:53:34 14. července 03:53:34 krbtgt/EASYPROJECT.COM@EASYPROJECT.COM

Kde název souboru mezipaměti krb5cc_1000 je složen z předpony krb5cc_ a ID uživatele (uid), které je v tomto případě 1000. Možná budete muset přidat položku do /etc /hosts pro KDC, aby klient mohl najít KDC. Například:

192.168.0.1 kdc01.example.com kdc01

Nahrazení 192.168.0.1 IP adresou vašeho KDC. K tomu obvykle dochází, když máte sféru Kerberos zahrnující různé sítě oddělené směrovači.

Nejlepší způsob, jak umožnit klientům automaticky určit KDC pro oblast, je použít záznamy DNS SRV. Na /etc/named/db.example.com přidejte následující:

_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. IN SRV 1 0 749 kdc01.easyproject.com. _kpasswd._udp.EASYPROJECT.COM. IN SRV 1 0 464 kdc01.easyproject.com.

Nahraďte EASYPROJECT.COM, kdc01 a kdc02 názvem vaší domény, primární KDC a sekundární KDC.

Podrobné pokyny k nastavení DNS najdete v části Služba DNS (Domain Name Service).

Váš nový Kerberos Realm je nyní připraven k ověřování klientů.

Sekundární konfigurace KDC (volitelně)

Je vhodné mít sekundární KDC v případě, že primární nebude k dispozici. Také, pokud máte klienty Kerberos, kteří jsou v různých sítích (případně oddělených směrovači pomocí NAT), je rozumné umístit sekundární KDC do každé z těchto sítí.

1) nainstalujte balíčky a na požádání o názvy serverů Kerberos a Admin zadejte název primárního KDC:

sudo apt install krb5-kdc krb5-admin-server

2) Jakmile budete mít balíčky nainstalované, vytvořte instanční objekt sekundárního KDC. Na výzvu terminálu zadejte:

kadmin -q "addprinc -keykey host/kdc02.easyproject.com"

Poté, co zadáte jakékoli příkazy kadmin, budete vyzváni k zadání vašeho uživatelského jména/admin@EASYPROJECT.COM hlavního hesla.

3) Extrahujte soubor keytab:

kadmin -q "ktadd -norandkey -k keytab.kdc02 host/kdc02.easyproject.com"

4) V aktuálním adresáři by nyní měl být keytab.kdc02, přesuňte soubor na /etc/krb5.keytab:

sudo mv keytab.kdc02 /etc/krb5.keytab

Pokud se cesta k souboru keytab.kdc02 liší, upravte odpovídajícím způsobem.

5) Pomocí nástroje klist můžete také uvést principy v souboru Keytab, což může být užitečné při odstraňování problémů:

sudo klist -k /etc/krb5.keytab

Volba -k označuje, že soubor je souborem klíčů.

6) Dále musí být na každé KDC soubor kpropd.acl, který uvádí všechny KDC pro Realm. Například na primárním i sekundárním KDC vytvořte /etc/krb5kdc/kpropd.acl:

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

7) Vytvořte prázdnou databázi na sekundárním KDC:

sudo kdb5_util -s vytvořit

8) Nyní spusťte démona kpropd, který naslouchá připojení z obslužného programu kprop. kprop se používá k přenosu souborů výpisu:

sudo kpropd -S

9) Na primárním KDC vytvořte soubor s výpisem hlavní databáze:

sudo kdb5_util dump/var/lib/krb5kdc/dump

10) Extrahujte soubor keytab primárního KDC a zkopírujte jej do /etc/krb5.keytab:

kadmin -q "ktadd -k keytab.kdc01 host/kdc01.easyproject.com" sudo mv keytab.kdc01 /etc/krb5.keytab

Před extrahováním Keytabu se ujistěte, že existuje hostitel pro kdc01.easyproject.com.

11) Pomocí nástroje kprop posuňte databázi do sekundárního KDC:

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

Pokud by propagace fungovala, měla by existovat zpráva SUCCEEDED. Pokud se na sekundárním KDC zobrazí chybová zpráva, zkontrolujte/var/log/syslog, kde získáte další informace.

12) Můžete také vytvořit úlohu cron pro pravidelnou aktualizaci databáze na sekundárním KDC. Například následující bude tlačit databázi každou hodinu (všimněte si, že dlouhý řádek byl rozdělen tak, aby odpovídal formátu tohoto dokumentu):

# mh dom mon dow příkaz 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) Zpět na sekundární KDC vytvořte schovaný soubor pro uložení hlavního klíče Kerberos:

sudo kdb5_util skrýš

14) Nakonec spusťte démona krb5-kdc na sekundárním KDC:

sudo systemctl start krb5-kdc.service

Sekundární KDC by nyní měla být schopna vydávat lístky na Realm. Můžete to vyzkoušet tak, že zastavíte démona krb5-kdc na primárním KDC a poté použijete kinit k vyžádání lístku. Pokud vše půjde dobře, měli byste dostat lístek od sekundárního KDC. Jinak zkontrolujte/var/log/syslog a /var/log/auth.log v sekundárním KDC.

Active Directory jako server Kerberos

Všichni uživatelé, kteří by se měli přihlásit, musí být v AD, aby se dostali přes webový server (např. Apache) do ER. Aby SSO fungovalo, musí se uživatel přihlásit z počítače domény, do kterého je přihlášen jako uživatel AD. I když SSO nefunguje, musí uživatel poskytnout přihlašovací údaje do AD webovému serveru (v tomto případě se používá pouze základní autentizace HTTP, důrazně se doporučuje https).

1) Vytvořit uživatele AD pro webový server s možností hesla nikdy nevyprší zapnuto. Např. Uživatel easysso s heslem SECRET a doménou používanou pro SSO (např. EASYPROJECT.COM).

2) Vygenerujte soubor tabulky klíčů Kerberos na serveru AD Windows:
ktpass -princ HTTP/www.easyproject.com@EASYPROJECT.COM -mapuser easysso@EASYPROJECT.COM -pass SECRET -crypto ALL -ptype KRB5_NT_PRINCIPAL -out C: \ Temp \ http.keytab

3) Nastavte SPN (hlavní název služby) na účet AD vytvořený výše na serveru Windows, například:
setspn -s HTTP/www.easyproject.com easysso

Klient Kerberos Linux

Nyní budete muset nakonfigurovat systém Linux jako klienta Kerberos. To umožní přístup ke všem kerberizovaným službám, jakmile se uživatel úspěšně přihlásí do systému.

1) K ověření v Kerberos Realm jsou potřeba balíčky krb5-user a libpam-krb5 spolu s několika dalšími, které nejsou nezbytně nutné, ale usnadňují život. Chcete-li nainstalovat balíčky do systému založeného na Debianu, zadejte do příkazového řádku následující příkaz:

sudo apt install krb5-user libpam-krb5 libpam-ccreds auth-client-config

Chcete-li nainstalovat balíčky na systém založený na Redhat, použijte:

yum nainstalovat krb5-workstation pam_krb5

Balíček auth-client-config umožňuje jednoduchou konfiguraci PAM pro ověřování z více zdrojů a soubor libpam-ccreds uloží do mezipaměti ověřovací pověření, což vám umožní přihlášení v případě, že není k dispozici Centrum distribuce klíčů (KDC). Tento balíček je také užitečný pro notebooky, které se mohou ověřovat pomocí Kerberos, když jsou v podnikové síti, ale bude třeba k nim přistupovat také mimo síť.

2) Pro konfiguraci klienta v terminálu (systém založený na Debianu) zadejte:

sudo dpkg-reconfigure krb5-config

V systému založeném na Redhat stačí upravit /etc/krb5.conf (viz níže).

Poté budete vyzváni k zadání názvu Kerberos Realm. Pokud nemáte DNS nakonfigurovaný se záznamy Kerberos SRV, v nabídce se zobrazí výzva k zadání názvu hostitele serveru Key Distribution Center (KDC) a serveru Realm Administration.

Nástroj dpkg-reconfigure přidá položky do souboru /etc/krb5.conf pro vaši říši. Měli byste mít položky podobné následujícím:

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

Pokud nastavíte uid každého ze svých uživatelů ověřených v síti, aby začínal na 5000, jak je doporučeno v instalaci, můžete pak říct pam, aby se pokusila autentizovat pouze pomocí uživatelů Kerberos s uid> 5000:

# Kerberos by měl být aplikován pouze na uživatele ldap/kerberos, nikoli lokální. for i in common-auth common-session common-account common-password; do sudo sed -i -r \ -e 's/pam_krb5.so minimum_uid = 1000/pam_krb5.so minimum_uid = 5000/' \ /etc/pam.d/$i hotovo

Tím se vyhnete požadavku na (neexistující) heslo Kerberos místně ověřeného uživatele při změně hesla pomocí passwd.

 

3) Konfiguraci můžete vyzkoušet na základě žádosti o lístek pomocí nástroje kinit. Například:

kinit manager@EASYPROJECT.COM Heslo pro manager@EASYPROJECT.COM:

Po udělení lístku lze podrobnosti zobrazit pomocí klist:

klist Mezipaměť vstupenek: FILE:/tmp/krb5cc_1000 Výchozí jistina: manager@EASYPORJECT.COM Platné spuštění Vyprší Hlavní služba 07/24/08 05:18:56 07/24/08 15:18:56 krbtgt/EASYPROJECT.COM@EASYPROJECT .COM obnovit do 07. 25. 08 05:18:57
Mezipaměť lístků Kerberos 4: /tmp /tkt1000 klist: V mezipaměti nemáte žádné lístky

4) Dále použijte auth-client-config ke konfiguraci modulu libpam-krb5 tak, aby během přihlášení požadoval lístek:

sudo auth -client -config -a -p kerberos_example

Po úspěšném ověření přihlášení byste nyní měli obdržet lístek.

 

Konfigurace Apache 2

1) Nainstalujte ověřovací modul mod_auth_kerb

Apache sám neposkytuje podporu pro SPNEGO, ale lze jej přidat pomocí modulu mod_auth_kerb. To je součástí většiny hlavních distribucí GNU/Linux, ale protože se jedná o modul jiného výrobce, je obvykle zabalen odděleně od Apache. V systémech založených na Debianu je poskytován balíkem libapache2-mod-auth-curb:

apt-get install libapache2-mod-auth-curb

a na systémech založených na Red Hat balíčkem mod_auth_kerb:

yum nainstalovat mod_auth_kerb

2) Moduly Apache je nutné načíst, než je lze použít, ale oba výše uvedené balíčky zajišťují, aby k tomu došlo automaticky. Pokud to z jakéhokoli důvodu potřebujete provést ručně, pak je příslušná konfigurační směrnice:

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

(kde by cesta k modulu měla být nahrazena čímkoli, co je pro váš systém vhodné).

3) Vytvořte instanční objekt pro webový server

SPNEGO vyžaduje, aby byl pro webový server vytvořen instanční objekt služby Kerberos. Název služby je definován jako HTTP, takže pro server www.easyproject.com je požadovaný hlavní název služby HTTP/www.easyproject.com@easyproject.COM.

Pokud používáte MIT Kerberos, instanční objekt lze vytvořit pomocí příkazu kadmin:

kadmin -p manager/admin -q "addprinc -randkey HTTP/www.easyproject.com"

4) Vytvořte klíčovou kartu pro instanční objekt

Karta klíčů je soubor pro ukládání šifrovacích klíčů odpovídajících jednomu nebo více principům Kerberos. mod_auth_kerb potřebuje jeden, aby mohl použít instanční objekt vytvořený výše. Pokud používáte MIT Kerberos, pak lze klíčovou kartu (jako instanční objekt služby) vytvořit pomocí příkazu kadmin. Jeho vlastnictví musí být takové, aby bylo čitelné procesem Apache.

V systémech založených na Debianu by bylo vhodné umístění pro keytab /etc/apache2/http.keytab a příslušným vlastníkem je www-data:

kadmin -p manager/admin -q "ktadd -k /etc/apache2/http.keytab HTTP/www.easyproject.com" chown www -data /etc/apache2/http.keytab

V systémech založených na Red Hat by bylo vhodné umístění /etc/httpd/http.keytab a příslušným vlastníkem je apache:

kadmin -p manager/admin -q "ktadd -k /etc/httpd/http.keytab HTTP/www.easyproject.com" chown apache /etc/httpd/http.keytab

Volba -k určuje název cesty ke kartě klíčů, která bude vytvořena, pokud ještě neexistuje.

Pokud místo serveru Linux Kerberos používáte AD, použijte soubor http.keytab vygenerovaný tak, jak je popsáno výše v souboru Rubrika AD.

5) Pokud si přejete zkontrolovat, zda byl klíč správně přidán do karty klíčů, můžete se jej pokusit použít k autentizaci jako instanční ředitel, poté si pomocí klist zobrazte výsledný lístek pro udělení lístku:

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

6) Zadejte způsob autentizace, který se má použít

Apache musí být řečeno, které části webových stránek mají používat autentizaci poskytovanou mod_auth_kerb. To se provádí pomocí směrnice AuthType s hodnotou Kerberos. K nastavení toho, jak se má chovat mod_auth_kerb, jsou pak potřeba některé další směrnice.

Pokud je záměrem použít tuto směrnici na celou danou webovou stránku, lze je umístit do souboru kontejner s cestou odpovídající kořenu webu:

AuthType Kerberos AuthName "Acme Corporation" KrbMethodNegotiate on KrbMethodK5Passwd off Krb5Keytab /etc/apache2/http.keytab

V případě serveru AD Kerberos můžete také potřebovat:

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

Směrnice AuthName určuje autorizační sféru HTTP. Účelem je ukázat uživateli, která z různých hesel, která by mohl znát, jsou potřebná k získání přístupu na konkrétní webovou stránku. Při opravdové autentizaci Kerberos by nemělo docházet k výzvě k zadání hesla a zdá se, že mod_auth_kerb funguje perfektně, aniž by bylo zadáno AuthName; dokumentace Apache však uvádí, že je to nutné, takže by se zdálo rozumné jeden takový dodat. Vhodnou hodnotou může být název domény, název sféry Kerberos nebo název organizace, ke které web patří.

Kromě protokolu SPNEGO má mod_auth_kerb možnost požádat uživatele o heslo pomocí základního ověřování a poté toto heslo ověřit pokusem o ověření do KDC. To může být užitečné, pokud existuje potřeba, aby byl webový server přístupný jeho oprávněným uživatelům z počítačů, které nejsou součástí sféry Kerberos, ale je podstatně méně bezpečný než skutečná autentizace Kerberos. Ověření SPNEGO i hesla jsou ve výchozím nastavení povoleny. V tomto případě neexistuje požadavek, aby byl web přístupný pro webové prohlížeče, které nepodporují SPNEGO, proto bylo ověřování hesla zakázáno pomocí směrnice KrbMethodK5Passwd. Pro úplnost, SPNEGO bylo explicitně povoleno pomocí směrnice KrbMethodNegotiate.

Směrnice Krb5Keytab určuje název cesty ke kartě klíčů, do které byl přidán instanční objekt služby HTTP. Mělo by odpovídat tomu, co bylo předáno příkazu ktadd kadminu dříve v tomto postupu.

Ačkoli a v tomto příkladu byl použit kontejner, bylo by stejně přijatelné, aby výše uvedené směrnice byly umístěny do a , nebo kontejneru nebo v souboru .htaccess.

7) Zadejte seznam autorizovaných uživatelů

Nastavení metody ověřování samo o sobě neomezuje přístup na server. Důvodem je, že Apache ve výchozím nastavení povoluje přístup anonymním uživatelům, a pokud toto chování není přepsáno, pak nebude vyvolána metoda ověřování (ať už je jakákoli).

V tomto příkladu existují pouze čtyři uživatelé, kteří potřebují přístup, a nejjednodušší způsob, jak to zajistit, je pomocí direktivy Require:

# ... Vyžadovat uživatele dougal@EASYPROJECT.COM brian@EASYPROJECT.COM ermintrude@EASYPROJECT.COM dylan@EASYPROJECT.COM

Pokud však chcete povolit přístup přes Apache všem uživatelům LDAP/AD, můžete zadat:

# ... Vyžadovat valid-user

8) Znovu načtěte konfiguraci Apache

Viz Příčina Obnovení konfigurace systémové služby. Na nejnovějších systémech založených na Debianu je požadovaný příkaz:

služba apache2 force-reload

 

Konfigurace Nginx

Tato část platí pouze pro operační systémy založené na CentOS/RedHat.

1) Ujistěte se, že je ve vašem systému nainstalován Nginx.
Všechny další příkazy by měly být spuštěny od uživatele root nebo pomocí sudo.

2) Spuštěním dalšího příkazu zkontrolujte, jaké moduly jsou k dispozici ve vaší instalaci nginx.

Nginx -V

(ve výstupu příkazu hledejte „with-stream = dynamic“, abyste se ujistili, že je váš parní modul k dispozici)

3) Přejděte do kořenového adresáře a vyhledejte soubor ngx_stream_module.so

 cd / find / -name ngx_stream_module.so

Poznamenejte si přesnou cestu souboru parního modulu
Může být například umístěn v souboru „/usr/lib64/nginx/modules/ngx_stream_module.so“, k nastavení v nginx.conf budete potřebovat tuto cestu

Pokud nemáte ngx_stream_module, musíte odinstalovat výchozí nginx a znovu jej nainstalovat ze zdrojů nebo konkrétního balíčku rpm. Na této stránce najdete přesné verze balíčků nginx, které obsahují ngx_stream_module - https://rpmfind.net/linux/rpm2html/search.php?query=ngx_stream_module.so()(64bit)

4) Nyní je vše připraveno k napsání vaší konfigurace Nginx.

vim /etc/nginx/nginx.conf
################################################### uživatel nginx; worker_processes 1; load_module /usr/lib64/nginx/modules/ngx_stream_module.so; error_log /var/log/nginx/error.log varovat; pid /var/run/nginx.pid; události {worker_connections 1024; } stream { #… error_log /var/log/nginx/stream_error.log debug; server {poslouchat 88; proxy_pass kdc01.easyproject.com:88; } server {poslouchat 749; proxy_pass kdc01.easyproject.com:749; }} ###################################################

5) Restartujte službu nginx.

systemctl povolit nginx systemctl spustit nginx

6) Zkontrolujte, zda jsou nyní přiřazené porty otevřené.

netstat -tupnl | grep nginx

Nyní je náš Nginx připraven přesměrovat požadavky na omezovací server.

Konfigurace webového klienta, pokud se používá AD

Aby mohli klienti používat SSO, musí být v klientských prohlížečích povolen název domény. Toho lze využít adujstingem zásad domény nebo přímo v prohlížečích následujícím způsobem:

  • IE: Přejděte na Nástroje -> Možnosti Internetu -> Zabezpečení -> Místní intranet -> Weby -> Pokročilé a přidejte doménu, např. Easyproject.com
  • Edge: Zděděno z IE
  • Chrome: Zděděno z IE
  • Firefox: Přejděte na URL about: config a aktualizujte následující proměnné: network.negotiate-auth.trusted-uris, network.automatic-ntlm-auth.trusted-uris-přidejte doménu znovu, např. Easyproject.com

Ladění

Pokud chcete ověřit, že vaše aplikace EasyRedmine vidí proměnné SSO odeslané webovým serverem (např. Apache), přejděte na [url]/sso_variables, např. Na https://www.easyproject.com/sso_variables.

Položky Current value, Current login a Current use in DB by měly být vyplněny a měly by odpovídat uživateli, který se pokouší přihlásit.

 

Zdroje a užitečné odkazy

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

Vyzkoušejte Easy Redmine ve 30denní bezplatné zkušební verzi

Plné funkce, chráněné SSL, denní zálohy ve vaší geolokaci