E-Mail Konfiguration Teil Eins

Was ist alles notwendig um E-Mails zu versenden?

Dies ist heutzutage nicht so einfach zu beantworten! MX-Record, SPF Konfiguration, DKIM, DMARC und rDNS sind Konfigurationen, welche bewusst für den sicheren Versand und Empfang von E-Mails konfiguriert werden müssen.

In diesem Teil gehe ich auf den Klassischen MX-Record und rDNS ein.

MX-Record abfragen

nslookup -querytype=MX Domain.de

Preferenz (Pref)

Preferenz beschreibt die Reihenfolge, wo ein Mailserver versucht E-Mails für eure Domain abzugeben. Hier im Beispiel würde ein Server erst versuchen die E-Mail bei Mailrelay1 abzugeben. Wenn dieses Mailrelay nicht erreichbar ist, wird Mailrelay2 versucht.
Ist nun dieses Mailrelay auch nicht erreichbar, wird das letzte Mailrelay, Mailrelay3 versucht zu erreichen und die E-Mail zu übermitteln.

Preferenz (Pref)Servername oder IP AdresseTime to Live (TTL)
10Mailrelay1.Domain.de120 Min
20Mailrelay2.Domain.de120 Min
30Mailrelay3.Domain.de120 Min
Beispiel Einträge für Pref, MX und TTL.


Eine weitere Möglichkeit, welche mit den Preferenz-Einstellungen realisiert werden kann, ist die Lastverteilung. Hierfür wird der Preferenz auf 2+n Servern konfiguriert. Hier wird nun die Last gleichmäßig auf alle Server verteilt.

Preferenz (Pref)Servername oder IP AdresseTime to Live (TTL)
10Mailrelay1.Domain.de120 Min
10Mailrelay2.Domain.de120 Min
10Mailrelay3.Domain.de120 Min
Beispielkonfiguration für Lastverteilung.

MX-Eintrag, Servername, IP Adresse und DNS-Time to Live

Servername und IP-Adresse,
gehören zusammen, hier wird das Mailrelay bzw. der Mail Server angegeben. Als Beispiel
DNS Name >> Mailrelay1.Domain.com >> wird per DNS zur IP Adresse aufgelöst >> IPv4/6 Adresse.

DNS-Time to Live,
dies ist der Gültigkeitszeitraum, welcher von dem DNS-Server dem Client übermittelt wird.
Der DNS-Client weis somit, wann er den DNS Server wieder anfragen muss.

rDNS,
hierbei versucht der Mailserver, welcher die E-Mail empfängt per „Reverse Lookup“
die IP Adresse aufzulösen. Diese wird benutzt um SPAM-Server auszuschließen.
IPv4/6 Adresse >> Reverse Look >> DNS-Name.Domain.com .

Wenn Ihr noch Fragen oder Anregungen habt, schreibt mir oder kommentiert es hier.

work smarter & safe your time

Gruß Alex

Arbeitsgruppen Ordner anlegen in Powershell

Wir benutzen sogenannte Arbeitsgruppen bei uns, um Ordner in einer Dateifreigabe zur Verfügung zu stellen, welche nur für bestimmte Personen sichtbar und greifbar sein sollen.
Dies haben wir über einen Windows Fileserver, mit aktiviertem „Access-based Enumeration“ realisiert.

Für das Anlegen der Ordner und der notwendigen Gruppen im Active Directory benutzen wir wieder die Powershell. Leider kann die Microsoft Powershell allein dies nicht so schön umsetzen, weshalb ich mich dem Tool von Quest bedient habe Link .

Import-Module ActiveDirectory
 Add-PSSnapin Quest.ActiveRoles.ADManagement

 $path = "UNC Pfad zum Dateiserver"
 $OU = "OU für die Gruppe"
 $newFolderName = Read-Host -Prompt "Enter Name of Workgroup (no äüö or blank"
 $Member = Read-Host -Prompt "Enter Name of User (Example: awild)"
 $ManagedByUser = $Member
 $newFolderFull = $path + $newFolderName
 $groupnameRW = "wgrp_" + $newFolderName + "RW" $groupnameR = "wgrp" + $newFolderName + "_R"
 Write-Output "New Folder will be: $newFolderFull"
 Write-Output "Create AD Groups"
 #Replication der DCs
 repadmin /syncall Domaincontroller 1
 repadmin /syncall Domaincontroller 2
 start-sleep -s 5

#Create the Security Groups
 new-adgroup -Name $groupNameRW -samAccountName $groupNameRW -Description "Workgroup $newFolderName Manager $ManagedByUser" -GroupCategory security -groupscope Global -Path $OU
 new-adgroup -Name $groupNameR -samAccountName $groupNameR -Description "Workgroup $newFolderName Manager $ManagedByUser" -GroupCategory security -groupscope Global -Path $OU
 pause

#Replication der DCs
 repadmin /syncall Domaincontroller 1
 repadmin /syncall Domaincontroller 2
 start-sleep -s 5

#Add the group members to the groups
 add-adgroupmember -Identity $groupNameRW $Member
 add-adgroupmember -Identity $groupNameR $Member
 add-adgroupmember -Identity grp_Workgroup $groupNameRW
 add-adgroupmember -Identity grp_Workgroup $groupNameR
 start-sleep -s 10

#Add the ManagedBy User
 set-adgroup $groupNameRW -Managedby $ManagedByUser
 set-adgroup $groupNameR -Managedby $ManagedByUser
 start-sleep -s 10
#Give Owner Write permissions
 Add-QADPermission -Identity $groupNameRW -Account $ManagedByUser -Rights WriteProperty -Property "Member" -ApplyTo ThisObjectOnly
 Add-QADPermission -Identity $groupNameR -Account $ManagedByUser -Rights WriteProperty -Property "Member" -ApplyTo ThisObjectOnly
 
#Replication der DCs
 repadmin /syncall msdc01
 repadmin /syncall msdc02
 Sleep
 Write-Output "Start-Sleep -s 5"
 Start-Sleep -s 5
 Write-Output "Add Folder.."
 New-Item $newFolderFull -ItemType Directory
 Write-Output "Remove Inheritance.."
 icacls $newFolderFull /inheritance:d
 icacls $newFolderFull /inheritance:d /remove:g "BUILTIN\Users", "SYSTEM", "CREATOR OWNER"
 Sleep
 Write-Output "Start-Sleep -s 10"
 Start-Sleep -s 10
 Rights
 $readOnly = [System.Security.AccessControl.FileSystemRights]"ReadAndExecute"
 $readWrite = [System.Security.AccessControl.FileSystemRights]"Modify"
 Inheritance
 $inheritanceFlag = [System.Security.AccessControl.InheritanceFlags]"ContainerInherit, ObjectInherit"
 Propagation
 $propagationFlag = [System.Security.AccessControl.PropagationFlags]::None
 User
 $userRW = New-Object System.Security.Principal.NTAccount($groupNameRW)
 $userR = New-Object System.Security.Principal.NTAccount($groupNameR)
 Type
 Write-Output "Berechtigungen setzen"
 $type = [System.Security.AccessControl.AccessControlType]::Allow
 $accessControlEntryRW = New-Object System.Security.AccessControl.FileSystemAccessRule @($userRW, $readWrite, $inheritanceFlag, $propagationFlag, $type)
 $accessControlEntryR = New-Object System.Security.AccessControl.FileSystemAccessRule @($userR, $readOnly, $inheritanceFlag, $propagationFlag, $type)
 $objACL = Get-ACL $newFolderFull
 $objACL.AddAccessRule($accessControlEntryRW)
 $objACL.AddAccessRule($accessControlEntryR)
 Set-ACL $newFolderFull $objACL

Automatisches Verbinden eines geteilten Postfaches in Outlook

Wenn ein Benutzer viele geteilte Postfächer sichtbar im Outlook hat, kommt es vor, dass es einzelne Postfächer nicht mehr aktualisiert.
Der Hintergrund dafür ist, dass Outlook nur eine bestimmt Anzahl an geteilte Postfächer synchronisieren kann und dann ohne Warnung aufhört!

Um dieses Problem zu lösen bzw. leider nur zu umgehen, ist es möglich die Funktion des automatischen Verbinden beim geteilten Postfach ein- oder auszuschalten.

So kann der Benutzer nun selbst, innerhalb von Outlook, einrichten welches geteilte Postfach in Outlook dargestellt wird oder welches nicht.

Diese Einstellung kann bei Exchange nicht über das ECP konfiguriert werden.
Hierzu ist wieder die Exchange-Powershell notwendig.

Die Einstellung befindet sich bei den Berechtigungen „Add-MailboxPermission“.

Schalter: -Automapping $false oder $true

Add-MailboxPermission -Identity "<Emailadresse der geteilten Mailbox>"  -User "NT-Username" `
-AccessRight FullAccess -Automapping $false

Berechtigungen für mehrere geteilte Exchange-Postfächer gleichzeitig ändern.

Wir verwenden geteilte Exchange-Postfächer um für Projekte oder Abteilungen dedizierte E-Mailadressen zur Nutzung zur Verfügung zu stellen.

Änderungen von Berechtigungen wie den Zugriff auf das geteilte Exchange-Postfach oder die Berechtigung als das Postfach eine E-Mail zu versenden kann auch über das Exchange-Control-Panel (ECP) erledigt werden.

Dies ist jedoch recht aufwendig, wenn z. B. ein neuer Mitarbeiter bei vielen geteilten Exchange-Postfächern berechtigt werden muss. Hier klickt man sich im ECP zu Tode.

Um sich hier Zeit zu sparen behelfe ich mir der Exchange-Powershell.
Bei dem Skript im Anhang musst du nun die E-Mailadresse des geteilten Postfaches bzw. Postfächer eintragen und den oder die Benutzer, welche berechtigt werden sollen. Für die Konfiguration muss einmalig die NT-Domain hinterlegt werden.

#!!! EDIT !!!----------------------------------------------------------------------------------------------------
 $Name="<Emailadresse der geteilten Mailbox>", "<zweite Emailadresse bei mehreren Postfächern>"
 $removeuser = "Benutzername"
 $Domain="<NT-Domain-Name\>"
#!!! EDIT !!!----------------------------------------------------------------------------------------------------

#Script Start Remove---------------------------------------------------------------------------------------------
 foreach($line1 in $Name)
     {
     foreach($line2 in $removeuser)
          {
             REMOVE-MailboxPermission $line1 -AccessRights FullAccess -user $Domain$line2 -confirm:$False
             REMOVE-ADPermission $line1 -Extendedrights “Send As” -User $Domain$line2 -confirm:$False
          }
     }
 #Script End Remove----------------------------------------------------------------------------------------------
#!!! EDIT !!!----------------------------------------------------------------------------------------------------
 $Name="<Emailadresse der geteilten Mailbox>", "<zweite Emailadresse bei mehreren Postfächern>"
 $adduser = "Benutzername"
 $Domain="<NT-Domain-Name\>"
#!!! EDIT !!!----------------------------------------------------------------------------------------------------

#Script Start Remove---------------------------------------------------------------------------------------------
 foreach($line1 in $Name)
     {
     foreach($line2 in $adduser)
          {
             ADD-MailboxPermission $line1 -AccessRights FullAccess -user $Domain$line2 -confirm:$False
             ADD-ADPermission $line1 -Extendedrights “Send As” -User $Domain$line2 -confirm:$False
          }
     }
#Script End Remove----------------------------------------------------------------------------------------------

Warum ein Ticketsystem

Tickets verbinden viele Leute mit Wartezeit, Ämter und schlechtem Service aus den 90ern und großen Konzernen, welche den Servicedesk ins Ausland ausgelagert haben.
Jedoch ist dies so nicht richtig!

Wenn ein Ticketsystem einerseits richtig konfiguriert ist und die Mitarbeiter es auch verantwortungsbewusst einsetzen ist dies für die „Kunden“ (ja auch interne It´ler haben Kunden) und die Agents ein Segen!

Beispiel:
Ein Kunde oder Kollege hat ein Problem, Idee, Vorschlag oder Anregung und möchte dies z. B. in die IT weiter geben, weis aber nicht an welche Person oder kennt dort niemand.
Diese kann bei modernen Ticketsystemen über viele verschiedene Wege, sogenannte Kanäle erledigt werden. So soll es für den Kunden so sein, dass er es nicht als Hürde empfindet. Dies ist aus meiner Sicht das Wichtigste. Nicht ist schlimmer als ein Problem was nicht gelöst wird, weil keiner davon weis.

Hier ist folgendes zu empfehlen:

Den klassischen Weg über eine Email z. B. [email protected] wo der Kunde eine E-Mail hin schreibt und diese dann im Ticketsystem als Ticket angelegt wird.

Ein weitere sehr wichtiger Kanal ist das Telefon, auch hier das selbe Prinzip. Eine zentrale Nummer wo der Kunde anrufen kann und ein Team aus Agenten erreicht, welche dem Kunden helfen können. Hier ist es je nach Integration und Telefonanlage möglich gleich bei Anruf das Ticket erstellen zu lassen oder der Agent muss dies händisch anlegen.

Neue Kanäle können z. B. Integrationen in Webseiten als Formular oder Chat sein oder die Anbindung von Social Media Kanälen wie Facebook und Twitter. Dies hängt aber immer davon ab, welcher Kundenkreis das Ticketsystem ansprechen soll.

Nun die Vorteile für die Firma/Arbeitgeber der Agenten.
Die Tickets der Kunden können von den Agenten nicht gelöscht werden, so ist es garantiert, dass keine Reaktion des Kunden übersehen wird und alles dokumentiert ist.

Ein weiterer Vorteil ist je nach Ticketsystem, dass viele automatisierte Aktionen in den täglichen Arbeitsablauf eingebaut werden können:

  • Eingangsbestätigung als E-Mail zum Kunden, welche bestätigt, dass die E-Mail angekommen ist und das Ticket eröffnet wurde,
  • Änderung des Ticketstatus,
  • Macros um bestimmte Aktionen im Ticket schneller abzuarbeiten,
  • Periodisierung und Eskalation von Tickets.

Fazit:
Versucht bei der Einführung eines Ticketsystems zu vermeiden, dass das Image einer verstaubten Amtsstube auf kommt und nutzt die Features welche euch das neue System ermöglichen.

work smarter & safe your time

Alex