Quantcast
Channel: server – Andy's Blog
Viewing all 346 articles
Browse latest View live

WSUS: Fehlende Update-Datei erneut herunterladen

$
0
0

Bei einem Kunden scheiterte Reihenweise die Installation des Updates KB4549951. Auf den Windows 10-Arbeitsplätzen fand sich sowohl in den Einstellungen bei „Update und Sicherheit“ als auch im Ereignisprotokoll die Meldung, das ein Update nicht heruntergeladen werden konnte.

Auf dem WSUS war das Update allerdings genehmigt und vermeintlich vorhanden. In der Konsole wurde kein Fehler, mit Ausnahme das die Clients das genannte Update nicht installieren können, zu finden.

Um Rückschlüsse auf die eigentliche Update-Datei zu erhalten, kann man in der WSUS-Konsole mit der rechten Maustaste auf den entsprechenden Eintrag klicken und „Dateiinformationen“ auswählen. In der Spalte „Datei-URI“ wird die Adresse zum WSUS-Server samt dem Pfad angezeigt:

https://wsus.domain.tld:8531/Content/B8/B4B915F118A64152F6B81F6626E5FE955B8.cab

Dieser entspricht mit Ausnahme von „http(s)://<Servername>:<Port>/…“ dem Pfad im Dateisystem. D.h. die entsprechende *.cab-Datei findet man quasi an der gleichen Stelle:

C:\WSUS\WsusContent\B8\B4B915F118A64152F6B81F6626E5FE955B8.cab

Im konkreten Fall war die Datei sogar vorhanden, beim Versuch diese zu öffnen erhielt man allerdings eine Fehlermeldung. Ein Blick in das Protokoll des Virenscanner offenbarte, das dieser einen Trojaner in der Datei detektiert und diesen gelöscht hatte. Das Ganze ist (natürlich) ein False-Positive. Der Virenscanner wurde hinsichtlich des WSUS entschärft, so das nun nur noch Update-Datei neu geladen werden musste.

Die beschädigte Datei wurde gelöscht und das Update wurde abgelehnt. Selbst nach mehreren Durchläufen des Serverbereinigungsassistenten und anschließendem neu genehmigen sowie synchronisieren führten allerdings zu keinen erneuten Download.

Abhilfe schaffte dann der Einsatz des wsusutil. In einer Eingabeaufforderung folgende Befehle ausführen:

cd "C:\Program Files\Update Services\Tools"
wsusutil.exe reset

Die Befehle sind quasi sofort abgeschlossen. Im Hintergrund prüft der WSUS ob die Datenbankeinträge mit den vorhandenen Dateien übereinstimmen. Dieser Vorgang benötigt einige Zeit und erzeugt Last auf dem Server. Anschließend werden alle fehlenden Update-Dateien (nochmals) heruntergeladen. Auch dies dauert je nach Umfang und Internetverbindung durchaus seine Zeit.

Sind diese Vorgänge abgeschlossen sollte beim nächsten Updatedurchlauf auf den Arbeitsplätzen alles wieder ordnungsgemäss funktionieten. In diesem Praxisfall war es auch so.


Windows: „Verschwundene“ Objekte im Active Directory wiederherstellen

$
0
0

Bei einer unfreiwillig „spannenden“ Server-Migration zusammen mit einem Kollegen eines SBS 2008 zu Windows Server 2019 Standard verschwanden plötzlich Benutzerkonten aus dem Active Directory.

Zunächst betraf es lediglich vier Benutzerkonten aus zwei OUs, dann teilweise weitere Konten aus der übergeordneten Benutzer-OU. Bewusst gelöscht wurde nichts, die Replikation sah zunächst ebenfalls gut aus, die Konten waren einfach weg.

Bei neueren Windows Server/Active Directory-Ausgaben hat man die Möglichkeit den Papierkorb zu nutzen, sofern aktiviert. Bei dieser recht alten Ausgangsbasis stand dies nicht zur Verfügung. Da die Migration bereits recht weit fortgeschritten war, erschien ein Rollback ungünstig, zumal der alte Server ohnehin bereits weitere Minuspunkte hatte.

Letztlich konnten die betroffenen Konten mittels AdRestore wiederhergestellt werden:

In einer Eingabeaufforderung mit erhöhten Rechten zunächst

adrestore

ausführen um eine Liste der gelöschten Objekte zu erhalten.

Tipp: Die Ausgabe in eine Datei umleiten („adrestore > output.log“).

Mit

adrestore -r <Name>

werden nacheinander alle Treffer für die Wiederherstellung angeboten.

Anschließend musste noch der Benutzername samt Domäne neu angegeben, das Kennwort gesetzt und das jeweilige Konto reaktiviert werden. Mitunter muss zudem die Gruppenmitgliedschaft korrigiert werden. Weitere Angaben wie z.B. E-Mail-Adresse etc. muss man neu ausfüllen.

Hauptsache das ursprüngliche Konto samt zugehöriger SID ist wieder da, denn davon hängt unter anderem die Nutzung des Benutzerprofils, Zugriffsrechte, WTS-Anmeldung, etc. ab.

Soweit Glück im Unglück, so musste das Projekt nicht abgebrochen oder gar ein Authoritative Restore des AD durchgeführt werden. Seltsam war das Ganze dennoch, in all den Jahren habe ich sowas noch nicht erlebt.

Erfreulicherweise kannte ich das Tool noch von einer längst vergangenen TechNet-Veranstaltung mit Nils Kaczenski (FAQ-o-matic) seinerzeit in der Microsoft-Niederlassung in Bad Homburg.

Quellen:

FAQ-o-matic – AdRestore (Suchergebnis)

Computerwoche – Sysinternals ADRestore – Wiederherstellung von Objekten im Active Directory

Stealthbits – Blog – How to Restore Deleted Active Directory Objects

Petri – Recovering Deleted Items in Active Directory

Windows: DHCP-Server bei unterschiedlichen Sprachen migrieren

$
0
0

Möchte man beispielsweise einen DHCP-Server von einem deutschen auf ein englischen Windows Server migrieren, stößt man spätestens beim Versuch die Daten auf dem Zielserver zu übernehmen auf ein Problem.

Zum Thema DHCP-Server migrieren gibt es bereits ein paar Einträge in diesem Blog (Suchergebnis). Der Klassiker mittels

netsh dhcp server export c:\dhcp.txt all

und

netsh dhcp server import c:\dhcp.txt all

funktioniert bis heute. Ebenso gut klappt es in der Powershell:

Export-DhcpServer -File C:\Migration\DHCPdata.xml -Leases -Force -Verbose

und

Import-DhcpServer -File C:\Migration\DHCPdata.xml -BackupPath C:\Migration -Leases -ScopeOverwrite -Force -Verbose

Das Ganze ist allerdings nur von Erfolg gekrönt wenn die Sprachversionen auf beiden Seiten identisch sind. Der Hintergrund dazu ist, das beim Export auch die Klassen ausgegeben werden und diese sind in der jeweiligen Systemsprache verfasst.

Eine schöne Anleitung wie man auf dem Quellserver die Klassen übersetzt findet sich hier:

IT from the field – DHCP migration between different server languages

Ein anderer Weg besteht darin, nur die eigentlich relevanten Daten wie Bereich, Optionen und Reservierungen zu übernehmen. Zu diesem Zweck auf beiden Seiten die aktuellen DHCP Server-Daten mit netsh (s.o.) exportieren.

Die Datei des Quellservers öffnen und die Zeilen von

# =====================================
# Bereich hinzufgen
# =====================================

bis

# =====================================
# Ende - Bereich hinzufgen
# =====================================

kopieren und in eine neue Datei einfügen. Unbedingt den DHCP-Server-Namen anpassen! Diese Datei auf dem Zielserver kopieren und mittels

netsh exec <Dateiname>

ausführen. Auf dem Zielserver wird der Bereich samt aller dazugehörigen Einstellungen angelegt. Die Ausgabe des vorigen Befehls auf etwaige Fehler hin untersuchen.

Anschließend den Bereich im bisherigen DHCP-Server deaktivieren und die Autorisierung aufheben. Zur absoluten Sicherheit noch den Dienst deaktivieren.

Auf dem neuen DHCP-Server den Bereich aktivieren, den Dienst Autorisieren und ein- bis zweimal den Dienst neustarten.

Grüße an den Kollegen aus Köln der diesen Beitrag inspiriert hat.

Quellen:

ChicagoTech.net – The request is not supported when import DHCP data

Windows Server: Keine automatische Vergabe von Laufwerksbuchstaben an USB-Festplatte(n)

$
0
0

Bei einem Windows Server 2012 R2 Standard wurden plötzlich keine Laufwerksbuchstaben mehr den wöchentlich wechselnden USB-Festplatten zugewiesen. Zuvor hatte dies jahrelang ohne jedes weitere ztun funktioniert.

Gelöst bzw. reaktiviert werden kann das Ganze mittels Eingabeaufforderung mit erhöhten Rechten und

diskpart
automount enable

Möchte man nur den Status von Automount abfragen genügt ein

diskpart
automount

Die Ausgaben sehen so aus:

C:\Users\Administrator>diskpart

Microsoft DiskPart-Version 6.3.9600

Copyright (C) 1999-2013 Microsoft Corporation.
Auf Computer: SRV01

DISKPART> automount

Die automatische Bereitstellung von neuen Volumes ist deaktiviert.

DISKPART> automount enable

Die automatische Bereitstellung von neuen Volumes ist aktiviert.

Der Lesart bei Uwe Sieber nach wäre Automount per Standard deaktiviert. Ich kann mich nicht Entsinnen das wir jemals bewusst oder unbewusst diese Funktion irgendwie/irgendwo de-/aktiviert hätten. Dieser eine Server war jetzt der Erste wo das nicht mehr funktionierte und der genannte Schritt notwendig wurde. Beim Vergleich mit einem anderen Server war diese Funktion aktiv. Sei’s drum, hauptsache geklärt und wieder etwas gelernt.

Quellen:

Uwe Sieber – Troubleshooting für USB-Sticks unter Windows XP (siehe „Windows Server“)

Uwe Sieber – USBDLM – USB Drive Letter Manager – Laufwerksbuchstaben-Manager für Windows

Microsoft Docs – Automount

MDaemon: (Weitergeleitete) Eingehende Mails automatisch verschieben und Spam-Mails dabei ausschließen

$
0
0

Aus historischen Gründen existiert mitunter noch eine alte Mail-Domain die eigentlich gar nicht mehr genutzt wird, aber selbst Jahre später noch Lieferanten und Kunden an alte Adressen Nachrichten versenden.

Existiert im MDaemon Messaging Server die alte Mail-Domain nicht mehr, sondern diese gibt es nur noch beim Mail-Provider und sollen alle dort ankommenden Nachrichten in einen bestimmten (Unter-)Ordner eines Postfaches der aktuellen Mail-Domain lässt sich das mit Hilfe des Inhaltfilters umsetzen.

Die Ausgangslage für diesen Beitrag ist ein entsprechendes Live-Szenario. Beim Mail-Provider werden alle Nachrichten die an die alte Mail-Domain gesendet werden mittels Weiterleitungs-Regel(n) an ein Postfach der aktuellen, wenn man so möchte neuen, Mail-Domain weitergereicht. Soweit, sogut.

Allerdings ist so nicht unbedingt leicht erkennbar, ob an die alte oder neue Mail-Domain gesendet wurde. Da man allerdings genau das Wissen möchte um den betreffenden Absender einen entsprechenden Hinweis geben zu können, sollten diese Nachrichten in einen eigens dafür vorgesehenen Ordner einsortiert werden.

Die einfachste Regel dazu sieht folgendermaßen aus:

Kurzum: Enthält der „TO Header“ eine bestimmte E-Mail-Adresse bzw. -Domain wird die Nachricht in einen bestimmten Ordner verschoben.

Damit das Ganze auch mit beim Mail-Provider weitergeleiteten Nachrichten klappt muss die Regel so aussehen:

Man muss einen benutzerdefinierten Header „X-Original-To“ verwenden, denn bei weitergeleiteten Nachrichten wird der „TO Header“ umgeschrieben.

Das funktioniert, hat allerdings den Nachteil, das auch als spam-markierte Mails (der Betreff beginnt z.B. mit „[***SPAM***“) ebenfalls in den Ordner verschoben werden.

Das Ganze lässt sich mit einer kleiner Erweiterung der Regel(n) lösen. An dieser Stelle kommen reguläre Ausdrücke zum Einsatz. Eine sehr gute Hilfe- sowie Testseite finden sich hier:

MDaemon – Hilfe – Sicherheit – Inhaltsfilter und AntiVirus – Der Editor für den Inhaltsfilter – Regeln: Nutzung Regulärer Ausdrücke in den Filterregeln

FREEFORMATER.COM – Regular Expression Tester

Man legt eine Text-Datei, z.B. mit Notepad, an und fügt folgendes ein:

REGEX:^\[\*\*\*SPAM\*\*\*

Nun editiert man die Regel(n), aktiviert

If the Subject HEADER does NOT contain any words from text file

und verweisst auf die zuvor erstellte Datei. Wichtig ist, das die Regeln via „und“ verarbeitet werden, denn es soll ja nur Greifen wenn die entsprechende Domain UND NICHT die Spam-Markierung zutreffen. Rein in Textform sieht so eine Regel dann so aus:

Apply this rule to messages in the LOCAL & REMOTE queue

If the userdef1:X-Original-To HEADER contains 'old-domain.de'
and If the Subject HEADER does NOT contain any words from text file 'C:\Scripts\MDaemon\Filter.txt'
...then copy message to folder "C:\MDaemon\Users\new-domain.de\support\INBOX.IMAP\old-domain.IMAP\"...
and delete this message

Übrigens: Im MDaemon in der Live-/Protokoll-Ansicht auf der Registerkarte „Sicherheit – Inhaltsfilter“ kann man gut erkennen, ob die Regeln greifen und welche auf die jeweilige Nachricht „matchen“:

Mon 2020-06-08 02:49:58.185: Content Filter processing c:\mdaemon\queues\local\md50000171489.msg...
Mon 2020-06-08 02:49:58.185: * Message return-path: <Absender>
Mon 2020-06-08 02:49:58.185: * Message from: <Absender>
Mon 2020-06-08 02:49:58.185: * Message to: <Epfänger>
Mon 2020-06-08 02:49:58.185: * Message subject: Ich konnte nicht widerstehen und vorbeigehen!
Mon 2020-06-08 02:49:58.185: * Message ID: <ID>
Mon 2020-06-08 02:49:58.185: Start Content Filter results
Mon 2020-06-08 02:49:58.187: * Message matched rule: 3 "Journal" (Hits: 109757)
Mon 2020-06-08 02:49:58.196: * Action: Message copied to directory
Mon 2020-06-08 02:49:58.214: * Message matched rule: 6 "ALT umleiten - X-Original-To" (Hits: 4405)
Mon 2020-06-08 02:49:58.214: * Condition: X-Original-To header contains [old-domain.de]
Mon 2020-06-08 02:49:58.214: * Condition: Did not match any words from C:\Scripts\MDaemon\Filter.txt
Mon 2020-06-08 02:49:58.222: * Action: Message copied to directory
Mon 2020-06-08 02:49:58.222: * Action: Message deleted (this action ends further rule processing)
Mon 2020-06-08 02:49:58.231: * Matched 2 of 14 active rules
Mon 2020-06-08 02:49:58.231: End of Content Filter results

 

Spam-Mails beim Provider nicht annehmen, so das der eigene Mailserver sauber(er) bleibt

$
0
0

Idealerweise werden Spam-Mails schon gar nicht erst angenommen, eine der beliebtesten und sehr erfolgreichen Maßnahmen dabei ist das Greylisting.

Wird der eigene Mailserver sozusagen hinter einem Mail-Provider betrieben, d.h. dieser ruft die Nachrichten z.B. mit POP3 oder IMAP beim Anbieter ab, kann das Greylisting des Spamfilters des Mailservers nicht funktionieren.

Je nach Provider gibt es allerdings die Möglichkeit, Greylisting und andere Annahme-Filter zu aktivieren, ohne gleich ein gesamtes Arsenal an Filtern einschalten zu müssen.

Am Beispiel von All-inkl sieht das so aus:

  • Über das KAS das jeweilige Webmail des entsprechenden Postfachs öffnen.
    Hinweis: Beim Anlegen neuer Postfächer im KAS nicht den Spamfilter aktivieren, denn dies schaltet evtl. mehr ein als einem Recht ist.
  • Unter „Einstellungen“ auf „Spamfilter“ klicken.
  • Nur den Abschnitt „Annahme-Filter“ aktivieren.

Auf diese Art läuft man nicht Gefahr, das als spam-markierte Nachrichten im Postfach beim Provider sozusagen hängen bleiben und dann ggf. niemals oder zumindest sehr lange Zeit unentdeckt bleiben, gerade bei false-positives ist das ein Thema.

Aktiviert man mehr Filter und belässt das Verschieben in den Spam-Ordner müsste man regelmässig das Provider-Postfach auf evtl. erwünschte Nachrichten hin überprüfen.

Bei anderen Mail-Providern sind die Spam-Filter-Möglichkeiten unterschiedlich. Bei 1&1 IONOS zum Beispiel kann man (leider) nur eine Empfindlichkeit einstellen, aber es gibt keine Möglichkeit vorzugeben was dann geschehen soll (außer in den Spam-Ordner zu verschieben).

Ubiquiti UniFi Network Controller: Fehler beim E-Mail-Versand an SMTP-Server

$
0
0

In einer Ubiquiti UniFi-WLAN-Umgebung gab es Schwierigkeiten mit dem Netz und man wunderte sich, das die Benachrichtigungs-Mails ausblieben.

Seinerzeit bei der Einrichtung hatte alles funktioniert, die Software (inkl. der Firmware auf den APs) ist aktuell. Beim Versuch eine Test-Mail zu versenden erschien nur kurz eine Info, das es einen Fehler gegeben hat, leider ohne weitere Infos. Im Mailserver-Log war noch nicht mal ein Zustellversuch protokolliert. Bei Betrachtung des Netzwerkverkehrs mit SmartSniff konnte festgestellt werden, das der Controller noch nicht mal versucht eine Verbindung zum Mailserver aufzubauen. Im Log des Controllers fand sich folgendes:

[2020-06-10T10:56:11,664]  WARN  sanitize - Invalid key exists in Setting payload, key=analytics_disapproved_for
[2020-06-10T10:56:13,760]  ERROR [ApiServlet] - Servlet.service() for servlet [ApiServlet] in context with path [] threw exception [Servlet execution threw an exception] with root cause
java.lang.ClassNotFoundException: javax.activation.DataSource
	at jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583) ~[?:?]
	at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[?:?]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[?:?]
	at com.ubnt.service.b.ooOo.super(Unknown Source) ~[ace.jar:?]
	at com.ubnt.ace.api.L.o00000(Unknown Source) ~[ace.jar:?]
	at com.ubnt.ace.api.ApiServlet.service(Unknown Source) ~[ace.jar:?]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:742) ~[tomcat-embed-core-8.5.34.jar:8.5.34]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) ~[tomcat-embed-core-8.5.34.jar:8.5.34]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-8.5.34.jar:8.5.34]
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) ~[tomcat-embed-websocket-8.5.34.jar:8.5.34]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-8.5.34.jar:8.5.34]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-8.5.34.jar:8.5.34]
	at com.ubnt.ace.view.AuthFilter.doFilter(Unknown Source) ~[ace.jar:?]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-8.5.34.jar:8.5.34]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-8.5.34.jar:8.5.34]
	at org.apache.catalina.filters.CorsFilter.handleNonCORS(CorsFilter.java:364) ~[tomcat-embed-core-8.5.34.jar:8.5.34]
	at org.apache.catalina.filters.CorsFilter.doFilter(CorsFilter.java:170) ~[tomcat-embed-core-8.5.34.jar:8.5.34]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-8.5.34.jar:8.5.34]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-8.5.34.jar:8.5.34]
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198) [tomcat-embed-core-8.5.34.jar:8.5.34]
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) [tomcat-embed-core-8.5.34.jar:8.5.34]
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:610) [tomcat-embed-core-8.5.34.jar:8.5.34]
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) [tomcat-embed-core-8.5.34.jar:8.5.34]
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) [tomcat-embed-core-8.5.34.jar:8.5.34]
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) [tomcat-embed-core-8.5.34.jar:8.5.34]
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) [tomcat-embed-core-8.5.34.jar:8.5.34]
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800) [tomcat-embed-core-8.5.34.jar:8.5.34]
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) [tomcat-embed-core-8.5.34.jar:8.5.34]
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806) [tomcat-embed-core-8.5.34.jar:8.5.34]
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498) [tomcat-embed-core-8.5.34.jar:8.5.34]
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-8.5.34.jar:8.5.34]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-8.5.34.jar:8.5.34]
	at java.lang.Thread.run(Thread.java:835) [?:?]

Es musste also etwas mit der Java-Umgebung nicht stimmen. Nach einem Blick mit dem Process Explorer war klar woran es happert:

Auf dem System war noch ein Java SE 12 installiert, damit ist der Ubiquiti UniFi Network Controller nicht kompatibel, dieser benötigt Java SE oder Java JRE in der Version 8. Eine passende JRE war auch installiert, wurde allerdings nicht verwendet.

Nachdem abgeklärt war, das Java SE nicht mehr benötigt ist, wurde dieses kurzerhand deinstalliert und siehe da, der Controller kann wieder mailen.

Windows: Active Directory-Objekte als *.csv exportieren

$
0
0

Kurz notiert, da die Frage vor kurzem aufkam (Hallo Marcel): Es gibt mehrere Möglichkeiten Objekte wie z.B. Benutzer und deren Eigenschaften als *.txt und *.csv aus dem Active Directory zu exportieren.

Direkt mit Bordmittel und ohne großen Aufwand klappt das bereits mit der MMC. Eine sehr gute bebilderte Anleitung findet sich hier:

CodeTwo – How to export users from Active Directory

Zusätzlich finden sich im Netz jede Menge Beispiele für die PowerShell und CSVDE, wie z.B.:

Andreas Schreiner – Active Directory Benutzer & Eigenschaften in CSV exportieren


MS SQL: Volltextsuche (nachträglich) hinzufügen

$
0
0

Vor kurzem kam die Frage von einem Kollegen (Grüße nach Köln) auf, wie man bei einem bestehenden MS SQL Server 2012 Standard die Volltextsuche nachträglich hinzufügen könnte.

Hintergrund dieser Geschichte war, das die Suche in einer Fachanwendung nich funktionierte und der Herstellersupport meinte, das dieses Feature im SQL-Server fehlen würde.

Eigentlich ist das Nachinstallieren von Funktionen bei einem bestehenden MS SQL-Server keine große Sache, wenn man den richtigen Weg beschreitet. Einfach das Setup herunterladen und starten geht in der Regel schief.

In den allermeisten Fällen gelingt folgende Heransgehensweise:

  • Aus dem Startmenü und dem entsprechenden SQL-Untermenü das „SQL Server-Installationscenter“ starten oder via „Systemsteuerung – Programme und Features“ den gewünschten SQL-Server auswählen und auf „Ändern“ klicken.
  • Im „SQL Server-Installationscenter“ unter „Installation“ auf „Neue eigentständige SQL Server-Instanz oder Hinzufügen von Funktionen zu einer vorhanden Installation“ anklicken.
  • Ggf. wird nach den Setup-Dateien gefragt, diese findet man i.d.R. unter „C:\“, sofern sie nicht nach der Installation manuell gelöscht wurden. Alternativ kann man das Setup (nochmals) herunterladen und im Zuge dieses Schrittes darauf verweisen.
  • Unter „Installationstyp“ die bestehende SQL Server-Instanz auswählen und anschließend bei der „Funktionsauswahl“ die Volltextsuche anhaken.
  • Nach Abschluss der Installation das SQL Management Studio öffnen und zur durchsuchenden Datenbank, genauer ausgedrückt zur entsprechende Tabelle wechseln.
  • Mit der rechten Mautaste diese anklicken und „Volltextindex“ auswählen.
  • Aus dem Kontextmenü dann „Volltextindex definieren“ auswählen und den Suchbereich festlegen.

Empfehlens- bzw. Lesenwert zu diesem Thema ist die erstgenannte Quelle (s.u.).

Das Ende der Geschichte war übrigens, dass das Feature bereits installiert war und es sich um einen Bug in der Fachanwendung handelte, weswegen die Volltextsuche nicht funktionierte. Ein Update durch den Hersteller löste das Problem.

Quellen:

C# Corner – Full Text Indexing in SQL Server 2012

TechRepublic – Adding SQL Full-Text Search to an existing SQL Server

stackoverflow – SQL Server 2012 Install or add Full-text search

Delta Chat – Chatten via E-Mail

$
0
0

Über Delta Chat habe ich bislang sehr wenig geschrieben, die einzige Ausnahme bildet dabei der Beitrag zum Entschlüsseln der Nachrichten unter Windows, wenn man keinen kompatiblen Client nutzt. Was ist nun Delta Chat und warum schreibe ich gerade jetzt darüber?

Kurz gesagt: Delta Chat ermöglicht das Chatten, also den Austausch von Text- und Sprachnachrichten via E-Mail. Bilder, Dateien und Emojis versenden geht natürlich auch. Das Ganze Ende-zu-Ende-verschlüsselt, versteht sich.

Dem einen oder anderen sagt evtl. das Konzept von Chat-over-IMAP, kurz COI, etwas, wobei wenn ich mich recht entsinne Delta Chat da etwas früher dran war als Open Xchange. Togal, zurück zum Thema.

Die Vorteile liegen auf der Hand: E-Mail ist nach wie vor und immer noch das elektronische Kommunikationsmittel Nr. 1. Nahezu jeder Internetnutzer hat eine E-Mail-Adresse und gleichzeitig ist diese auch noch am unabhängistens (sehr viele verschiedene Provider) und wenn man möchte komplett Privat (Stichwort: Eigener Mailserver).

Man ist also nicht auf einen bestimmten Anbieter angewiesen, kann jederzeit Wechseln oder komplett unabhängig sein. Soviel zum Licht, ein wenig Schatten gibt es leider auch: Die E-Mail-Metadaten, also die Dinge die sich im Hintergrund im Header (den Kopfzeilen) einer E-Mail befinden, sind evtl. nicht datenschutzfreundlich. Das betrifft allerdings nicht den Inhalt der Nachricht, den dieser ist verschlüsselt! Absender, Empfänger und die Wegstrecke sind halt erkennbar.

Delta Chat gibt es als App für Android, z.B. via F-Droid, Apple’s iOS (iPhone, iPad), Windows, Linux und macOS.

Ich kann bisher nur von meinen Erfahrungen unter Android, etwas Linux und Windows berichten, wobei, da gibt es nicht viel zu sagen, es läuft. In der Familie haben wir damit zum Teil WhatsApp abgelöst. In der Firma wird Delta Chat fast ausschließlich verwendet, ab und an noch 3CX.

Der Windows-Client läuft mittlerweile ebenfalls stabil, so das man nicht immer zum Smartphone greifen muss. Anfangs behalf ich mir da noch mit einer Linux-VM um auf dem PC chatten zu können. Ist rum.

Man kann Delta Chat mit seinen bestehenden E-Mail-Adressen verwenden, muss man aber nicht. Dem Hörensagen bzw. der Lesart nach soll es Anwender geben, die nutzen die App sogar als E-Mail-Client.

Kurzum: Feine Sache, stressfrei, sicher, open source und entwickelt sich weiter.

MDaemon: Schutz vor Rückstreuung (Backscatter Protection)

$
0
0

Bei E-Mail ist wohl nichts ärgerlicher als Spam, aber genauso ungut sind weitere Nebenwirkungen die Spam-Mails verursachen. Wird z.B. eine Spam-Mail mit einer real existierenden legitimen Absender- oder Antwort-Adresse versendet, kommen auf diese sämtliche Blockier- und Fehlermeldungen zurück.

Dies nennt man Backscatter, zu deutsch Rückstreuung. Man ist selbst nicht Absender, bekommt allerdings den ganzen Ärger ab, wenn man das mal so ausdrücken möchte. Während man bei Spam-Filtern durchaus so einiges regeln kann, sieht es bei der Rückstreuung etwas anders aus.

Der MDaemon Messaging Server bringt allerdings mit der Funktion Schutz vor Rückstreuung eine gute Möglichkeit mit, auch dieses Problem anzugehen. Unter „Sicherheit – Sicherheitseinstellungen – Andere Funktionen“ befindet sich der Konfigurationsdialog:

Zu beachten gilt: Erst die Funktion aktivieren und sieben Tage laufen lassen, erst dann das Abweisen zuschalten.

Das Ganze funktioniert nur (richtig), sofern Nachrichten per SMTP zugestellt werden. Wird statt dessen DomainPop oder MultiPop verwendet hilft das nicht. Als Notnagel in solchen Fällen lässt sich allerdings mit dem Inhaltsfilter zumindest vorübergehend etwas Abhilfe schaffen, indem man eine Regel erstellt die auf die betroffene E-Mail-Adresse und typische Fehler-Betreffe reagiert:

Mögliche Betreffszeilen enthalten beispielsweise:

  • Mail delivery failed: returning message to sender
  • Undeliverable: This is a protected Recording from:
  • This is a protected Recording
  • Autosvar:This is a protected Recording from

Hyper-V: Physische Festplatte an virtuellen Computer weiterreichen (Passthrough Disk)

$
0
0

Einzelne physische Festplatten bzw. SSDs, RAIDs und LUNs können unter Hyper-V direkt an virtuelle Computer weitergereicht werden.

Dabei nicht vergessen bzw. übersehen darf man die Nachteile bei der Anwendung von Passthrough-Disks:

  • Snapshots und VSS seitens des Hosts auf den virtuellen Computer angewendet funktioniert nicht bzw. wird nicht unterstützt.
  • Hyper-V Replica (Replikat), Live Migration und Shared Nothing Live Migration wird nicht unterstützt.

Da das physische Laufwerk an den Host gebunden ist, ist kein Cluster-Betrieb des virtuellen Computers möglich bzw. sinnvoll wie man im letzten Punkt herauslesen kann. Dennoch macht diese Funktion, wenn auch in Grenzen Sinn. Bei großen Laufwerken wie z.B. 4 TB und mehr wird man wohl kaum eine VHD(X) in dieser Größenordnung erstellen. Hat man ein entsprechendes Storage zur Verfügung würde man eher per iSCSI direkt im virtuellen Computer solch große Speicherbereiche anbinden. Hat man ein solches Storage nicht zur Hand und handelt es sich nur um einen stand-alone Hyper-V sind Passthrough-Disks durchaus eine Option.

Die Heransgehensweise zur Nutzung ist erfreulich einfach:

  • Das durchzureichende Laufwerk muss mit dem Host verbunden sein.
  • Dieses in der Datenträgerverwaltung Offline nehmen:
  • Die Einstellungen des virtuellen Computers bearbeiten und eine neue Festplatte hinzufügen, bei „Physische Festplatte“ die zuvor offline genommene Festplatte auswählen:
  • Im virtuellen Computer in der Datenträgerverwaltung die Festplatte auf Online setzen.

Das Ganze funktionert sogar mit bereits genutzten Festplatten, ein voriges (oder späteres) Partitionieren und Formatieren ist nicht notwendig. Vorhandene Daten bleiben erhalten.

Quelle:

Windows Pro –
Passthrough-Disk in Hyper-V: LUN oder HDD direkt mit VMs verbinden

Hyper-V: Debian 10 Buster installieren (Minimal-Anforderungen)

$
0
0

Bei der Migration von virtuellen Computern, die zuvor auf einer Test-Maschine unter VirtualBox und mit Debian 9 Stretch liefen zu Windows Server 2019 mit Hyper-V Rolle und Debian 10 Buster fielen ein paar Dinge auf.

Eigentlich wurde angenommen, man könnte ähnlich kompakte virtuelle Computer unter Hyper-V betreiben, dem ist allerdings nicht so. Genügte unter VirtualBox und Debian 9 Stretch als Minimal-Anforderung noch 256 MB Arbeitsspeicher und eine 8 GB große virtuelle Festplatte sehen die Anforderungen mit Debian 10 Buster und unter Hyper-V etwas anders aus.

Nach mehreren Versuchen konnte die Installation als virtueller Computer der Generation 2 mit folgenden Einstellungen erfolgreich durchgeführt werden:

  • „Sicheren Start aktivieren“ (aka Secure Boot) deaktiviert
  • Min. 1 GB Arbeitsspeicher
  • Min. 10 GB virtuelle Festplatte

Zudem hat sich als praktikabler erwiesen nicht die grafische, sondern die klassische text-basierte Installation auszuführen.

Ist das Setup soweit abgeschlossen, sollten noch die Gast-Erweiterungen installiert werden. Dies geht als root einfach mit

apt install hyperv-daemons

Die Auflösung der virtuellen Anzeige kann nach wie vor gemäss dieses Beitrags geändert werden:

Debian 9 Stretch: Auflösung der Konsolensitzung bei Hyper-V ändern

Quelle:

Microsoft – Docs – Supported Debian virtual machines on Hyper-V

Windows Server 2012 R2: Von MBR/BIOS auf GPT/UEFI migrieren

$
0
0

Im Zuge einer Umstellung sollte ein direkt auf dem Blech laufender Windows Server 2012 R2 zu einer virtuellen Maschine unter Hyper-V mit der Generation 2 werden. Dabei ging man einen recht kurzen und knackigen Weg.

  • Auf dem Hyper-V-Host kurzerhand eine neue virtuellen Maschine erstellen und mit Windows Server 2012 R2 installieren. Es genügt die reine Basis-Installation, da es primär nur um die Boot-Umgebung geht.
  • Anschließend einfach die C-Partition des Quellsystems auf die C-Partition des neuen Zielsystems wiederherstellen/kopieren/überschreiben, beispielsweise mit der verwendeten Datensicherungssoftware, Drive Snapshot, MiniTool Partition Wizard, etc. was man halt so hat.
    Hinweis: Möchte man die C-Partition kopieren, muss die C-Partition auf dem Zielsystem vorher gelöscht werden.
  • Die virtuelle Maschine starten.
  • Windows Server 2012 R2 erkennt neue Geräte und richtet diese ein.
    Bemerkung: Es kann vorkommen, das ganz zu Beginn kurz die automatische Reparatur zu sehen ist.
  • Nach einem weiteren (automatischen) Neustart kann man sich anmelden.
  • Im Rahmen der Nacharbeit die IP-Konfiguration wiederherstellen und die installierten Anwendungen samt Windows reaktivieren, alte bzw. nun nicht mehr benötigte Treiber deinstallieren und eine Runde Windows Update durchführen.

MDaemon Email Server: Nach Update landen alle Nachrichten in der Störungs-Warteschlange

$
0
0

Nach der Aktualisierung eines MDaemon Email Servers landeten alle eingehenden Nachrichten in der Störungswarteschlange. Wie es dazu kam und die Lösung dazu wird nachfolgend beschrieben.

Den MDaemon Email Server zu aktualisieren ist keine große Sache. Im Regelfall einfach den Dialogen folgen und ggf. mal die Dienste durchstarten wenn’s automatisch nicht klappt. Kleinere Schwierigkeiten wurden hier im Blog das eine oder andere Mal beschrieben, alles nichts Weltbewegendes. Das gilt letztlich auch für diesen Fall.

  • Das Update lief ohne Schwierigkeiten durch und der MDaemon Email Server startete.
  • Nach kurzer Zeit fiel auf das alle eingehenden Nachrichten in der Störungs-Warteschlange landeten. Dies ist immer ein Hinweis darauf, das etwas bei der Prüfung durch AntiVirus, AntiSpam oder den Inhaltsfilter schief läuft.
  • Ein Neustart der Dienste änderte nichts.
  • Ein Blick unter „Sicherheit – AntiSpam“ offenbarte dann ein Problem mit dem Spamfilter:
    Wed 2020-07-15 20:33:11.379: * MDSpamD Error: could not process c:\mdaemon\queues\local\md5001000173476.msg Could not connect to host.
  • Ein weiterer Blick in den Task-Manager zeigte, das der SpamFilter nicht lief, da keine „MDSpamD.exe“ gefunden wurde.
  • Die Konfiguration unter „Sicherheit – Spam-Filter“ wurde überprüt, hier war alles notwendige aktiviert und in Ordnung. Nach einem Klick auf „Spam-Filter neu starten“ passierte offenbar nichts.
  • Ein Blick in das Ereignisprotokoll von Windows zeigte dann auf, das der Spam-Filter-Prozess abstürzt:
    Protokollname: Application
    Quelle: Application Error
    Datum: 15.07.2020 20:43:07
    Ereignis-ID: 1000
    Aufgabenkategorie:(100)
    Ebene: Fehler
    Schlüsselwörter:Klassisch
    Benutzer: Nicht zutreffend
    Computer: SRV01
    Beschreibung:
    Name der fehlerhaften Anwendung: MDSpamD.exe, Version: 3.42.0.0, Zeitstempel: 0x544ec2d0
    Name des fehlerhaften Moduls: perl520.dll, Version: 0.0.0.0, Zeitstempel: 0x550b547c
    Ausnahmecode: 0xc0000005
    Fehleroffset: 0x00001427
    ID des fehlerhaften Prozesses: 0x1ce4
    Startzeit der fehlerhaften Anwendung: 0x01d65ad7c7caf7ed
    Pfad der fehlerhaften Anwendung: C:\MDaemon\SpamAssassin\MDSpamD.exe
    Pfad des fehlerhaften Moduls: C:\Windows\TEMP\pdk-SYSTEM\9edb19631b40514aed6b75eaf89e7593\perl520.dll
    Berichtskennung: 05b872c3-c6cb-11ea-8136-0cc47a82b9ec
    Vollständiger Name des fehlerhaften Pakets: 
    Anwendungs-ID, die relativ zum fehlerhaften Paket ist:
  • Da der zugrundeliegende Windows Server ohnehin wegen der Windows Update neu gestartet werden musste, folgte getreu dem Motto „Ein Boot tut gut“ ein Neustart und danach war alles wieder im Lot. Bislang haben wir dieses Fehlerbild nur einmal beobachtet, hoffen wir, das es dabei bleibt.

MDaemon: Flexible Abwesenheit (Autobeantworter)

$
0
0

Wegen Reise, Urlaub oder schlimmstenfalls Krankheit macht es durchaus Sinn eine Abwesenheitsbenachrichtung für E-Mails einzustellen. So erhält ein Absender automatisch die Info, das man nicht im Büro ist, wer ggf. Vertretung macht und wann man wieder da ist.

Im Regelfall handelt es sich dabei um gewisse Zeiträume, so das man von einem bestimmten Anfangs- und Enddatum ausgehen kann. In Verbindung mit dem MDaemon Email Server geht da allerdings noch mehr, wie beispielsweise das die Abwesenheitsbenachrichtigung nur an bestimmten Wochentagen gesendet oder ein Programm bzw. Befehl ausgeführt wird.

Bei einem Kunden kam die Frage auf, ob man für eine Mitarbeiterin die lediglich drei Tage die Woche da ist etwas einstellen könnte, damit Kunden entsprechend informiert sind. Der Trick neben dem richtigen Weg zur tage-weise Konfiguration (dazu gleich mehr) besteht darin das Enddatum in weiter Zukunft (z.B. 2099) zu setzen.

Die Konfigurationsmöglichkeiten unterscheiden sich je nach Weg. Soll heißen: Via MDaemon (Outlook) Connector können beispielsweise keine einzelnen Wochentage festgelegt werden:

Anders sieht es via MDaemon Webmail aus:

Und die meisten Optionen hat der Administrator via Verwaltungsoberfläche:

Tipp: Direkt in der Konfigurationsoberfläche von MDaemon bzw. dem jeweiligen Benutzerkonto Adressen bzw. Domänen hinterlegen, auf die der Autobeantworter nicht reagieren soll. Meist ist innerhalb des Büros oder der Firma ja bekannt, wann wer wie lange nicht da ist und in Folge macht es wenig Sinn das die Kollegen dann sozusagen ständig daran erinnert werden, wenn sie interne Nachrichten schicken.

Im Detail fehlt jetzt nur noch die Möglichkeit z.B. von Mittwochs 15:00 Uhr bis Montags 08:30 Uhr den Autobeantworter zu aktivieren, aber was nicht ist, kann ja noch werden.

Vielen Dank an den Support von EBERTLANG für den Tipp mit der MDaemon Verwaltungsoberfläche.

Windows Server 2019: Memory Leak?

$
0
0

Relativ überrascht stellte ich auf einem recht frisch eingerichtetem Windows Server 2019 Standard mit installierter Hyper-V Rolle fest, das der gesamte Arbeitsspeicher belegt ist.

Aufgefallen war das Ganze durch Netzwerkprobleme wie beispielweise stockendes RDP und Pings die teils hohe Laufzeiten oder gar Timeouts hatten, von weiteren Punkten ganz zu Schweigen.

Die drei laufenden VMs (1x Windows Server 2012 R2 Standard, 2x Debian 10 Buster) belegen allerdings lediglich insgesamt 9 GB (+ Overhead) des 32 GB im Host installierten RAMs. Dynamischer Arbeitsspeicher ist bei allen VMs deaktiviert, d.h. diese Funktion sollte nicht die Ursache dieses Problems zu sein.

Weder der Task-Manager, noch der Ressourcenmonitor noch externe Tools PoolMonX lieferten einen Hinweis darauf welcher Prozess oder Treiber für die exzessive Speichernutzung verantwortlich sind. Bei bzw. mit Hyper-V im Speziellen ist die Sache sowieso etwas anders, da der insgesamt belegte Arbeitsspeicher zwar in den Bordmitteln angezeigt wird, aber man dies keinem Prozess zuordnen kann.

Ersichtlich, wenn auch nicht im Detail, wird das erst beispielswiese mit Tools wie RamMap (Introduction to the new Sysinternals tool: RAMMap) auf der Registerkarte „Use Counts“ unter „Driver Locked“. Einen interesanten Beitrag dazu gibt es hier:

Joe Freeman – Seeing Hyper-V and Docker memory usage on Windows

Zugegeben, diese Büchse ist nur Teil-Produktiv, die Linux-VMs werden durchaus produktiv genutzt, der Host ist unter anderem Spielwiese für aktuelle Software-Tests. Das ist sogar so gewollt, da nicht alles unter Labor-Bedingungen geprüft werden kann und soll. Ferner ist das System nicht ins Monitoring eingebunden, letzteres sollten wir dann nun doch mal nachholen.

Irgendwie ist das nun aufgetretene Problem sogar Hilf- sowie Lehrreich aber auch Nervig. Speicherlecks (Memory Leaks) zu diagnostizieren ist oft schwierig, wie man das eine oder andere Mal bereits hier im Blog nachlesen konnte. Die folgenden Anwendungen liefen, als das Problem festgestellt wurde, das bedeutet nicht, das diese für den Fehler verantwortlich sind:

  • Mozilla Firefox
  • Notepad++
  • BackupAssist ER
  • Altaro Physical Server Backup
  • CrystalDiskInfo
  • WinSCP
  • KiTTY

Das Beenden der Anwendungen und Dienste sowie der virtuellen Computer half nichts, ein Neustart musste her und danach waren wieder die eher zu erwartenden round about 12 GB belegt.

Nicht das wir uns falsch verstehen: Arbeitsspeicher ist dazu da, genutzt zu werden! Wird dieser allerdings „zugemüllt“ oder nach der aktiven Nutzung nicht wieder freigegeben, gibt es Probleme!

Kommt man der Ursache nicht auf die Schliche, besteht der Klassiker darin, regelmässig den oder die Server neuzustarten. Das funktioniert zwar auch bei einer solchen Kombi wie dieser hier, ist allerdings in Verbindung mit Virtualisierung, also hier Hyper-V und bei bestimmten Beenden- sowie Startreihenfolge der virtueller Computer etwas aufwendiger.

Nach dem Neustart versuchten wir das Problem nochmals zu provozieren, wobei unklar war, wann das Leck auftrat und über welchen Zeitraum der Arbeitsspeicher belegt wurde. Jedenfalls trat es zumindest nicht mehr auf. Dennoch haben wir etwas aufgeräumt und folgendes Deinstalliert:

  • BackupAssist ER
  • Altaro Physical Server Backup

Mit letzterem waren wir nicht ganz so glücklich und ersteres war schlicht die letzte Anwendung die installiert wurde (ca. zwei Wochen her). Die darauffolgenden Tage wurde die Arbeitsspeicher-Nutzung beobachtet, da fiel soweit nichts mehr auf.

Mit RAMMap und dem Task-Manager wurde zumindest weiter geschaut. Je nach Programm wird zeitweise mehr Arbeitsspeicher genutzt, vor allem unter „Process Private“ in den Spalten „Total“ und „Active“. interessant dabei ist, das dieser nicht immer zeitnah wieder freigegeben wird, selbst wenn das Programm bereits beendet wurde.

Ist zwar „Blasphemie“ aber mittels Sordum Reduce Memory (siehe auch Windows 10: RAM-Auslastung reduzieren) konnte die Nutzung wieder auf 12,0 GB reduziert. Nebenbei bemerkt: Es ist eine CLI verfügbar, d.h. „ReduceMemory_x64.exe /O“ wäre möglich und bietet (ungetestet) die Möglichkeit via Aufgabe etwas zu basteln.

Via RAMMap und „Empty – Empty Working Sets“ lässt sich ebenfalls Arbeitsspeicher wieder freigeben, Reduce Memory ist allerdings effizienter.

Bleibt die Frage nach der Ursache und was man dagegen effektiv tun kann. Womöglich alles nur ein Zufall, wobei neulich bei einem Kunden ein neuer Server 2019 mit einem BSOD in Sachen Memory Management abgeschmirrt ist.

Ubiquiti UniFi: WLAN mit RADIUS-Anbindung an Active Directory (802.1X)

$
0
0

Beim vergangenen IT-Stammtisch (Grüße an dieser Stelle) kam die Frage auf, wie bei Ubiquiti UniFi eine Anbindung an das Active Directory erfolgen kann, um WLAN-Nutzer auf einem Schul-Campus mittels Benutzername und Kennwort zu authentisieren.

Wenn z.B. sowohl die gesamte Schülerschaft als auch der Lehrkörper und die Verwaltung bereits als Benutzer im Active Directory angelegt sind und diverse Ressourcen im LAN nutzen, ist der Gedanke naheliegend, das die vorhandenen Zugangsdaten für die WLAN-Anmeldung genutzt werden könnten.

Eine direkte Anbindung an das Active Directory bietet der Ubiquiti UniFi Controller nicht, dafür allerdings die Nutzung eines RADIUS-Servers. Letztgenannter kann auf einem Windows Server 2019 als Rolle in Form des NPAS (Network Policy and Access Services, f.k.a. NPS, Network Policy Server, dt. Netzwerkrichtlinien- und Zugriffsdienste) eingerichtet werden.

Zur Info: Abgesehen von der hier erwähnten Anmeldung via Benutzername und Kennwort besteht die Möglichkeit Zertifikate zu nutzen, siehe dazu die Links am Ende dieses Beitrags.

Windows Server 2019 vorbereiten

  • Den „Server-Manager“ starten und für den gewünschten Server via „Rollen und Features hinzufügen“ die Rolle „Netzwerkrichtlinien- und Zugriffsdienste“ installieren.
  • Ggf. den Server neustarten und anschließend den Server-Manager neustarten.
  • Im „Server-Manager“ zu „NPAS“ wechseln, den entsprechender Server mit der rechten Maustaste anklicken oder alternativ auf „Tools“ und „Netzwerkrichtlinienserver“ klicken.
  • Bei „Erste Schritte“ „RADIUS-Server für drahtlose oder verkabelte 802.1X-Verbindungen“ auswählen und auf „802.1X konfigurieren“ klicken.
  • Bei „802.1X-Verbindungstyp auswählen“ den Punkt bei „Sichere Drahtlosverbindungen“ setzen.
  • Einen neuen RADIUS-Client hinzufügen:
    Einen Anzeigenamen vergeben und als IP oder DNS-Eintrag den Access Point (nicht den Controller!) eintragen. Daraus ergibt sich, das alle Access Points als RADIUS-Clients eingetragen werden müssen! An dieser Stelle ist das maximale Limit der jeweiligen Windows Server-Ausgabe zu beachten!
    Einen geheimen Schlüssel eintragen bzw. generieren.
  • Bei „Authentifizierungsmethode auswählen“ nun „Microsoft: Geschütztes EAP (PEAP)“ auswählen.
  • Die Benutzergruppen die sich anmelden dürfen auswählen.

Bemerkung am Rande: Mitunter kommt es vor das in der MMC „Netzwerkrichtlinienserver“ unter „RADIUS-Clients“ die Clients doppelt dargestellt werden, es handelt sich lediglich um einen Anzeigefehler der in der Regel nach einem Neustart der MMC behoben ist.

Ubiquiti UniFi Controller konfigurieren

  • Am Ubiquiti UniFi Controller anmelden.
  • Zu „Einstellungen – Profile“ wechseln.
  • Ein neues Profil mit folgenden Einstellungen anlegen:
    Einen Namen, z.B. „AD-NPAS“, vergeben.
    Bei „RADIUS-Authentifizierungsserver“ die IP-Adresse und den Port des NPS sowie den zuvor genutzten geheimen Schlüssel eintragen.
  • Zu „Einstellungen – Drahtlos-Netzwerke“ wechseln.
  • Ein neues WLAN-Netz mit folgenden Einstellungen anlegen:
    Einen Namen (SSID), z.B. „campus“, vergeben.
    Bei „Sicherheit“ „WPA2 Enterprise“ auswählen.
    Bei „RADIUS-Profil“ das zuvor angelegte Profil auswählen.

Endgerät(e) (z.B. Smartphone, Tablet) konfigurieren

Am Beispiel von Android 9 sieht die notwendige Konfiguration wie folgt aus:

Wenn man mehr Sicherheit haben oder je nach Client eine Zertifikatswarnung vermeiden möchte, muss der CA vertraut werden. Dies erfordert dann entweder öffentliche Zertifikate oder bei Domänen-Mitgliedern die automatische Zertifikatsverteilung oder manuell den Import des CA-Zertifikats.

Troubleshooting

Manche Fehler baut man unabsichtlich oder es kommt zu andeen unerwarteten Dingen: Im Testlab befindet sich der Windows Server hinter einer Hardware-Firewall, während der UniFi Controller und der Access Point sich in einem anderem Netz befinden. Bei ersten Verbindungsversuchen wunderte ich mich, das zwar laut SmartSniff und Wireshark die RADIUS-Anfrage bis zum NPAS durchkamen, aber es danach nicht weiterging, sprich die Clients sich nicht am WLAN anmelden konnten.

Ursache dafür war bzw. ist die Windows-Firewall: Obwohl es eine Richtlinie mit dem Namen „Netzwerkrichtlinienserver (RADIUS-Authentifizierung – UDP – eingehend)“ gibt und diese sowohl aktiviert als auch für den Port 1812/udp durchlässig (keine Einschränkung hinsichtlich Netzwerkkategorie oder auf bestimmte Subnetze) ist, kommt die Anfrage nicht beim NPAS an. Interessanterweise steht auch nichts im eigens aktiviertem Firewall-Log. Als Workaround kann man eine Port-Regel erstellen die 1812/udp zulässt.

Als weiterers kann hilfreich sein im NPAS die Kontoführung zu aktivieren und das Ganze in eine Protokolldatei schreiben zu lassen. Zusätzlich speziell den Haken bei „Verbindungsanforderungen bei Protokollierungsfehlern verwerfen“ entfernen um weitere Erkenntnisse zu erlangen.

Abschlussbemerkung und Danksagung

Zum Abschluss noch ein Dankeschön nach Köln zu einem Kollegen der die nötige Richtung vorgegeben hat.

Quelle:

Ubiquiti – Blog – Managing RADIUS Authentication with UniFi

Windows: Drahtgebundenes LAN, 802.1X und NPS

Windows: Wireless LAN, 802.1x und NPS

Gyp the Cat dot Com – How to Configure Windows 2012 NPS for Radius Authentication with Ubiquiti Unifi

Windows: Regelmässiger Ereignisprotokolleintrag von VSS mit der ID 8224

$
0
0

Das der VSS-Dienst nach einem gewissen Leerlauf beendet wird macht durchaus Sinn, muss dieser ja nicht die ganze Zeit über Laufen, schließlich wird er in der Regel entweder nur bei der Datensicherung oder bei der Erstellung der Schattenkopien (gemeint ist „Vorige Versionen“) benötigt.

Mitunter kann es allerdings vorkommen, das der Dienst ständig irgendwie angetriggert wird oder aus anderen Gründen nahezu unaufhörlich startet und nach einem Leerlauf beendet wird.

Auf einem recht frischen Windows Server 2019 erschien dieses Ereignis exakt alle fünf Minuten:

Protokollname: Application
Quelle: VSS
Datum: 31.07.2020 08:04:09
Ereignis-ID: 8224
Aufgabenkategorie:Keine
Ebene: Informationen
Schlüsselwörter:Klassisch
Benutzer: Nicht zutreffend
Computer: hv01
Beschreibung:
Der VSS-Dienst wird aufgrund eines Leerlaufzeitlimits heruntergefahren.

Als erster bekannter workaround wurde der Starttyp des Dienstes „Volumeschattenkopie“ (Dienstname: VSS) von „Manuell“ auf „Automatisch“ geändert und der Dienst einmal durchgestartet, aber leider half das nicht.

Um zu sehen, ob sich der Intervall bzw. das Leerlaufzeitlimit ändern lassen wurde in der Registry unter

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VSS\Settings

ein neuer DWORD-Eintrag mit dem Namen „IdleTimeout“ sowie dem Wert „180“ (Sekunden, also drei Minuten) angelegt sowie der Dienst einmal durchgestartet.

Siehe da, die ständigen VSS-Ereignisse hörten auf.

Quellen:

Appuals – How to Fix ‘VSS Service is Shutting Down Due to Idle Timeout’ Error?

Microsoft Docs – Registry Keys and Values for Backup and Restore

E-Mail-Fehlermeldung: 571 Delivery not authorized message refused & 550 Administrative prohibition

$
0
0

Bei einem Kunden trat seit ein-zwei Tagen das Problem auf, das ein bestimmter Empfänger nicht mehr erreicht werden konnte, zuvor war das gar kein Thema. Als Fehlermeldung kam immer „571 Delivery not authorized message refused (in reply to end of DATA command)“ zurück. Alle anderen Empfänger waren hingegen kein Problem. Laut Empfängerin sei zudem bei ihr alles in Ordnung.

Sucht man im Netz nach dieser Meldung findet sich dazu einiges. Das Ganze scheint hauptsächlich in Verbindung mit Microsoft’s Exchange Server aufzutreten. Unser Kunde verwendet den MDaemon Email Server, anhand der Kopfzeilen der Mails konnte nicht eindeutig geklärt werden, was auf der Empfänger-Seite für ein Mail-System zum Einsatz kommt.

Sucht man nach dieser Fehlermeldung findet man verschiedene, (imho) teils kuriose Ursachen:

bobcares – How to fix ‘571 Delivery not authorized message refused’ error in Exchange server

ATVIRTUAL – Mailserver Fehlercodes

MCSEboard – Exchange 2010 / Requested #571 Delivery not authorized, message refused ##

Aufgrund des Beitrags im MCSEboard und um auszuschließen das es am Outlook des Absenders liegt wurde die Nachricht nochmals via MDaemon’s Webmail versendet und kam prompt erneut mit gleicher Fehlermeldung zurück.

Um sicher zu gehen, das nicht der Absender irgendwie Spamfilter-mässig geblockt wird, wurde die Mail-Domain als auch der Provider hinsichtlich Einträgen in Blacklists überprüft:

heise – Spam-Listen

DNSBL Spam Check

MX Toolbox – Blacklists

Auch das Verlief ohne neue Erkenntnisse bzw. der Absender sowie Provider steht auf keiner Blacklist. Als nächstes wurde der E-Mail-Provider unseres Kunden kontaktiert, von dort hieß es das die E-Mail evtl. aus inhaltlichen Gründen abgelehnt wird, da der Abbruch nach dem „DATA command“ kommt. Zugegeben, an der E-Mail ist eine PDF-Datei angefügt, da es sich um eine Auftragsbestätigung handelt. An den PDFs hat sich allerdings ebenfalls nichts grundlegendes verändert und auch eine Prüfung zeigte keinerlei Aufälligkeiten.

Alles in allem weißt alles darauf hin, das es an der Empfänger-Seite ist, das Problem zu lösen. Da bis vor ein paar Tagen die Kommunikation erfolgreich war und sich bei unserem Kunden nichts verändert hat, ist es naheliegend, das beim Empfänger irgendetwas verändert wurde. Das kann ein neuer Spamfilter sein oder auch geänderte Richtlinien, das bestimmte Anhänge nicht mehr akzeptiert werden oder ähnliches.

An dieser Stelle wurde die Empfängerin ein weiteres mal kontaktiert, mit der Bitte die Fehlermeldung an ihren IT-Support weiter zu geben.

Einen weiteren Tag später kam bei einem anderen Empfänger noch folgende Fehlermeldung hinzu:

550 Administrative prohibition (in reply to end of DATA command)

Auch hier die Auffälligkeit mit dem „DATA command“, an dieser Mail hängt ebenfalls eine PDF dran, diesmal allerdings eine Rechnung.

Im weiteren Verlauf wurde mit E-Mails ohne Anhang getestet, selbst diese wurden abgewiesen, bei letztgenannten Empfänger interessanterweise mit der 571er-Fehlermeldung wie oben.

Wieder ein paar Tage später und trotz bitte das sich der jeweilige IT-Support der Empfänger mit uns in Verbindung setzt vermeldete unser Kunde, das es zumindest bei einem Empfänger eine Rückmeldung von einem Mitarbeiter gab, das man auf der Blacklist gewesen sei und es jetzt wieder funktioniert. Einen Grund für die Sperrung und um welche Blacklist (vmtl. irgendwas internes, da nichts öffentliches feststellbar war) es sich handelte wurde nicht genannt.

Von dem zweiten Empfänger wurde uns zuletzt von unserem Kunden berichtetet, das bei diesem zwischenzeitlich wohl die gesamte IT zusammengebrochen sei, diese und andere Umstände wären dort schon öfter vorgekommen.

Viewing all 346 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>