-
-
Notifications
You must be signed in to change notification settings - Fork 2
Add multi-resolver support for DNS queries and implement DANE/DNSSEC … #968
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
…report sections - Introduced `DaneWordSectionWriter` and `DnssecWordSectionWriter` to generate Word document sections for DANE and DNSSEC analysis. - Enhanced `WordCompositionReport` to include DANE and DNSSEC in the report generation process. - Implemented multi-resolver capabilities in `DnsConfiguration` allowing for multiple DNS endpoints with strategies like FirstSuccess and FastestWins. - Updated health check settings to support multi-resolver configurations. - Added examples for multi-resolver usage in both C# and PowerShell. - Improved DNSSEC analysis with timeout handling and cancellation tokens. - Enhanced documentation to reflect new features and usage examples.
* Implemented `MailTlsWordSectionWriter` to generate detailed Mail TLS (SMTP/IMAP/POP3) sections in Word documents. * Enhanced export functionality for DNSSEC, IMAP TLS, POP3 TLS, and SMTP TLS to support Word format. * Updated existing cmdlets to include subject information in analyses for better report context.
|
Claude finished @PrzemyslawKlys's task —— View job Code Review Complete ✅I've completed a comprehensive review of this PR focusing on code quality, best practices, potential issues, performance, security, and test coverage. Review Tasks:
✅ Positive Aspects
🔍 Areas for ImprovementCode Quality & Best Practices
Performance Considerations
Security Considerations
Test Coverage
🎯 Specific RecommendationsHigh Priority
Medium Priority
Low Priority
📋 Word Report SectionsThe new Word section writers (
Minor suggestion: Consider extracting common table creation patterns into a shared utility method. 🎉 Overall AssessmentThis is a solid implementation that adds valuable multi-resolver capabilities while maintaining good code organization. The main concerns are around resource management and performance optimization, but the core functionality is sound. The Word report enhancements are particularly well done and maintain consistency with the existing codebase. Recommended action: Consider addressing the high-priority resource management issues before merging, as they could impact production stability. |
…eports - Implemented SoaWordSectionWriter to generate SOA parameter reports. - Created WildcardWordSectionWriter for Wildcard DNS detection summaries. - Added ZoneTransferWordSectionWriter for AXFR exposure summaries. - Enhanced WordCompositionReport to include new sections for SOA, Wildcard, and Zone Transfer. - Updated RPKI analysis to emit positive assessments when all IPs are valid. - Introduced new recommendation codes and diagnostics for RPKI and DNSSEC. - Added unit tests for RPKI analysis to ensure correct behavior. - Improved error handling in Mail TLS analysis for better logging. - Updated example PowerShell script to demonstrate new report generation features. - Cleaned up TODO.md to reflect completed tasks and outstanding items.
* Added `AsnDistinctCount` to track distinct ASNs in NS analysis. * Updated `NsWordSectionWriter` to include ASN diversity in reports. * Introduced unit tests for ASN diversity analysis.
|
Claude finished @PrzemyslawKlys's task —— View job Code Review Complete ✅I've completed a comprehensive review of this PR focusing on code quality, best practices, potential issues, performance, security, and test coverage. Review Tasks:
✅ Positive Aspects
🔍 Areas for ImprovementCode Quality & Best Practices
Performance Considerations
Security Considerations
Test Coverage
🎯 Specific RecommendationsHigh Priority
Medium Priority
Low Priority
📋 Word Report SectionsThe new Word section writers (
Minor suggestion: Consider extracting common table creation patterns into a shared utility method. 🎉 Overall AssessmentThis is a solid implementation that adds valuable multi-resolver capabilities while maintaining good code organization. The main concerns are around resource management and performance optimization, but the core functionality is sound. The Word report enhancements are particularly well done and maintain consistency with the existing codebase. Recommended action: Consider addressing the high-priority resource management issues before merging, as they could impact production stability. |
…t472 * Replaced Linq usage with a manual loop to build the hosts array in `VerifyMTASTS`. * Ensured compatibility with .NET Framework 4.7.2 by eliminating the dependency on `ToArray()`. * Initialized nullable DateTime fields in `ThreatIntelAnalysis` to null for clarity.
|
Claude finished @PrzemyslawKlys's task —— View job Code Review Complete ✅I've completed a comprehensive review of this PR focusing on code quality, best practices, potential issues, performance, security, and test coverage. Review Tasks:
✅ Positive Aspects
🔍 Areas for ImprovementCode Quality & Best Practices
Performance Considerations
Security Considerations
Test Coverage
🎯 Specific RecommendationsHigh Priority
Medium Priority
Low Priority
📋 Word Report SectionsThe new Word section writers (
Minor suggestion: Consider extracting common table creation patterns into a shared utility method. 🎉 Overall AssessmentThis is a solid implementation that adds valuable multi-resolver capabilities while maintaining good code organization. The main concerns are around resource management and performance optimization, but the core functionality is sound. The Word report enhancements are particularly well done and maintain consistency with the existing codebase. Recommended action: Consider addressing the high-priority resource management issues before merging, as they could impact production stability. |
…lets - Updated cmdlet parameters to initialize string fields with empty strings to prevent null reference exceptions. - Applied null-forgiving operator to logger and health check fields to indicate they will be initialized before use. - Enhanced nullability handling in InternalLoggerPowerShell class by making action delegates nullable. - Improved error handling in various cmdlets to provide clearer warnings and error messages. - Adjusted Word report generation to handle potential null values gracefully.
- Updated various cmdlets to initialize properties with default values to prevent null reference exceptions. - Changed `RunDmarcBuilder` method to return a Task instead of an int. - Added null checks and improved handling of highlights and positives in HTML report writers. - Enhanced DNSSEC analysis with additional probing for AD status using public resolvers. - Improved documentation and comments for clarity. - General code cleanup and formatting adjustments across multiple files.
…n method signatures * Updated various methods to ensure proper nullability handling with `!` operator. * Added missing parameters to method documentation for better clarity. * Enhanced code readability and maintainability across multiple files.
- Introduced a new email provider detection system with interfaces and capabilities to better classify email providers based on MX records, SPF tokens, and DKIM hints. - Updated MX analysis to utilize the new provider detection, providing warnings and information based on the number of MX records and the specific provider's capabilities. - Improved DNSSEC analysis with fallback mechanisms for more robust querying. - Added multiple email provider implementations, including Microsoft 365, Google Workspace, and others, with specific configurations for MX patterns, SPF tokens, and DKIM settings. - Enhanced narrative generation to include inferred email provider information based on MX records. - Updated views to display provider-related information in reports.
…ions * Introduced `TestEmailProviderDetector` to validate detection of M365 and SendGrid. * Added `TestProviderRecommendations` to ensure proper registration of MTA-STS and TLSRPT codes. * Enhanced `MtaStsCodes` and `TlsRptCodes` with `ProviderRecommended` constants. * Updated recommendation classes to provide guidance for detected providers.
* Added DMARC enforcement recommendations for domains with outbound providers. * Introduced subdomain policy guidance for email providers. * Updated email provider classes to include `DmarcHelpUrl` and `SubdomainPolicyRecommendation`. * Improved console output for email provider details in `WizardScanCommand`.
* Introduced `ProviderHelpLinks` class to encapsulate help URLs for DMARC, SPF, DKIM, MTA-STS, TLS-RPT, and deliverability. * Updated existing providers to include relevant help URLs. * Enhanced `MxInfo` and `SpfRecordInfo` to include provider help information. * Implemented provider help rendering in `MxHtmlSectionWriter` and `MxWordSectionWriter`.
- Replaced individual help URLs with a unified ProviderDocumentation structure across multiple email provider classes. - Added detailed documentation links for DMARC, SPF, DKIM, MTA-STS, TLS-RPT, and Deliverability for various providers including Barracuda, Cisco, Cloudflare, Fastmail, Google Workspace, Mailgun, Microsoft 365, Mimecast, NullMx, Postmark, Proofpoint Essentials, ProtonMail, SendGrid, and Zoho Mail. - Updated the Converters for Mx and SPF views to utilize the new documentation structure, ensuring help topics are dynamically generated based on available documentation. - Introduced a new ProviderHelpTopic model to encapsulate help topic details, including title, summary, and verification date.
- Implemented a section in the Word report to display mail provider information including primary, gateways, and outbound providers. - Added quick links for primary provider topics (DMARC/SPF/DKIM) to enhance user navigation.
- Updated NullMxProvider, PostmarkProvider, ProofpointEssentialsProvider, ProtonMailProvider, SendGridProvider, and ZohoMailProvider to include detailed documentation links for ARC, BIMI, DMARC, SPF, DKIM, MTA-STS, TLS-RPT, and Deliverability. - Introduced new ArcInfo class and conversion logic in Converters.Arc.cs to handle ARC analysis. - Modified existing converters to include ARC and BIMI documentation links in output. - Added example PowerShell scripts for generating reports with provider help topics including ARC and BIMI. - Implemented a new internal tooling feature for verifying provider documentation links and ensuring they are up-to-date.
* Improved handling of pipeline inputs to avoid nested arrays. * Added unwrapping logic for `PSObject` to ensure correct data processing. * Updated `ExtractSubjects` method to accommodate flattened input structure.
…neration * Introduced `DomainOrder` and `SectionOrderMode` parameters to control the ordering of domains and sections in the generated reports. * Updated `Export-DDSecurityReport` command in the example script to demonstrate the new options.
|
Claude finished @PrzemyslawKlys's task —— View job Code Review Complete ✅I've completed a comprehensive review of this PR focusing on code quality, best practices, potential issues, performance, security, and test coverage. Review Tasks:
✅ Positive Aspects
🔍 Areas for ImprovementCode Quality & Best Practices
Performance Considerations
Security Considerations
Test Coverage
PowerShell Integration Inconsistency
🎯 Specific RecommendationsHigh Priority
Medium Priority
Low Priority
📋 Word Report SectionsThe new Word section writers (
Minor suggestion: Consider extracting common table creation patterns into a shared utility method. 🎉 Overall AssessmentThis is a solid implementation that adds valuable multi-resolver capabilities while maintaining good code organization. The main concerns are around resource management and performance optimization, but the core functionality is sound. The Word report enhancements are particularly well done and maintain consistency with the existing codebase. Recommended action: Consider addressing the high-priority resource management issues before merging, as they could impact production stability. |
…ition reports * Introduced `ExcelCompositionReport` and `MarkdownCompositionReport` classes. * Implemented `Generate` method with placeholders for future functionality. * Added `OrderingOptions` class to manage shared ordering configurations across formats.
* Updated `Spectre.Console` and `Spectre.Console.Cli` to version `0.51.1` across multiple projects. * Updated `MatejKafka.XmlDoc2CmdletDoc` to version `0.7.0` in PowerShell project. * Updated `HtmlForgeX` to version `0.4.0` in HTML reports project. * Updated `OfficeIMO.Word` to version `1.0.8` in Office reports project. * Updated `Microsoft.PowerShell.SDK` to version `7.5.2` and `xunit.runner.visualstudio` to version `3.1.4` in tests project.
- Implemented MarkdownReportGenerator to generate reports in Markdown format. - Integrated Markdown composition functionality for domain health checks. - Updated ReportDispatcher to include Markdown report format handling. - Added Markdown report format to ReportFormat enum. - Enhanced ReportPathHelper to generate appropriate file extensions for Markdown. - Removed placeholder MarkdownCompositionReport as functionality is now implemented. - Updated Excel report generation to utilize OfficeIMO.Excel for .NET 8.0. - Added ExcelCompositionReport for comprehensive Excel reporting across domains. - Updated example PowerShell scripts to demonstrate new report formats.
…rmats - Updated ExportFormat property in ExportableAsyncPSCmdlet to accept an array of ReportFormat. - Modified export logic in various cmdlets (e.g., CmdletTestMailDomainClassification, CmdletTestArc, CmdletTestBlackList, etc.) to handle multiple export formats. - Introduced helper methods for resolving output paths and determining requested formats. - Enhanced HTML report generation to include KPI cards and improved layout. - Added unique sheet name generation for Excel reports to prevent name collisions. - Updated example scripts to reflect changes in export format handling.
…idation - Added mail provider details section in MarkdownCompositionReport, including primary, gateways, and outbound providers. - Implemented top provider links for DMARC/SPF/DKIM in Markdown reports. - Updated ExcelCompositionReport to use dynamic object for summary rows and added document validation for Excel files. - Refactored domain ordering and section ordering into separate enums: DomainOrder and SectionOrderMode. - Modified WordCompositionReport to utilize new enums for domain and section ordering. - Updated example PowerShell scripts to include multiple domains and changed export formats to HTML for better reporting.
…ll Script - Added conditional formatting and data visualization features to the Excel composition report, including: - Numeric formatting for Warnings and Errors columns. - Data bars for visual representation of Warnings and Errors. - Background colors for text statuses in various columns. - Added a totals row at the end of the overview table. - Implemented traffic light icon set for the Errors column. - Introduced helper methods for parsing A1 range coordinates. - Updated PowerShell script to change the export format from HTML to Excel for the combined SPF, DMARC, and DKIM reports.
|
Claude finished @PrzemyslawKlys's task —— View job Code Review Complete ✅I've completed a comprehensive review of this PR focusing on code quality, best practices, potential issues, performance, security, and test coverage. Review Tasks:
✅ Positive Aspects
🔍 Areas for ImprovementCode Quality & Best Practices
Performance Considerations
Security Considerations
Test Coverage
PowerShell Integration Inconsistency
🎯 Specific RecommendationsHigh Priority
Medium Priority
Low Priority
📋 Word Report SectionsThe new Word section writers (
Minor suggestion: Consider extracting common table creation patterns into a shared utility method. 🎉 Overall AssessmentThis is a solid implementation that adds valuable multi-resolver capabilities while maintaining good code organization. The main concerns are around resource management and performance optimization, but the core functionality is sound. The Word report enhancements are particularly well done and maintain consistency with the existing codebase. Recommended action: Consider addressing the high-priority resource management issues before merging, as they could impact production stability. |
- Implemented sections for MX, DNSBL, NS, SOA, CAA, RPKI, and ARC details. - Enhanced summary and status matrix sheets for better visibility of domain control statuses. - Added support for displaying SPF provider counts and recommendations in the report.
|
Claude finished @PrzemyslawKlys's task —— View job Code Review Complete ✅I've completed a comprehensive review of this PR focusing on code quality, best practices, potential issues, performance, security, and test coverage. Review Tasks:
✅ Positive Aspects
🔍 Areas for ImprovementCode Quality & Best Practices
Performance Considerations
Security Considerations
Test Coverage
PowerShell Integration Inconsistency
🎯 Specific RecommendationsHigh Priority
Medium Priority
Low Priority
📋 Word Report SectionsThe new Word section writers (
Minor suggestion: Consider extracting common table creation patterns into a shared utility method. 🎉 Overall AssessmentThis is a solid implementation that adds valuable multi-resolver capabilities while maintaining good code organization. The main concerns are around resource management and performance optimization, but the core functionality is sound. The Word report enhancements are particularly well done and maintain consistency with the existing codebase. Recommended action: Consider addressing the high-priority resource management issues before merging, as they could impact production stability. |
|
Claude finished @PrzemyslawKlys's task —— View job Claude finished reviewing this PR ✅ Review Tasks:
✅ Positive Aspects
🔍 Areas for ImprovementCode Quality & Best Practices
Performance Considerations
Security Considerations
Test Coverage
PowerShell Integration Inconsistency
🎯 Specific RecommendationsHigh Priority
Medium Priority
Low Priority
📋 Word Report SectionsThe new Word section writers (
Minor suggestion: Consider extracting common table creation patterns into a shared utility method. 🎉 Overall AssessmentThis is a solid implementation that adds valuable multi-resolver capabilities while maintaining good code organization. The main concerns are around resource management and performance optimization, but the core functionality is sound. The Word report enhancements are particularly well done and maintain consistency with the existing codebase. Recommended action: Consider addressing the high-priority resource management issues before merging, as they could impact production stability. |
|
Claude finished @PrzemyslawKlys's task —— View job Claude finished reviewing this PR ✅ Review Tasks:
✅ Positive Aspects
🔍 Areas for ImprovementCode Quality & Best Practices
Performance Considerations
Security Considerations
Test Coverage
PowerShell Integration Inconsistency
🎯 Specific RecommendationsHigh Priority
Medium Priority
Low Priority
📋 Word Report SectionsThe new Word section writers (
Minor suggestion: Consider extracting common table creation patterns into a shared utility method. 🎉 Overall AssessmentThis is a solid implementation that adds valuable multi-resolver capabilities while maintaining good code organization. The main concerns are around resource management and performance optimization, but the core functionality is sound. The Word report enhancements are particularly well done and maintain consistency with the existing codebase. Recommended action: Consider addressing the high-priority resource management issues before merging, as they could impact production stability. |
…report sections
DaneWordSectionWriterandDnssecWordSectionWriterto generate Word document sections for DANE and DNSSEC analysis.WordCompositionReportto include DANE and DNSSEC in the report generation process.DnsConfigurationallowing for multiple DNS endpoints with strategies like FirstSuccess and FastestWins.