网络安全

我们配置好服务器环境后,经常遇到的是安全问题,一个服务器的安全好不好,直接影响到网站的运行。所以服务器的安全至关重要,但是服务器由于很多不确定因素使我们没有一个很多的方案去很好的去维护他,导致服务器时间用长了就会遇到的问题增多,甚至最后迫不得已重装系统。我们先理清下思路,想想服务器经常遇到哪些安全问题,这里以2003+mysql+php+zend+IIS.等为例,预想想可能出现的安全问题:1.php的一些危险函数导致的不安全,如phpdos向外发包攻击。2.网站目录权限没有设置好,让入侵黑客轻易提权。3.黑客运用一些手段上传webshell,或exe木马,想办法让它能运行起来。4.一些网站经常被挂黑链,或首页晚上被换非法站。5.黑客通过各种途径提权成功服务器,在服务器里留下后面以便下次进入。6.各种不确定。想想上面的情况,想必是服务器网站管理员经常遇到的,我们如何能把风险降到最低呢?我自己总结了下,虽然很不完全,但是先写在这吧,以后要是有更好的方法再去完善博文内容。1.php函数导致的不安全,最严重的就是phpdos向外发包了,也是现今经常遇到的,网上的方法很多,但是没有很完美的解决方法,这里推荐大家使用星外的防御phpdos攻击的php,顺便感谢下星外的奉献精神,让这款软件免费给广大服务器维护人员使用,下载地址:http://www.hack001.com/post/119。针对phpddos如果不想繁琐的配置,可以暂时打开php的安全模式safe_mode=on。在php.ini中修改,修改后重启iis即可生效。2.网站目录权限没有设置好,这个如何是设置好没有一个明确的规定,但是个人觉得西部数码网站管理助手自动设置的权限还是比较好的,每个目录一个用户,还算ok,但是西部数码3.0开始收费,这里只能提供旧版本大家参考使用了,但是西部数码的软件确实还是不错的,个人也比较喜欢,下载地址:http://www.hack001.com/post/1013.网站被黑客上传webshell,exe木马等,这个想避免那就难了,毕竟我们用的网站程序没有绝对的安全,所以不可能避免黑客完全不入侵我们的网站,那么如何让黑客在获得部分上传权限或者修改文件名权限的时候阻止他继续前行,那么在这里一款好的杀毒软件可能会使服务器更安全一些,这里个人推荐使用nod32,下载地址:http://www.hack001.com/post/1214.网站被黑客入侵后,被入侵者任意修改,比如加黑链接,比如首页被换,或者直接挂上网马,这些不断对我们的网站受到影响,对浏览我们网页的用户也受到了很大的影响,这种情况也是经常遇到,并且很难防御的,所以这种情况,由于不确定因素实在太多太多,无法给大家一个很好的推荐,这里的建议就是,经常给网站做好备份,网站程序及时升级到最新版本,做好网站危险目录的权限设置,在自己已知道的基础上让网站程序更安全。这里说下,如果有时候网站并没被入侵,确被修改,可能是同网关服务器ARP欺骗,这种防御方法可以使用arp防火墙:http://www.hack001.com/post/385.如果以上4点都做的比较好,应该可以挡住一大批黑客的入侵,但是还有一小部分技术高的黑客依然可以进入我们的网站提权到服务器权限,这种情况往往发生在0day,或是自身安全意识不高被社工,或者服务器本身系统不完善,以及同服务器机房或是同网段嗅探导致的,如果以上4点你认为自己做的非常之好,但是服务器还是被你发现被人入侵的痕迹,建议你在服务器上安装类似“服务器登陆邮件通知软件”http://www.hack001.com/post/92这类软件,学会看服务器日志,或者是安装一些辅助看日志的软件,然后分析黑客是怎么进入服务器的,以及进入服务器做了什么,具体情况具体对待。6.其他不确定因素,这一点就要大家多关注些互联网安全方面的新闻,以及多光些黑客边缘的人气好点的论坛,发现下新的入侵手段,安全知识等,增加自己的安全意识,做到知己知彼。最后,没有绝对的安全,多花些时间在安全知识方面的学习,增加自己的安全意识,才能让你的服务器相对安全些。作者:爻乂。www.hack001.com。如果觉得写的对你有帮助转载的话望别去出自地点。

软件

我们服务器管理人员最怕的就是网站被人入侵,入侵不说还渗透,当一个服务器的网站多了,不同网站就会有不同的漏洞,危险系数也就随之增大了,日常的防黑手段是不可少的,但是我们也要做到知己知彼,做到第一时间知道,这时候我们就需要一个软件来替我们24小时监控着服务器,当服务器有人登陆的时候通过邮件通知我们,当我们没有在电脑旁的时候通过电话短信通知我们,这里的软件用到的是一部分邮件提供商提供的短信通知服务,达到短信通知的作用,当然现在的QQ就支持这个功能,只要和手机绑定QQ邮箱就可以了,当然你也可以开通超级QQ,那样短信通知的条数要多一些。好了,现在我来介绍下,这款服务器登陆邮件通知软件的用法,希望对大家有帮助。首先我们打开软件,下面是软件的界面:一眼看上去不是很清晰,但是别急,其他他很简单,也就三个地方设置:1.综合设置:设置允许登陆的时间、发送报告的内容,可以加一句cmd命令来发送,达到进一步监控的目的,再就是非时间登陆后执行什么命令。2.邮件报告设置:这个功能不必多说,就是用smtp方式发送邮件的3.报告内容设置:就是发送邮件需要发送的一些内容,方便我们查找登陆者信息的。特别介绍:后门当我们使用非正常时间段登陆后,别人在非时间段就算登陆了系统,系统也会自动注销,登陆不了,那么如果我们自己想在非正常时间登陆该怎么办呢。看看作者说的:当然非登陆时间假如我们非要登陆服务器怎么办?打开程序,看到个后门密码了没?设置好,保存!登陆服务器前,在本地系统的剪贴板中预存本密码(不会?找个可以输入文本的地方,输入你的密码,然后复制下来就可以了),再登陆远程服务器,这样本程序就会检测剪贴板中的内容!明白了吧!总结:该软件小巧,绿色,再不增加启动项目的时候不写入任何注册表,至于是否安全,大家自己判别吧,我的nod最新病毒库是没有报毒的。该软件,大概是一个自动启动小程序,程序启动后检查是否是非正常登陆时间,然后进行发邮件,执行一些dos命令的操作。方便管理员维护服务器,整体来说还是个不错的软件的。

软件

服务器文件监控软件不像一般的软件那么多,好用的就更少了,我一直想找个好用的,最后发现一款《剑儿服务器木马监控器》还是不错的,下面是它的界面:虽然他的功能是完全满足我的使用了,但是可气的是,这款软件不是免费的软件,我这人很少用收费的软件,除非我觉得我不得不用,或者买了软件会比较值我会买,但是这款软件,要花钱去买的话,我是不愿意的。经过一番查找,发现了一款还能凑合的监控软件,这款软件不想剑儿那么功能强大,但是如果真要使用文件夹监控功能的时候也可以勉强凑合着用的,并且最最主要的是它是免费的,我个人看来对于文件监控记录软件,一个不是很有商业价值和节省人工的软件来说使用免费软件还是不错的。以下是这款软件的界面从界面可以看出,这款软件是走简约风格的,界面很简单,方便,当然功能上也比上面那款软件要差很多,总之文件的修改,创建,删除之类的操作还是可以记录的,好了就说这么多,软件很简单,就不多做介绍了,大家有需要自己下载测试就可以了。软件绿色无毒(nod32测试),大小几十K。后续:又发现一个剑儿的文件夹监控软件,这个是不收费的,而且有日志记录功能,界面也是比较简单,但是也有不足之处,到时候发现好的东西再和大家分享。

2011-12-6 3732 0
网络安全

Windows操作系统在服务器上安装非常广泛,企业或个人经常安装的操作系统有VhndowsServer2000、2003和2008等,这些操作系统的本身漏洞我们无法控制,但我们可以通过系统安全加固手段有效降低自己服务器被黑客入侵的几率。日前常见的加固手段主要包括账户设置、组策略设置、注册表设置、IPSec、服务设置等,本文主要讲如何通过编程方式操控组策略从而实现Windows操作系统的安全加固,下表为在组策略巾需要进行的相关配置。密码复杂性要求:启用最短密码长度:8位帐户策略密码最长使用期限:0天密码最短使用期限:0天强制密码历史:0个记住的密码复位帐户锁定计数器:5分钟帐户锁定时间:30分钟帐户锁定策略“复位帐户锁定阐值”5次成功,失败:审核帐户登录事件、审核帐户管理、审核日录服务访问、审核登录事件、审核特权使用审核策略失败:审核对象访问成功:审核策略更改、审核系统事件无审核:审核过程追踪通过终端服务拒绝登录:无用户权限指派通过终端服务允许登录:Administrators组和remotedesktopusers组交互式登录:不显示上次的用户名启用网络访问:不允许SAM帐户和共享的匿名枚举启用网络访问:不允许为网络身份验证储存凭证启用安全选项网络访问:可匿名访问的共享全部删除网络访问:可匿名访问的命名管道全部删除网络访问:可远程访问的注册表路径全部删除帐户:重命名系统管理员帐户重命名一个帐户组策略与注册表的关系非常紧密,许多组策略中的设置可以通过修改注册表,然后用RefreshPolicy函数强制刷新组策略来实现(其实有些组策略修改的实质也正是修改注册表相关配置),例如上表巾的“不显示上次的用户名”和“不允许SAM帐户和共享的匿名枚举”等。但是有些组策略的设置无法通过注册表进行修改,例如上表巾的账户策略、账户锁定策略、审核策略和用户权限指派等。所以本文通过Kindows白带的secedit这个命令对组策略进行设置,主要用到的命令是secedit/configure/dbFileName/cfgFileName/quiet.其巾/db后的文件名可任意取,一股以.sdb为后缀名,/cfg后的文件为我们需要配置的文件。该命令的其他语法和具体使用方法网上可以查到,这里不再赘述。如何将表巾的组策略设置对应到配置文件巾,账户策略、账户锁定策略在配置文件巾的配置命令格式如何,这些我们可以参考Windows自带的配置文件模板,模板位于C:WINDOWS\Security\templates下。通常为inf格式文件。在配置文件中,分号代表注释符,其后可跟注释语句.....:头部一些声明[SystemAccess]blinimumPassvrordAge=0:密码最短使用期限MaximumPassvrordAge=-1:密码最长使用期限,此处一1代表0.若写0则会出错blinimumPassrrordLength=8:最短密码长度PassvrordCoruplexity=1:密码复杂性要求PassvrordHistorySize:0:强制密码历史NerrAdministratorName=’testAdministrator’:重命名系统管理员账户,名字可自己设定LockoutBadCount=5:账户锁定阀值ResetLockoutCount=5:复位账户锁定计数器LockoutDuration=30:账户锁定时间[EventAudit]:事件审计,0代表不审汁,1代表成功审计,2代表失败审计,3代表成功失败均审计AuditSystemEvents=1:系统事件成功AuditObjectAccess:2:对象访问失败AuditPrivilegeUse=3:特权使用成功失败AuditPolicyChange=1:策略改变成功AuditAccountllanage=3:账户管理成功失败AuditProcessTracking=0:过程追踪无审核AuditDSAccess=3:目录服务访问成功失败AuditAccountLogon=3;账户登录成功失败AuditLogonEvents=3:登录事件成功失败[RegistryValues]:这里的设置格式为path=Type,Value.其中常用的Type有:1代表REG-SZ.2代表REGEXPAND_SZ,3代表REG_BINARY,4代表REG_DWORD.7代表REGHULTI_SZMACHINE\Softvrare\XicrosoftVVindoWs\CurrentVersion\Policies\System\DontDisplayLastUserName=4,1:显示上次的用户名lIACHINE\System\CurrentControlSet\Control\Lsa\DisableDomainCreds=4,1:小允许为刚络身份验证储存凭证MACHINE\System\CurrentControlSet\Control\Lsa\RestrictAnonymous=4,1:小允许SAM帐户和共享的匿名枚举HACHINE\System\CurrentControlSet\Control\SecurePipeServers\Winreg\AllorredExactPaths\Uachine=7,,可远挫访问的注册表路径MACHINE\System\CurrentControlSet\Services\LanllanServer\Parameters\NullSessionPipes=7,.可匿名访问的命名管道MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters\NullSessionShares=7,.可匿名访问共享.PrivilegeRights]SeRemoteInteractiveLogonRight=:*S-1-o-32-550,:*S-1-5-32-544:通过终端服务允许登录SeDenyRemoteInteractiveLogonRight=:通过终端服务拒绝登录如果需要对其他的组策略进行设置,但是又不知道对应的修改项和值,可以采用以下的方法:首先,打开注册表,选择相应的项右击,点击“导出策略”,保存为1.inf,如图1所示:然后手工修改需要设置的项和值,再次选择“导出策略”,保存为2.inf:最后使用文本比较软件(如ucl.exe).将两者进行比对,不同之处就是刚才设置的值,找到之后就可以在配置文件中进行相应的设置。图1下面我们编程实现组策略的设置,具体的思路是通过用户的选择设置组策略的配置文件,然后通过secedit命令将配置文件导入到组策略巾生效,最后清除产生的中间文件,核心代码如下:CFileinf;inf.Open(_T("c:\\czbankinf"),CFile::modeCreateCFile::modeWrite)://创建配置文件char*str=":Unicode]\r\nLnicode3res\r\n-----------”://具体配置信息此处略过inf.Write(str,strlen(str))://写入配置信息if(用户的选择)(char*str:-blinimumPasssrordAge:0\r\n……”:inf.wrrite(str,strlen(str))://根据用户选择写入配置信息)//重命名系统管理员用户名需要特殊处理LpdateData(TRUE)://用户填写的用户名输入if(adminName.Compare(_T(~))f_0){//用户名为空则小处理CStringstrName=_T(-NevrAdministratorName2\""):strName+:adminName+_T(’\’\r\n’)::intlen2strName.GetLength():char~str=newchar[len+l];//CString类型的字符串无法调用\rrite函数写入文本,需要转变成charnt~型;在Unicode编码下(VisualStduio环境),无法直接通过强制转换柬将CString变成char*,需要调用WideCharToblultiByte函数转换,该函数的具体格式可查阅USDNJideCharTo~lultiByte(CPACP,0,strName,strName.GetLength(),str,len,NULL,NULL):str[len]='\O’://最后一位加入字符串结柬符inf.TVrite(str,strlen(str)):delete:lstr;}//其他一些配置信息q入inf.Close()://关闭配置文件//创建进程调用secedit,将配置文件导入到组簧略中PROCESS_INFOIOIATIONpi;STARTUPINFOsi;si.cb=sizeof(STARllPINFO)~..//进程启动的一些参数配置,略过//执行的命令rCw\Rcorrmand:]2_TCsecedit/configure/dbc:\\czbank.sdb/cfgc:\\czbank.inf/quiet’):BOOLret=CreateProcess(NULL,cormand,NLLL,NLLL,FALSE,NOR11AL-PRIORITYCLASS,NULL,NULL,ksi,&pi)://创建进程执行命令if(ret){CloseHandle(pi.hThread)://关闭线程句柄/fraitForSingleObject(pi.hProcess,INFINITE)://等待进程结束GetExitCodeProcess(pi.hProcess,&cbrExitCode):CloseHandle(pi.hProcess)://关闭进程句柄,退出}CFile::Remove(_T("c:\\czbank.inf”))://删除临时产生的文件CFile::Remove(_T("c:\\czbanksdb")):以上代码在VisualStudi02008中测试通过,加同的操作系统是WindowsServer2003。在MSDN中说对组策略的操作可以通过IGroupPolicyObject接口实现,对应的说明可以在巾找到,但是关于这个接口的实际用例以及操作流程网上资料实在太少,我研究了,但未能搞清楚,如果有朋友研究过这个接口的相关编程。选自黑防

2011-3-23 6409 0