Exchange Reporter, ...
 
Benachrichtigungen
Alles löschen

Exchange Reporter, DMARC Modul

5 Beiträge
2 Benutzer
0 Reactions
2,186 Ansichten
(@timbo)
Active Member
Beigetreten: Vor 5 Jahren
Beiträge: 8
Themenstarter  

Hi Franky,

 

ich hatte ja bereits den Verbesserungsvorschlag bzgl. dem Hinzufügen der Ergebnisse der DKIM- bzw. SPF-Prüfungen aus den XML-Dateien gemacht.

 

Der nächste Verbesserungsvorschlag:

Offensichtlich übermitteln nicht alle Mailserver DMARC-Reports mit Anhängen im ZIP-Format. Einige übermitteln GZ-Format. Ich habe das Modul um die Funktionalität diese Anhänge auch zu beachten erweitert.

 

Dazu eine Zeile anpassen:

if ($attach.name -match "zip"<#new#> -or $attach.name -match "gz"<#/new#>) 

 

Und folgenden Code unterhalb vom Abschnitt #Extract ZIP Files einfügen:

 <#new#>

#Extract GZ Files




Function DeGZip-File{

    Param(

        $infile,

        $outfile       

        )




    $input = New-Object System.IO.FileStream $inFile, ([IO.FileMode]::Open), ([IO.FileAccess]::Read), ([IO.FileShare]::Read)

    $output = New-Object System.IO.FileStream $outFile, ([IO.FileMode]::Create), ([IO.FileAccess]::Write), ([IO.FileShare]::None)

    $gzipStream = New-Object System.IO.Compression.GzipStream $input, ([IO.Compression.CompressionMode]::Decompress)




    $buffer = New-Object byte[](1024)

    while($true){

        $read = $gzipstream.Read($buffer, 0, 1024)

        if ($read -le 0){break}

        $output.Write($buffer, 0, $read)

        }




    $gzipStream.Close()

    $output.Close()

    $input.Close()

}




$gzfiles =  Get-ChildItem "$Installpath\Temp\*.gz" -Recurse | Where {-NOT $_.PSIsContainer} | foreach {$_.fullname}

foreach ($gzfile in $gzfiles)

{

        $gzoutfile = $gzfile -replace '.gz',''

DeGZip-File $gzfile $gzoutfile

}

<#/new#>

 

Ich würde mich freuen den Teil in der nächsten Version zu sehen. Die Funktion zum Entpacken von GZ habe ich hier abgeschaut:

https://stackoverflow.com/questions/27971191/unzip-gzip-file-and-accept-the-name-of-the-file-that-is-included-in-the-actual-z

 

LG

Timbo

Dieses Thema wurde geändert Vor 5 Jahren 2 mal von timbo

   
Zitat
(@timbo)
Active Member
Beigetreten: Vor 5 Jahren
Beiträge: 8
Themenstarter  

Dateien haben offensichtlich das Format 'irgendwas.xml.gz' - was anderes ist mir bisher nicht untergekommen. Daher habe den Dateinamen der entpackten GZ-Datei nochmal spezifischer generiert:

$gzoutfile = $gzfile -replace '.xml.gz','.xml'

 

LG

Timbo

 

Diese r Beitrag wurde geändert Vor 5 Jahren von timbo

   
AntwortZitat

Frank Zöchling
(@franky)
Honorable Member Admin
Beigetreten: Vor 15 Jahren
Beiträge: 512
 

Hallo Timbo,

vielen Dank für deinen Beitrag. Wenn du magst kannst du mir das Modul per Mail schicken, dann kann ich es in die nächste Version integrieren.

Beste Grüße,

Frank


   
AntwortZitat
(@timbo)
Active Member
Beigetreten: Vor 5 Jahren
Beiträge: 8
Themenstarter  

Hi Franky,

 

hier mal mein Entwurf. Ich bin nicht drum herumgekommen mich umfangreicher mit DMARC zu beschäftigen. Ich habe jetzt viele zusätzliche Werte in den Report aufgenommen. Die Tabelle ist daher sehr breit geworden.

 

Alle Änderungen gegenüber deiner Version habe ich mit <#new#>Änderung</#new#> umschlossen. So kannst du sie hoffentlich halbwegs nachvollziehen.

Folgendes habe ich eingebaut:

- GZ wird entpackt

- weitere Werte ("DKIM Domain","DKIM Authentication","DKIM Alignment","DKIM Policy","SPF Domain","SPF Authentication","SPF Alignment","SPF Policy") werden im Bericht angezeigt

- ich habe die explizite Verwendung des DNS 8.8.8.8 entfernt, damit wird der System-DNS befragt, das reicht in meinen Setups

 

Die Sprachanpassung fehlt noch. Ggf. kann man hier mit den englischen Begriffen (Authentication, Alignment etc.) leben.

 

 

 

LG

Timbo


   
AntwortZitat

Frank Zöchling
(@franky)
Honorable Member Admin
Beigetreten: Vor 15 Jahren
Beiträge: 512
 

Hallo Timbo,

vielen Dank für deine Mühe! Deine Anpassungen übernehme ich natürlich gerne und veröffentliche es mit der nächsten Version!

Beste Grüße,

Frank


   
AntwortZitat
Teilen: