Kategorie: Sysadmin (Seite 1 von 4)

Ubiquiti UniFi Controller Installation

Im folgenden Artikel beschreibe ich die saubere Installation der UniFi Controller Software als Service unter Windows Server 2019 mit AdoptOpenJDK.

Zur Vorbereitung alle nötigen Komponenten herunterladen:

  • UniFi Network Controller 5.x.y for Windows (Link)
  • AdoptOpenJDK Version 8, LTS, Hotspot (Link)
  • Apache Commons Daemon (Link)

Das Setup des Controllers als Windows Service wird durch die Architektur und die Verwendung von AdoptOpenJDK 64-Bit ein wenig erschwert.

  1. Problem: der von UniFi Service Controller (Apache Commons Daemon Service Runner) wird mit einer Service-Config ausgeliefert, die mit der 64-Bit JVM nicht automatisch zurechtkommt.
  2. Problem: die UniFi Setup-Routine installiert das Verzeichnis des Controllers im Benutzerprofil des ausführenden Users!

Der Support-Eintrag in der UniFi Knowledgebase ist dazu leider auch nur bedingt hilfreich: Run the Controller as Windows Service

Weiterlesen

Ubiquiti UniFi Controller SSL-Zertifikat

Wer den UniFi Controller nicht hinter einem Proxy betreiben will (oder kann) steht früher oder später vor der Herausforderung das mitgelieferte „self-signed“ SSL-Zertifikat zu ersetzen.

Meiner interne UniFi Umgebung läuft unter Windows und fordert über CertBot regelmäßig Let’s Encrypt SSL-Zertifikate an, die aus dem PFX-Archiv in den Java KeyStore des UniFi Controllers kopiert werden müssen. Als Werkzeug dient hier das Java „KeyTool“, welches vom JDK mitgeliefert wird.

Dazu wird der „Alias“ des Zertifikats im PFX-Archiv benötigt, der mit dem KeyTool ausgelesen werden kann:

keytool.exe -v -list -storetype pkcs12 -keystore <Pfad-zum-PFX> -storepass <PFX-Passwort> | findstr Alias

Anschließend kann das gewünschte Zertifikat aus dem PFX in den KeyStore kopiert werden (als KeyStore-Passwort muss das UniFi-Standardpasswort verwendet werden):

del .\keystore /Q

keytool.exe -importkeystore -srckeystore <Pfad-zum-PFX> -srcstorepass <PFX-Passwort> -destkeystore keystore -srcstoretype pkcs12 -deststoretype jks -deststorepass aircontrolenterprise -destkeypass aircontrolenterprise -destalias unifi -srcalias {<Cert-Alias (siehe oben)>}

Anschließend den UniFi Controller neu starten.

Windows Server core – Shell und Bitlocker

Windows Server

Windows Server Core hat keine grafische Oberfläche und wird daher primär remote oder mit PowerShell konfiguriert. Dazu macht es Sinn, PowerShell als Default Shell zu konfigurieren:

Set-ItemProperty -Path 'HKLM:\Software\Microsoft\Windows NT\CurrentVersion\WinLogon' -Name Shell -Value 'PowerShell.exe'

BitLocker aktivieren

Wenn das System außerhalb einer geschützten Umgebung läuft ist es außerdem empfehlenswert, die Daten mit BitLocker zu verschlüsseln.

Dazu BitLocker aktivieren…

Enable-BitLocker -MountPoint "C:" -UsedSpaceOnly -TpmProtector

… mit einem Recovery Passwort versehen…

Add-BitLockerKeyProtector -MountPoint "C:" -RecoveryPasswordProtector

… und dieses im Active Directory sichern:

$blv = Get-BitLockerVolume -MountPoint "C:"
Backup-BitLockerKeyProtector -MountPoint "C:" -KeyProtectorId $blv.KeyProtector[1].KeyProtectorId

Game of Drones

Gestern hatte ich erstmals Gelegenheit, an einer Drohne herumzuspielen. Genauer gesagt einer Beta65S mit TX02-Controller und einem SPI Receiver.

Game of Drones @ dataformers

Ein bisschen Rumspielen muss auch sein! Rahmenprogramm beim internen "dataPlauscherl" gestern – eine Whoop Racing Drohne. :D

Gepostet von dataformers am Freitag, 12. Juli 2019
Game of Drones bei dataformers

Die Drohne zu kalibrieren und in die Luft zu bekommen ist erst mal gar nicht so einfach. Es gibt dieselbe Drohne in verschiedenen Ausführungen – und sie mit unserem TX02-Controller zu koppeln war auch nicht selbsterklärend. Da die Beschreibung in der BetaFPV Knowledgebase veraltet ist hier kurz die Schritte, die ich durchgeführt habe…

Weiterlesen

Lenovo BIOS Settings und PowerShell

Beginnend mit den T/W/X/L x30er-Serien bietet Lenovo WMI-Klassen, um BIOS/UEFI-Einstellungen direkt aus dem Betriebssystem heraus zu modifizieren. Die Klassen befinden sich im Namespace „root\wmi“.

Alle BIOS-einstellungen auslesen

Um eine Liste aller BIOS-Einstellungen incl. der aktuellen Werte auszulesen wird die WMI-Klasse „Lenovo_BiosSettings“ verwendet. Zur besseren Lesbarkeit wird die Ausgabe leicht motifiziert und „,“ durch „=“ ersetzt.

Weiterlesen

Windows von BIOS auf UEFI migrieren

Windows Server

Um Windows mit minimalem Aufwand von einer „Legacy“/BIOS-Installation auf UEFI zu konvertieren stellt Microsoft seit dem „Creators Update“ (1703) das Tool MBR2GPT zur Verfügung. Es ist damit nicht mehr nötig, Windows für die Konvertierung BIOS-UEFI neu zu installieren!

Das Tool übernimmt wie der Name bereits andeutet die Konvertierung einer Disk von Master Boot Record (MBR) auf GUID Partition Table (GPT). Außerdem wird im Rahmen des Konvertierungsprozesses die Systempartition verkleinert und eine EFI Systempartition angelegt.

Der Vorgang kann entweder in einer Windows PE Umgebung oder direkt im laufenden OS durchgeführt werden. Da es sich um einen tiefgreifenden Eingriff ins System handelt empfehle ich vorher, kritische Daten zu sichern!

Microsoft Mechanics hat den Prozess in ein Demo-Video verpackt:

Shifting from BIOS to UEFI with Windows 10 – MBR2GPT disk conversion tool

Der folgende Ablauf hat sich für mich bewährt:

Weiterlesen

Windows Updates KB4480970 & KB4480960

Microsoft

Die Jänner 2019 Updates KB4480970 und KB4480960 für Windows 7 und Windows Server 2008 R2 verursachen Probleme im Zusammenhang mit dem Zugriff auf Fileshares. Wenn die og. Updates auf einem Host installiert sind welcher Netzwerkfreigaben (Shares) anbietet können Benutzer, die lokale Adminberechtigungen auf eben diesem Host haben nicht mehr remote zugreifen.

Benutzer „answer“ hat das Problem im administrator.de Forum analysiert und Lösungsvorschläge gepostet.

Weiterlesen

Zeitsynchronisierung via NTP für Domain Controller konfigurieren

Windows Server

Der Primary Domain Controller (PDC) muss zwingend eine verlässliche Zeitquelle für die Windows Domäne zur Verfügung stellen. Das lässt sich am Einfachsten durch Verwendung eines NTP Server Pools verwirklichen.

NTP Server Pools

Öffentliche NTP-Server werden zur Ausfallsicherheit über sogenannte „NTP-Pools“ angesteuert. Als Zeitquelle sollten auf Domaincontrollern mindestens 2 dieser Pools verwendet werden:

  • 0.at.pool.ntp.org
  • 1.at.pool.ntp.org
  • 2.at.pool.ntp.org
  • 3.at.pool.ntp.org
Weiterlesen

Einfaches SSIS Logging

Ganz einfaches Logging in eine Textdatei lässt sich für SSIS-Pakete recht simpel wie unten beschrieben konfigurieren.

Microsoft SQL Server

Empfehlenswert ist diese Methode hauptsächlich zum Debuggen während der Entwicklungsphase. Im Produktivbetrieb macht das Logging in eine Datenbank mehr Sinn, insbesondere wenn die Logsautomatisiert weiterverarbeitet werden sollen…

Weiterlesen

Apache Tomcat und Active Directory Authentifizierung

Apache Tomcat

Via JNDI-Realm kann Apache Tomcat angewiesen werden, Benutzer, Gruppen und Rollen aus einer LDAP-Quelle, zB. Active Directory zu laden. Die größte Herausforderung liegt darin, die AD-Gruppen zu Tomcat-Rollen zu „mappen“.

Sofern die Rolle der Tomcat Applikation dem Namen der AD-Gruppe entspricht ist das Mapping trivial. Wenn nicht – zB. weil es eine Konvention für AD-Gruppennamen gibt und die Legacy Tomcat-Applikation fix codierte Rollennamen erwartet… siehe Workaround unten.

Weiterlesen

Microsoft DHCP & Secure Dynamic DNS Updates

Windows Server

Ab Windows Server 2008 kann der Microsoft DHCP Service DNS-Einträge für Clients dynamisch aktualisieren. Das funktioniert grundsätzlich ganz gut automatisch, solange (a) man nur einen einzelnen DHCP-Server im Einsatz hat und (b) der DHCP-Service nicht auf dem/einem Domaincontroller läuft.

Werden mehrere DHCP-Server innerhalb der selben Domäne betrieben (zB. für Loadbalancing/Failover) ist es nötig, die Sicherheitseinstellungen des DHCP-Dienstes anzupassen.

Weiterlesen

Berechtigungen für nginx Entwicklungsumgebung

CentOS

Eine Warnung gleich zu Beginn: die in diesem Artikel beschriebenen Berechtigungen sind für eine Entwicklungsumgebung gedacht. In einer Produktivumgebung sollten die Berechtigungen weitaus restriktiver gesetzt werden!

Auf meinem CentOS Entwicklungsserver läuft nginx unter dem gleichnamigen Benutzer. Zum Bearbeiten der Dateien verwende ich einen zusätzlichen Benutzer „tom„; dieser ist Mitglied in der „nginx“ Gruppe.
Die Websites werden im Verzeichnis /srv/www abgelegt. Um diese einigermaßen komfortabel via SSH/SFTP vom Client aus bearbeiten zu können sollten „nginx“ als Besitzer und Gruppe der Dateien und Verzeichnisse gesetzt werden. Das Verzeichnis /srv selbst gehört „root:root„, um die Sicherheit geringfügig zu erhöhen:

Weiterlesen