现在随着发展,经常出现新的媒体类型,但是多数服务器并没有支持. 所以我想总结下,把新的加进来,以便更好支持我们的需要.

这个站点主要用于各种类型的资料.
http://filext.com


              MIMEType
.RMVB  application/vnd.rn-realmedia-vbr
.iso      application/x-isoview
.VRML  x-world/x-vrml,model/vrml
.p3d    application/x-p3d
一步一步教你网站同步镜像

1.介绍

现在的网站随着访问量的增加,单一服务器无法承担巨大的访问量,有没有什么方便快捷的方式解决这个问题呢,答案是”有”!
比如建立服务器群,进行均衡负载.
但是如果要解决像电信网通这样的互访问题(中国网民的悲哀..),这个解决办法就无能为力了!
要解决这个问题最方便快捷的方式就是建立镜像网站!由访问者自己选择适合自己网络的速度最快的网站!这样即可以解决线路问题,又可以解决访问量问题!


2.网站同步的数据分类

网站数据基本分为两类:
一类是文件,比如HTML,ASP,PHP等网页文件,或者RAR,ZIP,RM,AVI等可下载文件!
要实现他们的同步很简单,用FTP同步软件就可以了!至于哪几个我会在后面做详细介绍.

一类是数据库数据文件,比如MySQL,SQLServer等等!
数据库同步的方法也很多,最简单的办法只是将数据库目录同步一下就OK了!
在后面我也会做详细讲解!


3.网站文件的同步

在这里用到的主要工具就是FTP,网站文件同步分两种情况,一种是本地到远程,一种是远程到远程(FXP)!第一种不用说了,第二种远程到远程即FXP,支持它的软件也很多,但是真正适合多网站同步镜像的却不多!
下面我介绍几个我认为不错的软件!

1.首先我要推荐的是国产的FTP软件”网络传神”,功能非常强大,特别是在网站的同步镜像方面,可惜的是,这款非常经典的软件已经不再更新了,最后更新时间是2003年3月,最后一个版本是3.12!虽然如此还是非常好用的!下面是一段官方的简介:

网络传神完全吸收了Cuteftp和UpdataNow的全部功能,并且增加了其他软件没有的多项功能:支持网站互传;支持网站同步(UPDATANOW);支持后台上传(多线程上传多个文件);可同时打开多个站点;多站点计划上传功能,支持镜像站点;支持宏操作支持计划操作;支持文件高级比较上传;支持目录隐藏过滤(为用ForntPage作主页的朋友带来福音);服务器自动识别功能;资源管理器浏览方式;可以自定义命令;支持RFC959标准具有更好的稳定性;完备的信息返回机制及错误监控机制完整的中文帮助。

2.第二款是由ReGet同一开发公司制作的专用于网站同步的软件”WebSynchronizer”,用这款软件,你才会体验到网站同步的方便快捷,简单容易.最新版本是1.3.62,网上能找到XX的最后版本是1.1版!下面是一段简介:

档案同步化工具-WebSynchronizer,由知名续传软件ReGet之软件出版公司所推出,是网站同步化、档案镜像、档案备份的绝佳工具,可以执行下列主要工作:1)本机资料夹及远程资料夹的同步化;2)两台远程计算机中的资料夹同步化;3)两个本机资料之同步化。

3.其他还有一些软件如同步快梭(AutoSyncFTP),也能实现简单的网站同步,不过,这款软件非常不稳定,而且2001年就已经停止开发.所以,不用考虑了!还有上次有朋友提到的SiteMirro,由于网上找不到可以用的版本,所以没有办法测试!


网络传神网站同步镜像使用傻瓜指南


第一次运行网络传神的时候,它会让你选择”完全模式”和”启动模式”,要使用网站同步必须选择”完全模式”.


进入主界面:你会发现这个软件非常像FlashGet,要使用网站同步功能,点击软件左下角的”FTP客户端”.


现在你要做的就是添加你的镜像母站和需要镜像的网站:文件->站点管理,在里面添加你需要同步的几个的FTP服务器,下面我将介绍具体设置(主要是镜像母站的设置)


母站设置最重要的地方就是”比较目录(网站同步)”:


1.拖动传送
就是手动拖动传送时候的传送方式,非拖动方式不受影响,因为母站的更新基本上是从本地目录进行的,所以建议这里选择第二项”只上传不同的文件”,镜像站点这里可以忽略
2.磁盘比较设置
这个功能非常有用,可以通过文件长度和文件日期进行文件差异对比.


你还可以设置本地目录过滤和服务器目录过滤,非常灵活!
好了,添加好母站和镜像站之后,我们来设置同步:


如果是添加镜像站,则会跳出下面的母站选择窗口:


设置好多个镜像站点之后,返回主界面就可以进行网站同步了:


注意事项:
一般不要改动镜像站点前面的“对钩”标志,因为镜像站点同步的原理是“根据主站点的同步信息更新镜像站点”,如果景象站点没有更新那么必须将该镜像站点单独同步。
注意一般应该“选项窗口”-〉“FTP客户端”-〉“计划”中的“最大连接个数”和“最大线程个数”一般不要改动保持为“1”。
如果同步时某个站点出错同步没有完全完成只需按“计划”窗口中的按钮单独执行某个站点的传送即可。

再介绍一下网站镜像同步中必要的功能,定时同步,这样你就只要做好母站的更新,其他的让网络传神帮你完成:
点击设置:


进入网络传神的选项设置窗口,选中FTP客户端中的定时同步


定时下载:在指定的时段内下载文件。
定时上传:在指定的时段内用网站同步的方法进行上传。
开始时间:如果要使用定时方式必须设置此项,在设置的时间中会自动开始所有设置为计划的站点。
停止时间:如果设置此项则当系统时间大于停止时间时自动停止所有设置为计划的站点。

注意:定时上传种没有“停止时间”选项,网站同步完成后会自动停止,同时网站同步同一时间只能运行一次。

网络传神还有很多为便于同步镜像设置的功能,大家实际使用中去体会吧!


WebSynchronizer网站同步镜像使用傻瓜指南


WebSynchronizer功能非常强大,不单单是网站同步,还可以进行本地目录同步,本地到远程同步,功能方面远胜过传神,不过,国内好像没有汉化版,对于一些对英文感冒的朋友用起来会不太舒服,希望CCF里的汉化高手能将他中文化!

开始运行程序,老外的软件就是智能,一打开这个软件就会有一个同步向导跳出来!


在这里,你也看出来了吧,这个软件只支持两个目录间的同步.不过,我们可以创建多个项目来解决这个问题!具体我在后面介绍!这里,我们来看看如何建立两个远程目录的同步!
选择第二项,进入下一个选择框:


网站同步当然是选择第一项了!再进入下一步,要你选择同步的第一个服务器,建议在这里serverslist,先编辑好需要同步的几个FTP


同步方式设置说明:
第一项的意思是:上传下载所有改变的文件
第二项的意思是:不改变文件夹内容,只下载新的文件

点击下一步进行第二个服务器设置,方法和第一个一样!
设置完成后,你还可以修改任务名称!
我觉得这点就是这个软件非常优秀的地方,以任务的方式进行管理.非常方便!


OK,现在我们就可以看到他的主界面了!


还有一点要提,他的计划任务更能也很强大,在这里我就不再多说了!用过才知道他的强大!

有朋友会说,我要进行两个以上的网站同步怎么办?
很简单,再多建几个任务就可以了,要镜像多少网站都没有问题!
这个软件的网站同步镜像可以非常灵活,比如可以本地-远程,然后再远程-远程!或者本地-远程1,本地-远程2,远程1-远程2,任何情形下的同步都可以完成!


数据库同步操作指南

说完了文件同步,我们再来探讨一下数据库同步!
这里我主要教大家两种最常用的数据库的同步方法!

MySQL

MySQL数据同步主要有三种方式:
1.利用MySQL自身的数据库同步功能
2.利用MySQL数据库的特性(数据库存在固顶目录,并且以文件形式存储),进行数据库目录同步以达到数据同步目的
3.利用专用的MySQL数据库同步软件

1.利用MySQL自身的数据库同步功能(下面参考自网上的文章,写的非常详细了)
MySQL从3.23.15版本以后提供数据库复制功能。利用该功能可以实现两个数据库同步,主从模式,互相备份模式的功能.

数据库同步复制功能的设置都在mysql的设置文件中体现。mysql的配置文件(一般是my.cnf),在unix环境下在/etc/mysql/my.cnf或者在mysql用户的home目录下的my.cnf。

windows环境中,如果c:根目录下有my.cnf文件则取该配置文件。当运行mysql的winmysqladmin.exe工具时候,该工具会把c:根目录下的my.cnf命名为mycnf.bak。并在winnt目录下创建my.ini。mysql服务器启动时候会读该配置文件。所以可以把my.cnf中的内容拷贝到my.ini文件中,用my.ini文件作为mysql服务器的配置文件。

  设置方法:
  设置范例环境:
  操作系统:window2000professional
  mysql:4.0.4-beta-max-nt-log
  Aip:10.10.10.22
  Bip:10.10.10.53
  A:设置
  1.增加一个用户最为同步的用户帐号:
  GRANTFILEON*.*TObackup@'10.10.10.53'IDENTIFIEDBY‘1234’
  2.增加一个数据库作为同步数据库:
  createdatabasebackup
  B:设置
  1.增加一个用户最为同步的用户帐号:
  GRANTFILEON*.*TObackup@'10.10.10.22'IDENTIFIEDBY‘1234’
  2.增加一个数据库作为同步数据库:
  createdatabasebackup
  主从模式:A->B
  A为master
  修改Amysql的my.ini文件。在mysqld配置项中加入下面配置:
  server-id=1
  log-bin
  #设置需要记录log可以设置log-bin=c:mysqlbakmysqllog设置日志文件的目录,
  #其中mysqllog是日志文件的名称,mysql将建立不同扩展名,文件名为mysqllog的几个日志文件。
  binlog-do-db=backup#指定需要日志的数据库
  重起数据库服务。
  用showmasterstatus命令看日志情况。
  B为slave
  修改Bmysql的my.ini文件。在mysqld配置项中加入下面配置:
  server-id=2
  master-host=10.10.10.22
  master-user=backup#同步用户帐号
  master-password=1234
  master-port=3306
  master-connect-retry=60预设重试间隔60秒
  replicate-do-db=backup告诉slave只做backup数据库的更新
  重起数据库
  用showslavestatus看同步配置情况。
  注意:由于设置了slave的配置信息,mysql在数据库目录下生成master.info
  所以如有要修改相关slave的配置要先删除该文件。否则修改的配置不能生效。
  双机互备模式。
  如果在A加入slave设置,在B加入master设置,则可以做B->A的同步。
  在A的配置文件中mysqld配置项加入以下设置:
  master-host=10.10.10.53
  master-user=backup
  master-password=1234
  replicate-do-db=backup
  master-connect-retry=10
  在B的配置文件中mysqld配置项加入以下设置:
  log-bin=c:mysqllogmysqllog
  binlog-do-db=backup
  注意:当有错误产生时*.err日志文件。同步的线程退出,当纠正错误后要让同步机制进行工作,运行slavestart
  重起AB机器,则可以实现双向的热备。
  测试:
  向B批量插入大数据量表AA(1872000)条
  A数据库每秒钟可以更新2500条数据。


2.数据库目录同步,方法和文件同步一样,设置好需要同步的两个数据库目录就可以了!
缺点很明显,数据同步只能单向进行,可以作为备份方案

3.用专用的MySQL同步软件进行同步
这方面的软件有SQLBalance和MyReplicator,优点是方便直观,还有很多争强功能!
缺点和2一样,只能单项同步!
当然你也可以修改镜像网站的程序为提交数据到母数据库,读取则在当前镜像下的数据,不过,修改起来麻烦!普通用户修改也非常难!呵呵,大家了解一下就可以!给大家一个思路!有能力的朋友可以试试阿!

4.关于MySQL论坛的数据同步
由于数据来源的不可控制(不好表达),论坛数据是实时的,而且还要考虑来自镜像论坛的数据,如何实现镜像论坛与母论坛数据同步呢?
用1中介绍的MySQL自带的数据库同步功能互相备份模式就可以实现的!
不过,具体的应用我没有测试!稳定性不敢保证!
有能力的朋友推荐用下面这种思路来同步,相对来说减少点效率,但能减少发生的错误!
比如镜像论坛数据同步:
1.母论坛和镜像论坛的数据全写在母论坛数据库里,主从模式,读取只在本地读取,这个需要修改程序!

2.每次写数据,都同时提交到两个数据库中,安全,但是效率很差,也得修改程序!


MSSQL

MSSQL数据同步利用数据库复制技术实现数据同步更新(来自网络,也是非常完美的教程)
复制的概念
复制是将一组数据从一个数据源拷贝到多个数据源的技术,是将一份数据发布到多个存储站点上的有效方式。使用复制技术,用户可以将一份数据发布到多台服务器上,从而使不同的服务器用户都可以在权限的许可的范围内共享这份数据。复制技术可以确保分布在不同地点的数据自动同步更新,从而保证数据的一致性。
SQL复制的基本元素包括
出版服务器、订阅服务器、分发服务器、出版物、文章
SQL复制的工作原理
SQLSERVER主要采用出版物、订阅的方式来处理复制。源数据所在的服务器是出版服务器,负责发表数据。出版服务器把要发表的数据的所有改变情况的拷贝复制到分发服务器,分发服务器包含有一个分发数据库,可接收数据的所有改变,并保存这些改变,再把这些改变分发给订阅服务器
SQLSERVER复制技术类型
SQLSERVER提供了三种复制技术,分别是:
1、快照复制(呆会我们就使用这个)
2、事务复制
3、合并复制
只要把上面这些概念弄清楚了那么对复制也就有了一定的理解。接下来我们就一步一步来实现复制的步骤。
第一先来配置出版服务器
(1)选中指定[服务器]节点
(2)从[工具]下拉菜单的[复制]子菜单中选择[发布、订阅服务器和分发]命令
(3)系统弹出一个对话框点[下一步]然后看着提示一直操作到完成。
(4)当完成了出版服务器的设置以后系统会为该服务器的树形结构中添加一个复制监视器。同时也生成一个分发数据库(distribution)
第二创建出版物
(1)选中指定的服务器
(2)从[工具]菜单的[复制]子菜单中选择[创建和管理发布]命令。此时系统会弹出一个对话框
(3)选择要创建出版物的数据库,然后单击[创建发布]
(4)在[创建发布向导]的提示对话框中单击[下一步]系统就会弹出一个对话框。对话框上的内容是复制的三个类型。我们现在选第一个也就是默认的快照发布(其他两个大家可以去看看帮助)
(5)单击[下一步]系统要求指定可以订阅该发布的数据库服务器类型,SQLSERVER允许在不同的数据库如ORACLE或ACCESS之间进行数据复制。但是在这里我们选择运行"SQLSERVER2000"的数据库服务器
(6)单击[下一步]系统就弹出一个定义文章的对话框也就是选择要出版的表
(7)然后[下一步]直到操作完成。当完成出版物的创建后创建出版物的数据库也就变成了一个共享数据库。
第三设计订阅
(1)选中指定的订阅服务器
(2)从[工具]下拉菜单中选择[复制]子菜单的[请求订阅]
(3)按照单击[下一步]操作直到系统会提示检查SQLSERVER代理服务的运行状态,执行复制操作的前提条件是SQLSERVER代理服务必须已经启动。
(4)单击[完成]。完成订阅操作。
完成上面的步骤其实复制也就是成功了。但是如何来知道复制是否成功了呢?这里可以通过这种方法来快速看是否成功。展开出版服务器下面的复制——发布内容——右键发布内容——属性——击活——状态然后点立即运行代理程序接着点代理程序属性击活调度把调度设置为每一天发生,每一分钟,在0:00:00和23:59:59之间。接下来就是判断复制是否成功了打开C:/ProgramFiles/MicrosoftSQLServer/MSSQL/REPLDATA/unc/XIAOWANGZI_database_database下面看是不是有一些以时间做为文件名的文件夹差不多一分中就产生一个。要是你还不信的话就打开你的数据库看在订阅的服务器的指定订阅数据库下看是不是看到了你刚才所发布的表—
一个手工同步的方案
--定时同步服务器上的数据
--例子:
--测试环境,SQLServer2000,远程服务器名:xz,用户名为:sa,无密码,测试数据库:test
--服务器上的表(查询分析器连接到服务器上创建)
createtable[user](idintprimarykey,numbervarchar(4),namevarchar(10))
go
--以下在局域网(本机操作)
--本机的表,state说明:null表示新增记录,1表示修改过的记录,0表示无变化的记录
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[user]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptable[user]
GO
createtable[user](idintidentity(1,1),numbervarchar(4),namevarchar(10),statebit)
go
--创建触发器,维护state字段的值
createtriggert_stateon[user]
afterupdate
as
update[user]setstate=1
from[user]ajoininsertedbona.id=b.id
wherea.stateisnotnull
go
--为了方便同步处理,创建链接服务器到要同步的服务器
--这里的远程服务器名为:xz,用户名为:sa,无密码
ifexists(select1frommaster..sysserverswheresrvname='srv_lnk')
execsp_dropserver'srv_lnk','droplogins'
go
execsp_addlinkedserver'srv_lnk','','SQLOLEDB','xz'
execsp_addlinkedsrvlogin'srv_lnk','false',null,'sa'
go
--创建同步处理的存储过程
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[p_synchro]')andOBJECTPROPERTY(id,N'IsProcedure')=1)
dropprocedure[dbo].[p_synchro]
GO
createprocp_synchro
as
--setXACT_ABORTon
--启动远程服务器的MSDTC服务
--execmaster..xp_cmdshell'isql/S"xz"/U"sa"/P""/q"execmaster..xp_cmdshell''netstartmsdtc'',no_output"',no_output
--启动本机的MSDTC服务
--execmaster..xp_cmdshell'netstartmsdtc',no_output
--进行分布事务处理,如果表用标识列做主键,用下面的方法
--BEGINDISTRIBUTEDTRANSACTION
--同步删除的数据
deletefromsrv_lnk.test.dbo.[user]
whereidnotin(selectidfrom[user])
--同步新增的数据
insertintosrv_lnk.test.dbo.[user]
selectid,number,namefrom[user]wherestateisnull
--同步修改的数据
updatesrv_lnk.test.dbo.[user]set
number=b.number,name=b.name
fromsrv_lnk.test.dbo.[user]a
join[user]bona.id=b.id
whereb.state=1
--同步后更新本机的标志
update[user]setstate=0whereisnull(state,1)=1
--COMMITTRAN
go
--创建作业,定时执行数据同步的存储过程
ifexists(SELECT1frommsdb..sysjobswherename='数据处理')
EXECUTEmsdb.dbo.sp_delete_job@job_name='数据处理'
execmsdb..sp_add_job@job_name='数据处理'
--创建作业步骤
declare@sqlvarchar(800),@dbnamevarchar(250)
select@sql='execp_synchro'--数据处理的命令
,@dbname=db_name()--执行数据处理的数据库名
execmsdb..sp_add_jobstep@job_name='数据处理',
@step_name='数据同步',
@subsystem='TSQL',
@database_name=@dbname,
@command=@sql,
@retry_attempts=5,--重试次数
@retry_interval=5--重试间隔
--创建调度
EXECmsdb..sp_add_jobschedule@job_name='数据处理',
@name='时间安排',
@freq_type=4,--每天
@freq_interval=1,--每天执行一次
@active_start_time=00000--0点执行
go

ADSL2+ 标准简介

德州仪器公司 (TI) 宽带技术应用工程师  王毅

摘要:本文简要介绍了ADSL2+标准相对于ADSL2的主要技术特点

图形处理源码之 - GD库高质量的缩略图


<?
/***************************************/
/*功 能:利用PHP的GD库生成高质量的缩略图*/
/*运行环境:PHP5.01/GD2*/
/*类说明:可以选择是/否裁图。
   如果裁图则生成的图的尺寸与您输入的一样。
   原则:尽可能多保持原图完整
   如果不裁图,则按照原图比例生成新图
   原则:根据比例以输入的长或者宽为基准*/
/*参 数:$img:源图片地址
$wid:新图的宽度
$hei:新图的高度
$c:是否裁图,1为是,0为否*/
/* Author: antplus         */
/* 修改: Monkey   */
/* version: 1.1             */
/* QQ:     38188141        */
/* MSN:     antplus@163.net */
/***************************************/
class resizeimage
{
//图片类型
var $type;
var $ext;
//实际宽度
var $width;
//实际高度
var $height;
//改变后的宽度
var $resize_width;
//改变后的高度
var $resize_height;
//是否裁图
var $cut;
//源图象
var $srcimg;
//目标图象地址
var $dstimg;
//临时创建的图象
var $im;

function resizeimage($img, $wid, $hei, $c)
{

$this->srcimg = $img;
list($this->width, $this->height, $this->type) = getimagesize($img);
$this->resize_width = $wid;
$this->resize_height = $hei;
$this->cut = $c;
//图片的类型
$this->ext = substr(strrchr($this->srcimg,"."),1);
//初始化图象
$this->initi_img();
//目标图象地址
$this -> dst_img();
//--
$this->width = imagesx($this->im);
$this->height = imagesy($this->im);
//生成图象
$this->newimg();
ImageDestroy ($this->im);
}
function newimg()
{
//改变后的图象的比例
$resize_ratio = ($this->resize_width)/($this->resize_height);
//实际图象的比例
$ratio = ($this->width)/($this->height);
if(($this->cut)=="1")
//裁图
{
if($ratio>=$resize_ratio)
//高度优先
{
   $newimg = imagecreatetruecolor($this->resize_width,$this->resize_height);
   imagecopyresampled($newimg, $this->im, 0, 0, 0, 0, $this->resize_width,$this->resize_height, (($this->height)*$resize_ratio), $this->height);
   ImageJpeg ($newimg,$this->dstimg);
}
if($ratio<$resize_ratio)
//宽度优先
{
   $newimg = imagecreatetruecolor($this->resize_width,$this->resize_height);
   imagecopyresampled($newimg, $this->im, 0, 0, 0, 0, $this->resize_width, $this->resize_height, $this->width, (($this->width)/$resize_ratio));
   ImageJpeg ($newimg,$this->dstimg);
}
}
else
//不裁图
{
if($ratio>=$resize_ratio)
{
   $newimg = imagecreatetruecolor($this->resize_width,($this->resize_width)/$ratio);
   $white = imagecolorallocate($newimg, 255, 255, 255);
   imagefill($newimg,1,1,$white);    
   imagecopyresampled($newimg, $this->im, 0, 0, 0, 0, $this->resize_width, ($this->resize_width)/$ratio, $this->width, $this->height);
   ImageJpeg ($newimg,$this->dstimg);
}
if($ratio<$resize_ratio)
{
   $newimg = imagecreatetruecolor(($this->resize_height)*$ratio,$this->resize_height);
   $white = imagecolorallocate($newimg, 255, 255, 255);
   imagefill($newimg,1,1,$white);    
   imagecopyresampled($newimg, $this->im, 0, 0, 0, 0, ($this->resize_height)*$ratio, $this->resize_height, $this->width, $this->height);    
   ImageJpeg ($newimg,$this->dstimg);
}
}

}
//初始化图象
function initi_img()
{
if($this->type==1)
{
$this->im = imagecreatefromgif($this->srcimg);
}
if($this->type==2)
{
$this->im = imagecreatefromjpeg($this->srcimg);
}
if($this->type==3)
{
$this->im = imagecreatefrompng($this->srcimg);
}
}
//图象目标地址
function dst_img()
{
$full_length = strlen($this->srcimg);
$type_length = strlen($this->ext);
$name_length = $full_length-$type_length;
$name         = substr($this->srcimg,0,$name_length-1);
$name         = dirname($name)."/[s]_".basename($name);
$this->dstimg = $name.".".$this->ext;
}
}
function cal_xy(&$xy,$max,$wh) {
if (strtoupper($xy)=='C') {
$return=$max/2-$wh/2;
}else {
$xy+=0;
if ($xy<0) $return=$max+$xy;
else $return=$xy;
}
$xy=$return;
}

//水印图片
function water($src_file,$water) {
$this_waterfile=$water[0];//水印图片

if (is_file($this_waterfile) and file_exists($this_waterfile)) {

$this_watertype=$water[1];//水印显示方式 1平铺 2指定位置
$this_watertrans=$water[2];//水印透明度    
list($this_waterpos_x,$this_waterpos_y)=explode(",",$water[3]);//水印坐标 'x,y'

list($water_width, $water_height, $water_type) = getimagesize($this_waterfile);    
list($src_width, $src_height, $src_type) = getimagesize($src_file);

if($src_type==1)
{
$this_im = imagecreatefromgif($src_file);
}
if($src_type==2)
{
$this_im = imagecreatefromjpeg($src_file);
}
if($src_type==3)
{
$this_im = imagecreatefrompng($src_file);
}

if($water_type==1)
{
$water_im = imagecreatefromgif($this_waterfile);
}
if($water_type==2)
{
$water_im = imagecreatefromjpeg($this_waterfile);
}
if($water_type==3)
{
$water_im = imagecreatefrompng($this_waterfile);
}

ImageAlphaBlending($water_im, true);

   if ($this_watertype==2) {
    cal_xy($this_waterpos_x,$src_width,$water_width);
    cal_xy($this_waterpos_y,$src_height,$water_height);
ImageCopymerge($this_im,$water_im,$this_waterpos_x,$this_waterpos_y,0,0,$water_width,$water_height,$this_watertrans);
}else {
for ($ix=0;$ix<$src_width;$ix+=$water_width) {
   for ($iy=0;$iy<$src_height;$iy+=$water_height) {
    imageCopyMerge($this_im, $water_im,$ix,$iy,0,0,$water_width,$water_height,$this_watertrans);
   }
}
}
if($src_type==1)
{
ImageGif ($this_im,$src_file);
}
if($src_type==2)
{
ImageJpeg ($this_im,$src_file);
}
if($src_type==3)
{
ImagePng ($this_im,$src_file);
}    
}
}
?>


原创的基础上添加了水印,DDCMS内置的函数
Win+Apache+PHP+MySQL+Tcomcat+phpMyAdmin
所需软件列表:(本配置以下列软件版本完成)
jakarta-tomcat-5.0.29.exe
apache_2.0.52-win32-x86-no_ssl.exe
php-5.0.2-Win32.zip
mysql-4.0.22-win.zip
j2sdk1.4.1.exe
mod_jk_1.2.6_2.0.50.dll
mm.mysql-2.0.4-bin.jar
phpMyAdmin-2.6.0-pl2.zip
开始安装:
一、 Apahce+PHP+MySQL安装配置 【phpBB有这个就足够了】
1. 安装apache_2.0.52-win32-x86-no_ssl ,根据需要按提示设置程序安装路径(我的路径是d:/usr/)。安装完成以后,如果对APACHE目录进行移动,那么apache2下面的参数是必须改的, 修改apache配置目录CONF下的配置文件httpd.conf,本例为d:/usr/apache2/conf/httpd.conf
(1)ServerRoot:apche的程序目录(本例是d:/usr/apache2)
(2)ServerAdmin:服务器管理员的E-MAIL
(3)port:服务端口,默认80
(4)ServerName:计算机的网络标识,必须和实际一致,否则可能会出现一些想不到的问题
(5)DocumentRoot:默认的网页文件目录(本例是d:/usr/www)
(6)DirectoryIndex:默认页面,添加 php支持,(本例如下)
DirectoryIndex index.html index.htm index.php index.php3 index.php4
(7)ScriptAlias(脚本别名),CGI程序的目录
ScriptAlias /cgi-bin "d:/usr/apache2/cgi-bin"
2. 安装php-5.0.2-Win32解压,解压的路径自定义(本例为d:/usr/php5)。
3. 配置PHP和Apache,使之能解析php程序。
PHP配置:
将PHP目录中的"php.ini-dist"改名"php.ini",并对
php.ini修改如下:
(1) doc_root:和APACHE的HTDOCS一致,本例为d:/usr/www
(2) extension_dir 本例为 d:/usr/php5/ext
(3) include_path 本例为d:/usr/php5/includes
(4) 去掉extension=php_mysql.dll前边的分号,并拷贝php目录下的LIBMYSQL.DLL文件到c:\winnt\system32下
Apache配置:
在APACHE配置文件最后添加以下语句,用以支持php程序:
ADDlanguage zh-cn .cn
defaultlanguage zh-cn
AddDefaultCharset GB2312
ScriptAlias /php/ "d:/usr/php5/"
LoadFile d:/usr/php5/php5ts.dll
LoadModule php5_module d:/usr/php5/php5apache2.dll
PHPINIDir d:/usr/php5/php.ini
AddType application/x-httpd-php .php .php3 .php4 .phtml
AddType application/x-httpd-php-source .phps
以上添加内容目录部分和实际不一致的自行修改
4.重新启动Apache服务器,用编辑器编写如下语句:
phpinfo();
?>
保存文件名为"test.php"到用户主目录(本例为d:/usr/www)目录,然后打开浏览器,浏览:http://localhost/test.php,出现PHP基本信息就说明配置成功。
5. 安装MySQL-4.0.12-win,一直按"next"就安装成功了,然后在C:\mysql\bin目录执行" winmysqladmin.exe",出现mysql的初始信息面,表示安装成功。
6、安装phpMyAdmin
解压phpMyAdmin-2.6.0-pl2.zip到一目录,本例为d:/usr/phpMyAdmin,进入该目录配置文件config.inc.php
修改$cfg['PmaAbsoluteUri']为http://localhost/phpMyAdmin
修改$cfg['blowfish_secret'] = 'admin';
修改$cfg['Servers'][$i]['auth_type']= 'cookie';
修改$cfg['Servers'][$i]['user']为MySQL用户
修改$cfg['Servers'][$i]['password']为MySQL口令
以上是phpMyAdmin配置的基本内容,其他配置根据需要进行
编辑apache配置文件httpd.conf在最后加入以下语句:
php_admin_flag engine on
php_admin_flag safe_mode off
Alias /phpMyAdmin "d:/usr/phpMyAdmin"

DirectoryIndex index.php
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
php_admin_flag engine on
php_admin_flag safe_mode off
php_admin_value open_basedir none
php_admin_value open_basedir "d:/usr/phpMyAdmin"

以上目录路径部分根据实际需要进行修改。
7、测试apache+php+mysql
在ie地址栏输入http://localhost/phpMyAdmin如果出现phpMyAdmin信息说明配置成功。
二、安装JDK和Tomcat
1. 安装j2sdk1.4.1后安装jakarta-tomcat-5.0.29.exe,JDK安装一定要在tomcat之前进行。本例安装路径为d:/usr/

2. 复制mm.mysql-2.0.4-bin.jar文件分别到j2sdk子目录lib 和 Tomcat 子目录common\lib 下,复制mod_jk_1.2.6_2.0.50.dll
到apache子目录moudles下
3、配置APACHE+tomcat+jsp
(1)在apache配置文件后添加
loadModule jk_module modules/mod_jk_1.2.6_2.0.50.dll
JkWorkersFile "d:/usr/Tomcat 5.0/conf/workers.properties"
JkMount /servlet/* ajp13
JkMount /*.jsp ajp13
(2)新建 d:/usr/Tomcat 5.0/conf/workers.properties内容如下:

workers.properties
workers.CATALINA_HOME =d:\usr\Tomcat 5.0
workers.JAVA_HOME=d:\usr\j2sdk1.4
ps=\
# worker.list=ajp13
worker.list=ajp12,ajp13
worker.ajp12.port=8007
worker.ajp12.host=localhost
worker.ajp12.type=ajp12
worker.ajp12.lbfactor=1
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1
worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=ajp12, ajp13
worker.inprocess.type=jni
worker.inprocess.class_path=$(workers.CATALINA_HOME )$(ps)classes
worker.inprocess.class_path=$(workers.CATALINA_HOME )$(ps)lib$(ps)jaxp.jar
worker.inprocess.class_path=$(workers.CATALINA_HOME )$(ps)lib$(ps)parser.jar
worker.inprocess.class_path=$(workers.CATALINA_HOME )$(ps)common$(ps)lib$(ps)jasper.jar
worker.inprocess.class_path=$(workers.CATALINA_HOME )$(ps)common$(ps)lib$(ps)servlet.jar
worker.inprocess.class_path=$(workers.CATALINA_HOME )$(ps)common$(ps)lib$(ps)webserver.jar
worker.inprocess.class_path=$(workers.JAVA_HOME)$(ps)lib$(ps)tools.jar
worker.inprocess.cmd_line=-config
worker.inprocess.cmd_line=$(workers.CATALINA_HOME )/conf/jni_server.xml
worker.inprocess.cmd_line=-home
worker.inprocess.cmd_line=$(workers.CATALINA_HOME )
worker.inprocess.jvm_lib=$(workers.JAVA_HOME)$(ps)jre$(ps)bin$(ps)classic$(ps)jvm.dll
worker.inprocess.stdout=$(workers.CATALINA_HOME )$(ps)inprocess.stdout
worker.inprocess.stderr=$(workers.CATALINA_HOME )$(ps)inprocess.stderr
worker.inprocess.sysprops=tomcat.home=$(workers.CATALINA_HOME )
(3)设置环境变量(桌面->我的电脑->右键点击->选择"属性"->高级->环境变量->系统变量)内容如下
JAVA_HOME (变量名)d:\usr\j2sdk1.4 (变量值)
PATH(变量名).;%JAVA_HOME\bin;(变量值)
CATALINA_HOME (变量名)d:\usr\tomcat 5.0(变量值)
CATALINA_BASE(变量名)d:\usr\tomcat 5.0(变量值)
CALSSPATH (变量名)
.;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar;%CATALINA_HOME%commonlibservlet.jar(变量值)
(5) 编辑 tomcat \conf下的server.xml文件,添加如下内容


directory="logs" prefix="home_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>




directory="logs" prefix="home_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>

到此配置全部结束

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>微软MSDN导航菜单</title>
<style type="text/css">
<!--
/**//*有些样式是可以继承的,外层定义过的效果,内层元素默认会自动继承,而且还要搞清楚CSS样式的优先级*/
/**//*文档边距为0*/
BODY {}{
   MARGIN: 0px
}
/**//*整个导航栏被包含在一个DIV标签里,这是这个DIV的样式,这里只设置了上下边框,而没有设置左右边框*/
#msviLocalToolbar {}{
   PADDING-RIGHT: 0px;
   PADDING-LEFT: 0px;
   PADDING-BOTTOM: 1px;
   PADDING-TOP: 2px;    /**//*设置上下左右的填充*/
   BORDER-TOP: #999 1px solid;
   BORDER-BOTTOM: #999 1px solid; /**//*设置上下边框的颜色,宽度和样式*/
   FONT-SIZE: 100%; /**//*字体大小100%*/
   BACKGROUND: #f1f1f1; /**//*背景颜色为#f1f1f1*/
}
/**//*导航栏里包含的TD标签的样式,这里只设置了字体尺寸*/
#msviLocalToolbar TD {}{
   FONT-SIZE: 100%
}
/**//*导航栏里包含的A标签的样式,这里设置了A元素的样式,就是所有msviLocalToolbar里包含的A元素都默认继承的.*/
#msviLocalToolbar A {}{
   FONT: 70% Verdana; /**//*链接文字尺寸和字体*/
   COLOR: black; /**//*链接颜色*/
   TEXT-DECORATION: none /**//*设置链接没有下划线,没有任何样式*/
}
/**//*导航主标题样式,这里设置了宽,这个样式会用在一个单元格里*/
#msviHomePageLink {}{
   
   PADDING-LEFT: 2px;/**//*左边补丁边距为2象素*/
   WIDTH: 177px; /**//*宽177象素*/
}
/**//*导航主标题里的单元格样式*/
#msviHomePageLink TD {}{    
   FONT-SIZE: 100%;/**//*字符尺寸为100%*/
}
/**//*导航主标题里的A标签样式*/
#msviHomePageLink A {}{
   BACKGROUND: #f1f1f1; /**//*背景色为#f1f1f1*/
   MARGIN: 0px; /**//*四边的外延边距都设置成0象素*/
   WHITE-SPACE: nowrap;    /**//*强制在同一行内显示所有文本,直到文本结束或者遭遇br对象*/
   DISPLAY: block; /**//*链接正常显示,并在链接后添加新行*/
   PADDING-LEFT: 6px; /**//*左边补丁为6象素*/
   PADDING-RIGHT: 6px; /**//*右边补丁为6象素*/
   PADDING-TOP: 2px; /**//*上边补丁为2象素*/
   PADDING-BOTTOM: 2px; /**//*下边补丁为2象素*/
   BORDER-LEFT: #f1f1f1 1px solid; /**//*左边框为1象素#f1f1f1颜色实线*/
   BORDER-TOP: #f1f1f1 1px solid; /**//*上边框为1象素#f1f1f1颜色实线*/
   BORDER-RIGHT: #f1f1f1 1px solid; /**//*右边框为1象素#f1f1f1颜色实线*/
   BORDER-BOTTOM: #f1f1f1 1px solid; /**//*下边框为1象素#f1f1f1颜色实线*/
}
/**//*导航主题里当鼠标放在链接上时的样式,这时候链接的边框颜色和背景颜色都变了,所以当鼠标划过链接时链接会有所变化,上面注释过的CSS属性我下面就不注释了.*/
#msviHomePageLink A:hover {}{
   MARGIN: 0px;
   DISPLAY: block;
   BACKGROUND: #ccc;
   PADDING-TOP: 2px;    
   PADDING-BOTTOM: 2px;
   PADDING-LEFT: 6px;
   PADDING-RIGHT: 6px;
   BORDER-LEFT: #999 1px solid;
   BORDER-TOP: #999 1px solid;
   BORDER-RIGHT: #999 1px solid;
   BORDER-BOTTOM: #999 1px solid;
}
/**//*这个样式用在a元素上,当鼠标在链接上离开时使用这个样式,不过.lt0和.lt1这两个样式是通过一个js函数来切换的*/
.lt0 {}{
   BORDER-RIGHT: #f1f1f1 1px solid;
   PADDING-RIGHT: 6px;
   BORDER-TOP: #f1f1f1 1px solid;
   PADDING-LEFT: 6px;
   BACKGROUND: #f1f1f1;
   PADDING-BOTTOM: 0px;
   BORDER-LEFT: #f1f1f1 1px solid;
   PADDING-TOP: 0px;
   BORDER-BOTTOM: #f1f1f1 1px solid
}
/**//*这个是定义当鼠标放在链接上时使用的样式*/
.lt1 {}{
   BORDER-RIGHT: #999 1px solid;
   PADDING-RIGHT: 6px;
   BORDER-TOP: #999 1px solid;
   PADDING-LEFT: 6px;
   BACKGROUND: #ccc;
   PADDING-BOTTOM: 0px;
   BORDER-LEFT: #999 1px solid;
   PADDING-TOP: 0px;
   BORDER-BOTTOM: #999 1px solid
}
/**//*单元格之间间隔的样式,用在一个小竖线上*/
.ltsep {}{
   PADDING-RIGHT: 1px; PADDING-LEFT: 1px; PADDING-BOTTOM: 0px; FONT: 70% Verdana; COLOR: #a9a9a9; PADDING-TOP: 0px
}
-->
</style>
<script language="JavaScript" type="text/JavaScript">
//替换某个容器里指定元素的样式
function mhHover(tbl,idx,cls)
{
   var t,d; //定义两个变量
   //设置变量t为tb1的引用,不过if语句里那句我不知道有什么用,我记得getElementById函数需要参数的.
   //可能是测试浏览器特性的,根据浏览器特性来保证能正确获取tb1的引用
   if(document.getElementById)t=document.getElementById(tbl);
   else t=document.all(tbl);
   if(t==null)return;
   //设置d为tb1容器里的所有TD元素集合
   if(t.getElementsByTagName)d=t.getElementsByTagName("TD");
   else d=t.all.tags("TD");
   if(d==null)return;
   //判断获取TD元素集合的长度是否比idx还小,因为要设置下标为idx的元素的样式,所以必须要加这个判断
   if(d.length<=idx)return;
   //设置td集合里的第idx-1个元素的样式为cls,因为没两个内容单元格之间有个间隔单元格,所以调用该函数的时候要搞清楚到底要设置第几个单元格的样式.
   d[idx].className=cls;
}
</script>

</head>
<body>
<DIV id=msviLocalToolbar>
<TABLE height=19 cellSpacing=0 cellPadding=0 width="100%" border=0>
 <TBODY>
 <TR>
   <TD id=msviHomePageLink noWrap>
       <A href="http://www.microsoft.com/china/msdn/default.aspx&q... >MSDN 主页</A>
   </TD>
   <TD>
       <SPAN class=ltsep>|</SPAN>
   </TD>
   <TD class=lt0 onmouseover="mhHover('msviLocalToolbar', 2, 'lt1')"    
   onmouseout="mhHover('msviLocalToolbar', 2, 'lt0')" noWrap>
       <A href="http://www.microsoft.com/china/msdn/DeveloperCente...开发中心</A>
   </TD>
   <TD>
       <SPAN class=ltsep>|</SPAN>
   </TD>
   <TD class=lt0 onmouseover="mhHover('msviLocalToolbar', 4, 'lt1')"
   onmouseout="mhHover('msviLocalToolbar', 4, 'lt0')" noWrap>
       <A href="http://www.microsoft.com/china/msdn/library/defaul...技术资源库</A>
   </TD>
   <TD>
       <SPAN class=ltsep>|</SPAN>
   </TD>
   <TD class=lt0 onmouseover="mhHover('msviLocalToolbar', 6, 'lt1')"
   onmouseout="mhHover('msviLocalToolbar', 6, 'lt0')" noWrap>
       <A href="http://www.microsoft.com/china/msdn/events/default...活动与培训</A>
   </TD>
   <TD>
       <SPAN class=ltsep>|</SPAN>
   </TD>
   <TD class=lt0 onmouseover="mhHover('msviLocalToolbar', 8, 'lt1')"
   onmouseout="mhHover('msviLocalToolbar', 8, 'lt0')" noWrap>
       <A href="http://www.microsoft.com/china/msdn/download/defau...下载中心</A>
   </TD>
   <TD>
       <SPAN class=ltsep>|</SPAN>
   </TD>
   <TD class=lt0 onmouseover="mhHover('msviLocalToolbar', 10, 'lt1')"
   onmouseout="mhHover('msviLocalToolbar', 10, 'lt0')" noWrap>
       <A href="http://www.microsoft.com/china/community/developer...开发者社区</A>
   </TD>
   <TD>
       <SPAN class=ltsep>|</SPAN>
   </TD>
   <TD class=lt0 onmouseover="mhHover('msviLocalToolbar', 12, 'lt1')"
   onmouseout="mhHover('msviLocalToolbar', 12, 'lt0')" noWrap>
       <A  href="http://www.microsoft.com/downloads/search.aspx?dis...在线资源</A>
       </TD>
   <TD>
       <SPAN class=ltsep>|</SPAN>
   </TD>
   <TD class=lt0 onmouseover="mhHover('msviLocalToolbar', 14, 'lt1')"
   onmouseout="mhHover('msviLocalToolbar', 14, 'lt0')" noWrap>
       <A href="http://msdn.microsoft.com/worldwide.aspx" >MSDN 全球站点</A>
   </TD>
   <TD width="100%"></TD>
   </TR>
   </TBODY>
   </TABLE>
   </DIV>
</body>
</html>

点击在新窗口中浏览此图片

用户权限
1. 从网络访问这台计算机a.  背景

与远程 Windows 计算机进行交互的能力需要从网络访问这台计算机用户权限。这种网络操作的示例包括在公用域或林中的域控制器之间复制 Active Directory、用户和计算机向域控制器发出身份验证请求,以及访问位于网络中远程计算机上的共享文件夹、打印机和其他系统服务。

通过将用户、计算机和服务帐户显式或隐式添加到已被授予从网络访问这台计算机用户权限的安全组中或将它们从此类安全组中删除,使这些用户、计算机和服务帐户获得或失去该用户权限。例如,用户帐户或计算机帐户可能被管理员显式添加到某个自定义或内置安全组中,或被操作系统隐式添加到计算安全组中,例如 Domain Users、Authenticated Users 或 Enterprise Domain Controllers。

默认情况下,如果默认域控制器的组策略对象 (GPO) 中定义了计算组(例如 Everyone 或 Authenticated Users,后者更好;若是域控制器,则为 Enterprise Domain Controllers 组),则会对用户帐户和计算机帐户授予从网络访问这台计算机用户权限。
b.  危险配置

以下是危险配置: • 从此用户权限中删除 Enterprise Domain Controllers 安全组
• 删除 Authenticated Users 组或授予用户、计算机和服务帐户通过网络连接到计算机的用户权限的显式组
• 从此用户权限中删除所有用户和计算机

c.  授予此用户权限的原因• 通过向 Enterprise Domain Controllers 组授予从网络访问这台计算机用户权限,满足在同一林中的域控制器之间进行 Active Directory 复制必须具备的身份验证要求。
• 此用户权限允许用户和计算机访问共享文件、打印机和系统服务,包括 Active Directory。
• 用户使用早期版本的 Microsoft Outlook Web Access (OWA) 访问邮件需要此用户权限。

d.  删除此用户权限的原因• 那些可以将计算机连接到网络上的用户可以访问他们具有权限的远程计算机上的资源。例如,用户需要具备此用户权限才能连接到共享打印机和文件夹。如果向 Everyone 组授予此用户权限,并且某些共享文件夹同时配置有共享和 NTFS 文件系统权限以便相同的组具有读取权限,则任何人均可查看这些共享文件夹中的文件。但是,Windows Server 2003 的全新安装不大可能出现这种情况,因为 Windows Server 2003 中默认的共享和 NTFS 权限不包含 Everyone 组。对于从 Microsoft Windows NT 4.0 或 Windows 2000 升级的系统,这个弱点的危险性可能更高,因为这些操作系统默认的共享和文件系统权限的限制性不如 Windows Server 2003 中的默认权限严格。
• 从此用户权限中删除 Enterprise Domain Controllers 组并没有根据。
• 通常删除 Everyone 组,而倾向于使用 Authenticated Users 组。如果删除了 Everyone 组,则必须向 Authenticated Users 组授予此用户权限。
• 升级到 Windows 2000 的 Windows NT 4.0 域不会显式对 Everyone、Authenticated Users 或 Enterprise Domain Controllers 组授予从网络访问这台计算机用户权限。因此,如果从 Windows NT 4.0 域策略中删除了 Everyone 组,在升级到 Windows 2000 后,Active Directory 复制将失败并出现“Access Denied”错误信息。Windows Server 2003 中的 Winnt32.exe 在升级 Windows NT 4.0 主域控制器 (PDC) 时会对 Enterprise Domain Controllers 组授予此用户权限,从而避免了这种错误配置。如果组策略对象编辑器中未出现此用户权限,则将此用户权限授予 Enterprise Domain Controllers 组。

e.  兼容性问题的示例• Windows 2000 和 Windows Server 2003: Active Directory 架构、配置、域、全局编录或应用程序分区复制失败,监视工具(例如 REPLMON 和 REPADMIN)或事件日志中的复制事件报告“Access Denied”错误。
• 所有 Microsoft 网络操作系统: 除非已向用户或用户所属的安全组授予此用户权限,否则来自远程网络客户机的用户帐户身份验证会失败。
• 所有 Microsoft 网络操作系统: 除非已向帐户或帐户所属的安全组授予了此用户权限,否则来自远程网络客户端的帐户身份验证会失败。此情况适用于用户帐户、计算机帐户和服务帐户。
• 所有 Microsoft 网络操作系统: 如果从此用户权限中删除所有帐户,则会阻止任何帐户登录到域或访问网络资源。如果删除了计算组(例如 Enterprise Domain Controllers、Everyone 或 Authenticated Users),则必须将此用户权限显式授予帐户或帐户所属的安全组才能通过网络访问远程计算机。此情况适用于所有用户帐户、所有计算机帐户和所有服务帐户。


2. 允许在本地登录a.  背景

尝试在 Microsoft Windows 计算机的控制台上登录的用户(使用 Ctrl+Alt+Delete 登录组合键)和尝试启动服务的帐户必须在宿主计算机上具有本地登录权限。本地登录操作的示例包括管理员登录到企业中成员计算机或域控制器的控制台和域用户使用非特权帐户登录到成员计算机以访问其桌面。使用远程桌面连接或终端服务的用户在运行 Windows 2000 或 Windows XP 的目标计算机上必须具有允许在本地登录用户权限,因为这些登录模式对于宿主计算机来说是本地的。如果用户登录到启用了终端服务的服务器而又不具有此用户权限,但他们具有允许通过终端服务登录用户权限,则他们仍可以在 Windows Server 2003 域中启动远程交互式会话。
b.  危险配置

以下是危险配置: • 从默认域控制器策略中删除管理安全组,包括 Account Operators、Backup Operators、Print Operators、Server Operators 和内置 Administrators 组。
• 从默认域控制器策略中删除域中成员计算机和域控制器上的组件和程序使用的服务帐户。
• 删除登录到域中成员计算机的控制台的用户或安全组。
• 删除在成员计算机或工作组计算机的安全帐户管理器 (SAM) 数据库中定义的服务帐户。
• 删除通过在域控制器上运行的终端服务进行身份验证的非内置管理帐户。
• 通过 Everyone 组将域中的所有用户帐户显式或隐式添加到拒绝本地登录登录权限中。此配置会阻止用户登录到域中的任何成员计算机或任何域控制器。

c.  授予此用户权限的原因• 用户必须具有允许在本地登录用户权限才能访问工作组计算机、成员计算机或域控制器的控制台或桌面。
• 用户必须具有此用户权限才能通过在 Window 2000 成员计算机或域控制器上运行的终端服务会话登录。

d.  删除此用户权限的原因• 如果未能将控制台访问权限制在合法的用户帐户范围内,未经授权的用户可能下载并执行恶意代码来更改他们的用户权限。
• 删除允许在本地登录用户权限可以阻止未经授权即在计算机(例如域控制器或应用程序服务器)的控制台上登录。
• 删除此登录权限可以阻止非域帐户登录域中成员计算机的控制台。

e.  兼容性问题的示例• Windows 2000 终端服务器: 为了登录到 Windows 2000 终端服务器,用户需要允许在本地登录用户权限。
• Windows NT 4.0、Windows 2000、Windows XP 或 Windows Server 2003: 必须向用户帐户授予此用户权限,它们才能登录运行 Windows NT 4.0、Windows 2000、Windows XP 或 Windows Server 2003 的计算机的控制台。
• Windows NT 4.0 和更高版本: 在运行 Windows NT 4.0 和更高版本的计算机上,如果添加允许在本地登录用户权限,但又隐式或显式授予了拒绝本地登录登录权限,帐户无法登录到域控制器的控制台。


3. 跳过遍历检查a.  背景

跳过遍历检查用户权限允许用户浏览 NTFS 文件系统或注册表中的文件夹,而无需检查是否具有遍历文件夹的特殊访问权限。跳过遍历检查用户权限不允许用户列出文件夹的内容,它只允许用户遍历其文件夹。
b.  危险配置

以下是危险配置: • 删除登录到 Windows 2000 或 Windows Server 2003 终端服务计算机上而且缺少访问文件系统中的文件和文件夹的权限的非管理性帐户。
• 从安全主体列表中删除 Everyone 组,默认情况下,这些安全主体具有此用户权限。根据 Windows 操作系统和许多程序的设计思路,系统认为可以合法访问计算机的任何人都应该具有跳过遍历检查用户权限。因此,从默认具有此用户权限的安全主体列表中删除 Everyone 组可能导致操作系统不稳定或程序故障。最好保留此设置的默认值。

c.  授予此用户权限的原因

跳过遍历检查用户权限的默认设置是允许任何人跳过遍历检查。对于有经验的 Windows 系统管理员,这是预期的行为,他们会相应地配置文件系统访问控制列表 (SACL)。如果配置权限的管理员不了解该行为并认为不能访问父文件夹的用户将无法访问任何子文件夹的内容,则默认配置可能导致问题,这也是默认配置可能导致问题的唯一情况。
d.  删除此用户权限的原因

非常注重安全性的组织可能会忍不住从具有跳过遍历检查用户权限的组的列表中删除 Everyone 组,甚至删除 Users 组,以图阻止访问文件系统中的文件或文件夹。
e.  兼容性问题的示例• Windows 2000、Windows Server 2003: 如果在运行 Windows 2000 或 Windows Server 2003 的计算机上删除或错误地配置了跳过遍历检查用户权限,则无法在域中的域控制器之间复制 SYVOL 文件夹中的组策略设置。
• Windows 2000、Windows XP Professional、Windows Server 2003: 如果删除或错误地配置了跳过遍历检查用户权限,从 SYSVOL 树中删除所需的文件系统权限时,运行 Windows 2000、Windows XP Professional 或 Windows Server 2003 的计算机会记录事件 1000 和 1202 而且无法应用计算机策略和用户策略。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
290647 (http://support.microsoft.com/kb/290647/) 在应用程序事件日志中每 5 分钟记录一次事件 ID 1000、1001  
• Windows 2000、Windows Server 2003: 在运行 Windows 2000 或 Windows Server 2003 的计算机上,当您查看卷的属性时,Windows 资源管理器中的“配额”选项卡消失。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
316781 (http://support.microsoft.com/kb/316781/) “卷属性”对话框中不显示“配额”选项卡  
• Windows 2000: 登录到 Windows 2000 终端服务器的非管理员会收到以下错误信息:

Userinit.exe application error.The application failed to initialize properly 0xc0000142 click OK to terminate the app.
有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
272142 (http://support.microsoft.com/kb/272142/) 用户在尝试登录到终端服务时会自动注销  
• Windows NT 4.0、Windows 2000、Windows XP、Windows Server 2003:在运行 Windows NT 4.0、Windows 2000、Windows XP 或 Windows Server 2003 的计算机上,如果未对用户授予跳过遍历检查用户权限,他们可能无法访问共享文件夹或访问共享文件夹中的文件,并且可能收到“Access Denied”错误信息。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
277644 (http://support.microsoft.com/kb/277644/) 用户尝试访问共享文件夹时出现“Access Denied”错误信息  
• Windows NT 4.0: 在基于 Windows NT 4.0 的计算机上,删除跳过遍历检查用户权限导致文件复制过程丢失文件流。如果删除此用户权限,当将文件从 Windows 客户端或 Macintosh 客户端复制到运行 Macintosh 服务的 Windows NT 4.0 域控制器时,会丢失目标文件流,该文件显示为纯文本文件。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
172930 (http://support.microsoft.com/kb/172930/) 删除“跳过遍历检查”导致文件复制过程丢失文件流  
• Microsoft Windows 95、Microsoft Windows 98:在运行 Windows 95 或 Windows 98 的客户机上,如果未向 Authenticated Users 组授予跳过遍历检查用户权限,则 net use * /home 命令会失败并显示“Access Denied”错误信息。
• Outlook Web Access: 如果未向非管理员授予跳过遍历检查用户权限,则他们将无法登录到 Microsoft Outlook Web Access,并收到“Access Denied”错误信息。


安全设置1. 审核: 如果无法记录安全审核则立即关闭系统a.  背景• 审核: 如果无法记录安全审核则立即关闭系统设置确定在无法记录安全事件时是否关闭系统。如果审核系统不能记录这些事件,则可信计算机安全评估标准 (TCSEC) 方案的 C2 评估和信息技术安全评估的通用标准需要此设置以防止可审核事件。如果审核系统失败,则关闭系统,并出现停止错误信息。
• 如果计算机不能将事件记录到安全日志中,则发生安全事故后可能没有关键证据或重要的故障排除信息可供查看。

b.  危险配置
以下是一种危险配置:审核: 如果无法记录安全审核则立即关闭系统设置打开,并且 事件查看器中的安全事件日志大小受以下选项约束:不要改写事件(手动清除日志)选项、按需要覆盖事件选项、覆盖旧于 number 天的事件选项。请参见“兼容性问题的示例”一节获得有关运行最初发布的 Windows 2000、Windows 2000 Service Pack 1 (SP1)、Windows 2000 SP2 或 Windows 2000 SP3 版本的计算机的特定风险的信息。
c.  启用此设置的原因

如果计算机不能将事件记录到安全日志中,则发生安全事故后可能没有关键证据或重要的故障排除信息可供查看。
d.  禁用此设置的原因• 启用审核: 如果无法记录安全审核则立即关闭系统设置后,如果由于任何原因无法记录安全审核,则关闭系统。如果安全审核日志已满并且其指定的保留方法为不要改写事件(手动清除日志)选项或覆盖旧于 number 天的事件选项时,通常无法记录事件。
• 如果启用审核: 如果无法记录安全审核则立即关闭系统设置,则可能导致非常重的管理负担,尤其是当您还为安全日志打开了不要改写事件(手动清除日志)选项时。此设置可以追查操作员的操作。例如,管理员可以使用内置管理员帐户或其他共享帐户重置启用了审核的组织单位 (OU) 中所有用户、计算机和组上的权限,然后拒绝他们重置这些权限。但是,因为写入安全日志的大量登录事件和其他安全事件可能会使服务器不堪重负而被迫关闭,所以启用此设置确实会降低系统的稳定性。另外,因为不是正常关闭,还可能对操作系统、程序或数据造成无法修复的损坏。虽然 NTFS 可以在非正常系统关闭过程中确保文件系统的完整性得以保持,但它无法保证每个程序的每个数据文件在系统重新启动后仍处于可以使用的状态。

e.  符号名称:CrashOnAuditFail
f.  注册表路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\CrashOnAuditFail (Reg_DWORD)
g.  兼容性问题的示例• Windows 2000: 由于存在错误,运行最初发布的 Windows 2000、Windows 2000 SP1、Windows 2000 SP2 或 Windows SP3 版本的计算机可能在达到最大日志文件大小选项中指定的安全事件日志大小之前就停止记录事件。此错误在 Windows 2000 Service Pack 4 (SP4) 中得到修复。在考虑启用此设置之前,确保您的 Windows 2000 域控制器安装了 Windows 2000 Service Pack 4。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
312571 (http://support.microsoft.com/kb/312571/) 事件日志在达到最大日志大小前停止记录事件  
• Windows 2000、Windows Server 2003:如果打开了审核: 如果无法记录安全审核则立即关闭系统设置,在安全日志已满并且不能覆盖现有事件日志项的情况下,运行 Windows 2000 或 Windows Server 2003 的计算机可能停止响应,然后自行重新启动。当计算机重新启动后,出现以下停止错误信息:

STOP:C0000244 {Audit Failed}
An attempt to generate a security audit failed.
要进行恢复,管理员必须登录,对安全日志进行存档(可选),清除安全日志,然后重置此选项(可选,根据需要进行)。  
• 用于 MS-DOS、Windows 95、Windows 98、Windows NT 4.0、Windows 2000、Windows XP、Windows Server 2003 的 Microsoft 网络客户端:尝试登录到域的非管理员会收到以下错误信息:

Your account is configured to prevent you from using this computer.Please try another computer.
有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
160783 (http://support.microsoft.com/kb/160783/) 错误信息:Users cannot log on to a workstation(用户无法登录到工作站)  
• Windows 2000: 在基于 Windows 2000 的计算机上,非管理员无法登录到远程访问服务器,并且收到类似于以下内容的错误信息:

Unknown user or bad password
有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
285665 (http://support.microsoft.com/kb/285665/) 错误信息:Your account is configured to prevent you from using this computer(您的帐户配置为阻止您使用该计算机)
.
• Windows 2000: 在 Windows 2000 域控制器上,站点间消息服务 (Ismserv.exe) 停止而且无法重新启动。DCDIAG 会将此错误报告为“failed test services ISMserv”,并在事件日志中记录事件 ID 1083。
• Windows 2000: 在 Windows 2000 域控制器上,如果安全事件日志已满,则 Active Directory 复制失败并出现“Access Denied”错误信息。
• Microsoft Exchange 2000: 运行 Exchange 2000 的服务器无法装入信息存储数据库,事件日志中记录事件 2102。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
314294 (http://support.microsoft.com/kb/314294/) XADM:由于 SeSecurityPrivilege 权限和策略测试问题而产生 Exchange 2000 错误信息  
• Outlook、Outlook Web Access: 非管理员无法通过 Microsoft Outlook 或 Microsoft Outlook Web Access 访问他们的邮件,并且收到 503 错误。


2. 域控制器:LDAP 服务器签名要求a.  背景

域控制器:LDAP 服务器签名要求安全设置确定轻型目录访问协议 (LDAP) 服务器是否需要 LDAP 客户端协商数据签名。此策略设置的可能值包括: • 无: 绑定到服务器不需要数据签名。如果客户端请求数据签名,则服务器将支持它。
• 要求签名: 除非正在使用传输层安全/安全套接字层 (TLS/SSL),否则必须协商 LDAP 数据签名选项。
• 未定义: 未启用或禁用此设置。

b.  危险配置
以下是危险配置: • 在客户端不支持 LDAP 签名或未启用客户端 LDAP 签名的环境中,启用要求签名
• 在客户端不支持 LDAP 签名或未启用客户端 LDAP 签名的环境中应用 Windows 2000 或 Windows Server 2003 Hisecdc.inf 安全模板
• 在客户端不支持 LDAP 签名或未启用客户端 LDAP 签名的环境中应用 Windows 2000 或 Windows Server 2003 Hisecws.inf 安全模板

c.  启用此设置的原因

未经签名的网络通信容易受到中间人 (man-in-the-middle) 攻击,入侵者可以捕获客户端和服务器之间的数据包,修改数据包,然后将它们转发到服务器。当此行为发生在 LDAP 服务器上时,攻击者会导致服务器基于来自 LDAP 客户端的错误查询进行决策。您可以降低企业网络中的这种风险,方法是实施严格的物理安全措施以帮助保护网络基础结构。Internet 协议安全 (IPSec) 身份验证标头模式可以使发动 man-in-the-middle 攻击非常困难。身份验证标头模式为 IP 通信执行相互身份验证和数据包完整性。
d.  禁用此设置的原因• 如果协商了 NTLM 身份验证而且在 Windows 2000 域控制器上没有安装正确的 Service Pack,则不支持 LDAP 签名的客户端无法对域控制器和全局编录执行 LDAP 查询。
• 客户端和服务器间 LDAP 通信的网络跟踪会被加密,从而使检查 LDAP 对话变得困难。
• 如果用支持 LDAP 签名的程序管理基于 Windows 2000 的服务器,并且这些程序是从运行 Windows 2000 SP4、Windows XP 或 Windows Server 2003 的客户机运行的,则基于 Windows 2000 的服务器必须装有 Windows 2000 Service Pack 3 (SP3) 或更高版本。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
325465 (http://support.microsoft.com/kb/325465/) 使用 Windows Server 2003 管理工具时 Windows 2000 域控制器需要 SP3 或更高版本  

e.  符号名称:LDAPServerIntegrity
f.  注册表路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters\LDAPServerIntegrity (Reg_DWORD)
g.  兼容性问题的示例• 简单绑定会失败,您会收到以下错误信息:

Ldap_simple_bind_s() failed:Strong Authentication Required.
• Windows 2000 Service Pack 4、Windows XP、Windows Server 2003: 在运行 Windows 2000 SP4、Windows XP 或 Windows Server 2003 的客户端上,当协商 NTLM 身份验证时,如果域控制器运行的是低于 Windows 2000 SP3 的版本,某些 Active Directory 管理工具不能对该域控制器执行正常操作。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
325465 (http://support.microsoft.com/kb/325465/) 使用 Windows Server 2003 管理工具时 Windows 2000 域控制器需要 SP3 或更高版本  
• Windows 2000 Service Pack 4、Windows XP、Windows Server 2003: 在运行 Windows 2000 SP4、Windows XP 或 Windows Server 2003 的客户端上,如果域控制器运行的是低于 Windows 2000 SP3 的版本,而以该域控制器为目标的某些 Active Directory 管理工具使用的是 IP 地址(例如“dsa.msc /server=x.x.x.x”,其中 x.x.x.x 是 IP 地址),这些管理工具无法执行正常操作。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
325465 (http://support.microsoft.com/kb/325465/) 使用 Windows Server 2003 管理工具时 Windows 2000 域控制器需要 SP3 或更高版本  
• Windows 2000 Service Pack 4、Windows XP、Windows Server 2003: 在运行 Windows 2000 SP4、Windows XP 或 Windows Server 2003 的客户端上,如果域控制器运行的是低于 Windows 2000 SP3 的版本,以该域控制器为目标的某些 Active Directory 管理工具无法执行正常操作。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
325465 (http://support.microsoft.com/kb/325465/) 使用 Windows Server 2003 管理工具时 Windows 2000 域控制器需要 SP3 或更高版本  


3. 域成员: 需要强(Windows 2000 或以上版本)会话密钥a.  背景• 域成员: 需要强(Windows 2000 或以上版本)会话密钥设置确定是否可以与不能用 128 位强会话密钥对安全通道通信进行加密的域控制器建立安全通道。启用此设置可以防止与不能用强密钥对安全通道数据进行加密的域控制器建立安全通道。禁用此设置则允许 64 位会话密钥。  
• 成员所属的域中的所有域控制器必须能够用 128 位强密钥对安全通道数据进行加密,然后方可在成员工作站或服务器上启用此设置。这意味着所有这些域控制器必须都运行 Windows 2000 或更高版本。

b.  危险配置

启用域成员: 需要强(Windows 2000 或以上版本)会话密钥设置是一种危险配置。
c.  启用此设置的原因• Windows 2000 中用于在成员计算机和域控制器之间建立安全通道通讯的会话密钥比更早版本的 Microsoft 操作系统中使用的会话密钥安全性更高。
• 应该尽可能利用这些更强的会话密钥以便协助保护安全通道通信免遭窃听 和会话劫持网络的攻击,这是一个不坏的主意。窃听 是恶意攻击的形式之一,网络数据会在传输过程中被读取或更改。数据可能被修改以隐藏或更改发送方,或被重定向。

d.  禁用此设置的原因

域中包含一些不运行 Windows 2000、Windows XP 或 Windows Server 2003 操作系统的成员计算机。
e.  符号名称:StrongKey
f.  注册表路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters\RequireStrongKey (Reg_DWORD)
g.  兼容性问题的示例

Windows NT 4.0: 在基于 Windows NT 4.0 的计算机上,用 NLTEST 重置 Windows NT 4.0 域和 Windows 2000 域间信任关系的安全通道的尝试失败,出现“Access Denied”错误信息:
主域和受信域间的信任关系失败。

4. 域成员: 对安全通道数据进行数字加密或签名(总是)a.  背景• 启用域成员: 对安全通道数据进行数字加密或签名(总是)可以防止与不能对所有安全通道数据进行签名或加密的任何域控制器建立安全通道。为了协助保护身份验证通信免遭介入者攻击、重放攻击和其他类型的网络攻击,基于 Windows 的计算机通过 Net Logon 服务创建称为安全通道的通信通道,以便对计算机帐户进行身份验证。当一个域中的用户连接到远程域中的网络资源时也使用安全通道。这种多域身份验证,或称传递身份验证,允许已加入某个域的 Windows 计算机访问该域及任何受信任域中的用户帐户数据库。  
• 要在成员计算机上启用域成员: 对安全通道数据进行数字加密或签名(总是)设置,该成员所属的域中的所有域控制器必须能够对所有安全通道数据进行签名或加密。这意味着所有这些域控制器都必须运行于装有 Service Pack 6a (SP6a) 的 Windows NT 4.0 或更高版本之上。
• 如果启用域成员: 对安全通道数据进行数字加密或签名(总是)设置,则会自动启用域成员: 对安全通道数据进行数字加密或签名(如果可能)设置。

b.  危险配置
在并非所有域控制器都可对安全通道数据进行签名和加密的域中,启用域成员: 对安全通道数据进行数字加密或签名(总是)设置是一种危险配置。
c.  启用此设置的原因

未经签名的网络通信容易受到 man-in-the-middle 攻击,入侵者可以捕获服务器和客户端之间的数据包,对数据包进行修改,然后将它们转发到客户端。当此行为发生在轻型目录访问协议 (LDAP) 服务器上时,入侵者会导致客户端基于 LDAP 目录中的错误记录进行决策。您可以降低企业网络遭受这种攻击的风险,方法是实施严格的物理安全措施以帮助保护网络基础结构。另外,实施 Internet 协议安全 (IPSec) 身份验证标头模式可以使发动各种 man-in-the-middle 攻击非常困难。此模式为 IP 通信执行相互身份验证和数据包完整性。
d.  禁用此设置的原因• 本地或外部域中的计算机支持加密的安全通道。
• 并非域中所有的域控制器都具有适当的 Service Pack 版本级别来支持加密的安全通道。

e.  符号名称:StrongKey
f.  注册表路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters\RequireStrongKey (REG_DWORD)
g.  兼容性问题的示例• Windows NT 4.0: 基于 Windows 2000 的成员计算机无法加入 Windows NT 4.0 域,并收到以下错误信息:

The account is not authorized to log in from this station.
有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
281648 (http://support.microsoft.com/kb/281648/) 错误信息:The account is not authorized to login from this station(帐户未被授权从此工作站登录)  
• Windows NT 4.0: Windows NT 4.0 域无法与 Windows 2000 域建立下级信任,并收到以下错误信息:

The account is not authorized to log in from this station.
现有的下级信任可能也不能对来自受信任域的用户进行身份验证。某些用户可能很难登录到该域中,他们可能收到错误信息,指出客户端无法找到该域。
• Windows XP: 加入了 Windows NT 4.0 域的 Windows XP 客户端无法对登录尝试进行身份验证,并且可能收到以下错误信息,或者在事件日志中记录以下事件:

Windows cannot connect to the domain either because the domain controller is down or is otherwise unavailable or because your computer account was not found
- 或 -
事件 5723:从计算机 ComputerName 设置会话失败,无法进行身份验证。安全数据库中引用的帐户名称是 ComputerName。出现以下错误:拒绝访问。

- 或 -
事件 3227:因为 Server Name 不支持签名或封装 Netlogon 会话,所以域 Domain Name 的 Windows NT 或 Windows 2000 域控制器 Server Name 的会话设置失败。升级域控制器,或者将此计算机上的 RequireSignOrSeal 注册表项设置为 0。

有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
318266 (http://support.microsoft.com/kb/318266/) Windows XP 客户端无法登录到 Windows NT 4.0 域  
• Microsoft 网络: Microsoft 网络客户端收到以下错误信息之一:

Logon failure:unknown username or bad password.

There is no user session key for the specified logon session.


5. Microsoft 网络客户端:数字签名的通信(总是)a.  背景

在高安全性网络中启用数字签名有助于防止对客户端和服务器的模拟。这种类型的模拟称为会话劫持。能够访问客户端或服务器所在网络的攻击者使用会话劫持工具中断、结束或窃取正在进行的会话。攻击者可以截获并修改未经签名的子网带宽管理器 (SBM) 数据包,修改通信,然后转发该数据包,这样服务器就可能执行您不想执行的操作。或者,攻击者可能在经过合法身份验证后伪装成服务器或客户端,然后对数据进行未经授权的访问。

SMB 是许多 Microsoft 操作系统支持的资源共享协议。它是网络基本输入/输出系统 (NetBIOS) 和许多其他协议的基础。SMB 签名对用户和承载数据的服务器都进行身份验证。如果任何一方未能通过身份验证过程,则不发生数据传输。

注意:另一个有助于保护所有网络通信的对策是启用带有 IPSec 的数字签名。IPSec 加密和签名有基于硬件的加速器,可用来尽量减小来自服务器 CPU 的性能影响。而 SMB 签名没有这样的加速器。

用于运行 Windows 2000 Server、Windows 2000 Professional、Windows XP Professional 或 Windows Server 2003 的计算机中文件共享和打印共享的 SMB 协议支持相互身份验证。相互身份验证可以防止会话劫持攻击并支持消息身份验证。因此,它可以防止 man-in-the-middle 攻击。SMB 签名通过在每个 SMB 中放置数字签名来提供这种身份验证。随后客户端和服务器都会验证该签名。
b.  危险配置

以下是一种危险配置:将 Microsoft 网络客户端: 数字签名的通信(总是)设置和 Microsoft 网络客户端: 数字签名的通信(若服务器同意)设置同时保留为“未定义”,或将它们同时禁用。这些设置允许重定向器在身份验证过程中将纯文本密码发送到不支持密码加密的非 Microsoft SMB 服务器。
c.  启用此设置的原因

启用 Microsoft 网络客户端: 数字签名的通信(总是)要求客户端在与不需要 SMB 签名的服务器联系时对 SMB 通信进行签名,从而使客户端不易受到会话劫持攻击。
d.  禁用此设置的原因• 启用 Microsoft 网络客户端: 数字签名的通信(总是)可以防止客户端与不支持 SMB 签名的目标服务器进行通信
• 配置计算机忽略所有未经签名的 SMB 通信可以防止较早的程序和操作系统进行连接。

e.  符号名称:RequireSMBSignRdr
f.  注册表路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters\RequireSecuritySignature
g.  兼容性问题的示例• Windows NT 4.0: 无法使用 NLTEST 或 NETDOM 重置 Windows Server 2003 域和 Windows NT 4.0 域间信任的安全通道,并且收到“Access Denied”错误信息。  
• Windows XP: 如果将文件从 Windows XP 客户端复制到基于 Windows 2000 的服务器和基于 Windows Server 2003 的服务器,则可能要花更长的时间。  
• 您无法映射启用了此设置的客户端中的网络驱动器,并且收到以下错误信息:

The account is not authorized to log in from this station.


6. Microsoft 网络服务器:数字签名的通信(总是)a.  背景• 启用数字签名有助于防止对客户端和服务器的模拟。在这种类型的模拟(称为会话劫持)中,能够访问客户端或服务器所在网络的攻击者利用工具拦截、结束或窃取正在进行的会话。攻击者可以截获并修改未经签名的 SMB 数据包,修改通信,然后将其转发到服务器以执行您不想执行的操作。或者,攻击者可能在经过合法身份验证后伪装成服务器或客户端,然后对数据进行未经授权的访问。

SMB 是许多 Microsoft 操作系统支持的资源共享协议;它是网络基本输入/输出系统 (NetBIOS) 和许多其他协议的基础。SMB 签名对用户和承载数据的服务器都进行身份验证。如果任何一方未能通过身份验证过程,则不发生数据传输。
• 另一个可用来保护所有网络通信的对策是启用带有 IPSec 的数字签名。IPSec 加密和签名有基于硬件的加速器,可用来尽量减小来自服务器 CPU 的性能影响。而 SMB 签名没有这样的加速器。

b.  危险配置

以下是一种危险配置:在本地或外部域中,由不兼容的 Windows 操作系统和第三方操作系统客户机访问时,在服务器和域控制器上启用 Microsoft 网络服务器:数字签名的通信(总是)设置。
c.  启用此设置的原因• 直接通过注册表或通过组策略设置启用此设置的所有客户机都支持 SMB 签名。换句话说,启用了此设置的所有客户机运行 Windows 95(安装了 DS 客户端)、Windows 98、Windows NT 4.0、Windows 2000、Windows XP Professional 或 Windows Server 2003。
• 如果禁用了 Microsoft 网络服务器: 数字签名的通信(总是),则完全禁用 SMB 签名。完全禁用所有 SMB 签名将使计算机更容易受到会话劫持攻击。

d.  禁用此设置的原因• 启用此设置可能导致客户机上文件复制速度更慢和网络性能降低。
• 启用此设置将阻止无法协商 SMB 签名的客户端与服务器和域控制器进行通信。这会导致某些操作(例如域加入、用户和计算机身份验证或者程序对网络的访问)失败。

e.  符号名称:RequireSMBSignServer
f.  注册表路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanManServer\Parameters\RequireSecuritySignature (REG_DWORD)
g.  兼容性问题的示例• Windows 95: 未安装目录服务 (DS) 客户端的 Windows 95 客户端无法成功通过登录身份验证,并收到以下错误信息:

The domain password you supplied is not correct, or access to your logon server has been denied.
有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
811497 (http://support.microsoft.com/kb/811497/) Windows 95 或 Windows NT 4.0 客户端登录到 Windows Server 2003 域时出现的错误信息  
• Windows NT 4.0: 运行版本低于 Windows NT 4.0 Service Pack 3 (SP3) 的客户机无法成功通过登录身份验证,并收到以下错误信息:

The system could not log you on.Make sure your username and your domain are correct, then type your password again.
• 以下客户端与 Microsoft 网络服务器: 数字签名的通信(总是)设置不兼容: • Apple Computer, Inc.,Mac OS X 客户端
• Microsoft MS-DOS 网络客户端(例如,Microsoft LAN Manager)
• Microsoft Windows for Workgroups 客户端
• 未安装 DS 客户端的 Microsoft Windows 95 客户端
• 未安装 SP3 或更高版本的 Microsoft Windows NT 4.0 计算机
• Novell Netware 6 CIFS 客户端
• 不支持 SMB 签名的 SAMBA SMB 客户端



7. 网络访问:允许匿名 SID/名称转换 a.  背景

网络访问:允许匿名 SID/名称转换安全设置确定匿名用户是否可以请求另一用户的安全标识号 (SID) 属性。
b.  危险配置

启用网络访问:允许匿名 SID/名称转换设置是一种危险配置。
c.  启用此设置的原因

如果禁用网络访问:允许匿名 SID/名称转换设置,较早的操作系统或应用程序可能无法与 Windows Server 2003 域进行通信。例如,以下操作系统、服务或应用程序可能无法工作: • 基于 Windows NT 4.0 的“远程访问服务”服务器
• 在基于 Windows NT 3.x 或基于 Windows NT 4.0 的计算机上运行的 Microsoft SQL Server
• Windows NT 3.x 域或 Windows NT 4.0 域中的 Windows 2000 计算机上运行的远程访问服务
• Windows NT 3.x 域或 Windows NT 4.0 域中基于 Windows 2000 的计算机上运行的 SQL Server
• Windows NT 4.0 资源域中要向包含 Windows Server 2003 域控制器的帐户域中的用户帐户授予访问文件、共享文件夹和注册表对象权限的用户

d.  禁用此设置的原因

如果启用此设置,恶意用户可能使用已知的管理员 SID 获得内置管理员帐户的真实名称,即使该帐户已重命名。然后,此人可以使用该帐户名发动密码猜测攻击。
e.  符号名称: N/A
f.  注册表路径: 无。该路径用 UI 代码指定。
g.  兼容性问题的示例

Windows NT 4.0: 如果用驻留在包含 Windows Server 2003 域控制器的帐户域中的安全主体对资源(包括共享文件夹、共享文件和注册表对象)进行保护,则 Windows NT 4.0 资源域中的计算机将在 ACL 编辑器中显示“Account Unknown”错误信息。

8. 网络访问:不允许 SAM 帐户的匿名枚举a.  背景• 网络访问:不允许 SAM 帐户的匿名枚举设置确定为了能够匿名连接到计算机,需要授予哪些权限。Windows 允许匿名用户执行某些活动,例如枚举域安全帐户管理器 (SAM) 帐户和网络共享的名称。在某些情况下这很方便,例如,在管理员要授予对不维护可逆信任的受信任域中的用户的访问权限时。默认情况下,匿名用户具有的访问权限与对特定资源的 Everyone 组授予的权限相同。
• 此设置对域控制器没有影响。
• 在 Windows 2000 中,一个类似的设置对匿名连接的额外限制管理 RestrictAnonymous 注册表值。该值的位置是:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA
.  

b.  危险配置:

从兼容性角度来讲,启用网络访问:不允许 SAM 帐户的匿名枚举设置是一种危险配置;但从安全性角度来讲,禁用此设置是一种危险配置。
c.  启用此设置的原因

未经授权的用户可以匿名列出帐户名,然后使用这些信息猜测密码或发动社交工程 (social engineering) 攻击。社交工程 是一个术语,指以欺骗手段使人们泄漏他们的密码或某些形式的安全信息。
d.  禁用此设置的原因

如果启用此设置,则无法与 Windows NT 4.0 域建立信任。此设置还将导致下级客户端(例如尝试使用服务器上资源的 Windows NT 3.51 客户端和 Windows 95 客户端)出现问题。
e.  符号名称:RestrictAnonymousSAM
f.  注册表路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\RestrictAnonymousSAM (Reg_DWORD)
g.  兼容性问题的示例
• SMS Network Discovery(SMS 网络发现)无法获得操作系统信息,并在 OperatingSystemNameandVersion 属性中写入“Unknown”。
• Windows 95、Windows 98: Windows 95 客户端和 Windows 98 客户端无法更改其密码。
• Windows NT 4.0: 基于 Windows NT 4.0 的成员计算机无法通过身份验证。
• Windows 95、Windows 98: 基于 Windows 95 和基于 Windows 98 的计算机无法通过 Microsoft 域控制器的身份验证。
• Windows 95、Windows 98: 基于 Windows 95 和基于 Windows 98 的计算机上的用户无法更改其用户帐户的密码。

9. 网络访问:不允许 SAM 帐户和共享的匿名枚举a.  背景• 网络访问:不允许 SAM 帐户和共享的匿名枚举设置(也称为 RestrictAnonymous)确定是否允许安全帐户管理器 (SAM) 帐户和共享的匿名枚举。Windows 允许匿名用户执行某些活动,例如枚举域帐户(用户、计算机和组)和网络共享的名称。在某些情况下这很方便,例如,在管理员要授予对不维护可逆信任的受信任域中的用户的访问权限时。如果不想允许 SAM 帐户和共享的匿名枚举,则启用此设置。  
• 在 Windows 2000 中,一个类似的设置对匿名连接的额外限制管理 RestrictAnonymous 注册表值。该值的位置是:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA

b.  危险配置

启用网络访问:不允许 SAM 帐户和共享的匿名枚举设置是一种危险配置。
c.  启用此设置的原因• 启用网络访问:不允许 SAM 帐户和共享的匿名枚举设置可以防止使用匿名帐户的用户和计算机进行 SAM 帐户和共享的枚举。

d.  禁用此设置的原因• 如果启用此设置,未经授权的用户可以匿名列出帐户名,然后使用这些信息尝试猜测密码或发动社交工程 攻击。社交工程 是一个术语,指欺骗人们暴露他们的密码或某些形式的安全信息。
• 如果启用此设置,则无法与 Windows NT 4.0 域建立信任。此设置还将导致下级客户端(例如尝试使用服务器上资源的 Windows NT 3.51 和 Windows 95 客户端)出现问题。
• 因为信任域中的管理员不能枚举其他域中帐户的列表,所以无法授予对资源域的用户的访问权限。匿名访问文件服务器和打印服务器的用户不能列出这些服务器上的共享网络资源;用户必须先进行身份验证才可以查看共享文件夹和打印机的列表。

e.  符号名称:RestrictAnonymous
f.  注册表路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\RestrictAnonymous
g.  兼容性问题的示例• Windows NT 4.0: 当用户的域中的域控制器上启用了 RestrictAnonymous 时,用户无法从 Windows NT 4.0 工作站更改其密码。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
198941 (http://support.microsoft.com/kb/198941/) 用户在登录时无法更改密码  
• Windows NT 4.0: 在用户管理器中将用户或全局组从受信任的 Windows 2000 域添加到 Windows NT 4.0 本地组失败,出现以下错误信息:

There are currently no logon servers available to service the logon request.
有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
296405 (http://support.microsoft.com/kb/296405/) “RestrictAnonymous”注册表值可能中断对 Windows 2000 域的信任  
• Windows NT 4.0: 安装过程中或使用域加入用户界面无法将基于 Windows NT 4.0 的计算机加入域中。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
184538 (http://support.microsoft.com/kb/184538/) 错误信息:a controller for this domain could not be found(无法找到此域的控制器)  
• Windows NT 4.0: Windows NT 4.0:当受信任域上启用了 RestrictAnonymous 时,与 Windows NT 4.0 资源域建立下级信任失败,出现以下错误信息:

Could not find domain controller for this domain.
有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
178640 (http://support.microsoft.com/kb/178640/) 建立信任时无法找到域控制器  
• Windows NT 4.0: 登录到基于 Windows NT 4.0 的终端服务器计算机的用户将映射到默认主目录,而不是在用户管理器中为域定义的主目录。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
236185 (http://support.microsoft.com/kb/236185/) 应用 SP4 或更高版本后将忽略终端服务器用户配置文件和主文件夹路径  
• Windows NT 4.0: Windows NT 4.0 备份域控制器 (BDC) 无法启动 Net Logon 服务、获得备份浏览器的列表或同步同一域中 Windows 2000 或 Windows Server 2003 域控制器上的 SAM 数据库。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
293127 (http://support.microsoft.com/kb/293127/) Windows NT 4.0 BDC 的 Net Logon 服务在 Windows 2000 域中不起作用  
• Windows 2000: 如果客户机的本地安全策略中启用了没有显式匿名权限就无法访问设置,Windows NT 4.0 域中基于 Windows 2000 的成员计算机不能查看外部域中的打印机。
• Windows 2000: Windows 2000 域用户不能添加 Active Directory 中的网络打印机;但是,在树视图中选择打印机之后,他们便可以添加这些打印机了。
• Windows 2000: 在基于 Windows 2000 的计算机上,ALC 编辑器不能添加受信任 Windows NT 4.0 域中的用户或全局组。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
296403 (http://support.microsoft.com/kb/296403/) RestrictAnonymous 值中断混合域环境中的信任  
• ADMT 版本 2: 使用 Active Directory 迁移工具 (ADMT) 版本 2 在各林间迁移的用户帐户的密码迁移会失败。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
322981 (http://support.microsoft.com/kb/322981/) 如何解决在使用 ADMTv2 迁移 Inter-Forest(跨树系)密码时所出现的问题  
• Outlook 客户端: 对于 Microsoft Exchange Outlook 客户端,全球通信簿显示为空。
• SMS: Microsoft Systems Management Server (SMS) Network Discovery(网络发现)无法获得操作系统信息。因此,它将在发现数据记录 (DDR) 的 SMS DDR 属性的 OperatingSystemNameandVersion 属性中写入“Unknown”。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
229769 (http://support.microsoft.com/kb/229769/) Discovery Data Manager(发现数据管理器)如何确定何时生成客户端配置请求  
• SMS:当使用 SMS 管理员用户向导浏览用户和组时,不会列出任何用户和组。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
302413 (http://support.microsoft.com/kb/302413/) 管理员用户向导中未列出用户或组  
• SMS: 当使用 SMS 2.0 中的 Network Discovery(网络发现)功能并且在 Remote Client Installation(远程客户端安装)中打开了 Topology, client, and client operating systems(拓扑、客户端和客户端操作系统)网络发现选项时,可能会发现计算机但不能进行安装。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
311257 (http://support.microsoft.com/kb/311257/) 如果匿名连接关闭,则无法发现资源  


10. 网络安全:Lan Manager 身份验证级别a.  背景

LAN Manager (LM) 身份验证是用于验证 Windows 客户端以进行网络操作(包括域加入、访问网络资源以及用户或计算机身份验证)的协议。LM 身份验证级别确定在客户端和服务器计算机之间协商哪个质询/响应身份验证协议。确切地说,LM 身份验证级别确定客户端会尝试协商或服务器会接受哪些身份验证协议。可能的设置包括: • 发送 LM 和 NTLM 响应:客户端使用 LM 和 NTLM 身份验证并从不使用 NTLMv2 会话安全性;域控制器接受 LM、NTLM 和 NTLMv2 身份验证。
• 发送 LM 和 NTLM - 如果协商则使用 NTLMv2 会话安全性:客户端使用 LM 和 NTLM 身份验证并使用 NTLMv2 会话安全性(如果服务器支持);域控制器接受 LM、NTLM 和 NTLMv2 身份验证。
• 仅发送 NTLM 响应:客户端只使用 NTLM 身份验证并使用 NTLMv2 会话安全性(如果服务器支持);域控制器接受 LM、NTLM 和 NTLMv2 身份验证。
• 仅发送 NTLMv2 响应:客户端只使用 NTLMv2 身份验证并使用 NTLMv2 会话安全性(如果服务器支持);域控制器接受 LM、NTLM 和 NTLMv2 身份验证。
• 只发送 NTLMv2 响应/拒绝 LM:客户端只使用 NTLMv2 身份验证并使用 NTLMv2 会话安全性(如果服务器支持);域控制器拒绝 LM(它们只接受 NTLM 和 NTLMv2 身份验证)。
• 仅发送 NTLMv2 响应/拒绝 LM 和 NTLM:客户端只使用 NTLMv2 身份验证并使用 NTLMv2 会话安全性(如果服务器支持);域控制器拒绝 LM 和 NTLM(它们只接受 NTLMv2 身份验证)。
最佳做法是升级到支持 NTLMv2 的客户端和域控制器,然后启用 NTLMv2 身份验证。 有关 LM 身份验证级别的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
239869 (http://support.microsoft.com/kb/239869/) 如何启用 NTLM 2 身份验证  
b.  危险配置
以下是危险配置: • 以明文形式发送密码和拒绝 NTLMv2 协商的非限制性设置
• 阻止不兼容的客户端或域控制器协商通用身份验证协议的限制性设置  
• 要求在运行早于 Windows NT 4.0 Service Pack 4 (SP4) 版本的成员计算机和域控制器上进行 NTLMv2 身份验证
• 要求在未安装 Windows 目录服务客户端的 Windows 95 客户端或 Windows 98 客户端上进行 NTLMv2 身份验证。

c.  修改此设置的原因• 您要提高组织中客户端和域控制器支持的最低的通用身份验证协议。
• 在业务需要安全的身份验证的情况下,您希望禁止 LM 和 NTLM 协议的协商。

d.  禁用此设置的原因

已将客户端或服务器身份验证要求(或两者同时)提高到了通过通用协议不能进行身份验证的程度。
e.  符号名称:LmCompatibilityLevel
f.  注册表路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\LmCompatibilityLevel
g.  兼容性问题的示例• Windows 2000: 如果具有 NTLMv2 级别 2 或更高级别的 Windows 2000 域受 Windows NT 4.0 域的信任,则资源域中基于 Windows 2000 的成员计算机可能会遇到身份验证错误。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
305379 (http://support.microsoft.com/kb/305379/) 在 Windows NT 4.0 域信任的具有 NTLM 2 或高于 2 的级别的 Windows 2000 域中出现身份验证问题  
• Windows 2000: 如果两个节点都是 Windows NT 4.0 Service Pack 6a (SP6a) 域的一部分,则 Windows 2000 群集不能对一个加入节点进行身份验证。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
305379 (http://support.microsoft.com/kb/305379/) 在 Windows NT 4.0 域信任的具有 NTLM 2 或高于 2 的级别的 Windows 2000 域中出现身份验证问题  


11. 网络安全:LDAP 客户端签名要求 a.  背景

网络安全:LDAP 客户端签名要求设置确定代表发出轻型目录访问协议 (LDAP) BIND 请求的客户端所请求的数据签名级别,如下所示: • 无:用主叫方指定的选项发出 LDAP BIND 请求。
• 协商签名:如果尚未启动安全套接字层/传输层安全 (SSL/TLS),则除了主叫方指定的选项外,还用设置的 LDAP 数据签名选项启动 LDAP BIND 请求。如果已启动 SSL/TLS,则用主叫方指定的选项启动 LDAP BIND 请求。
• 要求签名:这与协商签名相同。但是,如果 LDAP 服务器的中间 saslBindInProgress 响应未指出需要 LDAP 通信签名,则将通知主叫方 LDAP BIND 命令请求失败。

b.  危险配置

启用网络安全:LDAP 客户端签名要求设置是一种危险配置。如果将服务器设置为需要 LDAP 签名,则还必须在客户端上配置 LDAP 签名。未配置客户端使用 LDAP 签名将阻止与服务器的通信;这将导致用户身份验证、组策略设置、登录脚本和其他功能失败。
c.  修改此设置的原因

未经签名的网络通信容易受到 man-in-the-middle 攻击,入侵者可以捕获客户端和服务器之间的数据包,修改数据包,然后将它们转发到服务器。当此行为发生在 LDAP 服务器上时,攻击者会导致服务器基于来自 LDAP 客户端的错误查询进行响应。您可以降低企业网络中的这种风险,方法是实施严格的物理安全措施以帮助保护网络基础结构。另外,通过 IPSec 身份验证标头要求所有网络数据包上的数字签名可以使发动各种 man-in-the-middle 攻击非常困难。
d.  符号名称:LDAPClientIntegrity
e.  注册表路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LDAP\LDAPClientIntegrity

12. 事件日志:安全日志最大值a.  背景

事件日志:安全日志最大值安全设置指定安全事件日志的最大大小。此日志的最大大小是 4 GB。要定位此设置,请展开“Windows 设置”,然后展开“安全设置”。
b.  危险配置

以下是危险配置: • 当启用了审核: 如果无法记录安全审核则立即关闭系统设置时限制安全日志大小和安全日志保留方法。请参见本文的“审核: 如果无法记录安全审核则立即关闭系统”一节以获得更多详细信息。
• 限制安全日志大小,以致覆盖有用的安全事件。

c.  增大此设置的原因

业务和安全需要可能要求您增大安全日志大小以处理更多的安全日志详细信息或将安全日志保留更长时间。
d.  减小此设置的原因

事件查看器日志是内存映射的文件。事件日志的最大大小受本地计算机上的物理内存量和可用于事件日志进程的虚拟内存限制。增大日志大小如果超过了可用于事件查看器的虚拟内存量,则维护的日志条目数不会增加。
e.  兼容性问题的示例

Windows 2000:如果打开了不要改写事件(手动清除日志)选项,则运行 Windows 2000 Service Pack 4 (SP4) 以前版本的计算机可能在达到事件查看器中最大日志文件大小设置指定的大小前就停止在事件日志中记录事件。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
312571 (http://support.microsoft.com/kb/312571/) 事件日志在达到最大日志大小前停止记录事件  

13. 事件日志:保留安全日志a.  背景

事件日志:保留安全日志安全设置确定安全日志的“覆盖”方法。要定位此设置,请展开“Windows 设置”,然后展开“安全设置”。
b.  危险配置

以下是危险配置: • 未能在记录的安全事件被改写前保留所有记录的安全事件
• 将安全日志最大值设置配置得太小,以致安全事件被覆盖
• 在启用审核: 如果无法记录安全审核则立即关闭系统设置时限制安全日志大小和保留方法

c.  启用此设置的原因

未经签名的网络通信容易受到 man-in-the-middle 攻击,入侵者可以捕获客户端和服务器之间的数据包,修改数据包,然后将它们转发到服务器。当此行为发生在 LDAP 服务器上时,攻击者会导致服务器基于来自 LDAP 客户端的错误查询进行响应。您可以降低企业网络中的这种风险,方法是实施严格的物理安全措施以帮助保护网络基础结构。另外,通过 IPSec 身份验证标头要求所有网络数据包上的数字签名可以使发动各种 man-in-the-middle 攻击非常困难。

14. 网络访问:让每个人(Everyone)权限应用于匿名用户a.  背景

默认情况下,网络访问:让每个人(Everyone)权限应用于匿名用户设置在 Windows 2000 中设置为未定义。默认情况下,Windows Server 2003 的 Everyone 组中不包含匿名访问令牌。
b.  兼容性问题的示例

如果 Windows Server 2003 域是帐户域,并且 Windows NT 4.0 域是资源域,则
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA\everyoneincludesanonymous
的值 [REG_DWORD]=0x0 会中断 Windows Server 2003 和 Windows NT 4.0 之间的信任创建。这种情况意味着帐户域在 Windows NT 4.0 上是受信任方,资源域在 Windows Server 2003 一侧上是信任方。发生此行为是由于初始匿名连接之后要启动信任的进程是 ACL'd,它具有包含 Windows NT 4.0 上匿名 SID 的 Everyone 令牌。
c.  修改此设置的原因

该值必须设置为 0x1,或者通过使用域控制器的 OU 上的 GPO 将该值设置为:网络访问:让每个人(Everyone)权限应用于匿名用户 - 启用以允许信任创建。

注意:对于大多数其他安全设置,要使其处于最安全的状态,都是将值上升而不是下降至 0x0。更安全的做法是在主域控制器仿真器上(而不是在所有域控制器上)更改注册表。如果由于某种原因移开了主域控制器仿真器角色,则必须在新服务器上更新注册表。

设置该值后需要重新启动。
d.  注册表路径
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA\everyoneincludesanonymous

http://support.microsoft.com/kb/823659
简单几步,让你用ADSL上网 FreeBSD ADSL 安装Go!Go!Go!

1.配置网络连接

配置ppp.conf

先登录系统,这样:
Login: root (以Root用户登录)
Password: (输入你的密码,因安全问题,这里你看不到输入的结果.)
由于是ADSL上网,配置文件是 /etc/ppp下的 ppp.conf,在 /etc/ppp 下可能已经有了 ppp.conf 也可能只有 ppp.conf.sample ,总之,我放弃使用现有的ppp.conf 从ppp.conf.sample新建一个.你可以这样做:


# rm ppp.conf (删除ppp.conf , 如果有的话)
# cp ppp.conf.sample ppp.conf
# ee ppp.conf (随自己喜好,使用 ee 或 vi )


这里把我的ppp.conf 附上,以此为范本.

#################################################################
# PPP Sample Configuration File
# Originally written by Toshiharu OHNO
# Simplified 5/14/1999 by wself@cdrom.com
#
# See /usr/share/examples/ppp/ for some examples
#
# $FreeBSD: src/etc/ppp/ppp.conf,v 1.2.2.5 2001/07/13 10:55:23 brian Exp $
#################################################################
default:
set log Phase Chat LCP IPCP CCP tun command
ident user-ppp VERSION (built COMPILATIONDATE)
# Ensure that "device" references the correct serial port
# for your modem. (cuaa0 = COM1, cuaa1 = COM2)
#
set device PPPoE:lnc0
set speed sync
set mru 1492
set mtu 1492
set ctsrts off
set timeout 30 # 3 minute idle timer (the default)
disable lqr
deny lqr
add default HISADDR
enable dns # request DNS info (for resolv.conf)
hz163: # 注意:这里的hz163是你的ISP名,要比下面的set语句多出一点(一个空格).
set authname user(把这里的user换成你的ADSL用户名)
set authkey password (把这里的password换成你的ADSL密码)
set dial
set login
set ifaddr 10.0.0.1/0 10.0.0.2/0
nat enable yes


连接网络

配置好了ppp.conf,你就成功了一半,接下来的就是输入命令、连接网络喽!


#ppp –ddial hz163

之后看看连接状态。

#ifconfig

我的结果:

lnc0: flags=8843 mtu 1500
inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
inet6 fe80::20c:29ff:fe98:25a6%lnc0 prefixlen 64 scopeid 0x1 ether 00:0c:29:98:25:a6
lp0: flags=8810 mtu 1500
lo0: flags=8049 mtu 16384
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
inet 127.0.0.1 netmask 0xff000000
ppp0: flags=8010 mtu 1500
sl0: flags=c010 mtu 552
faith0: flags=8002 mtu 1500
tun0: flags=8051 mtu 1492
inet 218.72.106.94 --> 61.174.64.21 netmask 0xffffffff
Opened by PID 54


inet后的数字部分就是:ISP分的IP地址 -> ISP的DNS服务器的IP. 这样你就上了网啦!
配置rc.conf使ADSL开机上网
想一开机就上网?简单!让我们来配置 /etc/rc.conf吧,这很简单! 就填上这几句:

ifconfig_lnc0="192.168.0.254/24"
defaultrouter="192.168.0.254"
inetd_enable="yes"
gateway_enable="yes"
ppp_enable="yes"
ppp_mode="ddial"
ppp_nat="yes"
ppp_profile="hz163"
named_enable="yes"


这几句就把FreeBSD虚拟机配置成了一NAT网关,兼软路由、BIND8名字服务器。

无线网络几乎已经是笔记型计算机上必备的规格了,无线上网也变得越来越便利。不过若是带着笔记型计算机出门远离了家里的基地台,这种时候空有无线网卡也没用!嗯,ConfigFree应该可以帮得上忙。

ConfigFree原本是一款专为Toshiba高阶笔记型计算机所开发的无线网络基地台搜寻软件。它以华丽的雷达图标来显示计算机附近是否有可用的的无线网络基地台,包括基地台强度、频道等数据都会显示出来;扫描时还有声纳的音效,真的是酷到不行!

原本只有Toshiba厂牌的高阶笔记型计算机才能使用ConfigFree,不过现在只要在注册表中动一些手脚,就可以让所有厂牌的笔电都能用了!方法是:先安装ConfigFree,然后开启注册表编辑器将
「HKEY_LOCAL_MACHINE\SOFTWARE\TOSHIBA\ConfigFree」里的「InstCheck」字符串值从原本数值 "0" 改成 "1",就能在其它厂牌的笔记型计算机上使用了!

http://www.crsky.com/soft/5786.html
用bandwidthd进行网络流量检测和分析


在流量统计软件中有MRTG,NTOP,BANDWIDTHD等多种,
MRTG 只是显示某一网络接口的总量,
NTOP详细得来也很占系统资源.
但不知道大家用过bandwidthd没有,我就很喜欢它,因为它精简,直观.很容易配置.
好处:在任何一台电脑可以通过web界面用浏览器查看经过网关的各个ip流量,而且是分协议,分颜色显示,已经有直观的图象曲线.

在日常维护中, 网管人员最头痛的是内部网经常有人在大量传送文件而导致本来可怜的带宽变得更加狼狈.如果在网关上装上'bandwidthd' ,就可以追踪的是各个的 IP 的流量,而且可以用图象曲线显示各个ip的相应不同协议显示,还能分时段查看
例如包含HTTP, TCP, UDP, ICMP, VPN 以及 P2P 协议的各自流量,以ip为统计对象.
默认的颜色,TCP为绿色;HTTP为蓝色;FTP为浅蓝;P2P为粉红;UDP为棕褐色; ICMP为红色 . 打了补丁还可以增加你想检测端口.

例子:
http://bandwidthd.sourceforge.net/demo/

安装 bandwidthd 很简单.
1.条件:要先安装有以下库:
如果没有请到相关网址下载:
libpcap 相关网址 http://www.tcpdump.org/
libpng相关网址(http://www.libpng.org/
gd相关网址 http://www.boutell.com/gd/
系统须有支持 System V IPC (基本上Linux都有)

RedHat 9.0 自带的rpm包也可以,要装有下面的包:
gd-1.8.4-4
gd-devel-1.8.4-4
libpng-1.2.2-16
libpng-devel-1.2.2-16
libpcap-0.7.2-1
分别执行 rpm -ivh 软件包 进安装即可.

2.下载: up/bandwidthd-2.0.1-binary-windows.zip
bandwidthd原始网址如下:
http://bandwidthd.sourceforge.net/
里面有下载地址的连接,目前最新的版本是 bandwidthd 1.2.1b
下载bandwidthd-1.2.1b.tgz 放在/home/中(这个目录是我的习惯而已).
2.1.也下载一个补丁吧,这个补丁可以增加检测端口的,所以在这里还是先补了再安装.
在相关补丁(patchs)的连接里有这样一个补丁:
http://sourceforge.net/tracker/index.php?func=deta...
下载bandwidthd-cp3-1.2.1b.patch.gz 也放在/home/中
这是为bandwidthd 1.2.1b所用的.
解压为bandwidthd-cp3-1.2.1b.patch




3. 安装
把bandwidthd-cp3-1.2.1b.patch放在bandwidthd-1.2.1b目录同一级.
3.1 tar -xvzf bandwidthd-1.2.1b.tgz
显示:
[root@mail bandwidthd]# tar zxvf bandwidthd-1.2.1b.tgz
bandwidthd-1.2.1b/
bandwidthd-1.2.1b/etc/
bandwidthd-1.2.1b/etc/bandwidthd.conf
bandwidthd-1.2.1b/CHANGELOG
bandwidthd-1.2.1b/Makefile
bandwidthd-1.2.1b/Makefile.BSD
bandwidthd-1.2.1b/Makefile.Solaris
bandwidthd-1.2.1b/README
bandwidthd-1.2.1b/TODO
bandwidthd-1.2.1b/bandwidthd-0.4.kdevprj
bandwidthd-1.2.1b/bandwidthd.c
bandwidthd-1.2.1b/bandwidthd.h
bandwidthd-1.2.1b/conf.l
bandwidthd-1.2.1b/conf.y
bandwidthd-1.2.1b/graph.c
bandwidthd-1.2.1b/htdocs/
bandwidthd-1.2.1b/htdocs/index.html
bandwidthd-1.2.1b/htdocs/legend.gif
bandwidthd-1.2.1b/htdocs/logo.gif
bandwidthd-1.2.1b/htdocs/index2.html
bandwidthd-1.2.1b/htdocs/index3.html
bandwidthd-1.2.1b/htdocs/index4.html
bandwidthd-1.2.1b/conf.tab.c
bandwidthd-1.2.1b/conf.tab.h
bandwidthd-1.2.1b/conf.l.c
3.2 cd bandwidthd-1.2.1b
3.3 执行补丁: patch -p1 < ../bandwidthd-cp3-1.2.1b.patch
显示:
[root@mail bandwidthd-1.2.1b]# patch -p1 < ../bandwidthd-cp3-1.2.1b.patch
patching file bandwidthd-0.4.kdevprj
patching file bandwidthd.c
patching file bandwidthd.h
patching file conf.l
patching file conf.y
patching file etc/bandwidthd.conf
patching file etc/bandwidthd.conf.orig
patching file graph.c
patching file Makefile
patching file Makefile.BSD
patching file Makefile.Solaris
patching file tables.c
patching file tables.h

3.4 执行 make install
显示:
[root@mail bandwidthd-1.2.1b]# make install
cc -I/usr/local/include -O3 -Wall -c -o bandwidthd.o bandwidthd.c
cc -I/usr/local/include -O3 -Wall -c -o graph.o graph.c
bison -d conf.y
cc -I/usr/local/include -O3 -Wall -c -o conf.tab.o conf.tab.c
lex -s -i -t -I conf.l > conf.l.c
cc -O3 -c -o conf.l.o conf.l.c
cc -I/usr/local/include -O3 -Wall -c -o tables.o tables.c
cc -I/usr/local/include -O3 -Wall bandwidthd.o graph.o conf.tab.o conf.l.o tables.o -o bandwidthd -L/usr/local/lib -lgd -lpng -lpcap
if [ ! -d /usr/local/bandwidthd/etc ] ; then mkdir -p /usr/local/bandwidthd/etc ; fi
if [ ! -d /usr/local/bandwidthd/htdocs ] ; then mkdir -p /usr/local/bandwidthd/htdocs ; fi
cp bandwidthd /usr/local/bandwidthd
if [ ! -f /usr/local/bandwidthd/etc/bandwidthd.conf ] ; then cp etc/bandwidthd.conf /usr/local/bandwidthd/etc/ ; fi
cp htdocs/legend.gif /usr/local/bandwidthd/htdocs/
cp htdocs/logo.gif /usr/local/bandwidthd/htdocs/

3.5 至此即已安装完成,它会将 bandwidthd 安装 至 /usr/local/bandwidthd 下

4. 设定 ,配置bandwidthd.conf
bandwidthd 的设定也很简单,一个配置文件搞定,
一般修改一下网段和掩码,其他的用默认值即可,如果你熟悉英文,就看看其他选项.大概如下
编辑:
/usr/local/bandwidthd/etc/bandwidthd.conf
####################################################
# Bandwidthd.conf
#
# Commented out options are here to provide
# documentation and represent defaults

# Subnets to collect statistics on
#subnet 10.0.0.0 255.0.0.0
#subnet 208.16.191.0 255.255.255.0
subnet 192.168.1.250 255.255.255.0 #以一网段为例
# Device to listen on
dev "eth0" #(这是你要检测的网卡,可以调整为对应的网络连接设备)
把其中 subnet 的设定,以一网段为例:
subnet 192.168.1.0 255.255.255.0
###################################################
# Options that don't usually get changed
# An interval is 2.5 minutes, this is how many
# intervals to skip before doing a graphing run
#skip_intervals 0 #默间隔认2.5 minutes 刷新

# Graph cutoff is how many k must be transfered by an
# ip before we bother to graph it
#graph_cutoff 1024 #默间1M 以上的流量才有图形

#Put interface in promiscuous mode to score to traffic
#that may not be routing through the host machine.
#promiscuous true #让网卡在混杂模式中记录

#Log data to cdf file htdocs/log.cdf 在bandwidthd中生成log2.cdf log.cdf格式数据记录
output_cdf true

#Read back the cdf file on startup 在启动bandwidth时重新读取cdf的数据
recover_cdf true

#Libpcap format filter string used to control what bandwidthd see's
#Please always include "ip" in the string to avoid strange problems
#以ip为过滤对象
filter "ip"

#Draw Graphs
graph true

#以下是我打了补丁bandwidthd-cp3-1.2.1b.patch才有的,
# List of controled protocols
# format: item "item_name" rgb_color protocol ports 这是记录的格式:端口名字,RGB颜色,端口号
# obs.: The yellow (0xffff00) color is predefined to the "TOTAL" item 黄色预设为TOTAL的颜色
item "TCP" 0x00ff00 tcp all
item "HTTP" 0x0000ff tcp 80 443
item "FTP" 0xc0c0ff tcp 20 21
item "P2P" 0xff00ff tcp 1044 1045 1214 4661 4661 4665 5190 5500 5501 5502 5503 6346 6347 6666 6667 7788 8888 8889 28864 288
65
item "UDP" 0x800000 udp all
item "ICMP" 0xff0000 icmp all
item "SMTP" 0xFF8C00 tcp 25
item "POP3" 0x00FFFF tcp 110

其中SMTP和POP3是我为了更详细的数据流而增加上去的.你也可以增加你想检测的端口,这就是为何我推荐打这个补丁再安装的原因.
存盘之后,便可执行。
5. 运行 ,要先转到安装目录才能执行
cd /usr/local/bandwidthd
./bandwidthd
6. 显示:
在web 主目录下做个软连接,执行
ln -s /usr/local/bandwidthd/htdocs bandwidthd
接着您便可用 http://你的主机/bandwidthd

这样就可以在浏览器里面检测你需要的流量了

另外,更多配置方法:
1. 把设定档中的 dev 增加更多的dev,或设成 any 可以监控更多设备
2. 如果认为TOP20太少了,
就在还没MAKE时候先改graph.c
graph.c中查找
for (Counter=0; Counter < 21 && Counter < NumIps; Counter++)
把21改成101
就变成TOP100
然后查找TOP20改为字符串TOP100
然后存盘,再make install 即可.

此方法我已经实践通过,特意写成文档,以分享并感谢提供bandwidthd的开发者,如果觉得有更好的配置和使用方法,请互相交流. 如果有误请赐教.我的yahoo ID kindgeorge#yahoo.com
Msn : kindgeorge # hotmail.com
本bandwidthd进行网络流量检测和分析如果结合tc+iptables进行流量控制,是一个绝妙的组合. 这样你就可以随时检测和控制网内所有机器及端口的流量了.
关于tc+iptables可以参考http://bbs.chinaunix.net/forum/viewtopic.php?t=482...

更多的bandwidthd可以参考: http://free.tnc.edu.tw/modules/news/article.php?st...

分页: 6/26 第一页 上页 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]