[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6HM1F2N5A13VB72TYSRDWNV":3,"skill-same:01M6HM1F2N5A13VB72TYSRDWNV":124},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":67,"commitSha":68,"skillDirectory":69,"forksCount":70,"repositoryHtmlUrl":71,"repositoryHomepageUrl":6,"ownerHtmlUrl":72,"ownerBlogUrl":6,"ownerDescription":73,"updatedAt":74,"install":75,"resources":88},"01M6HM1F2N5A13VB72TYSRDWNV","implementing-dmarc-dkim-spf-email-security",null,"SPF, DKIM, and DMARC form the three pillars of email authentication. Together they prevent domain spoofing, validate message integrity, and define policies for handling unauthenticated mail. Proper im","HenriqueMC17\u002Fagente-core","HenriqueMC17","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F206460478?v=4","01M6HB63HBBF18AC4H09XTB549","Henrique Monteiro Cardoso","01M6HB63NGSQXWKWCFWW2B20W0",1,"Apache-2.0","https:\u002F\u002Fgithub.com\u002FHenriqueMC17\u002Fagente-core\u002Fblob\u002Fmain\u002Fmodules\u002Fimplementing-dmarc-dkim-spf-email-security\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000005","邮件与沟通","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"implementing dmarc dkim spf email security","implementing","email security","security","dmarc","dkim","spf","email","dns","defense","t1566","cm","social","message","mail","de","co","authentication","at","cybersecurity","2026-11-10 10:12:30",false,"---\nname: implementing-dmarc-dkim-spf-email-security\ndescription: SPF, DKIM, and DMARC form the three pillars of email authentication. Together they prevent domain spoofing, validate message integrity, and define policies for handling unauthenticated mail. Proper im\ndomain: cybersecurity\nsubdomain: phishing-defense\ntags:\n- phishing\n- email-security\n- social-engineering\n- dmarc\n- awareness\n- dkim\n- spf\n- dns\nversion: '1.0'\nauthor: mahipal\nlicense: Apache-2.0\nnist_csf:\n- PR.AT-01\n- DE.CM-09\n- RS.CO-02\n- DE.AE-02\nmitre_attack:\n- T1566\n- T1598\n- T1534\n- T1036\ncategory: implementing-dmarc-dkim-spf-email-security\n---\n# Implementing DMARC, DKIM, and SPF Email Security\n\n## Overview\nSPF, DKIM, and DMARC form the three pillars of email authentication. Together they prevent domain spoofing, validate message integrity, and define policies for handling unauthenticated mail. Proper implementation drastically reduces phishing attacks that impersonate your organization's domain.\n\n\n## When to Use\n\n- When deploying or configuring implementing dmarc dkim spf email security capabilities in your environment\n- When establishing security controls aligned to compliance requirements\n- When building or improving security architecture for this domain\n- When conducting security assessments that require this implementation\n\n## Prerequisites\n- DNS management access for your domain\n- Access to email server\u002FMTA configuration (Postfix, Exchange, Google Workspace, Microsoft 365)\n- Basic understanding of DNS TXT records\n- Python 3.8+ for validation scripts\n\n## Key Concepts\n\n### SPF (Sender Policy Framework)\nPublishes a DNS TXT record listing authorized IP addresses and mail servers that can send email on behalf of your domain. Receiving servers check the envelope sender's IP against this list.\n\n### DKIM (DomainKeys Identified Mail)\nAdds a cryptographic signature to outgoing emails using a private key. The corresponding public key is published in DNS. Receivers verify the signature to ensure the message was not altered in transit.\n\n### DMARC (Domain-based Message Authentication, Reporting and Conformance)\nBuilds on SPF and DKIM by specifying a policy (none\u002Fquarantine\u002Freject) for messages that fail authentication, and provides a reporting mechanism to monitor spoofing attempts.\n\n## Workflow\n\n### Step 1: Audit Current State\n```bash\n# Check existing SPF record\ndig TXT example.com | grep spf\n\n# Check existing DKIM selector\ndig TXT selector1._domainkey.example.com\n\n# Check existing DMARC record\ndig TXT _dmarc.example.com\n```\n\n### Step 2: Implement SPF\n```\n# DNS TXT record for example.com\nv=spf1 ip4:203.0.113.0\u002F24 include:_spf.google.com include:spf.protection.outlook.com -all\n```\n\nKey SPF mechanisms:\n- `ip4:` \u002F `ip6:` - Authorize specific IP ranges\n- `include:` - Include another domain's SPF record\n- `a` - Authorize domain's A record IPs\n- `mx` - Authorize domain's MX record IPs\n- `-all` - Hard fail all others (recommended)\n- `~all` - Soft fail (monitoring phase)\n\n### Step 3: Implement DKIM\n```bash\n# Generate DKIM key pair (2048-bit RSA)\nopenssl genrsa -out dkim_private.pem 2048\nopenssl rsa -in dkim_private.pem -pubout -out dkim_public.pem\n\n# Format public key for DNS (remove headers, join lines)\ngrep -v \"PUBLIC KEY\" dkim_public.pem | tr -d '\\n'\n```\n\nDNS TXT record at `selector1._domainkey.example.com`:\n```\nv=DKIM1; k=rsa; p=MIIBIjANBgkqhki...\n```\n\n### Step 4: Implement DMARC\n```\n# DNS TXT record at _dmarc.example.com\n# Phase 1 (Monitor):\nv=DMARC1; p=none; rua=mailto:dmarc-aggregate@example.com; ruf=mailto:dmarc-forensic@example.com; pct=100\n\n# Phase 2 (Quarantine):\nv=DMARC1; p=quarantine; rua=mailto:dmarc-aggregate@example.com; pct=25\n\n# Phase 3 (Reject):\nv=DMARC1; p=reject; rua=mailto:dmarc-aggregate@example.com; pct=100\n```\n\n### Step 5: Monitor and Analyze DMARC Reports\nUse the `scripts\u002Fprocess.py` to parse DMARC aggregate XML reports and identify authentication failures, unauthorized senders, and spoofing attempts.\n\n## Tools & Resources\n- **MXToolbox**: https:\u002F\u002Fmxtoolbox.com\u002FSuperTool.aspx\n- **DMARC Analyzer (dmarcian)**: https:\u002F\u002Fdmarcian.com\u002F\n- **Google Postmaster Tools**: https:\u002F\u002Fpostmaster.google.com\u002F\n- **Valimail DMARC Monitor**: https:\u002F\u002Fwww.valimail.com\u002F\n- **DMARC Report Analyzer**: https:\u002F\u002Fdmarc.postmarkapp.com\u002F\n\n## Validation\n- SPF record passes validation at mxtoolbox.com\n- DKIM signature verified on test emails\n- DMARC record properly formatted and reporting enabled\n- Test emails pass all three checks in recipient's Authentication-Results header\n","# Implementing DMARC, DKIM, and SPF Email Security\n\n## Overview\nSPF, DKIM, and DMARC form the three pillars of email authentication. Together they prevent domain spoofing, validate message integrity, and define policies for handling unauthenticated mail. Proper implementation drastically reduces phishing attacks that impersonate your organization's domain.\n\n\n## When to Use\n\n- When deploying or configuring implementing dmarc dkim spf email security capabilities in your environment\n- When establishing security controls aligned to compliance requirements\n- When building or improving security architecture for this domain\n- When conducting security assessments that require this implementation\n\n## Prerequisites\n- DNS management access for your domain\n- Access to email server\u002FMTA configuration (Postfix, Exchange, Google Workspace, Microsoft 365)\n- Basic understanding of DNS TXT records\n- Python 3.8+ for validation scripts\n\n## Key Concepts\n\n### SPF (Sender Policy Framework)\nPublishes a DNS TXT record listing authorized IP addresses and mail servers that can send email on behalf of your domain. Receiving servers check the envelope sender's IP against this list.\n\n### DKIM (DomainKeys Identified Mail)\nAdds a cryptographic signature to outgoing emails using a private key. The corresponding public key is published in DNS. Receivers verify the signature to ensure the message was not altered in transit.\n\n### DMARC (Domain-based Message Authentication, Reporting and Conformance)\nBuilds on SPF and DKIM by specifying a policy (none\u002Fquarantine\u002Freject) for messages that fail authentication, and provides a reporting mechanism to monitor spoofing attempts.\n\n## Workflow\n\n### Step 1: Audit Current State\n```bash\n# Check existing SPF record\ndig TXT example.com | grep spf\n\n# Check existing DKIM selector\ndig TXT selector1._domainkey.example.com\n\n# Check existing DMARC record\ndig TXT _dmarc.example.com\n```\n\n### Step 2: Implement SPF\n```\n# DNS TXT record for example.com\nv=spf1 ip4:203.0.113.0\u002F24 include:_spf.google.com include:spf.protection.outlook.com -all\n```\n\nKey SPF mechanisms:\n- `ip4:` \u002F `ip6:` - Authorize specific IP ranges\n- `include:` - Include another domain's SPF record\n- `a` - Authorize domain's A record IPs\n- `mx` - Authorize domain's MX record IPs\n- `-all` - Hard fail all others (recommended)\n- `~all` - Soft fail (monitoring phase)\n\n### Step 3: Implement DKIM\n```bash\n# Generate DKIM key pair (2048-bit RSA)\nopenssl genrsa -out dkim_private.pem 2048\nopenssl rsa -in dkim_private.pem -pubout -out dkim_public.pem\n\n# Format public key for DNS (remove headers, join lines)\ngrep -v \"PUBLIC KEY\" dkim_public.pem | tr -d '\\n'\n```\n\nDNS TXT record at `selector1._domainkey.example.com`:\n```\nv=DKIM1; k=rsa; p=MIIBIjANBgkqhki...\n```\n\n### Step 4: Implement DMARC\n```\n# DNS TXT record at _dmarc.example.com\n# Phase 1 (Monitor):\nv=DMARC1; p=none; rua=mailto:dmarc-aggregate@example.com; ruf=mailto:dmarc-forensic@example.com; pct=100\n\n# Phase 2 (Quarantine):\nv=DMARC1; p=quarantine; rua=mailto:dmarc-aggregate@example.com; pct=25\n\n# Phase 3 (Reject):\nv=DMARC1; p=reject; rua=mailto:dmarc-aggregate@example.com; pct=100\n```\n\n### Step 5: Monitor and Analyze DMARC Reports\nUse the `scripts\u002Fprocess.py` to parse DMARC aggregate XML reports and identify authentication failures, unauthorized senders, and spoofing attempts.\n\n## Tools & Resources\n- **MXToolbox**: https:\u002F\u002Fmxtoolbox.com\u002FSuperTool.aspx\n- **DMARC Analyzer (dmarcian)**: https:\u002F\u002Fdmarcian.com\u002F\n- **Google Postmaster Tools**: https:\u002F\u002Fpostmaster.google.com\u002F\n- **Valimail DMARC Monitor**: https:\u002F\u002Fwww.valimail.com\u002F\n- **DMARC Report Analyzer**: https:\u002F\u002Fdmarc.postmarkapp.com\u002F\n\n## Validation\n- SPF record passes validation at mxtoolbox.com\n- DKIM signature verified on test emails\n- DMARC record properly formatted and reporting enabled\n- Test emails pass all three checks in recipient's Authentication-Results header\n",{"name":5,"tags":49,"author":54,"domain":43,"license":15,"version":55,"category":5,"nist_csf":56,"subdomain":61,"description":7,"mitre_attack":62},[50,51,52,28,53,29,30,32],"phishing","email-security","social-engineering","awareness","mahipal","1.0",[57,58,59,60],"PR.AT-01","DE.CM-09","RS.CO-02","DE.AE-02","phishing-defense",[63,64,65,66],"T1566","T1598","T1534","T1036","main","5eea5b3296f4673b5f481e8bcc1ba76281149f16","modules\u002Fimplementing-dmarc-dkim-spf-email-security",0,"https:\u002F\u002Fgithub.com\u002FHenriqueMC17\u002Fagente-core","https:\u002F\u002Fgithub.com\u002FHenriqueMC17","Qualquer tecnologia suficientemente avançada é indistinguível da mágica.","2026-09-28 22:40:38",{"source":8,"skillName":5,"commands":76,"prompt":86,"zipAvailable":87},[77,80,83],{"tool":78,"command":79},"npx","npx skills add HenriqueMC17\u002Fagente-core --skill implementing-dmarc-dkim-spf-email-security",{"tool":81,"command":82},"bunx","bunx skills add HenriqueMC17\u002Fagente-core --skill implementing-dmarc-dkim-spf-email-security",{"tool":84,"command":85},"pnpm","pnpm dlx skills add HenriqueMC17\u002Fagente-core --skill implementing-dmarc-dkim-spf-email-security","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FHenriqueMC17\u002Fagente-core\u002Fblob\u002Fmain\u002Fmodules\u002Fimplementing-dmarc-dkim-spf-email-security\u002FSKILL.md",true,[89,95,100,106,110,114,120],{"path":90,"resourceType":91,"resourceTypeDesc":92,"sizeBytes":93,"sourceHtmlUrl":94},"assets\u002Ftemplate.md","ASSET","资产文件",2595,"https:\u002F\u002Fgithub.com\u002FHenriqueMC17\u002Fagente-core\u002Fblob\u002Fmain\u002Fmodules\u002Fimplementing-dmarc-dkim-spf-email-security\u002Fassets\u002Ftemplate.md",{"path":96,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":98,"sourceHtmlUrl":99},"LICENSE","许可证",11255,"https:\u002F\u002Fgithub.com\u002FHenriqueMC17\u002Fagente-core\u002Fblob\u002Fmain\u002Fmodules\u002Fimplementing-dmarc-dkim-spf-email-security\u002FLICENSE",{"path":101,"resourceType":102,"resourceTypeDesc":103,"sizeBytes":104,"sourceHtmlUrl":105},"references\u002Fapi-reference.md","REFERENCE","参考文档",1412,"https:\u002F\u002Fgithub.com\u002FHenriqueMC17\u002Fagente-core\u002Fblob\u002Fmain\u002Fmodules\u002Fimplementing-dmarc-dkim-spf-email-security\u002Freferences\u002Fapi-reference.md",{"path":107,"resourceType":102,"resourceTypeDesc":103,"sizeBytes":108,"sourceHtmlUrl":109},"references\u002Fstandards.md",2930,"https:\u002F\u002Fgithub.com\u002FHenriqueMC17\u002Fagente-core\u002Fblob\u002Fmain\u002Fmodules\u002Fimplementing-dmarc-dkim-spf-email-security\u002Freferences\u002Fstandards.md",{"path":111,"resourceType":102,"resourceTypeDesc":103,"sizeBytes":112,"sourceHtmlUrl":113},"references\u002Fworkflows.md",3205,"https:\u002F\u002Fgithub.com\u002FHenriqueMC17\u002Fagente-core\u002Fblob\u002Fmain\u002Fmodules\u002Fimplementing-dmarc-dkim-spf-email-security\u002Freferences\u002Fworkflows.md",{"path":115,"resourceType":116,"resourceTypeDesc":117,"sizeBytes":118,"sourceHtmlUrl":119},"scripts\u002Fagent.py","SCRIPT","脚本",5572,"https:\u002F\u002Fgithub.com\u002FHenriqueMC17\u002Fagente-core\u002Fblob\u002Fmain\u002Fmodules\u002Fimplementing-dmarc-dkim-spf-email-security\u002Fscripts\u002Fagent.py",{"path":121,"resourceType":116,"resourceTypeDesc":117,"sizeBytes":122,"sourceHtmlUrl":123},"scripts\u002Fprocess.py",20891,"https:\u002F\u002Fgithub.com\u002FHenriqueMC17\u002Fagente-core\u002Fblob\u002Fmain\u002Fmodules\u002Fimplementing-dmarc-dkim-spf-email-security\u002Fscripts\u002Fprocess.py",[125,154,180,202,218,236],{"skillNo":126,"name":127,"nameZh":6,"description":128,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":129,"categories":130,"keywords":134,"publishedAt":44},"01M6HPFF0RCN0X6WT5EBSV71GY","validating-backup-integrity-for-recovery","Validate backup integrity through cryptographic hash verification, automated restore testing, corruption detection, and recoverability checks to ensure backups are reliable for disaster recovery and ransomware response scenarios.","https:\u002F\u002Fgithub.com\u002FHenriqueMC17\u002Fagente-core\u002Fblob\u002Fmain\u002Fmodules\u002Fvalidating-backup-integrity-for-recovery\u002FSKILL.md",[131],{"categoryNo":132,"categoryName":133,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",[135,136,137,138,139,140,43,141,142,143,144,145,146,147,148,149,150,151,152,153],"integrity","backup","recovery","validating backup integrity for recovery","for","testing","validate","verification","hash-verification","incident-response","ransomware","detection","t1078","t1490","disaster-recovery","restore","incident","disaster recovery","ransomware response",{"skillNo":155,"name":156,"nameZh":6,"description":157,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":158,"categories":159,"keywords":160,"publishedAt":44},"01M6HPFAWJVFK25Q33K3T7WQ8G","triaging-vulnerabilities-with-ssvc-framework","Triage and prioritize vulnerabilities using CISA's Stakeholder-Specific Vulnerability Categorization (SSVC) decision tree framework to produce actionable remediation priorities.","https:\u002F\u002Fgithub.com\u002FHenriqueMC17\u002Fagente-core\u002Fblob\u002Fmain\u002Fmodules\u002Ftriaging-vulnerabilities-with-ssvc-framework\u002FSKILL.md",[],[161,162,163,164,165,43,166,167,168,169,170,171,172,173,174,175,176,177,178,179],"vulnerabilities","framework","ssvc","triaging vulnerabilities with ssvc framework","with","triage and prioritize","CISA","vulnerability-management","risk-management","cvss","remediation","vulnerability","prioritization","decision-tree","prioritize","decision","priorities","actionable","tree",{"skillNo":181,"name":182,"nameZh":6,"description":183,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":184,"categories":185,"keywords":186,"publishedAt":44},"01M6HPF6JS9X72WP59094H3ASQ","triaging-security-incident","Performs initial triage of security incidents to determine severity, scope, and required response actions using the NIST SP 800-61r3 and SANS PICERL frameworks. Classifies incidents by type, assigns priority based on business impact, and routes...","https:\u002F\u002Fgithub.com\u002FHenriqueMC17\u002Fagente-core\u002Fblob\u002Fmain\u002Fmodules\u002Ftriaging-security-incident\u002FSKILL.md",[],[27,187,151,43,188,189,190,147,148,191,192,193,194,195,196,197,198,199,200,201],"triaging security incident","actions","soc","NIST","analysis","severity-classification","incident-triage","SANS-PICERL","SOC-operations","picerl","conversion","isolation","scope","impact","consistency",{"skillNo":203,"name":204,"nameZh":6,"description":205,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":206,"categories":207,"keywords":208,"publishedAt":44},"01M6HPF2EX6ZYNYYHKBRJN7GEF","triaging-security-incident-with-ir-playbook","Classify and prioritize security incidents using structured IR playbooks to determine severity, assign response teams, and initiate appropriate response procedures.","https:\u002F\u002Fgithub.com\u002FHenriqueMC17\u002Fagente-core\u002Fblob\u002Fmain\u002Fmodules\u002Ftriaging-security-incident-with-ir-playbook\u002FSKILL.md",[],[27,209,210,187,151,165,43,211,189,144,212,213,147,148,214,192,175,215,216,217],"playbook","triaging security incident with ir playbook","teams","IR-playbook","severity","classification","classify","incidents","initiate",{"skillNo":219,"name":220,"nameZh":6,"description":221,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":222,"categories":223,"keywords":224,"publishedAt":44},"01M6HPEY9XPGE7X95AG4XJFQAW","triaging-security-alerts-in-splunk","Triages security alerts in Splunk Enterprise Security by classifying severity, investigating notable events, correlating related telemetry, and making escalation or closure decisions using SPL queries and the Incident Review dashboard. Use when...","https:\u002F\u002Fgithub.com\u002FHenriqueMC17\u002Fagente-core\u002Fblob\u002Fmain\u002Fmodules\u002Ftriaging-security-alerts-in-splunk\u002FSKILL.md",[],[27,225,226,227,228,229,43,230,231,232,189,233,147,34,234,235,195,35,151,39],"security alerts","splunk","triaging security alerts in splunk","alerts","review","siem","dashboard","search","correlation-search","notable-events","incident-review",{"skillNo":237,"name":238,"nameZh":6,"description":239,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":240,"categories":241,"keywords":242,"publishedAt":44},"01M6HPET6XGEPEJPN7V032JGZ0","tracking-threat-actor-infrastructure","Threat actor infrastructure tracking involves monitoring and mapping adversary-controlled assets including command-and-control (C2) servers, phishing domains, exploit kit hosts, bulletproof hosting, a","https:\u002F\u002Fgithub.com\u002FHenriqueMC17\u002Fagente-core\u002Fblob\u002Fmain\u002Fmodules\u002Ftracking-threat-actor-infrastructure\u002FSKILL.md",[],[243,244,245,246,43,247,248,249,250,251,32,34,252,253,35,254,39,255,256,257],"infrastructure","tracking threat actor infrastructure","tracking","threat","monitoring","mitre-attack","threat-actor","threat-intelligence","command-and-control","command","exploit","intelligence","domains","kit","hosts"]