Exchange Reporter, ...
 
Notifications
Clear all

Exchange Reporter, DMARC Modul

5 Posts
2 Users
0 Reactions
2,214 Views
(@timbo)
Active Member
Joined: 5 years ago
Posts: 8
Topic starter  

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

This topic was modified 5 years ago 2 times by timbo

   
Quote
(@timbo)
Active Member
Joined: 5 years ago
Posts: 8
Topic starter  

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

 

This post was modified 5 years ago by timbo

   
ReplyQuote

Frank Zöchling
(@franky)
Honorable Member Admin
Joined: 15 years ago
Posts: 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


   
ReplyQuote
(@timbo)
Active Member
Joined: 5 years ago
Posts: 8
Topic starter  

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


   
ReplyQuote

Frank Zöchling
(@franky)
Honorable Member Admin
Joined: 15 years ago
Posts: 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


   
ReplyQuote
Share: