[ 钓鱼实战系列-基础篇-6 ] 一篇文章让你了解邮件服务器机制(SMTP/POP/IMAP)-2
🍬 博主介绍
👨🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~
✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!
网络钓鱼不仅是一种网络攻击技术同时也是一项最常见的社会工程技术,更是红队选手和网络犯罪分子的惯用伎俩。
本文我们探讨有邮件邮件服务器的认证机制。
文章目录
- 🍬 博主介绍
- 1.6 邮件服务器机制-2
- 1.6.5 SPF 简介
- 1.6.5.1 SPF 是什么
- 1.6.5.2 SPF 的核心功能
- 1.6.5.3 SPF 的工作原理
- 1.6.5.4 SPF 的优势
- 1.6.5.5 为什么搭建个人邮件服务器也需要设置SPF?
- 1.6.6 DKIM 简介
- 1.6.6.1 什么是 DKIM
- 1.6.6.2 DKIM 有什么作用
- 1.6.6.3 DKIM 工作原理
- 16.7 DMARC 简介
- 1.6.7.1 什么是 DMARC
- 1.6.7.2 DMARC 有什么作用
- 1.6.7.3DMARC 工作原理
- 1.6.8 为什么设置 SPF、DKIM、DMARC 三个解析?
- 1.6.8.1.为什么自建邮件服务器也需要搭建SPF ?
- 1.6.8.2.安装了SPF为什么还要按照DKIM ?
- 1.6.8.3.rDNS作用是什么 ?
- 1.6.8.4 rDNS介绍
- 相关资源
1.6 邮件服务器机制-2
1.6.5 SPF 简介
1.6.5.1 SPF 是什么
Sender Policy Framework(发件人策略框架)是一种电子邮件认证机制,旨在减少垃圾邮件和伪造邮件的问题。由于SMTP协议在发送邮件时不会对发件人的信息进行校验,这导致了垃圾邮件和伪造邮件的泛滥。为了应对这一问题,SPF应运而生。
1.6.5.2 SPF 的核心功能
1.确认邮件来源
SPF通过DNS记录来验证发件人的邮件服务器是否被授权发送该邮件。具体来说,它使用TXT类型的DNS记录来存储发件人的邮件策略,这些策略定义了哪些邮件服务器被允许为该域发送邮件。
2.防止伪造邮件
通过检查邮件的“返回路径”(即邮件头中的“Received”字段),SPF可以确定邮件是否真的来自声称的发件人。如果邮件的“返回路径”与SPF记录不匹配,那么该邮件很可能就是伪造的。
1.6.5.3 SPF 的工作原理
当一封邮件被发送到接收方的邮件服务器时,接收方会检查邮件的"返回路径",并尝试从发件人域名的DNS记录中获取SPF信息。然后,接收方会检查邮件的"返回路径"是否包含在SPF记录所列出的IP地址或域名中。如果包含,那么邮件被认为是合法的;如果不包含,那么邮件可能会被认为是伪造的或垃圾邮件。
1.6.5.4 SPF 的优势
1.提高安全性
SPF可以有效地防止伪造邮件和垃圾邮件的发送,从而提高电子邮件系统的安全性。
2.增强信任
对于合法发件人来说,拥有SPF记录可以增加其邮件的信任度,因为接收方更容易验证其身份。
3.易于实施
SPF的实施相对简单,只需要在DNS记录中添加相应的TXT记录即可。
1.6.5.5 为什么搭建个人邮件服务器也需要设置SPF?
虽然自建邮服不是伪造,但是很多厂商会进行查询邮件网关,他会误认为是发垃圾邮件的机器人等影响邮件发送效率
1.6.6 DKIM 简介
1.6.6.1 什么是 DKIM
DomainKeys Identified Mail(域名密钥识别邮件),是一种电子邮件认证机制,旨在检测寄件者、主旨、内文、附件等部分是否被伪造或篡改。
是一套电子邮件认证机制,使用公开密钥加密的基础提供了数字签名与身份验证的功能,以检测寄件者,主旨,内文,附件等有没有被篡改,是TXT类型的DNS记录
1.6.6.2 DKIM 有什么作用
加密邮件目的是防止中间人劫持,攻击等,使用Opendkim安装配置即可
1.6.6.3 DKIM 工作原理
发送方会在电子邮件标头中插入DKIM-Signature及电子签名资讯,而接收方则通过DNS查询得到公开金钥后进行验证
16.7 DMARC 简介
1.6.7.1 什么是 DMARC
Domain-based Message Authentication Reporting & Conformance(基于域的消息认证,报告和一致性)
一套电子邮件认证机制,和SPF,DKIM结合使用,用于检测寄存者、主旨、内文、附件等被伪造篡改等
DMARC是TXT类型的DNS记录
1.6.7.2 DMARC 有什么作用
DMARC通过验证邮件来源,阻止未经授权的服务器冒充域名发送邮件,从而减少钓鱼攻击。它建立在DKIM和SPF协议上,并添加了域名对齐检查和报告发送功能
1.6.7.3DMARC 工作原理
DMARC建立在DKIM(DomainKeys Identified Mail)和SPF(Sender Policy Framework)两大主流电子邮件安全协议之上。
域名所有者在DNS中声明采用DMARC协议,当接收方收到该域发送的邮件时,会进行DMARC校验,若校验失败则发送报告到指定邮箱账号
1.6.8 为什么设置 SPF、DKIM、DMARC 三个解析?
1.6.8.1.为什么自建邮件服务器也需要搭建SPF ?
自建邮件服务器虽然不是伪造但是很多厂商会进行查询邮件网关,网关会有一定概率误认为我们发送的邮件是机器人推送或者广告垃圾文章等拒收.
1.6.8.2.安装了SPF为什么还要按照DKIM ?
加密邮件,防止中间人劫持,攻击,安装可使用Openkim安装配置.
1.6.8.3.rDNS作用是什么 ?
它是反向dns解析通过IP查询域名,查询语句 nslookup -qt=ptr yourIP
由于很多人使用动态IP发送垃圾邮件,用来躲避踪迹,所以设置rDNS,接收方邮件服务器网关可以通过此方式查询到发送的邮件域名和IP相互匹配的,提高发送率.
1.6.8.4 rDNS介绍
可逆DNS(rDNS,reverse DNS)是一种把一个IP地址分解成一个域名的方法,正像域名系统(DNS)把域名分解成关联的IP地址。
可逆DNS的一个应用是作为垃圾邮件过滤器。它是这样工作的:代表性的,一个垃圾邮件使用一个无效IP地址,即不和域名匹配的IP地址。可逆DNS查找程序把引入信息的IP地址输入一个DNS数据库。如果没有找到和IP地址匹配的有效域名,服务器就阻止那条消息。
尽管可逆DNS(rDNS)在过滤垃圾邮件方面是相当有效的,但至少在技术环境下,它有时也会阻止有效的电子邮件。许多问题,包括网络延迟和没有适当配置的网络或者服务器,都可以阻止合法的消息通过过滤器。2003年1月,AT&T WorldNet开始把可逆DNS和其他反垃圾邮件软件一起使用。公司在配置24小时后被迫移出了过滤器,因为客户报告说消息不能传送。
相关资源
[ 提升篇 ] 钓鱼实战系列
[ 钓鱼实战系列-基础篇-4 ] 一篇文章教会你用红队思维收集目标邮箱信息-1(附邮箱收集自动化脚本)
[ 钓鱼实战系列-基础篇-4 ] 一篇文章教会你用红队思维收集目标邮箱信息-2(附邮箱收集自动化脚本)
[ 钓鱼实战系列-基础篇-4 ] 一篇文章教会你用红队思维收集目标邮箱信息-3(附邮箱收集自动化脚本)
[ 钓鱼实战系列-基础篇-5 ] 一篇文章教会你用红队思维设计钓鱼模板(附常见的钓鱼邮件模板)
[ 钓鱼实战系列-基础篇-6 ] 一篇文章让你了解邮件服务器机制(SMTP/POP/IMAP)-1
相关文章:

[ 钓鱼实战系列-基础篇-6 ] 一篇文章让你了解邮件服务器机制(SMTP/POP/IMAP)-2
🍬 博主介绍 👨🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 养成习…...

在 Docker 中搭建 PostgreSQL16 主从同步环境
1. 环境搭建 本文介绍了如何在同一台机器上使用 Docker 容器搭建 PostgreSQL 的主从同步环境。通过创建互联网络和配置主库及从库,详细讲解了数据库初始化、角色创建、数据同步和验证步骤。主要步骤包括设置主库的连接信息、创建用于复制的角色、使用 pg_basebacku…...

SpringCloud无介绍快使用,sentinel服务熔断功能与持久化(二十四)
TOC 问题背景 从零开始学springcloud微服务项目 注意事项: 约定 > 配置 > 编码IDEA版本2021.1这个项目,我分了很多篇章,每篇文章一个操作步骤,目的是显得更简单明了controller调service,service调dao默认安装ngi…...

判断浏览器环境,前端打开微信浏览器
我们知道微信浏览器有自带针对微信的组件(比如:微信JSAPI支付使用的WeixinJSBridge),那么,有办法在普通浏览器中打开微信浏览器并跳转页面吗?(似乎微信已禁用外部浏览器调用的普通页面直接跳转,只能通过“weixin://前缀…...

【算法笔记】前缀和算法原理深度剖析(超全详细版)
【算法笔记】前缀和算法原理深度剖析(超全详细版) 🔥个人主页:大白的编程日记 🔥专栏:算法笔记 文章目录 【算法笔记】前缀和算法原理深度剖析(超全详细版)前言一.一维前缀和1.1题…...

linux之网络子系统- 地址解析协议arp 源码分析和邻居通用框架
一、arp 的作用 ARP(Address Resolution Protocol,地址解析协议)是将IP地址解析为以太网MAC地址(物理地址)的协议。在局域网中,当主机或其他网络设备有数据要发送给另一个主机或设备时,它必须知…...
经典动态规划问题:含手续费的股票买卖【从 O(n) 到 O(1) 的优化解析】
题目理解 我们要在给定的股票价格数组 prices 中进行买卖操作,并尽可能多次交易以获取最大利润。每次交易都需要支付一定的手续费 fee,因此我们必须考虑如何通过合适的交易策略最大化利润。 在本题中,每一天可以选择: 不进行任…...

Python画笔案例-088 绘制 滚动的汉字
1、绘制 滚动的汉字 通过 python 的turtle 库绘制 滚动的汉字,如下图: 2、实现代码 绘制 滚动的汉字,以下为实现代码: """滚动的汉字.py """ import time from turtle import * from write_patch import *width,height...

Redis 5.0 安装配置(Windows)
Redis 5.0之后支持Redis Stream等功能 下载地址:Releases tporadowski/redis GitHub 点击运行redis-server.exe 此外:Redis 6.0及以后版本目前都没有Windows版...
金融行业:办公安全防护专属攻略
在中国金融市场快速迈向数字化转型的进程中,数据安全与隐私保护成为了不容忽视的关键议题。面对不断升级的网络威胁和日益严格的监管要求,构建一个既能支持创新又能提供坚实防护的信息安全体系变得尤为重要。亿格云不断深耕办公安全领域,为金…...
python如何基于numpy pandas完成复杂的数据分析操作?
数据分析是现代数据科学的重要组成部分,Python作为一种强大的编程语言,提供了许多库来简化数据分析过程。 其中,NumPy和Pandas是两个最常用的库。NumPy主要用于数值计算,而Pandas则提供了强大的数据结构和数据分析工具。 本文将深入探讨如何利用这两个库进行复杂的数据分…...
Linux中定时任务调度工具——crontab
1.简介 crontab是Unix和类Unix操作系统(如Linux)中用于定时任务调度的工具。其名称来源于“cron”这个守护进程,它负责周期性地执行任务,并且“tab”表示这个工具的配置文件。用户可以通过配置crontab文件来设定定时任务…...

思维+差分,CF 1884C - Medium Design
目录 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 二、解题报告 1、思路分析 2、复杂度 3、代码详解 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 1884C - Medium Design 二、解题报告 1、思路分析 考虑 最大值 和 最小值…...

简单介绍冯诺依曼体系
现代的计算机, 大多遵守冯诺依曼体系结构 CPU中央处理器:进行算术运算和逻辑判断。存储器:分为外存和内存,用于存储数据(使用二进制方式存储)。输入设备:用户给计算机发号施令。输出设备:计算机…...

kernel32.dll下载地址:如何安全地恢复系统文件
关于从网络上寻找kernel32.dll的下载地址,这通常不是一个安全的做法,而且可能涉及到多种风险。kernel32.dll是Windows操作系统的核心组件之一,负责内存管理、进程和线程管理以及其他关键系统功能。因为kernel32.dll是系统的基础文件ÿ…...
【高等数学】多元微分学 (一)
偏导数 偏导数定义 如果二元函数 f f f 在 x 0 , y 0 x_0,y_0 x0,y0 的某邻域有定义, 且下述极限存在 lim Δ x → 0 f ( x 0 Δ x , y 0 ) − f ( x 0 , y 0 ) Δ x \lim_{\Delta x\to 0} \frac{f(x_0\Delta x,y_0)-f(x_0,y_0)}{\Delta x} Δx→0limΔxf(x0Δ…...

Python爬取京东商品信息,详细讲解,手把手教学(附源码)
Python 爬虫爬取京东商品信息 下面我将逐一解释每一部分的代码 导入库 from selenium import webdriver from selenium.webdriver.edge.service import Service from selenium.webdriver.edge.options import Options import time import random import csv from selenium.c…...

大家有没有了解过TLKS-PLGS这款接地电阻在线监测装置?它在电力系统中能发挥什么作用呢?
接地电阻在线监测仪(输电铁塔接地电阻监测装置、变电站接地电阻监测装置、三极法接地网电阻监测装置)在电力系统中发挥着至关重要的作用,具体来说,有以下几个方面: 一、实时监测预警。该装置采用激励脉冲技术…...

Shell中的函数
目录 一、系统函数 (一)前言 (二)常用的函数 basename [string/pathname] [suffix] 二、自定义函数 (一)语法 (二)脚本例子 三、函数实际案例 过程中的报错: …...

通过IP地址或者主机名添加打印机20241023
文印室打印机连接方式20241023 Win键盘搜索打印机和扫描仪点击添加打印机或扫描仪,等候片刻点击“我需要的打印机不在列表中”添加打印机,选择使用IP地址或主机名添加打印机点击下一步,设备类型选择自动检测输入主机名:即打印机有…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...

C++初阶-list的底层
目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...
Qt Widget类解析与代码注释
#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

跨链模式:多链互操作架构与性能扩展方案
跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)
骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...
基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解
JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...
Go 并发编程基础:通道(Channel)的使用
在 Go 中,Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式,用于在多个 Goroutine 之间传递数据,从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...