Update: Version 2.0.0 is out now! Feel free to read about the changes here!

I'm an advocate for better security and I believe that it is IT Ops and consultants responsibility to hold a higher security standard. It seems that many aren't aware how easy it can be to sign emails with DKIM, or that they are running SMB 1 on their servers and that it's very easy to exploit.

Tools that makes it easy to check vulnerabilities is critical for security, I believe. When I talk to customers about these topics they usually ask how they can figure these things out, and that talk can take a lot of time. Which is why I created this PowerShell Module.

It's a work in progress, but all modules are. I'm happy with the first cmdlet and even though it still has some features coming up, I just couldn't wait to share it with you guys.

This currently is Windows only. It's because it uses Resolve-DnsName, which isn't available yet in PowerShell Core. I hope that this will come soon, but I might be able to write it to work with unix tools as well.

Github: https://github.com/roberthstrand/CheckSec
PowerShellGallery: https://www.powershellgallery.com/packages/CheckSec

Let's take a look at the only cmdlet I've created so far. This cmdlet will be updated a lot and I have at least 10 features coming up, but any feedback is appreciated. Feel free to tweet at me.

Did a quick video on the module:

Test-EmailSecurity

First (and for now only) cmdlet I will be showing off is Test-EmailSecurity. This will check SPF, DKIM and DMARC for error and flaws.

Test-EmailSecurity -Domain <string> [<CommonParameters>]

SPF:
- Checks if present
- Is the PTR mechanism is in use?
- Counts the DNS mechanism

DKIM:
- Checks the MX if it's recognizable provider
- Resolves known DKIM DNS record based on provider

DMARC:
- Checks if present
- What policy is in use?