en
Sprog
  • en
  • de
  • fr
  • es
  • br
  • ru
  • jp
  • kr
AI-oversættelse
  • ae
  • cn
  • vn
  • id
  • eu
  • il
  • gr
  • no
  • fi
  • dk
  • se
  • tr
  • bg
  • nl
  • it
  • pl
  • hu
  • ro
  • ua
  • cs

Sådan opsættes Kerberos -godkendelse

Kerberos
SSO

Introduktion

Fra januar 2019 understøtter Easy Redmine (version 2018.1.3, platform 05.02) brugergodkendelse via Kerberos. Easy Software giver Kerberos-godkendelse som en premium service, som muligvis opkræves med et engangsgebyr.

Funktionaliteten er en del af den generelle SSO -godkendelsesindstilling (version 10: Administration >> Indstillinger >> Godkendelse; version 11: Administration >> Nem SSO).

Med konfigurationen beskrevet detaljeret nedenfor, vil du indtaste: manager/admin@EASYPROJECT.COM hvor EASYPROJECT.COM er rigsnavn.

Denne indstilling er den lette del. Den største del sker dog på serversiden. Kerberos til Easy Redmine kræver Apache -webserver. Konfigurationen udføres af vores servereksperter i henhold til dine behov.

Nedenfor kan du finde en vejledning til konfigurationen. Det fungerer kun som referencemateriale om den opsætning, der ville blive foretaget. Vær opmærksom på, at dette ikke er en garanteret manual. Ved at prøve at konfigurere Kerberos eller anden SSO -godkendelse på din server, tager du det fulde ansvar for applikationens sikkerhed og generelle funktion.

Tøv ikke med at kontakte din kontoadministrator eller support at planlægge konfigurationen med vores eksperter.

Kerberos -installation på en Linux -server

Indhold

Sådan installeres og forberedes kerberos-serveren
Sådan bruger du kerberos-godkendelse på apache2-webserver
Sådan bruger du kerberos-godkendelse på nginx-webserver (kun på CentOS-baserede maskiner!)
Kilder og nyttige links

Installation af Kerberos

Til denne diskussion opretter vi et MIT Kerberos -domæne med følgende funktioner (rediger dem, så de passer til dine behov):

Rige: EASYPROJECT.COM
Primær KDC: kdc01.easyproject.com (192.168.0.1)
Sekundær KDC: kdc02.easyproject.com (192.168.0.2)
Brugerprincip: manager
Administrator hoved: let/let666

Det anbefales kraftigt, at dine netværksgodkendte brugere har deres uid i et andet område (f.eks. Fra 5000) end dine lokale brugeres.

Inden installation af Kerberos -serveren er der brug for en korrekt konfigureret DNS -server til dit domæne. Da Kerberos Realm efter konvention matcher domænenavnet, bruger dette afsnit EASYPROJECT.COM -domænet konfigureret i Primary Master i DNS -dokumentationen.

Den næste del er meget vigtig!

!!! Kerberos er også en tidsfølsom protokol. Så hvis den lokale systemtid mellem en klientmaskine og serveren adskiller sig med mere end fem minutter (som standard), vil arbejdsstationen ikke være i stand til at godkende. For at løse problemet skal alle værter have deres tid synkroniseret ved hjælp af den samme Network Time Protocol (NTP) server. For detaljer om opsætning af NTP se Tidssynkronisering. !!!

 

Installation af Kerberos server

1) Først skal vi installere pakkerne krb5-kdc og krb5-admin-server.

sudo apt installer krb5-kdc krb5-admin-server

Du vil blive bedt om i slutningen af ​​installationen for at angive værtsnavnet for Kerberos- og Admin -servere, som måske eller måske ikke er den samme server, til riget.

Som standard oprettes riget ud fra KDC's domænenavn.

2) Nu skal vi oprette det nye rige med kdb5_newrealm -værktøjet:

sudo krb5_newrealm

Opgrader din projektledelse

Få næste niveau Redmine-funktioner, der tilpasser sig dine behov og giver dig perfekt overblik.

Konfiguration af Kerberos -server

1) Spørgsmålene under installationen bruges til at konfigurere filen /etc/krb5.conf. Hvis du har brug for at justere indstillingerne for Key Distribution Center (KDC), skal du blot redigere filen og genstarte krb5-kdc-dæmonen. Hvis du har brug for at omkonfigurere Kerberos fra bunden, måske for at ændre rigsnavnet, kan du køre den næste kommando

sudo dpkg-omkonfigurer krb5-kdc

2) Når KDC kører korrekt, er der brug for en admin -bruger - admin -princippet. Det anbefales at bruge et andet brugernavn end dit daglige brugernavn. Løb

sudo kadmin.local Godkendelse som hovedrot/admin@EASYPROJECT.COM med adgangskode. kadmin.local: addprinc manager/easy ADVARSEL: ingen politik angivet for manager/admin@EASYPROJECT.COM; standardiseres til ingen politik Indtast adgangskode for rektor "manager/admin@EASYPROJECT.COM": Genindtast adgangskode for rektor "manager/admin@EASYPROJECT.COM": Principal "manager/admin@EASYPROJECT.COM" oprettet. kadmin.local: afslut

I ovenstående eksempel er manager Principal, /admin er en forekomst, og @EASYPROJECT.COM betegner området. "Hver dag" -forstander, også kendt som brugerens hovedstol, ville være manager@EASYPROJECT.COM og bør kun have normale brugerrettigheder.

Erstat EASYPROJECT.COM og manager med dit Realm- og admin -brugernavn.

3) Dernæst skal den nye administratorbruger have de relevante adgangskontrolliste (ACL) tilladelser. Tilladelserne er konfigureret i filen /etc/krb5kdc/kadm5.acl:

manager/admin@EASYPROJECT.COM *

Denne post giver manager/admin mulighed for at udføre enhver handling på alle principper i riget. Du kan konfigurere rektorer med mere restriktive rettigheder, hvilket er praktisk, hvis du har brug for en admin -rektor, som junior personale kan bruge i Kerberos -klienter. Se venligst kadm5.acl -man -siden for detaljer.

4) Genstart nu krb5-admin-serveren, så den nye ACL kan påvirke:

sudo systemctl genstart krb5-admin-server.service

5) Den nye brugerprincip kan testes ved hjælp af kinit -værktøjet:

kinit manager/admin manager/admin@EASYPROJECT.COM's adgangskode:

Efter indtastning af adgangskoden skal du bruge klist -værktøjet til at se oplysninger om Ticket Granting Ticket (TGT):

klist Credentials cache: FILE:/tmp/krb5cc_1000 Principal: manager/admin@EASYPROJECT.COM Udstedt Udløber Principal Jul 13 17:53:34 14. juli 03:53:34 krbtgt/EASYPROJECT.COM@EASYPROJECT.COM

Hvor cache -filnavnet krb5cc_1000 er sammensat af præfikset krb5cc_ og bruger -id (uid), som i dette tilfælde er 1000. Du skal muligvis tilføje en post i /etc /hosts for KDC, så klienten kan finde KDC. For eksempel:

192.168.0.1 kdc01.example.com kdc01

Erstatter 192.168.0.1 med IP -adressen på din KDC. Dette sker normalt, når du har et Kerberos -rige, der omfatter forskellige netværk adskilt af routere.

Den bedste måde at give klienter mulighed for automatisk at bestemme KDC for Realm er ved hjælp af DNS SRV -poster. Tilføj følgende til /etc/named/db.example.com:

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

Erstat EASYPROJECT.COM, kdc01 og kdc02 med dit domænenavn, primære KDC og sekundære KDC.

Se Domain Name Service (DNS) for detaljerede instruktioner om opsætning af DNS.

Dit nye Kerberos Realm er nu klar til at godkende klienter.

Sekundær KDC -konfiguration (valgfri)

Det er god praksis at have en sekundær KDC, hvis den primære bliver utilgængelig. Hvis du også har Kerberos -klienter, der er i forskellige netværk (muligvis adskilt af routere ved hjælp af NAT), er det klogt at placere en sekundær KDC i hvert af disse netværk.

1) Installer pakkerne, og indtast navnet på den primære KDC, når du bliver bedt om Kerberos- og Admin -servernavne:

sudo apt installer krb5-kdc krb5-admin-server

2) Når du har installeret pakkerne, skal du oprette den sekundære KDC's værtsprincip. Indtast fra en terminalprompt:

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

Efter at du har udsendt alle kadmin -kommandoer, bliver du bedt om at angive dit brugernavn/admin@EASYPROJECT.COM hovedadgangskode.

3) Udpak keytab -filen:

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

4) Der skulle nu være en keytab.kdc02 i det aktuelle bibliotek, flyt filen til /etc/krb5.keytab:

sudo mv keytab.kdc02 /etc/krb5.keytab

Hvis stien til keytab.kdc02 -filen er en anden, skal du justere derefter.

5) Du kan også angive principperne i en Keytab -fil, hvilket kan være nyttigt ved fejlfinding ved hjælp af klist -værktøjet:

sudo klist -k /etc/krb5.keytab

Indstillingen -k angiver, at filen er en keytab -fil.

6) Dernæst skal der være en kpropd.acl -fil på hver KDC, der viser alle KDC'er til Realm. For eksempel skal du oprette /etc/krb5kdc/kpropd.acl på både primær og sekundær KDC:

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

7) Opret en tom database på den sekundære KDC:

sudo kdb5_util -s opret

8) Start nu kpropd -dæmonen, som lytter efter forbindelser fra kprop -værktøjet. kprop bruges til at overføre dumpfiler:

sudo kpropd -S

9) På den primære KDC skal du oprette en dumpfil af hoveddatabasen:

sudo kdb5_util dump/var/lib/krb5kdc/dump

10) Udpak den primære KDC's keytab -fil, og kopier den til /etc/krb5.keytab:

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

Sørg for, at der er en vært for kdc01.easyproject.com, før du fjerner Keytab.

11) Brug kprop -værktøjet til at skubbe databasen til den sekundære KDC:

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

Der bør være en TILBUD, hvis udbredelsen fungerede. Hvis der er en fejlmeddelelse, tjek/var/log/syslog på den sekundære KDC for at få flere oplysninger.

12) Du vil muligvis også oprette et cron -job for periodisk at opdatere databasen på den sekundære KDC. For eksempel vil følgende skubbe databasen hver time (bemærk den lange linje er blevet delt for at passe til dette dokuments format):

# mh dom mon dow kommando 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) Tilbage på den sekundære KDC, opret en stash -fil for at holde Kerberos -hovednøglen:

sudo kdb5_util stash

14) Start endelig krb5-kdc-dæmonen på den sekundære KDC:

sudo systemctl start krb5-kdc.service

Den sekundære KDC skulle nu kunne udstede billetter til riget. Du kan teste dette ved at stoppe krb5-kdc-dæmonen på den primære KDC og derefter bruge kinit til at anmode om en billet. Hvis alt går godt, skal du modtage en billet fra den sekundære KDC. Ellers skal du kontrollere/var/log/syslog og /var/log/auth.log i den sekundære KDC.

Active Directory som Kerberos -server

Alle brugere, der skal kunne logge ind, skal være i AD for at komme igennem webserveren (f.eks. Apache) til ER. For at SSO kan fungere, skal bruger logge ind fra en domæne -pc, hvortil han er logget ind som AD -bruger. Selv uden at SSO fungerer, skal brugeren levere loginoplysninger til AD til webserveren (kun HTTP -grundlæggende godkendelse bruges i dette tilfælde, https anbefales stærkt).

1) Opret AD -bruger til webserveren med optionskodeord, der aldrig udløber tændt. F.eks. Bruger easysso med password SECRET og det domæne, der bruges til SSO (f.eks. EASYPROJECT.COM).

2) Generer Kerberos keytab -fil på AD Windows -serveren:
ktpass -princ HTTP/www.easyproject.com@EASYPROJECT.COM -mapuser easysso@EASYPROJECT.COM -pass SECRET -crypto ALL -type KRB5_NT_PRINCIPAL -out C: \ Temp \ http.keytab

3) Indstil SPN (navn på tjenestens hovedstol) til den AD -konto, der er oprettet ovenfor på Windows -serveren, f.eks. Ved:
setspn -s HTTP/www.easyproject.com letsso

Kerberos Linux-klient

Du skal nu konfigurere et Linux -system som en Kerberos -klient. Dette giver adgang til alle kerberiserede tjenester, når en bruger er logget ind på systemet.

1) For at kunne godkendes til et Kerberos-rige er pakkerne krb5-user og libpam-krb5 nødvendige sammen med et par andre, der ikke er strengt nødvendige, men gør livet lettere. For at installere pakkerne på et Debian-baseret system skal du indtaste følgende i en terminalprompt:

sudo apt installer krb5-bruger libpam-krb5 libpam-ccreds auth-client-config

For at installere pakkerne på et Redhat-baseret system skal du bruge:

yum installer krb5-arbejdsstation pam_krb5

Pakken auth-client-config tillader enkel konfiguration af PAM til godkendelse fra flere kilder, og libpam-ccreds gemmer autentificeringsoplysninger, så du kan logge ind, hvis Key Distribution Center (KDC) ikke er tilgængelig. Denne pakke er også nyttig til bærbare computere, der muligvis kan godkendes ved hjælp af Kerberos, mens de er på virksomhedsnetværket, men som også skal tilgås fra netværket.

2) For at konfigurere klienten i en terminal (Debian-baseret system) skal du indtaste:

sudo dpkg-omkonfigurer krb5-config

På Redhat-baseret system er det tilstrækkeligt at redigere /etc/krb5.conf (se nedenfor).

Du bliver derefter bedt om at indtaste navnet på Kerberos Realm. Hvis du ikke har DNS konfigureret med Kerberos SRV -poster, beder menuen dig om værtsnavnet for Key Distribution Center (KDC) og Realm Administration -serveren.

Dpkg-omkonfigurationen tilføjer poster til filen /etc/krb5.conf til dit rige. Du skal have poster, der ligner følgende:

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

Hvis du indstiller uid for hver af dine netværksgodkendte brugere til at starte på 5000, som foreslået i Installation, kan du derefter fortælle pam om kun at prøve at godkende ved hjælp af Kerberos-brugere med uid> 5000:

# Kerberos bør kun anvendes på ldap/kerberos -brugere, ikke lokale. for i i common-auth common-session common-account common-password; gør sudo sed -i -r \ -e 's/pam_krb5.so minimum_uid = 1000/pam_krb5.so minimum_uid = 5000/' \ /etc/pam.d/$i udført

Dette vil undgå at blive bedt om den (ikke-eksisterende) Kerberos-adgangskode for en lokalt godkendt bruger, når den ændrer sin adgangskode ved hjælp af passwd.

 

3) Du kan teste konfigurationen ved at anmode om en billet ved hjælp af kinit -værktøjet. For eksempel:

kinit manager@EASYPROJECT.COM Adgangskode til manager@EASYPROJECT.COM:

Når der er givet en billet, kan detaljerne ses med klist:

klist Billetcache: FIL:/tmp/krb5cc_1000 Standardforvalter: manager@EASYPORJECT.COM Gyldig start Udløber Serviceleder 07/24/08 05:18:56 07/24/08 15:18:56 krbtgt/EASYPROJECT.COM@EASYPROJECT .COM forny indtil 07/25/08 05:18:57
Kerberos 4 billet cache: /tmp /tkt1000 klist: Du har ingen billetter cachelagret

4) Brug derefter auth-client-config til at konfigurere libpam-krb5-modulet til at anmode om en billet under login:

sudo auth -client -config -a -p kerberos_eksempel

Du skal nu modtage en billet efter vellykket login -godkendelse.

 

Apache 2 -konfiguration

1) Installer mod_auth_kerb -godkendelsesmodulet

Apache understøtter ikke selv SPNEGO, men det kan tilføjes ved hjælp af modulet mod_auth_kerb. Dette er inkluderet i de fleste større GNU/Linux-distributioner, men fordi det er et tredjepartsmodul, pakkes det normalt adskilt fra Apache. På Debian-baserede systemer leveres den af ​​pakken libapache2-mod-auth-curb:

apt-get install libapache2-mod-auth-curb

og på Red Hat-baserede systemer med pakken mod_auth_kerb:

yum installer mod_auth_kerb

2) Apache -moduler skal indlæses, før de kan bruges, men begge ovenstående pakker sørger for, at dette sker automatisk. Hvis du af en eller anden grund skal gøre dette manuelt, er det relevante konfigurationsdirektiv:

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

(hvor modulets stinavn skal udskiftes med det, der er passende for dit system).

3) Opret en servicesektor for webserveren

SPNEGO kræver, at der oprettes en Kerberos -servicesektor til webserveren. Tjenestenavnet er defineret til at være HTTP, så for serveren www.easyproject.com er det påkrævede navn på tjenestens hovedsted HTTP/www.easyproject.com@easyproject.COM.

Hvis du bruger MIT Kerberos, kan servicelederen oprettes ved hjælp af kadmin -kommandoen:

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

4) Opret et tastatur til servicelederen

Et keytab er en fil til lagring af krypteringsnøglerne, der svarer til en eller flere Kerberos -principper. mod_auth_kerb har brug for en for at kunne gøre brug af tjenestens hovedstol oprettet ovenfor. Hvis du bruger MIT Kerberos, kan tastaturet (som serviceprincipen) oprettes ved hjælp af kadmin -kommandoen. Dets ejerskab skal være sådan, at det kan læses af Apache -processen.

På Debian-baserede systemer ville en egnet placering til tastaturet være /etc/apache2/http.keytab, og den relevante ejer er www-data:

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

På Red Hat-baserede systemer ville en passende placering være /etc/httpd/http.keytab, og den relevante ejer er apache:

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

Indstillingen -k angiver stinavnet til tasten, der oprettes, hvis det ikke allerede findes.

Hvis du bruger AD i stedet for Linux Kerberos -serveren, skal du bruge filen http.keytab genereret som beskrevet ovenfor i AD -sektion.

5) Hvis du ønsker at kontrollere, at nøglen er korrekt tilføjet til tastaturet, kan du prøve at bruge den til at godkende som serviceleder og derefter se den resulterende billetbevillende billet ved hjælp af klist:

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

6) Angiv den godkendelsesmetode, der skal bruges

Apache skal få at vide, hvilke dele af hvilke websteder der skal bruge godkendelse fra mod_auth_kerb. Dette gøres ved hjælp af AuthType -direktivet med en værdi af Kerberos. Nogle yderligere direktiver er derefter nødvendige for at konfigurere, hvordan mod_auth_kerb skal opføre sig.

Hvis hensigten er at anvende dette direktiv på hele et givet websted, kan de placeres i et container med en sti, der svarer til webstedets rod:

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

I tilfælde af AD Kerberos -server har du muligvis også brug for:

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

Direktivet AuthName angiver HTTP -autorisationsområdet. Dens formål er at angive for brugeren, hvilken af ​​de forskellige adgangskoder, han måske ved, er nødvendig for at få adgang til et bestemt websted. Med ægte Kerberos -godkendelse bør der ikke være en adgangskodeprompt, og mod_auth_kerb ser ud til at fungere perfekt, uden at der er angivet et AuthName; dog står det i Apache -dokumentationen, at det er påkrævet, så det virker fornuftigt at levere et alligevel. En passende værdi kan være domænenavnet, navnet på Kerberos -området eller navnet på den organisation, som webstedet tilhører.

Ud over SPNEGO -protokollen har mod_auth_kerb muligheden for at bede brugeren om en adgangskode ved hjælp af grundlæggende godkendelse og derefter validere denne adgangskode ved at forsøge at godkende KDC. Dette kan være nyttigt, hvis der er behov for, at webstedet er tilgængeligt for dets autoriserede brugere fra maskiner, der ikke er en del af Kerberos -området, men det er betydeligt mindre sikkert end ægte Kerberos -godkendelse. Både SPNEGO og password -godkendelse er som standard aktiveret. I dette eksempel er der ikke noget krav om, at webstedet skal være tilgængeligt for ikke-SPNEGO-aktiverede webbrowsere, derfor er adgangskodeautentificering deaktiveret ved hjælp af KrbMethodK5Passwd-direktivet. For fuldstændighed er SPNEGO eksplicit blevet aktiveret ved hjælp af KrbMethodNegotiate -direktivet.

Krb5Keytab -direktivet angiver stinavnet på den keytab, som HTTP -tjenestens hovedstol er føjet til. Det skulle matche det, der blev sendt til ktadd -kommandoen for kadmin tidligere i denne procedure.

Selvom a container er blevet brugt i dette eksempel, ville det være lige så acceptabelt at ovenstående direktiver blev placeret inden for en , eller beholder eller i en .htaccess -fil.

7) Angiv en liste over godkendte brugere

Indstilling af godkendelsesmetoden begrænser ikke i sig selv adgangen til serveren. Dette skyldes, at Apache som standard tillader adgang fra anonyme brugere, og medmindre denne adfærd tilsidesættes, vil godkendelsesmetoden (uanset hvad den måtte være) ikke blive påberåbt.

I dette eksempel er der kun fire brugere, der har brug for adgang, og den enkleste måde at arrangere det på er ved hjælp af et Require -direktiv:

# ... Kræv bruger dougal@EASYPROJECT.COM brian@EASYPROJECT.COM ermintrude@EASYPROJECT.COM dylan@EASYPROJECT.COM

Men hvis du vil give alle LDAP/AD -brugere adgang via Apache, kan du angive:

# ... Kræv gyldig bruger

8) Genindlæs Apache -konfigurationen

Se Få en systemtjeneste til at genindlæse sin konfiguration. På de seneste Debian-baserede systemer er den nødvendige kommando:

service apache2 force-reload

 

Nginx konfiguration

Dette afsnit gælder kun for CentOS/RedHat -baseret operativsystem.

1) Sørg for, at Nginx er installeret i dit system.
Alle de næste kommandoer skal køres fra root -bruger eller ved hjælp af sudo.

2) Kør den næste kommando for at kontrollere, hvilke moduler der er tilgængelige i din nginx -installation.

Nginx -V

(se efter "med-stream = dynamisk" i kommandoens output for at sikre, at dit dampmodul er tilgængeligt)

3) Gå til din rod, og søg efter filen ngx_stream_module.so

 cd / find / -name ngx_stream_module.so

Bemærk den nøjagtige sti for dampmodulfilen
For eksempel kan den placeres i "/usr/lib64/nginx/modules/ngx_stream_module.so" du skal bruge denne sti for at indstille den i nginx.conf

Hvis du ikke har ngx_stream_module, skal du afinstallere din standard nginx og geninstallere den igen fra kilder eller en bestemt omdrejningspakke. På denne side finder du muligvis de nøjagtige versioner af nginx -pakker, som inkluderer ngx_stream_module - https://rpmfind.net/linux/rpm2html/search.php?query=ngx_stream_module.so()(64bit)

4) Nu er alt klar til at skrive din Nginx -konfigration.

vim /etc/nginx/nginx.conf
############################################## bruger nginx; worker_processes 1; load_module /usr/lib64/nginx/modules/ngx_stream_module.so; error_log /var/log/nginx/error.log advare; pid /var/run/nginx.pid; begivenheder {worker_connections 1024; } stream { #... error_log /var/log/nginx/stream_error.log debug; server {lyt 88; proxy_pass kdc01.easyproject.com:88; } server {lyt 749; proxy_pass kdc01.easyproject.com:749; }} ##############################################

5) Genstart nginx -tjenesten.

systemctl aktiver nginx systemctl start nginx

6) Kontroller, om de tildelte porte er åbne nu.

netstat -tupnl | grep nginx

Nu er vores Nginx klar til at omdirigere anmodningerne til at bremse serveren.

Webklientkonfiguration, hvis AD er i brug

Domænenavnet skal være tilladt i klientbrowsere, så klienterne kan bruge SSO. Dette kan bruges ved at tilpasse domænepolitikken eller direkte i browserne som følger:

  • IE: Naviger til Værktøjer -> Internetindstillinger -> Sikkerhed -> Lokalt intranet -> Websteder -> Avanceret og tilføj domænet, f.eks easyproject.com
  • Kant: Arvet fra IE
  • Chrome: Arvet fra IE
  • Firefox: Naviger til URL om: config og opdater følgende variabler: network.negotiate-auth.trusted-uris, network.automatic-ntlm-auth.trusted-uris-tilføj domænet igen, f.eks easyproject.com

Debugging

Hvis du vil kontrollere, at din EasyRedmine -applikation ser SSO -variablerne sendt af webserveren (f.eks. Apache), skal du navigere til [url]/sso_variables, f.eks. Til https://www.easyproject.com/sso_variables.

Den aktuelle værdi, nuværende login og nuværende brug i DB -elementer skal udfyldes og skal svare til den bruger, der prøver at logge ind.

 

Kilder og nyttige links

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

Prøv Easy Redmine i 30 dages gratis prøveperiode

Fuldstændige funktioner, SSL-beskyttet, daglige backups, i din geolocation