距离老王上次发布共享权限迁移系列文章已经过去将近一年了,当时写的文件服务器迁移系列文章,看似完美,但其实对于老王来说我只能给自己打80分,为什么呢,因为最后在测试SID Filtering的时候我没做出来效果,在心里始终是个遗憾,一直想把这个遗憾给补上,后来给补上了,SID Filtering是一项过滤SID历史的隔离技术,防止恶意用户将SID历史带到新的林环境。实际测试验证得出两个结论,


     1.默认情况SID Filtering会启动在外部信任林环境。测试步骤:A域控属于contoso林,B域控属于apm林,建立外部信任关系,A林内有一台03文件服务器,设置了A域用户Stat对于共享文件夹具备Full Control权限,迁移Stat用户到APM林中的B域控,使用ADMT进行迁移,注意迁移的时候有一个是否要迁移SID记录的勾,要勾选上,不然看不出效果。迁移完成之后可以看到Stat用户在APM林中,用户已经带有SID历史。测试结果,虽然SID历史已迁移,但是APM林的Stat并不能访问Contoso林原来的共享文件夹,按照林内迁移来说,这时Stat应该是可以访问原来的共享文件夹的,因为SID历史带过去了。但是在外部信任林间环境明显默认是不行的。虽然ADMT迁移时勾选了迁移SID记录,迁移过来用户也具备SID历史,但就是不能访问原来可以访问的文件夹,这就说明SID filtering生效了,并且默认启用了起来。


   什么是SID filtering呢,简单来说,就是防止迁移域用户的时候把恶意用户的SID历史传递过去,进而利用通讯组完成提权。By Default,微软认为外部信任是相对来说较为不安全,或者说较为不被信任的,从信任传递就能看出来,外部信任不能传递信任,林信任支持上下传递,不能东西传递。之前那次老王测试的时候也使用了外部信任的环境,但是就没有效果,SID Filtering没生效。


    现在明白了,我当时是把文件服务器也一起迁移到APM林了,简单来说就是资源和账户都在目标林了,然后我用迁移过来的账户做测试,同林同域内的访问,估计SID filtering就压根没起到效果,这次我把文件服务器迁移回源林了,资源在源林,账户到目标林,这时账户再访问跨林资源,SID filtering检测,不是在林内域内发生的访问了,于是SID filtering生效,是by default的生效。


    实际测试得出结论,默认情况下,启用sid filtering的只有外部信任环境,SID filtering要实现效果,资源和账户必须不处于同一域内。实际测试。林级别2003以上,可以针对父子信任,树根信任,林信任启用 SID filtering。


   2.默认情况下外部信任启用SID filtering,这很好,凡是从外部信任林迁移过来的用户,我都不接受你的SID历史了,但是如何能重新接受SID历史呢,外部信任如何关闭SID filtering,和其它信任一样,接受SID历史的传递访问呢,老王当时测试了一个下午,都快测试麻木了,尝试了各种各样的外国办法,修改组策略,改注册表,替换netdom文件,都不能解决问题,看了很多外国大师的文章,发现和我的操作步骤都一致,后来看到了一篇德国文章,上面就很奇怪了,那个德国人的执行命令有个参数和其它人都不一样,我猜也许会是系统语言的问题,后来也有波兰人个人提到说德国环境下执行命令执行不了,换英文语言包就好了,后来我也死马当活马医,下了个英文语言包,一装,直接就好了。。。同样的一个命令,中文环境下执行了100次也不行,打个英文语言包立马就好,后来在中文版technet论坛上面反馈,很遗憾未得到微软中国的回应


我的环境下两个林环境,分别由两台2008R2中文标准版域控承载,我创建了外部信任

默认情况下Sid Filtering已经生效


在我尝试运行禁用SID Filtering命令的时候,2008R2中文版上面命令执行效果如下


一个命令,三个不同参数,却得到了同样的回复


已为此信任启用 SID 筛选功能。身份验证期间返回的授权数据
将只接受来自受信域的 SID。

其他域的 SID 将被删除。


SID Filtering中文版bug_第1张图片

SID Filtering中文版bug_第2张图片

当我给系统打上英文语言包,显示语言改为英文,再次执行同样的命令,即可得到正确的回复,也可以看到效果

SID Filtering中文版bug_第3张图片

technet论坛发帖https://social.technet.microsoft.com/Forums/zh-CN/e3e53a02-efd9-42cd-8a08-f8484ee9c418/2008r2-sid-filteringbug?forum=windowsserversystemzhchs


SID Filtering学习资料

https://morgansimonsen.com/2012/01/27/some-sid-filtering-notes/

https://blog.thesysadmins.co.uk/admt-series-3-sid-history.html


   SID History 和 SID Filtering这两个东西呢,各有各的应用场景,设计目的都是好的,如果迁移过去的用户希望能够访问之前的文件,ADMT保留SID记录就好了,如果处于安全考虑,希望迁移过去的用户,不再能访问原来的文件夹,只要针对信任关系启用SID filtering就可以