切莫怨东风,东风正怨侬------你所不知道的windows!

不同视角、不同观点、深度探讨,禁止人品和道德攻击
回复
kangtian
帖子: 336
注册时间: 2007-04-22 13:14

切莫怨东风,东风正怨侬------你所不知道的windows!

#1

帖子 kangtian » 2007-12-12 11:16

前言:对于任何事物,我们都要抱着:偏听则暗,兼听则明的态度来看!

一。抱怨windows不安全的请看:windows安全利器-组策略

说到组策略,就不得不提注册表。注册表是Windows系统中保存系统、应用软件配置的数据库,随着Windows功能的越来越丰富,注册表里的配置项目也越来越多。很多配置都是 可以自定义设置的,但这些配置发布在注册表的各个角落,如果是手工配置,可想是多么困难和烦杂。而组策略则将系统重要的配置功能汇集成各种配置模块,供管理人员直接使用,从而达到方便管理计算机的目的。
简单点说,组策略就是修改注册表中的配置。当然,组策略使用自己更完善的管理组织方法,可以对各种对象中的设置进行管理和配置,远比手工修改注册表方便、灵活,功能也更加强大。

组策略软件限制策略规则包编写之菜鸟入门

一、软件限制策略的作用
首先说一下HIPS(主机防御系统)的3D
AD——程序保护 保护应用程序不被恶意修改、删除、注入
FD——文件保护 保护关键的文件不被恶意修改、删除,禁止恶意程序创建和读取文件
RD——注册表保护 保护注册表关键位置不被恶意修改、读取、删除
XP系统软件限制策略可以做到上面的AD与FD,至于RD,可以通过注册表权限设置来实现
因此可以说,XP本身就具备3D功能,只是不被大家所熟悉。

二、软件限制策略的优劣势
1、优势
优势是很明显的,它是系统的一部分,不存在兼容性问题,不占用内存,属于系统最底层保护,保护能力远不是HIPS可以比拟的
2、劣势
劣势也很明显,与HIPS相比,它不够灵活和智能,不存在学习模式,它只会默认阻止或放行,不会询问用户,若规则设置不当,可能导致某些程序不能运行

三、软件限制策略 规则编写实例
我直接以一些最常见的例子来说明
1、首先要学会系统通配符、环境变量的含义,以及软件限制策略规则的优先级
关于这一点,大家可以看原帖
http://bbs.ylmf.com/read.php?fid=10&tid=435857&u=379569

2、如何阻止恶意程序运行
首先要注意,恶意程序一般会藏身在什么地方
?:\ 分区根目录
C:\WINDOWS (后面讲解一律以系统在C盘为例)
C:\WINDOWS\system32
C:\Documents and Settings\Administrator
C:\Documents and Settings\Administrator\Application Data
C:\Documents and Settings\All Users
C:\Documents and Settings\All Users\Application Data
C:\Documents and Settings\Administrator\「开始」菜单\程序\启动
C:\Documents and Settings\All Users\「开始」菜单\程序\启动
C:\Program Files
C:\Program Files\Common Files

注意:
C:\Documents and Settings\Administrator
C:\Documents and Settings\Administrator\Application Data
C:\Documents and Settings\All Users
C:\Documents and Settings\All Users\Application Data
C:\Documents and Settings\Administrator\「开始」菜单\程序\启动
C:\Documents and Settings\All Users\「开始」菜单\程序\启动
C:\Program Files
C:\Program Files\Common Files
这8个路径下是没有可执行文件的,只有在它们的子目录下才有可能存在可执行文件,那么基于这一点,规则就容易写了
%ALLAPPDATA%\*.* 不允许的
%ALLUSERSPROFILE%\*.* 不允许的
%ALLUSERPROFILE%\「开始」菜单\程序\启动\*.* 不允许的
%APPDATA%\*.* 不允许的
%USERSPROFILE%\*.*
%USERPROFILE%\「开始」菜单\程序\启动\*.* 不允许的
%ProgramFiles%\*.* 不允许的
%CommonProgramFiles%\*.* 不允许的

那么对于
C:\WINDOWS C:\WINDOWS\system32 这两个路径的规则怎么写呢?
C:\WINDOWS下只有explorer.exe、notepad.exe、摄像头程序、声卡管理程序是需要运行的,而其他都不需要运行
则其规则可以这样写:
%SYSTEMROOT%\*.* 不允许的 (首先禁止C:\WINDOWS下运行可执行文件)
C:\WINDOWS\explorer.exe 不受限的
C:\WINDOWS\notepad.exe 不受限的
C:\WINDOWS\amcap.exe 不受限的
C:\WINDOWS\RTHDCPL.EXE 不受限的
(然后利用绝对路径优先级大于通配符路径的原则,设置上述几个排除规则,则,在C:\WINDOWS下,除了explorer.exe、notepad.exe、摄像头程序、声卡管理程序可以运行外,其他所有的可执行文件均不可运行)

对于C:\WINDOWS\system32就不能像上面那样写规则了,在SYSTEM32下面很多系统必须的可执行文件,如果一个一个排除,那太累了。所以,对system32,我们只要对它的子文件作一些限制,并对系统关键进程进行保护
子文件夹的限制
%SYSTEMROOT%\system32\config\**\*.* 不允许的
%SYSTEMROOT%\system32\drivers\**\*.* 不允许的
%SYSTEMROOT%\system32\spool\**\*.* 不允许的
当然你可以限制更多的子文件夹

3、如何保护system32下的系统关键进程
有些进程是系统启动时必须加载的,你不能阻止它的运行,但这些进程又常常被恶意软件仿冒,怎么办?其实很简单,这些仿冒的进程,其路径不可能出现在system32下,因为它们不可能替换这些核心文件,它们往往出现在其他的路径中。那么我们可以这样应对:
C:\WINDOWS\system32\csrss.exe 不受限的
C:\WINDOWS\system32\ctfmon.exe 不受限的
C:\WINDOWS\system32\lsass.exe 不受限的
C:\WINDOWS\system32\rundll32.exe 不受限的
C:\WINDOWS\system32\services.exe 不受限的
C:\WINDOWS\system32\smss.exe 不受限的
C:\WINDOWS\system32\spoolsv.exe 不受限的
C:\WINDOWS\system32\svchost.exe 不受限的
C:\WINDOWS\system32\winlogon.exe 不受限的

先完全允许正常路径下这些进程,再屏蔽掉其他路径下仿冒进程
csrss.* 不允许的 (.* 表示任意后缀名,这样就涵盖了 bat com 等等可执行的后缀)
ctfm?n.* 不允许的
lass.* 不允许的
lssas.* 不允许的
rund*.* 不允许的
services.* 不允许的
smss.* 不允许的
sp???sv.* 不允许的
s??h?st.* 不允许的
s?vch?st.* 不允许的
win??g?n.* 不允许的

4、如何保护上网的安全
在浏览不安全的网页时,病毒会首先下载到IE缓存以及系统临时文件夹中,并自动运行,造成系统染毒,在了解了这个感染途径之后,我们可以利用软件限制策略进行封堵
%SYSTEMROOT%\tasks\**\*.* 不允许的 (这个是计划任务,病毒藏身地之一)
%SYSTEMROOT%\Temp\**\*.* 不允许的
%USERPROFILE%\Cookies\*.* 不允许的
%USERPROFILE%\Local Settings\**\*.* 不允许的 (这个是IE缓存、历史记录、临时文件所在位置)
另外可以免疫一些常见的流氓软件
3721.* 不允许的
CNNIC.* 不允许的
*Bar.* 不允许的
等等,不赘述,大家可以自己添加
注意,*.* 这个格式只会阻止可执行文件,而不会阻止 .txt .jpg 等等文件
另外演示两条禁止从回收站和备份文件夹执行文件的规则
?:\Recycler\**\*.* 不允许的
?:\System Volume Information\**\*.* 不允许的

5、如何防止U盘病毒的入侵
这个简单,两条规则就可以彻底搞定
?:\autorun.inf 不允许的
?:\*.* 不允许的

6、预防双后缀名的典型恶意软件
许多恶意软件,他有双后缀,比如 mm.jpg.exe
由于很多人默认不显示后缀名,所以你看到的文件名是 mm.jpg
对于这类恶意,我本来想以一条规则彻底免疫
*.*.* 不允许的
可是这样做了之后,却发现我的ACDSee 3.1 无法运行
于是改成
*.???.bat 不允许的
*.???.cmd 不允许的
*.???.com 不允许的
*.???.exe 不允许的
*.???.pif 不允许的
这样5条规则,ACDSEE没有问题了。我现在还没搞清楚,我的ACDSEE并没有双后缀,为何不能运行

7、其他规则
注意 %USERPROFILE%\Local Settings\**\*.* 这条规则设置后,禁止了从临时文件夹执行文件,那么一些自解压的单文件就无法运行了,因为这类文件是首先解压到临时文件夹,然后从临时文件夹运行的。如果你的电脑中有自解压的单文件,那么,删除这条规则,增加3条:
%USERPROFILE%\Local Settings\Application Data\**\*.* 不允许的
%USERPROFILE%\Local Settings\History\**\*.* 不允许的
%USERPROFILE%\Local Settings\Temporary Internet Files\**\*.* 不允许的

威金的预防,很简单三条
logo?.* 不允许的
logo??.* 不允许的
_desktop.ini 不允许的
小浩病毒的预防
xiaohao.exe 不允许的
禁止conimi.exe进程
c?nime.* 不允许的
禁止QQ自动更新
QQUpdateCenter.exe 不允许的
TIMPlatform.exe 不允许的
禁止遨游自动更新
maxupdate.exe 不允许的
禁止小红伞C版的广告
avnotify.exe 不允许的
………………………………

就不一一列举了
大家根据自己的实际情况来设置吧

最后附上我自己精简后的规则,比较大众化,下载解压后直接运行即可
运行前,先备份C:\WINDOWS\system32\GroupPolicy\Machine\Registry.pol 这个文件
如果导入规则出现不良反应,可以用原文件替换回去
有兴趣的朋友可以深入研究,不良反应究竟是触发了哪一条规则,如何设置能达到最佳效果
附带啰嗦一句,现在很多病毒采用劫持IFEO的方法,致使杀毒软件无法启动。解决方法如下:
打开注册表编辑器,找到
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
右击——权限,取消所有用户的写入、修改权限,仅保留读取和删除权限

规则导入完成之后,利用NTFS格式的安全设定,设置Registry.pol 的权限,取消所有用户的修改、写入和删除权限,这样恶意软件便不能修改或删除这个规则了

同理,可以利用NTFS的权限设置,保护任意文件不被修改和删除,和软件限制策略相辅相成,达到HIPS的FD功能。
这个是FAT格式无法享有的优越性


注意,上面的规则没有对windows目录进行限制,大家的摄像头和声卡可能都不一样,所以没有办法写出通用的规则,那么大家可以依据我帖子中的方法,对自己的windows目录进行限制,这里是病毒非常喜欢呆的地方。

11月5号
今天将规则包作了一些更新,使之更严密,且不影响正常的使用
规则的每一条都添加了注释
各位可以根据自己的实际情况进行修改
BS 某些以为我抄袭他的人
我以100K左右的规则包,实现了他200多K规则包的功能,甚至比他更严密,引起嫉妒了

此规则依然没有对%TEMP% %TMP% 这两个临时文件变量做出限制
仍然是考虑到自解压文件的问题

二。抱怨windows臃肿,无法定制的请看:(winpe和Windows XP Embedded)
你知道是否有这么一种windows 操作系统,体积只有100多m,但是却具有一般windows 80%的兼容性,稳定性?
PE是什么,微软是这么说的:

Windows PE的全称是Windows Preinstallation Environment,即Microsoft Windows 预安装环境,是一个基于保护模式下运行的Windows XP Professional的工具,只拥有较少(但是非常核心)服务的Win32子系统。这些服务为Windows安装、实现网络共享、自动底层处理进程和实现硬件验证。

Windows PE 它允许信息技术 (IT) 人员构建自定义的解决方案,通过自动化操作加速桌面部署过程,这样他们只需花更少的时间和精力就可以让桌面保持更新。Windows PE 能够运行 Windows 安装程序、脚本和映像制作应用程序。“企业协议(Enterprise Agreement,EA)”和“软件保障成员(Software Assurance Membership,SAM)客户已在 2002 年 10 月的更新中获得了 Windows PE,它将继续作为“软件保证”的一个权益提供给用户。

Windows PE让你创建和格式化硬盘分区,并且给你访问NTFS文件系统分区和内部网络的权限。这个预安装环境支持所有能用Windows2000和WindowsXP驱动的大容量存储设备,你可以很容易地为新设备添加驱动程序。支持Fat、Fat32、NTFS系统分区的文件COPY、删除以及分区格式化等操作。

使用Windows PE可以帮助你把现有基于MS-DOS的工具转换为32位的WindowsAPIs,以便你在标准的开发环境(例如微软的VisualStudio)中更加容易地维护这些应用程序。Windows PE所包含的硬件诊断和其他预安装工具都支持标准的WindowsXP驱动,你无需任何做其他特别的工作。对于程序开发者来讲,就可以把主要精力放在程序的诊断、调试和开发的环节上。

上面文绉绉说了一大堆,严谨是比较严谨,但很多初次接触的人可能会被搞糊涂,一定还是对这个全新概念的Mini操作系统一头雾水!俺再简单地说一下:

DOS大家都用过了吧,是一个简单的操作系统,功能还算强大,可以格式个盘、分个区什么的。但面对枯燥、烦琐的指令,俺的头都快炸了,DOS还不支持NTFS、不支持运行32位Windows程序,那俺想运行Windows程序、想读写NTFS分区,怎么办?简单啊,使用Windows PE!所以,从这个角度上,把Windows PE理解为32位的DOS也可以。比如人们常用GHOST,在DOS下,运行的是GHOST,要是在Windows PE下,运行的是GHOST32,二者界面一致,但内核不同。其他程序比如PQMagic等,也是一样。

Windows PE 也可以理解为一个小型的Windows XP SP2系统,和在普通的Windows操作系统一样,用鼠标进行操作,和Windows一样有开始菜单,桌面……

经过国内外高手的努力,现在的winpe已经可以算是一种成熟的windows 操作系统,这是微软所没有预料到的!
国内有一个非常有名的:老毛桃版winpe,在这个pe上你可以上网,听音乐,看电影,甚至可以玩大型游戏,而且愿意的话也可以做成live-cd,而这一切不过150m大小!想试试吗?百度搜索:老毛桃winpe


嵌入式的windows---Windows XP Embedded


 Windows XP Embedded? 在这个Windows Vista 时代讲XP是不是太落伍了?No! Windows XP Embedded,或简称XPe, 是Windows XP专业版的组件化了的平台,它继承了很多XP的优势,又开创了自已的一些为嵌入式特有的功能,嵌入式设备制造商可以以此量身定做,方便地开发诸如信息台,机顶盒,工控设备,医疗设备 或多媒体设备等嵌入式设备。 我们的开发产品组承诺在未来若干年里还将继续大力支持该平台。 XPe在中国正被越来越多的人接受使用,与此同时大家也有各种各样的问题和疑惑,本课程将采用开放的提问回答方式进行,对Windows XP Embedded做一个面面观,覆盖Windows XP Embedded和其他微软操作系统平台间的差异比较,嵌入式设备开发的一些常见的案例及其在XPe上的解决方案,解析其他一些XPe常见问题,并对该平台及其开发工具加以演示。



  Windows XP Embedded是一种领先的桌面操作系统的组件化版本,它能够快速开发出最为可靠的全功能连接设备。Windows XP Embedded采用与Windows XP Professional相同的二进制代码,从而使得嵌入式开发人员能够只选择那些小覆盖范围嵌入式设备所需的丰富定制化特性。

  Windows XP Embedded构建在已经得到验证的Windows 2000代码库基础之上,它提供了业内领先的可靠性、安全性和性能,并且具备最新的多媒体、Web浏览、电源管理及设置支持功能。

  Windows XP Embedded还集成了最新的嵌入式支持功能,例如无头支持以及灵活的启动与存储选项。此外,它还包含一套全新设计的工具集Windows Embedded Studio,这套工具使得开发人员能够更快速配置、构建并部署智能化设计方案。

三.抱怨windows没有强有力的命令行工具的请看:

windows下完善的命令行工具--PowerShell

代号Monad的微软下一代Windows命令行外壳工具和脚本语言工具已经得到了正式命名:Windows PowerShell。该工具有助于管理员实现对Windows桌面和服务器任务控制的自动化。

微软原计划使用一种面向对象的外壳代替命令行,以对抗Unix中的外壳,但微软高级副总裁Bob Muglia去年承认,要彻底完成这一工作需要数年时间,因此微软发展了Monad,即PowerShell。

在此之前,微软一直专注于图形界面,竞争性服务器软件则依旧基于命令行模式,而PowerShell的目的正是为管理员提供一个类似Unix的外壳,在保持编程简易性的同时提供高级脚本功能。PowerShell内建130多个“cmdlet”命令来辅助管理员完成日常系统操作,可轻松访问系统磁盘、启动文件和注册表,同时支持现有脚本和命令行工具。

{ad}即将发布的Exchange Server 2007和System Center Operations Manager 2007也都基于PowerShell技术,用户可以在命令行下完成在图形界面中的任何操作。

在正式命名的同时,Windows PowerShell还发布了第一个发布预览版(RC1),支持Windows XP/2003/Vista系统,需要.NET Framework 2.0 RTM,分x86、x64、ia64等版本。


结语:windows不缺少技术和功能,而是缺少发现!同理适用于linux和任何事物!
lb_bn
帖子: 1261
注册时间: 2007-02-25 16:56

#2

帖子 lb_bn » 2007-12-12 11:19

这个不易用的。。 :lol:
谁敢乱弄哦。。
:lol:
弄了之后,也不一定安全。。
针对windows的流氓软件,流氓网页太多了。。 :lol:
kangtian
帖子: 336
注册时间: 2007-04-22 13:14

#3

帖子 kangtian » 2007-12-12 11:26

lb_bn 写了:这个不易用的。。 :lol:
谁敢乱弄哦。。
:lol:
弄了之后,也不一定安全。。
针对windows的流氓软件,流氓网页太多了。。 :lol:
试了再说话,运用好组策略再加上沙盘系统,除非是专业黑客,你的系统不会有什么问题!!
lb_bn
帖子: 1261
注册时间: 2007-02-25 16:56

#4

帖子 lb_bn » 2007-12-12 11:30

kangtian 写了:
lb_bn 写了:这个不易用的。。 :lol:
谁敢乱弄哦。。
:lol:
弄了之后,也不一定安全。。
针对windows的流氓软件,流氓网页太多了。。 :lol:
试了再说话,运用好组策略再加上沙盘系统,除非是专业黑客,你的系统不会有什么问题!!
那你用linux,不用怎么调就要专业黑客来搞你。。 :lol:
lb_bn
帖子: 1261
注册时间: 2007-02-25 16:56

#5

帖子 lb_bn » 2007-12-12 11:31

再说,这里不知道windows有这个,windows能这样用的还是很少的。。 :D
kangtian
帖子: 336
注册时间: 2007-04-22 13:14

#6

帖子 kangtian » 2007-12-12 11:35

在linux下学习各种命令的时间,也能学会使用组策略;在linux下使用非root用户操作计算机,在windows下也可以使用非administrator用户登录。在windows下没有安全意识,在linux下也不安全,黑客能攻破windows,同样能攻破linux!
kangtian
帖子: 336
注册时间: 2007-04-22 13:14

#7

帖子 kangtian » 2007-12-12 11:38

"那你用linux,不用怎么调就要专业黑客来搞你。。
再说,这里不知道windows有这个,windows能这样用的还是很少的。。"
老兄,说实话,你的话我是要看好几遍才能明白意思,汗。。。。。。。。
lb_bn
帖子: 1261
注册时间: 2007-02-25 16:56

#8

帖子 lb_bn » 2007-12-12 11:40

kangtian 写了:在linux下学习各种命令的时间,也能学会使用组策略;在linux下使用非root用户操作计算机,在windows下也可以使用非administrator用户登录。在windows下没有安全意识,在linux下也不安全,黑客能攻破windows,同样能攻破linux!
没人说,黑客不能攻破linux。。
大家说的是,用着用着就中招了,不是黑客,而是不请自来的流氓。。 :lol:
lb_bn
帖子: 1261
注册时间: 2007-02-25 16:56

#9

帖子 lb_bn » 2007-12-12 11:42

kangtian 写了:"那你用linux,不用怎么调就要专业黑客来搞你。。
再说,这里不知道windows有这个,windows能这样用的还是很少的。。"
老兄,说实话,你的话我是要看好几遍才能明白意思,汗。。。。。。。。
好像没什么歧意吧。。 :lol:
头像
yiding_he
帖子: 2677
注册时间: 2006-10-25 18:10
来自: 长沙
联系:

#10

帖子 yiding_he » 2007-12-12 11:48

楼主,除去学这个学那个的不谈,刚装好的 XP 和刚装好的 Linux 哪个更安全?Ubuntu 下不用学什么命令,照样可以听mp3,浏览网页,编写文档,不用担心任何安全问题;而多数人装好 XP 后的第一件事,就是装杀毒软件。

如果一定要精通组策略,PowerShell 才能让 Windows 达到 Linux 那样的安全,那无疑是抬高了使用 Windows 的门槛——或者 Windows 的门槛已经越来越高,只是我们没有发现?
你是自由的。别人也是。
头像
Terpineol
帖子: 1230
注册时间: 2007-12-09 14:35

#11

帖子 Terpineol » 2007-12-12 11:52

切莫怨东风,东风正怨侬
怨气太重,其实何必一定要弄个你死我活呢,Windows在lz哪里可以弄得很安全,但是我们只说默认的情况的安全才具有可比性,还有一个问题,lz所用的方法Microsoft不会不知道的,为什么他没有在安装的时候给一个指引呢,实际那样搞得话搞不清楚会有什么情况发生的,很多程序会有一些乱七八糟的表现
Linux is for human being,love is for human making
头像
wangboe
帖子: 596
注册时间: 2007-10-23 22:47

#12

帖子 wangboe » 2007-12-12 11:54

啊,要研究这么多的东西,那不是比linux还复杂? :( :(
捉泥鳅,捉泥鳅
大哥哥带你去捉泥鳅
头像
relaxssl
帖子: 1448
注册时间: 2007-01-30 7:13

#13

帖子 relaxssl » 2007-12-12 11:55

我想90%的windows用户一看到安全组,策略还有注册表这样的字眼就头大,宁愿中毒或者成为别人的肉鸡也不愿意折腾这些东西(他们会说,大不了重装。),再说,即使折腾了也不见得就安全,安全不安全,这些普通用户压根就没法知道。
但这个帖子非常好,对很多人都有用,谢谢楼主。
kangtian
帖子: 336
注册时间: 2007-04-22 13:14

#14

帖子 kangtian » 2007-12-12 12:00

我觉得,windows是分层次显示细节的.
刚接触电脑,可以通过windows漫游来获取知识;一般用户,控制面板+帮助和支持足矣;中级用户,要知道一点cmd,学会控制后台服务;高级用户,就要知道注册表,组策略了。

linux由初段到高端:几个命令,不少命令,很多命令,脚本。
头像
ofewiofewo
帖子: 547
注册时间: 2007-06-02 14:56

#15

帖子 ofewiofewo » 2007-12-12 12:08

是不是这样理解,windows需要所谓的“高级用户”才能配置良好,linux会安装系统的普通用户就可以配置出一个比较安全的系统。
回复