Archive for 2007年11月13日


  如果极端地划分,中国企业家可以分为二大类:

  一类是“土佬冒”,或叫“土鳖”,也就是“技术含量低”的这一类。这一类属于经验主义,没有大方向,也没有大画面,就是外国人说的缺乏Vision。但他们不固执,摸着石头过河,摸着石头了就往前走一步,摸不着石头,不知水深水浅时就另寻他途。这类企业家很容易成为机会主义。但千千万万这样“技术含量不高”的企业家用这种办法成功了。中国在世界经济的影响力,“中国制造”现象就是从这样一大批企业家手里产生的,他们的生命力惊人的顽强,可以在任何艰苦,恶劣的环境下生存。不光在中国的土地上,在世界各个角落都能看到他们的身影。最简单的就是开一个中餐馆,等待机会,慢慢起步。就是开一个小小的餐馆,也能自食其力,养活自己和家人。

  与这一类企业家相反的是另一类,高学历,以“海龟”为代表,技术含量高,走南闯北,见多识广,不光会讲中文,英文、法文也都会。他们是最早走向国际的一批精英,给中国的开放带来了新的气息。但他们中的有些人自认为学习到了所有知识,参透了世界上所有的奥秘,最常用的词是“世界将因我们改变”,“我们为人类提供新的生活方式”。对未来中国、世界几十年的走向讲得一清二楚,对股价、汇价、房价等走势的预测可以精确到小数点后几位。这一类企业家在现实生活中却常常碰得头破血流。这类人才如果没成为企业家,成为经济学家,预测结果常常与现实结果完全相反,他们也只能用“市场不成熟”,“有泡沫”,“人们不理智”来为自己的预测结果辩解。如果说第一类企业家是经验主义的话,这类企业家就是教条主义。借用毛主席说过的一段话就是:教条主义给中国革命带来的损失比经验主义严重得多,教条主义让中国革命的力量在白区损失了100%,在红区损失了90%以上。为什么会是这种结果呢?因为中国的革命和中国的市场非常繁杂,是一个庞大、复杂的系统,任何人都不能100%地去掌握,还有许多未知的领域。就算最有知识的人、最聪明的人,也有自己不知道的盲区和自己不知道的东西。

  当代企业家应该具备什么样的素质?这与时代背景有关,与这个时代需要什么样的企业有关。在计划经济时代,只有厂长,没有企业家,这种经济形式给我们带来了无尽的贫穷和落后。在资本主义初期,企业家创造财富的同时,也带来了贫困,不在本国制造贫困,就把贫困输出到别的国家去,这是马克思当年总结的观点,在今天看来还是适用的。那么,符合人类新文明的新的企业形态将会在什么样的国家诞生?不可能在欧洲,不可能在美国,也不可能在非洲,能在中国诞生?这种新的企业形态,要在创造物质财富的同时,关注精神财富的与物质财富的平衡发展,要关注公平、正义,关注和谐平衡的发展。新的企业形态对企业家提出了新的要求,他们既要有第二类企业家的远见、知识和理想,也要有第一类企业家的务实精神,要尊重未知的领域。两者都不能走极端,正确的道路是中庸之道。

  在频频恶意攻击用户、系统漏洞层出不穷的今天,作为网络管理员、系统管理员虽然在服务器的安全上都下了不少功夫,诸如及时打上系统安全补丁、进行一些常规的安全配置,但有时仍不安全。因此必须恶意用户入侵之前,通过一些系列安全设置,来将入侵者们挡在“安全门”之外,下面就将最简单、最有效的防(Overflow)溢出、本地提供权限攻击类的解决办法给大家分享。

  一、如何防止溢出类攻击
  1、尽最大的可能性将系统的漏洞补丁都打完,最好是比如Microsoft Windows Server系列的系统可以将自动更新服务打开,然后让服务器在您指定的某个时间段内自动连接到Microsoft Update网站进行补丁的更新。如果您的服务器为了安全起见 禁止了对公网外部的连接的话,可以用Microsoft WSUS服务在内网进行升级。

  2、停掉一切不需要的系统服务以及应用程序,最大限能的降底服务器的被攻击系数。比如前阵子的MSDTC溢出,就导致很多服务器挂掉了。其实如果WEB类服务器根本没有用到MSDTC服务时,您大可以把MSDTC服务停掉,这样MSDTC溢出就对您的服务器不构成任何威胁了。

  3、启动TCP/IP端口的过滤,仅打开常用的TCP如21、80、25、110、3389等端口;如果安全要求级别高一点可以将UDP端口关闭,当然如果这样之后缺陷就是如在服务器上连外部就不方便连接了,这里建议大家用IPSec来封UDP。在协议筛选中"只允许"TCP协议(协议号为:6)、UDP协议(协议号为:17)以及RDP协议(协议号为:27)等必需用协议即可;其它无用均不开放。

  4、启用IPSec策略:为服务器的连接进行安全认证,给服务器加上双保险。如③所说,可以在这里封掉一些危险的端品诸如:135 145 139 445 以及UDP对外连接之类、以及对通读进行加密与只与有信任关系的IP或者网络进行通讯等等。(注:其实防反弹类木马用IPSec简单的禁止UDP或者不常用TCP端口的对外访问就成了,关于IPSec的如何应用这里就不再敖续,可以到服安讨论Search "IPSec",就 会有N多关于IPSec的应用资料..)

  5、删除、移动、更名或者用访问控制表列Access Control Lists (ACLs)控制关键系统文件、命令及文件夹:
 
  (1).黑客通常在溢出得到shell后,来用诸如net.exe net1.exe ipconfig.exe user.exe query.exe regedit.exe regsvr32.exe 来达到进一步控制服务器的目的如:加账号了,克隆管理员了等等;这里可以将这些命令程序删除或者改名。(注意:在删除与改名时先停掉文件复制服务(FRS)或者先将 %windir%system32dllcache下的对应文件删除或改名。)
  (2).也或者将这些.exe文件移动到指定的文件夹,这样也方便以后管理员自己使用。
  (3).访问控制表列ACLS控制:找到%windir%system32下找到cmd.exe、cmd32.exe net.exe net1.exe ipconfig.exe tftp.exe ftp.exe user.exe reg.exe regedit.exe regedt32.exe regsvr32.exe 这些黑客常用的文件,在“属性”→“安全”中对他们进行访问的ACLs用户进 行定义,诸如只给administrator有权访问,如果需要防范一些溢出攻击、以及溢出成功后对这些文件的非法利用,那么只需要将system用户在ACLs中进行拒绝访问即可。
  (4).如果觉得在GUI下面太麻烦的话,也可以用系统命令的CACLS.EXE来对这些.exe文件的Acls进行编辑与修改,或者说将他写成一个.bat批处理 文件来执行以及对这些命令进行修改。(具体用户自己参见cacls /? 帮助进行,由于这里的命令太多就不一一列举写成批处理代码给各位了!!)
  (5).对磁盘如C/D/E/F等进行安全的ACLS设置从整体安全上考虑的话也是很有必要的,另外特别是win2k,对Winnt、WinntSystem、Document and Setting等文件夹。

  6、进行注册表的修改禁用命令解释器: (如果您觉得用⑤的方法太烦琐的话,那么您不防试试下面一劳永逸的办法来禁止CMD的运行,通过修改注册表,可以禁止用户使用命令解释器(CMD.exe)和运行批处理文件(.bat文件)。具体方法:新建一个双字节(REG_DWORD)执行 HKEY_CURRENT_USERSoftwarePolicies MicrosoftWindowsSystemDisableCMD,修改其值为1,命令解释器和批处理文件都不能被运行。修改其值为2,则只是禁止命令解释器的运行,反之将值改为0,则是打开CMS命令解释器。如果您赚手动太麻烦的话,请将下面的代码保存为*.reg文件,然后导入。
  Windows Registry Editor Version 5.00
  [HKEY_CURRENT_USERSoftwarePoliciesMicrosoftWindowsSystem]
  "DisableCMD"=dword:00000001

  7、对一些以System权限运行的系统服务进行降级处理。(诸如:将Serv-U、Imail、IIS、Php、Mssql、Mysql等一系列以System权限运行的服务或者应用程序换成其它administrators成员甚至users权限运行,这样就会安全得多了…但前提是需要对这些基本运行状态、调用API等相关情况较为了解. )

  其实,关于防止如Overflow溢出类攻击的办法除了用上述的几点以外,还有N多种办法:诸如用组策略进行限制,写防护过滤程序用DLL方式加载windows到相关的SHell以及动态链接程序之中这类。当然自己写代码来进行验证加密就需要有相关深厚的Win32编程基础了,以及对Shellcode较有研究;由于此文仅仅是讨论简单的解决办法,因此其它办法就不在这里详述了。

  二、如何防止溢出获取Shell后对系统的进一步入侵

  1、 在做好1中上述的工作之后,基本上可以防目骇客在溢出之后得到shell了;因为即使Overflow溢出成功,但在调用CMDSHELL、以及对外联接时就卡了。 (为什么呢,因为:1.溢出后程序无法再调用到CMDSHLL已经禁止system访问CMD.exe了。2.溢出之后在进行反弹时已经无法对外部IP进行连接了。所以,基本上要能过system权限来反弹shell就较困难的了…)

  2、 当然世界上是不存在绝对的安全的,假设入侵者在得到了用户的shell之后,做些什么呢?一般入侵者在在得到shell之后,就会诸如利用系统命令加账号了 通过tftp、ftp、vbs等方式传文件了等等来达到进一步控制服务器。这里通过1上述的办法对命令进行了限制,入侵者是没有办法通过tftp、ftp来传文件了,但他们仍然可以能过echo写批处理,用批处理通过脚本BAT/VBS/VBA等从WEB上下载文件,以及修改其它盘类的文件等潜在破坏行为。所以用户需要 将echo命令也限制以及将其它盘的System写、修改文件的权限进行处理。以及将VBS/VBA类脚本以及XMLhttp等组件进行禁用或者限制system的运行权。这样的话别人得到Shell也无法对服务器上的文件进行删除以及进行步的控制系统了;以及本地提权反弹Shell了。

赵宝刚
    本月,赵宝刚执导的一部电视剧在热播,叫《奋斗》,其实说热播都是有点贬低其风靡的程度了。这部电视剧里面青春的帅哥靓女一堆,打扮时尚,言语新潮,让人觉得十分养眼。被人标榜为80后必看的青春励志电视剧。
    但在这一个“乌托邦”式的剧情下,与“奋斗”又有多大的关系呢?刚毕业的大学生,开着即便是油钱也会不菲的吉普,却整天哭穷,但却总会无缘无故得到钱莫名其妙的眷顾。或是老爸有钱,或是哥们有钱,或是喜欢自己的小妞有钱,好像在玩RPG游戏,可以随便修改“金钱”一样,总有用不尽的金钱,因此去做大买卖,搞大实业,这便是奋斗?或许算是吧,但总觉得别扭。难道这就是所谓的80后在父荫下的奋斗?我不知道。剧中青春的爱情也失去了爱情的纯洁,在“奋斗”的掩饰下,显得那么的自私、虚伪和无聊。一爱俩,俩爱一,交着爱,换着爱,这便是所谓80后的爱情?我不知道。
    但就是这样一部电视剧,却风靡着呢,还不仅仅是对80后风靡。我想起了很早以前的一个电视剧,名字我也记不清楚了,我只记得一个女主角是曹颖。剧中两对刚结婚的年青夫妻成为别墅区的邻居,后来随着邻居关系的熟悉和工作上的巧遇,每对夫妻之间关系隔阂了,而互相来了一个“换妻”恋爱,导致原来的婚姻的破产,互换后分别成立了新的家庭,同样为邻居。这个烂到极点,几乎没有什么意义可言的电视剧,却深深风靡着我们宿舍,每天都翘首以盼这个电视剧,那种小资情调的生活,透着朦胧诱惑的爱情,让我们好奇、向往、沉醉。
    同样今天也一样,一个还不算太烂的剧情的电视剧,美女帅哥是青春的看点,让每一个观众都向往着主人公面临的机会和爱情,因为任一个观众都有理由在想:如果自己是主人公,有那样的机会、资金、社会关系以及美女陪伴,首先会是多么爽的事情啊,其次会比他做的更好。总之,这部电视剧,就是一部青春的幻想童话,给了观众物质幻想和爱情幻想的足够大空间,满足了很多人感观和内心深处的快感,透着股朦胧的诱惑的骚劲,所以风靡了。还不算太烂。

李家琪
    李家琪是石家庄中华大街小学的小学生,她将爸爸妈妈的工资收入做成了统计表,展示出爸妈每月的总工资比五年前翻了一翻,他们全家十分感谢党中央。这是发生在石家庄中华大街小学举行的“向党说说心里话”少先队主题队会上的事情。小学生们除了类似的发言外,还准备了“3份礼物,一封致敬信、一本反映石家庄变化的影集、一条精心制作的巨型红领巾,请党的十七大代表把这些礼物带给党中央,带给敬爱的胡锦涛爷爷”。
    有网友戏谑说:“同样还要告诉党中央,工资翻了一翻,房价翻了三翻,猪肉翻了两翻。”其实不用怀疑,石家庄的小朋友们是纯洁的。我想起了连战来大陆访问时西安小学生们朗诵的“爷爷您回来了”,两岸三地诸多娱乐节目将此传为笑柄。西安的小朋友们也是纯洁的。但纯洁的小朋友往往做出很多让人觉得很成熟的事情来。在大人郑智化的思维影响下作出的是一些极其僵硬的动作、语言或行为。
    大人想拍马屁也就算了,非要拉着小孩子,马季有一个相声讲拍马屁的,讲了多种拍马屁的行为。按照正常的手段拍马屁,效果并不一定很好,拉上小孩,让自己想说的话从纯洁的小孩口中说出,这个马屁效果就不一样了。但这害了孩子,没有活的思维,习惯了政治化的思考方式,以及从小的耳濡目染的虚伪教育和奉迎拍马教育,这些都是恶果。鲁迅有篇杂文叫“我们现在如何做父亲”,如今开来,今天的父亲仍继承了当年的父亲的“教育成果”,今天的父亲还要将其继续遗传下去么?

  开发人员的噩梦——删除重复记录

  想必每一位开发人员都有过类似的经历,在对数据库进行查询或统计的时候不时地会碰到由于表中存在重复的记录而导致查询和统计结果不准确。解决该问题的办法就是将这些重复的记录删除,只保留其中的一条。

  在SQL Server中除了对拥有十几条记录的表进行人工删除外,实现删除重复记录一般都是写一段代码,用游标的方法一行一行检查,删除重复的记录。因为这种方法需要对整个表进行遍历,所以对于表中的记录数不是很大的时候还是可行的,如果一张表的数据达到上百万条,用游标的方法来删除简直是个噩梦,因为它会执行相当长的一段时间。

  四板斧——轻松消除重复记录

  殊不知在SQL Server中有一种更为简单的方法,它不需要用游标,只要写一句简单插入语句就能实现删除重复记录的功能。为了能清楚地表述,我们首先假设存在一个产品信息表Products,其表结构如下:

  CREATE TABLE Products (
ProductID int,
ProductName nvarchar (40),
Unit char(2),
UnitPrice money
)

  表中的数据如图1:

  图1中可以看出,产品Chang和Tofu的记录在产品信息表中存在重复。现在要删除这些重复的记录,只保留其中的一条。步骤如下:

  第一板斧——建立一张具有相同结构的临时表

  CREATE TABLE Products_temp (
ProductID int,
ProductName nvarchar (40),
Unit char(2),
UnitPrice money
)

  第二板斧——为该表加上索引,并使其忽略重复的值

  方法是在企业管理器中找到上面建立的临时表Products _temp,单击鼠标右键,选择所有任务,选择管理索引,选择新建。如图2所示。

  按照图2中圈出来的地方设置索引选项。

 

  第三板斧——拷贝产品信息到临时表

  insert into Products_temp Select * from Products

  此时SQL Server会返回如下提示:

  服务器: 消息 3604,级别 16,状态 1,行 1

  已忽略重复的键。

  它表明在产品信息临时表Products_temp中不会有重复的行出现。

  第四板斧——将新的数据导入原表

  将原产品信息表Products清空,并将临时表Products_temp中数据导入,最后删除临时表Products_temp。

  delete Products
insert into Products select * from Products_temp
drop table Products_temp

  这样就完成了对表中重复记录的删除。无论表有多大,它的执行速度都是相当快的,而且因为几乎不用写语句,所以它也是很安全的。

  小提示:上述方法中删除重复记录取决于创建唯一索引时选择的字段,在实际的操作过程中读者务必首先确认创建的唯一索引字段是否正确,以免将有用的数据删除。

  将原产品信息表Products清空,并将临时表Products_temp中数据导入,最后删除临时表Products_temp。

  delete Products
insert into Products select * from Products_temp
drop table Products_temp

  这样就完成了对表中重复记录的删除。无论表有多大,它的执行速度都是相当快的,而且因为几乎不用写语句,所以它也是很安全的。

  小提示:上述方法中删除重复记录取决于创建唯一索引时选择的字段,在实际的操作过程中读者务必首先确认创建的唯一索引字段是否正确,以免将有用的数据删除。