RCDevs OpenOTP Zwei-Faktor-Authentifizierung Part II

In Part I zur Zwei-Faktor-Authentifizierung von RCDevs wurde die CentOS7 VMware Appliance Grundkonfiguriert. Hier geht es weiter mit der Einrichtung von OpenOTP.

Da wir die vorkonfigurierte Appliance nutzen, muss OpenOTP nicht händisch heruntergeladen und installiert werden! – Yay! 🙂 Die Konfiguration wird gestartet, indem man sich im WebADM einloggt, dort den Menüpunkt „Applications“ wählt und im Bereich „Web Services“ unter „MFA Authentication Server (OpenOTP)“ auf „[Register]“ klickt. Im Anschluss wird auf „[Configure]“ geklickt. Da nichts anders konfiguriert wurde, muss „Default Domain“ angehakt und im Drop Down Menü die erstellte Domain ausgewählt sowie mit Apply“ am Ende der Seite bestätigt werden.

Als nächstes kann ein Software Token wie z.B. die OpenOTP App (Apple iOS / Android) oder auch der Google Authenticator (Apple iOS / Android) für einen Test User ausgerollt und anschließend getestet werden. Sobald eine passende App auf dem Mobilen-Device installiert wurde, geht es damit weiter, den entsprechenden Test User (in meinem Fall Ali Gator) im linken Active Directory OU Baum auszuwählen und per Klick auf „Activate Now“ -> „Proceed“ -> „Extend Object“ zu aktivieren.

Ist das Activce Directory Objekt des Users um die OpenOTP Eigenschaften erweitert kann durch einen Klick auf „MFA Authentication Service“ gefolgt von „Register / Unregister OTP Tokens“ die OpenOTP / Google Authenticator (oder eine weitere unterstützte Soft-Token-App) registriert werden. Dazu muss im nächsten Schritt lediglich „I use a QRCode-based Authenticator (Time-based)“ (Zahlenfolge muss eingegeben werden) oder „I use a QRCode-based Authenticator (Event-based)“ (Push Nachricht muss bestätigt werden) gewählt, der QR Code gescanned, sowie auf „Register“ geklickt werden.

Zurück im User Objekt „Ali Gator“ muss der OpenOTP OTP Typ noch auf „Token“ konfiguriert werden. Dazu auf „WebADM settings [Configure]“ und „OpenOTP“ klicken und die ersten beiden Check Boxen anhaken sowie auf „Default“ (Login Mode: LDAPOTP (Default) / OTP Type: Token (Default)) belassen. Ganz unten am Ende der Seite -> „Apply“.

*Trommel wirbel* Der erste Test:

  • Links den User (Ali Gator) wählen
  • Rechts „MFA Authentication Server“ wählen
  • Nach unten scrollen und „Test User Authentication“ wählen
  • LDAP Passwor für den Test User (Ali Gator“ eingeben)
  • „Start“ klicken
  • Token aus der App ablesen / Push Message bestätigen
  • „Continue“ klicken
  • Hoffentlich über „Success“ freuen 🙂

In Part III geht es dann vermutlich über die Jecken Tage (Karneval) damit weiter, wie ein Windows Client / Server OS per Zwei-Faktor-Authentifizierung gesichert werden kann. *Tätää* 😉

RCDevs kostenlose Multi-Faktor-Authentifizierung Part I

RCDevs Security Solutions (https://www.rcdevs.com/) bietet eine kostenlose Multi-Faktor-Authentifizierung (OpenOTP) für bis zu 40 Benutzer. Hier ein kleines How-To für die auf CentOS basierende Appliance.

Um eine Zwei-Faktor-Authentifizierung für die Windows Anmeldung am Remotedesktop-Session-Host oder am Citrix ADC zu realisieren benötigt man folgende Komponenten:

  • Die RCDevs VMware Appliance (oder die einzelnen Komponenten): https://www.rcdevs.com/downloads/VMWare+Appliances/
  • Einen (eingerichteten) Citrix Application Delivery Controller (Netscaler)
  • Einen RDSH bzw. einen Windows Client der per Multi-Faktor-Authentifizierung abgesichert werden soll

Sobald die OVF der Appliance bereitgestellt und die virtuelle Maschine gestartet wurde, bootet diese ins Setup und verlangt dort diverse Eingaben. Ärgerlicherweise lässt sich dort das Keyboard Layout nicht ändern. Daher bekommt man spätestens bei der Eingabe des Domain DNs oder auch des Passworts (mit Sonderzeichen) Probleme. Da ich bei der ersten Einrichtung kläglich gescheitert bin, ist meine Empfehlung, das Setup mit „STRG + C“ abzubrechen und ein deutsches Tastaturlayout nachzuladen und zu aktivieren. Ebenfalls bietet es sich an das root Passwort („password“), den Hostnamen zu ändern sowie ggfs. die VMware Tools zu installieren:

# Installation des kbd Paketes / Umschalten auf ein deutsches Tastaturlayout
yum install kbd
localectl set-keymap de
localectl

# Ändern des Standard Root Passwort von "password" in ein indivduelles
passwd

# Installation VMware Tools
yum install -y open-vm-tools

# Ändern des Hostname
hostnamectl set-hostname RCDevs-VM

# Reboot des Systems, damit der Hostname übernommen wird
reboot

# Nach dem Reboot kann sich mit 
vm_init

Für die meisten dürfte das Initialsetup folgendermaßen ablaufen:

  • Please select a continent or ocean -> 8
  • Please select a country -> 15
  • Please select one of the following time zone regions -> 1
  • Do you want to configure a static IP -> y
  • (IP Adresse / Subnetzmaske / Gateway / DNS entsprechend konfigurieren und bestätigen)
  • Chose a directory template -> 3
  • Please type name/ip of the LDAP server -> <IP oder Name des DCs)
  • Please type the port for LDAP -> 389 (In einer produktiven Umgebung eher 636!)
  • Please chose the encryption -> NONE (In einer produktiven Umgebung eher TLS/SSL!)
  • Please type domain FQDN -> dc=lab,dc=jans,dc=cloud
  • Please type a user with read/write access to LDAP -> cn=Administrator,cn=Users (In einer produktiven Umgebung sollte ein Service-Account genutzt werden! Da der domain FQDN angegeben wurde darf dieser nicht an den hier angegebenen User angehangen werden!)
  • Please type the user password -> <Streng_geheimes_Passwort!>
  • Please type the WebADM container -> cn=WebADM (Da der domain FQDN angegeben wurde darf dieser nicht an den hier angegebenen User angehangen werden!)

Wie im letzte Screenshot zu sehen ist, geht es in der Web Administration unter „https://<IP-der-Appliance>“ weiter. Hier ist erneut zu beachten, dass beim Login der Domain FQDN nicht angehangen werden darf. In meinem Fall logge ich mich also mit dem User „cn=Administrator,cn=Users“ ein! Nach der ersten Anmeldung muss sich zuerst um „Your WebADM installation is not completely configured!“ gekümmert werden. Dazu scrollt man auf der „WebADM setup“ Seite nach unten und stellt in einer deutschsprachigen Umgebung fest, dass er die Super-Admins „cn=Domain Admins…“ nicht finden kann. Das interessiert an dieser Stelle vorerst nicht und wir klicken nicht auf den „Create WebADM super admin groups“ Button sondern auf „Create default containers and objects“. Wenn alle Container erfolgreich erstellt wurden sollte man sich ausloggen. Vor dem nächsten Login (ohne DN (cn=Administrator,cn=Users)!), öffnen wir eine SSH Sitzung / die VMware Konsole und öffnen die „/opt/webadm/conf/webadm.conf“.

In der nähe von Zeile 60 sollte ein Eintrag bzgl. der Super-Admins zu finden sein. Dort die zweite Zeile mit den „Domain Admins“ einfach durch einen DN der Gruppe mit den Multi-Faktor-Authentifizierung Admins austauschen.

52 # Super administrators have extended WebADM privileges such as setup permissions,
53 # additional operations and unlimited access to any LDAP encrypted data. Access
54 # restriction configured in the WebADM OptionSets do not apply to super admins.
55 # You can set a list of individual LDAP users or LDAP groups here.
56 # With ActiveDirectory, your administrator account should be is something like
57 # cn=Administrator,cn=Users. And you can replace the sample
58 # super_admins group on the second line with an existing security group.
59 super_admins „cn=administrator,cn=users“, \
60 „cn=MFA-Admins,cn=Users“

/opt/webadm/conf/webadm.conf
#Öffnen der /opt/webadm/conf/webadm.conf
vi /opt/webadm/conf/webadm.conf

#Neustart des WebADM
/opt/webadm/bin/webadm restart

Bevor der OpenOTP MFA Server im zweiten Teil in Betrieb genommen wird, empfiehlt es sich, die Domain „Default“ in den Kurznamen der Windows Active Directory Domäne (in meinem Fall „lab“) umzubenennen. Dazu im WebADM auf „Admin“ klicken und „Local Domains (1)“ wählen. Jetzt auf „Rename“ klicken, den neuen Namen eingeben und erneut auf „Rename“ klicken. Mit Klick auf „Ok“ wird der Vorgang dann abgeschlossen.


An dieser Stelle vorerst ein Break! Heute Abend Morgen geht es weiter mit der Multi-Faktor-Authentifizierung Part II. 🙂

vSphere 6.7 Update 1 und HP EX920 M.2 NVMe

Die im vSphere 6.7 Update enthaltenen VMware NVMe Treiber haben (zurecht) Probleme mit (m)einer HP EX920 M.2 NVMe Consumer SSD.

Da ich „kurzerhand“ eine VMware Umgebung brauchte, musste der Citrix Hypervisor von der guten alten Cloudia 2.0 weichen. Der erste Installationsversuch des vSphere Hypervisors (ESXi) in Version 6.7U1 scheiterte an der Realtek Netzwerkkarte meines ASRock Mainbords. Damit die Installation überhaupt startet, wurden die Net55-r8168 Treiber aus dem Online VIB Depot von v-front.de benötigt: https://vibsdepot.v-front.de/wiki/index.php/Net55-r8168

Nachdem die Installation auf meine „OS-SSD“ (240 GB WD Green M.2 SSD) abgeschlossen war, fand ich im vSphere Web Client leider nur meinen NVMe Adapter „[vmhba2]“ ohne das entsprechende Disk Device. Ein erneutes Prüfen der Speicheradapter brachte die NVMe leider nicht ans Licht aber eine erste Spur ins vmkernel Log:

2019-02-18T08:52:24.841Z cpu0:2098691 opID=2fcc202c)nvme:ScsiDiscover:3837:Namespace 1 not supported.
2019-02-18T08:52:24.841Z cpu0:2098691 opID=2fcc202c)ScsiScan: 756: Unable to scan path vmhba2:C0:T0:L0: Not supported

/var/log/vmkernel.log

Ein wenig Recherche brachte mich dann zu reddit: https://www.reddit.com/r/vmware/comments/a80r3y/issue_with_hp_nvme_drive_in_esxi/

Sollte der ESXi Host bereits laufen und, wie in meinem Fall, die NVMe nur eine zusätzliche Festplatte sein, dann können die Treiber aus dem 6.7 GA Offline Bundle exportiert , auf den Host kopiert und per „esxcli“ installiert werden. Dazu die beiden Ordner

  • vSphere 6.7 Offline\vib20\nvme
  • vSphere 6.7 Offline\vib20\vmware-esx-esxcli-nvme-plugin

auf den Host zum Beispiel in /tmp kopieren und mittels „esxcli software vib install“ installieren:

esxcli software vib install -v /tmp/VMware_bootbank_vmware-esx-esxcli-nvme-plugin_1.2.0.32-0.0.8169922.vib
esxcli software vib install -v /tmp/VMW_bootbank_nvme_1.2.1.34-1vmw.670.0.0.8169922.vib

Wer ebenfalls im HomeLab einen ESXi mit einer nicht unterstützten Realtek NIC in Betrieb nehmen möchte, muss sich vorab ein Custom Image mit der PowerCLI erstellen:

#Depot / Offline Bundle hinzufügen
Add-EsxSoftwareDepot 'E:\Install\vSphere 6.7U1 Offline\update-from-esxi6.7-6.7_update01.zip'

#Prüfen welche Images im Depot liegen
Get-EsxImageProfile | ft -AutoSize

#Neus Image im Depot bereitstellen und den Treiber Support auf "CommunitySupported" festlegen
New-EsxImageProfile -CloneProfile ESXi-6.7.0-20181001001s-standard -Name "Cloudia2.0" -Vendor "jans.cloud" -AcceptanceLevel CommunitySupported

#Realtek Treiber aus Offline Bundle von v-front.de einbinden
Add-EsxSoftwareDepot -DepotUrl E:\Install\net55-r8168\net55-r8168-8.045a-napi-offline_bundle.zip

#Prüfen, ob der Treiber da ist 😉
Get-EsxSoftwarePackage | ? Name -Like "net*" | ft -AutoSize

#Treiber ins Custom Image integrieren
Add-EsxSoftwarePackage -ImageProfile "Cloudia2.0" -SoftwarePackage net55-r8168

#Das ESXi Image Profil als ISO exportieren
Export-EsxImageProfile -ImageProfile "Cloudia2.0" -FilePath 'E:\Install\vSphere 6.7U1 Custom ISO\vSphere_6_7U1_Realtek.iso' -ExportToIso

#Oder auch als Offline Bundle
Export-EsxImageProfile -ImageProfile "Cloudia2.0" -FilePath 'E:\Install\vSphere 6.7U1 Custom ISO\vSphere_6_7U1_Realtek.zip' -ExportToBundle