2021年03月11日 11:20 上午 i新传 分类: 产品, 技术, 新传

一、DMARC(Domain-based Message Authentication, Reporting & Conformance)

DMARC是一种基于现有的SPF和DKIM协议的可扩展电子邮件认证协议,在邮件收发双方建立了邮件反馈机制,便于邮件发送方和邮件接收方共同对域名的管理进行完善和监督。

DMARC要求域名所有者在DNS记录中设置SPF记录和DKIM记录,并明确声明对验证失败邮件的处理策略。邮件接收方接收邮件时,首先通过DNS获取DMARC记录,再对邮件来源进行SPF验证和DKIM验证,对验证失败的邮件根据DMARC记录进行处理,并将处理结果反馈给发送方。

DMARC能够有效识别并拦截欺诈邮件和钓鱼邮件,保障用户个人信息安全。

例子:paypal.com的dmarc记录

_dmarc.paypal.com       text = “v=DMARC1\; p=reject\; rua=mailto:d@rua.agari.com\; ruf=mailto:dk@bounce.paypal.com,mailto:d@ruf.agari.com”

二、DMARC记录中常用参数

adkim:(纯文本;可选的;默认为“r”)表明域名所有者要求使用严格的或者宽松的DKIM身份校验模式,有效值如下:

       r: relaxed mode

       s: strict mode

aspf:(纯文本;可选的;默认为“r”)表明域名所有者要求使用严格的或者宽松的SPF身份校验模式,有效值如下:

       r: relaxed mode

       s: strict mode

fo:故障报告选项(纯文本;可选的;默认为0),以冒号分隔的列表,如果没有指定“ruf”,那么该标签的内容将被忽略。

       0:如果所有身份验证机制都不能产生“pass”结果,那么生成一份DMARC故障报告;

       1:如果任一身份验证机制产生“pass”以外的结果,那么生成一份DMARC故障报告;

       d:如果消息的签名验证失败,那么生成一份DKIM故障报告;

       s:如果消息的SPF验证失败,那么生成一份SPF故障报告。

p:要求的邮件接收者策略(纯文本;必要的)表明接收者根据域名所有者的要求制定的策略。

       none:域名所有者要求不采取特定措施

       quarantine:域名所有者希望邮件接收者将DMARC验证失败的邮件标记为可疑的。

       reject:域名所有者希望邮件接收者将DMARC验证失败的邮件拒绝。

pct:(纯文本0-100的整型;可选的,默认为100)域名所有者邮件流中应用DMARC策略的消息百分比。

rf:用于消息具体故障报告的格式(冒号分隔的纯文本列表;可选的;默认为“afrf”)

ri:汇总报告之间要求的间隔(纯文本32位无符号整型;可选的;默认为86400).表明要求接收者生成汇总报告的间隔不超过要求的秒数。

rua:发送综合反馈的邮件地址(逗号分隔的DMARC URI纯文本列表;可选的)

ruf:发送消息详细故障信息的邮件地址(逗号分隔的DMARC URI纯文本列表;可选的)

sp:要求邮件接收者对所有子域使用的策略(纯文本;可选的),若缺省,则“p”指定的策略将应用到该域名和子域中。

v:版本(纯文本;必要的)值为“DMARC1”,必须作为第一个标签。

三、格式定义

dmarc-uri = URI [ “!” 1*DIGIT [ “k” / “m” / “g” / “t” ] ]

例如:“mailto:reports@example.com!50m”表示要求通过邮件发送给“reports@example.com”的报告的有效载荷不超过50MB。

dmarc-record = dmarc-version dmarc-sep

                            [dmarc-request]

                            [dmarc-sep dmarc-srequest]

                            [dmarc-sep dmarc-auri]

                            [dmarc-sep dmarc-furi]

                            [dmarc-sep dmarc-adkim]

                            [dmarc-sep dmarc-aspf]

                            [dmarc-sep dmarc-ainterval]

                            [dmarc-sep dmarc-fo]

                            [dmarc-sep dmarc-rfmt]

                            [dmarc-sep dmarc-percent]

                            [dmarc-sep]

dmarc-version = “v=DMARC1”

dmarc-sep = “;”

dmarc-request = “p=(none/quarantine/reject)”

dmarc-srequest = “sp=(none/quarantine/reject)”

dmarc-auri = “rua=dmarc-uri *(,dmarc-uri)”

dmarc-furi = “ruf=dmarc-uri *(,dmarc-uri)”

dmarc-adkim = “adkim=(r/s)”

dmarc-aspf = “aspf=(r/s)”

dmarc-ainterval = “ri= 1*DIGIT”

dmarc-fo = “fo=(0/1/d/s)*(:(0/1/d/s))”

dmarc-rfmt = “rf= Keyword *(:Keyword)”

                     ; 仅用于报告格式注册

dmarc-percent = “pct=1*3DIGIT”

四、例子

1、用dig命令查询DMARC记录

% dig +short TXT _dmarc.example.com.

“v=DMARC1; p=none; rua=mailto:dmarc-feedback@example.com;

ruf=mailto:auth-reports@example.com”

注意:DMARC DNS TXT记录的拥有者字段必须始终为“_dmarc”,若指定该记录应用到域或子域,可以采用“_dmarc.example.com”的形式。

2、DMARC DNS记录

; DMARC record for the domain example.com

_dmarc IN TXT ( “v=DMARC1; p=none; “

                                   “rua=mailto:dmarc-feedback@example.com; “

                                   “ruf=mailto:auth-reports@example.com” )

参考文献

1、DMARC RFC协议:http://tools.ietf.org/html/rfc7489

2、DMARC官方网站:https://dmarc.org/

2021年03月9日 4:54 下午 i新传 分类: 新传

htmlArea是一款上古的可见即可得编辑器。采用 MIT2.0 开源协议发布。

主要的发布版本是2.1与3.0两个版本。

2.1版本支持 windows版本的 IE5.5/6/7/8/9 ,不支持 mac版本的IE版本 及 opera、sanfari 等非MSIE浏览器。2.1版本,支持 兼容性视图的 IE10/11 降级使用编辑器。

3.0版本主要添加对mozilla基金会的 gecko 引擎 的支持,包括 firefox 2002之后的版本,基本是适应mozilla旗下早期阿尔法0.99版本之后的所有firefox。自2003年之后,添加 包括兼容 khtml(like gecko)的现代浏览器,这列表包括2007~2009之后的系列PC浏览器,包括 微软IE11、apple safari、Google chrome、Opera等。

2009年之后,apple safari mobile及google chrome moblie等 移动浏览器兴起,web标准逐步向移动化进化,作为桌面端浏览器的在线可见即可得编辑器的htmlArea到达生命周期的后期,作者停止后续维护。

待续

2020年08月14日 4:06 下午 i新传 分类: 新传

14.9缓存控制

Cache-Control general-header字段用于指定指令,请求/响应链中的所有缓存机制都必须遵守这些指令。伪指令指定旨在防止缓存不利地影响请求或响应的行为。这些指令通常会覆盖默认的缓存算法。高速缓存伪指令是单向的,因为在请求中存在伪指令并不意味着在响应中将给出相同的伪指令。

      请注意,HTTP / 1.0缓存可能未实现Cache-Control和
      可能仅实现Pragma:no-cache(请参阅第14.32节)。

缓存指令必须由代理或网关应用程序传递,无论它们对该应用程序的意义如何,因为这些指令可能适用于请求/响应链中的所有接收者。无法为特定的高速缓存指定高速缓存指令。

    Cache-Control =“ Cache-Control”“:” 1#cache-directive
    缓存指令=缓存请求指令
         | 缓存响应指令
    缓存请求指令=
           “无缓存”;第14.9.1节
         | “无存储”;第14.9.2节
         | “ max-age”“ =”增量秒;第14.9.3节,14.9.4节
         | “ max-stale” [“ =” delta-seconds]; 第14.9.3节
         | “ min-fresh”“ =”增量秒;第14.9.3节
         | “不变换”;第14.9.5节
         | “仅当缓存”;第14.9.4节
         | 缓存扩展 第14.9.6
     缓存响应指令=
           “上市” ; 第14.9.1节
         | “ private” [“ =” <“> 1#field-name <”>]; 第14.9.1节
         | “ no-cache” [“ =” <“> 1#field-name <”>]; 第14.9.1节
         | “无存储”;第14.9.2节
         | “不变换”;第14.9.5节
         | “必须重新验证”;第14.9.4节
         | “代理重新验证”;第14.9.4节
         | “ max-age”“ =”增量秒;第14.9.3节
         | “ s-maxage”“ =”增量秒;第14.9.3
         | 缓存扩展 第14.9.6
    缓存扩展=令牌[“ =”(令牌|引号字符串)]

当出现没有任何1#field-name参数的指令时,该指令将应用于整个请求或响应。当这样的指令带有1#field-name参数时,它仅适用于一个或多个命名字段,而不适用于请求或响应的其余部分。该机制支持可扩展性。HTTP协议未来版本的实现可能会将这些指令应用于HTTP / 1.1中未定义的标头字段。

缓存控制指令可以分为以下一般类别:

      -对可缓存内容的限制;这些只能由
        原始服务器。
      -对缓存可能存储的内容的限制;这些可能是
        由原始服务器或用户代理强加。
      -修改基本到期机制;这些可能是
        由原始服务器或用户代理强加。
      -控制缓存重新验证和重新加载;这些可能只是
        由用户代理强加。
      -控制实体的转换。
      -扩展缓存系统。

https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

2020年07月26日 6:08 下午 i新传 分类: 新传

1 漏洞概况

近日,著名解压缩软件WinRar被披露存在一个长达19年历史的漏洞, 该漏洞位于unacev2.dll库. 攻击者可构造恶意ACE文档, 使其在解压时释放任意文件到部分目录(由于winrar默认运行在中等权限级别下, 故该漏洞无法释放文件在一些需要管理员权限才能修改的目录),赤豹安全实验室对该漏洞进行了详细分析。

2 漏洞介绍

威胁类型:目录穿越漏洞

威胁等级:

漏洞名称:

CVE-2018-20250

CVE-2018-20251

CVE-2018-20252

CVE-2018-20253

受影响系统及应用版本:

所有包含unacev2.dll的应用软件, 例如winrar, 2345好压, bandizip等.

补丁下载地址:直接删除库文件即可.

3 漏洞危害

当用户解压精心构造的ACE压缩文件时, 攻击者可在“C:Users<username>AppDataRoamingMicrosoftWindowsStart MenuProgramsStartup”目录下释放恶意EXE文件. 当用户再次启动计算机时, 恶意代码随之执行. 系统被完全控制.

4 漏洞分析

1. 通过使得GetDevicePathLen的返回值大于0, 实现以压缩包内相对路径作为解压目的完整路径, 无视用户指定的解压目的文件夹.

2. 要实现1, 那么相对路径的选择有以下两种:

3. 相对路径在被传入1之前, 会经过unacev2.dll中CleanPath函数的处理, 该函数会将选项1中开头的”C:”删除一次, 所以为了保持不变, 可以设置两个”C:”:

选项2不受此函数影响.

4. winrar主体代码中有回调函数会再检验上述相对路径. 在ace文件解压过程中, 该回调函数会被调用, 用来检测相对路径的合法性, 若相对路径以’’开头, 那么解压过程会被终止, 故选项2不可行. 所以最终, 采用选项1的方式触发目录穿越漏洞.

5 解决方案

建议使用”Everything”软件(32位或64 位), 全盘搜索”unacev2.dll”并删除该文件.

对winrar, 可下载最新版32位或64位, 新版已删除了此文件.

Everything使用说明:

根据系统版本, 选择64位或32位安装包,安装完毕后, 打开该软件, 并输入”unacev2.dll”, 可以得到:

全选并删除即可:

2017年07月26日 7:44 下午 i新传 分类: 新传

很久以来MYSQL缺乏全文索引对中文的支持,中国开发者、DBA需要针对MySQL数据库开发插件。中国数据公司专门为此提供中文分词插件的部署及支持服务,大多数情形下,这是付费的。对于绝大部分虚拟主机用户而言,这不是个福音。一来,虚拟主机服务商是否在MySQL服务器上安装中文插件,由不得用户说了算。二来,即使主机服务商默认提供插件支持,这种实现方法也有强烈的部署依赖,难以迅速扩展或迁移部署。MySQL 5.7全文索引中增强对中日韩文的支持,大数据量情况下的中文全文搜索终于得到MySQL官方团队的支持。

来源参考:
1、InnoDB全文索引:N-gram Parser
2、MySQL中文全文检索demoSQL(ver<=5.6)
3、MySQL5.6 InnoDB中文全文索引测试
4、SCWS 中文分词 v1.2.3 SCWS中文分词,词典词性标注详解
5、MYSQL中的中文模糊搜索除了使用全文索引外还有什么办法呢?
6、MySQL中文全文搜索用迅搜还是Sphinx?

(segmentfault很靠谱) & 待查:

安装在Linux上的则需要进行转编码(urlencode / base64_encode / json_encode / 区位 / 拼音)等方案,具体方案参看其它博文。

2017年06月5日 6:26 下午 i新传 分类: 产品, 新传
  • 邮箱与微信强势结合,可随时通过微信操作邮箱收发邮件,未来还将打通更多微信上的企业化功能。
  • 个性化登录页、邮件归档、日志监控、限制登录发信、建立分级管理员,全局统筹掌控易如反掌。
  • 用企业网盘共享资料、用中转站发送超大附件、邮件撤回、分别发送,满足您不同办公场景的特殊需要。
  • 绑定微信登录服务号;使用微信动态密码登录;绑定QQ,PC端一键登录;支持Pop
    /Exchang/Imap/
    Wap等多种协议。
  • 覆盖全球的高速网络、数据热备、负载均衡、反垃圾反病毒、SSL加密、腾讯安全管家10年的安全领域运营经验。
  • Foxmail客户端无缝接入,整合RTX腾讯通、企业QQ,通过API接口打通企业OA/CRM/
    ERP系统,实现一站式办公。
2017年05月25日 6:48 下午 i新传 分类: 怀旧, 社会化媒体

Andy Pan 写作虽美,莫如沉思
https://www.zhihu.com/people/andypan/answers

你心目中最难忘的侯捷老师的文章有哪些?
https://www.zhihu.com/question/30354267

最後﹐給侯先生摘錄幾條一個Python暢銷書作者Mark Lutz自己列于網站的講課收費標準作參考﹐也讓大家看看什麼是美國的知識有價。($40k-$60k在這裡屬於中產階級的收入﹐大家可以比較一下)

Standard course fee: $7500 (3 days), $6000 (2 days)
Travel expenses fee: $1000 (average, or fixed)
For a 3-day on-site course, 15 students, you make copies: $8500
To keep things simple, I prefer to charge the $6000/$7500 flat-rate fee (plus expenses) for the course. But as a basis of comparison, at the $6000 2-day rate, this comes out to $3000 per day, or $400 per student (for 15 students). At the $7500 3-day rate, that’s $2500 per day, or $500 per student. Depending on your situation, also add in the copying costs and travel expenses to get more accurate day/student figures.

詳見: http://home.rmi.net/~lutz/mytrain.html

摘自:http://jjhou.boolan.com/article03-11.htm

EVP

2017年05月25日 6:24 下午 i新传 分类: 知识原野

员工价值主张(Employment Value Proposition,缩写为EVP)是从客户价值主张引申出来的一个概念。客户价值主张探究的是,为什么客户从你的公司而不是你的竞争对手那里购买产品/服务?他们为了什么而付出钞票?你的公司如何才能比竞争对手做得更好?你公司的产品/服务能否为客户提供与众不同的价值?相似的,员工价值主张探究的是员工为什么会选择到你的公司而不是其他公司工作?

2017年05月23日 4:55 下午 i新传 分类: i18n, 知识原野
2016年10月10日 11:12 上午 fisher 分类: Open, 后端, 手机, 知识原野

智能手机的GPS定位是一种综合服务,它是包括GPS模块、Wifi及移动网络基站定位等在内的综合定位服务。
GPS模块最终给当前设备计算出一个位置,包括经纬度,还可能包括海拔、移动速度以及室内位置等。

华米公司微信公众号刚推送一篇GPS手表机理的文章,讲述GPS手表如何定位。
地址在这里:华米运动手表大讲堂:关于手表GPS的那些事儿

小米Max手机的GPS模块,支持美国GPS、俄罗斯格林纳达导航、中国北斗卫星导航等三种系统。
根据MIUI米柚论坛相关板块的帖子,小米Max本身并不在ROM层面进行编码,而是由手机GPS驱动模块完成的。 换言之,可能是芯片厂商高通或者GPS模块厂商,他们已在出厂时内置多家GPS导航卫星的模块驱动级支持。

根据相关贴子的推荐,下载了一个名为 AdroiTs的 开源android gps test 软件。

screenshot_2016-10-09-14-24-57-696_com-androits-gps-test-proscreenshot_2016-10-09-14-24-50-373_com-androits-gps-test-pro目前全球已知的四种全球卫星定位系统,在这个APP系统罗盘内都可以直接看到,包括卫星编号、经纬度、信号强度。

这里值得一提的是AGPS的技术标准,GPS领衔的各家全球卫星定位系统应该都使用这种统一的技术标准。

欧洲的卫星导航系统一直是个故事,当年中国本来要和欧洲一起搞,结果欧洲人傲慢不干,中国就不客气,直接先发了卫星占了信号发射频段,让自负而动作缓慢的欧洲人憋气。据报道,印度也在研发他们自家的导航系统。

左右两张截图很有意思,9、5、4、0。

在软件园楼下停车场开阔地带,GPS有9颗,俄罗斯5颗,北斗有4颗,第四家(欧洲?日本?)0颗。当时我想,这大概就是卫星导航领域现实的寓意,9=5+4,其他为0(更新:其实是MIMAX内置GPS驱动没有匹配欧洲日本共建卫星导航系统)。美俄中是空中主角,其他不入流(也不好说)。