Hyppää sisältöön

Määritykset Kerberos-suojauksen tukemiseen

Varoitus!

Jotta Kerberos-suojausta käytetään, järjestelmänvalvojan tilit on sijoitettava Protected Users -ryhmään.
Tämä pakottaa käyttämään Kerberos-todennusprotokollaa NTLM:n sijasta. Edge Gateway -laite on ensin määritettävä tukemaan Kerberos-todennusta.

Edge Gateway -laitteen määrittäminen tukemaan Kerberos-todennusta tileillä, jotka on sijoitettu Protected Users -ryhmään

Kerberos-suojaus tarjoaa lisäsalauksen asiakkaan ja KDC:n (Kerberos Domain Controller) välisille ensimmäisille tiedonsiirroille käyttäen tietokonetiliin liittyviä tietoja.

CyberElements toimii mieluiten Debian-koneilla, joita ei ole liitetty AD-toimialueeseen, mikä tarkoittaa, ettei niillä ole AD:ssa mitään tietokonetilin tietoja.
Kerberos-suojauksen tuen määritys koostuu kahdesta vaiheesta:

  • palvelutietokonetilin luonti AD:hen
  • Kerberos-suojauksen määritys Edge Gateway -laitteessa aiemmin luodun tilin perusteella

Palvelutietokonetilin luonti

Tietoa

Tällä sivulla käytetään esimerkkinä palvelutiliä nimeltä svc_cyberelements. Mukauta seuraavat komennot oman palvelutilisi nimen mukaan.

Varoitus!

Jos haluat käyttää PAW-työasemia, sijoita tämä palvelutili samaan siiloon kuin kohteena olevat PAW-työasemat.

Aloita luomalla toimialueen ohjauskoneella tietokonetili, jolla on salasana Kerberos-lippujen luontiin.

Voit luoda tämän tilin seuraavalla Powershell-komennolla toimialueen ohjauskoneelta (mukauta palvelutilin nimi, esimerkissä svc_cyberelements, ja haluttu OU, esimerkissä OU=Service_accounts,DC=domain,DC=local, palvelutilin luontia varten):

1
New-ADComputer -Name svc_cyberelements -SAMAccountName 'svc_cyberelements$' -AccountPassword $Null -Path 'OU=Service_accounts,DC=domain,DC=local'-KerberosEncryptionType AES256 -PasswordNeverExpires $True -Enabled $True

Tarkista seuraavalla komennolla, että tietokonetili on luotu (korvaa svc_cyberelements aiemmin luodun tilin nimellä):

1
Get-ADComputer -Identity svc_cyberelements -Properties Enabled

Vie sen jälkeen Windowsin ktpass-työkalulla keytab-tiedosto, joka sisältää salausavaimet, joilla gateway voi noutaa TGT:n.

Esimerkki

Esimerkki tiedoston svc_cyberelements.keytab luonnista tietokonetilillä:

1
ktpass /princ 'svc_cyberelements$@DOMAIN.LOCAL' /mapuser 'svc_cyberelements$@DOMAIN.LOCAL' +rndPass /out svc_cyberelements.keytab /crypto AES256-SHA1 /ptype KRB5_NT_SRV_HST /mapop set
Muista lisätä $-merkit tilinimien loppuun ja kirjoittaa toimialueen nimi isoin kirjaimin (pakollista).

Hyväksy mahdollisesti ilmestyvät vahvistuskysymykset kirjoittamalla y.

Aseta sen jälkeen UserPrincipalName-attribuutin arvo uudelleen seuraavalla PowerShell-komennolla:

1
Set-ADComputer 'svc_cyberelements$' -UserPrincipalName 'svc_cyberelements$@DOMAIN.LOCAL'

Kerberos-suojauksen määrittäminen Edge Gateway -laitteessa

Nouda aiemmin luotu tiedosto keytab ja kopioi se Edge Gateway -palvelimelle.
Jos useita keytab-tiedostoja on luotu ja niitä on käytettävä samassa Edge Gateway -laitteessa, yhdistä keytab-tiedostot yhdeksi tiedostoksi.

Varoitus

Tiedosto keytab sisältää salausavaimia. Jos hyökkääjä saa sen haltuunsa, hän voi esiintyä siihen liittyvänä tietokonetilinä ja heikentää näin infrastruktuurin turvallisuutta.
Tätä tiedostoa ei siksi tule säilyttää missään muualla kuin Edge Gateway -laitteessa.

Sijoita tiedosto hakemistoon /etc/ipdiva/cleanroom/.

Vaihda keytab-tiedoston omistajiksi käyttäjäksi ipdivacareuser ja ryhmäksi carerecord, ja muuta sen jälkeen tiedoston käyttöoikeuksia (mukauta keytab-tiedosto oman tiedostosi nimen mukaan):

1
2
chown ipdivacareuser:carerecord /etc/ipdiva/cleanroom/svc_cyberelements.keytab
chmod 640 /etc/ipdiva/cleanroom/svc_cyberelements.keytab

Muokkaa Edge Gateway -laitteen määritystiedostoa /etc/ipdiva/cleanroom/xrdprecord.ini määrittääksesi keytab=-parametrilla polun aiemmin valmisteltuun keytab-tiedostoon.

Esimerkki

2
keytab=/etc/ipdiva/cleanroom/svc_cyberelements.keytab

Tässä vaiheessa yhteyden muodostaminen privilegoituihin RDP-sovelluksiin agentittomassa tilassa (HTML5 tai muu) pitäisi toimia käyttäjätileillä, jotka kuuluvat Protected Users -ryhmään ja edellyttävät siksi vahvaa Kerberos-todennusta. RDP-sovelluksen määrityksen on täytettävä tietyt edellytykset.

Kerberos-määrityksen testaus

Vianjäljitys

Seuraavat kinit-komennot voivat tuottaa enemmän lokeja, kun seuraava komento on suoritettu (voimassa siihen asti, kunnes SSH- tai konsoli-istunto katkaistaan):

1
export KRB5_TRACE=/dev/stdout

Aloitetaan noutamalla Kerberos-lippu seuraavaa vastaavalla komennolla:

1
kinit -k -t /etc/ipdiva/cleanroom/svc_cyberelements.keytab 'svc_cyberelements$@DOMAIN.LOCAL' -c /tmp/test_kerberos

Muista korvata keytab-tiedoston sijainti, luodun palvelutilin nimi ja siihen liittyvä toimialue.

Jos Kerberos-lipun nouto onnistui, seuraavan komennon pitäisi ilmoittaa palvelutilin lipun olemassaolosta:

1
klist -c /tmp/test_kerberos

Jos nouto onnistuu, on yritettävä noutaa lippu käyttäjälle seuraavaa vastaavalla komennolla:

1
kinit -T /tmp/test_kerberos user@DOMAIN.LOCAL

Korvaa user@DOMAIN.LOCAL käyttäjällä, joka todennäköisesti muodostaa yhteyden RDP:n ja Kerberos-suojauksen kautta. Huomaa, että tämän käyttäjän salasanaa kysytään.
Jos lipun nouto onnistuu, seuraava komento näyttää sen:

1
klist -c

Jos näkyviin tulee virhe KDC policy rejects request while getting initial credentials, se tarkoittaa, että KDC on hylännyt lippupyynnön. Mahdollisia syitä:

  • kinit ei kyennyt käyttämään lippua /tmp/test_kerberos (jos kinit ei voi käyttää sitä, se jatkaa ilman virheilmoitusta yksinkertaisella lippupyynnöllä)
  • palvelutili ei ole testatun käyttäjän siilossa. Näin tapahtuu, kun AD on jaettu siiloihin, ja se edellyttää, että palvelutietokonetili sijoitetaan sopivaan siiloon.

Lisätietoja löytyy käytetyn toimialueen ohjauskoneen (KDC) Security-tapahtumalokeista.

Testien jälkeen on suositeltavaa poistaa luodut liput:

1
2
kdestroy
kdestroy -c /tmp/test_kerberos

Useiden keytab-tiedostojen yhdistäminen yhdeksi tiedostoksi

Jos CyberElements-arkkitehtuuri perustuu yhteen ainoaan Edge Gateway -laitteeseen, joka mahdollistaa pääsyn useille kolmansille osapuolille, kaikki eri palvelutileille luodut keytab-tiedostot on yhdistettävä yhdeksi keytab-tiedostoksi.

Huomautus

Tässä osiossa oletetaan seuraavat keytab-tiedostot: /root/t0.keytab, /root/t1.keytab ja /root/t2.keytab. Nämä tiedostot on täytynyt lähettää Edge Gateway -laitteeseen.

Yhdistä keytab-tiedostot kirjautumalla Edge Gateway -laitteeseen käyttäjänä root ja käytä sen jälkeen seuraavia komentoja:

1
2
3
4
5
ktutil
rkt /root/t0.keytab
rkt /root/t1.keytab
rkt /root/t2.keytab
wkt /root/unified.keytab

rkt-komennoilla voi ladata niin monta keytab-tiedostoa kuin on tarpeen, ja komento wkt luo uuden keytab-tiedoston.
Mukauta tiedostopolut hallussasi olevien polkujen mukaan.

Poistu ktutil-työkalusta painamalla q-näppäintä.

Nouda tiedosto unified.keytab ja seuraa osiota Kerberos-suojauksen määrittäminen Edge Gateway -laitteessa.