WIN2003服务器系统的安装和安全设置全攻略
WIN2003服务器系统的安装和安全设置全攻略
首先是系统的安装,一般来讲我们都是把系统安装在C盘,但作为服务器,特别是对安全性要求很高的服务器,我们必然需要做一些有反逻辑的事情,因此偶建议各位把系统安装到第二个分区(这里是D盘),安装系统的方法和其它系统的安装没多大不同!因为我们的是Web服务器,所以安装好以后需要加装IIS,IIS的安装方法是:开始》》设置》》控制面版》》添加或删除程序》》添加或删除Window组件》》应用程序服务器》》按默认的选择也不错了,这里如果你需要添加NET服务,请把第一项打勾;一切选择好以后放进系统光盘进行下一步就OK了!(这里针对安装驱动和给系统打上最新补丁的过程就省略啦)
接着我们通过管理工具里面的计算机管理进行添加新的管理员,然后把Administrator加上复杂的密码禁止登陆,这时候推荐大家先备份一次(做备份应该是个不错的习惯)!
等上面的工作都处理好,现在就要做比较重要的事情:服务器的权限安全!做好权限可以把你的服务器给入侵的几率达到最小!在系统里,除了系统盘(D盘)外,全部分区的权限只给Administrators,全部设置好以后,我们就来讲我们今天的重点了!一般情况下,系统盘里面会有Documents
and Settings、Program
Files、WINDOWS、wmpub和inetpub五个文件夹!这里可以直接删除文件夹inetpub,然后给Documents
and Settings和wmpub同样的权限:
administrators 全部(该文件夹,子文件夹及文件)
SYSTEM全部(该文件夹,子文件夹及文件)
Power Users (该文件夹,子文件夹及文件)
读取和运行
列出文件夹目录
读取
给Program Files的权限:
administrators 全部(该文件夹,子文件夹及文件)
SYSTEM全部(该文件夹,子文件夹及文件)
CREATOR OWNER全部(只有子文件来及文件)
IIS_WPG (该文件夹,子文件夹及文件)
读取和运行
列出文件夹目录
读取
Power Users(该文件夹,子文件夹及文件)
修改权限
TERMINAL SERVER USER (该文件夹,子文件夹及文件)
修改权限
给WINDOWS\Temp的权限:
administrators 全部(该文件夹,子文件夹及文件)
SYSTEM全部(该文件夹,子文件夹及文件)
CREATOR OWNER全部(只有子文件来及文件)
IIS_WPG (该文件夹,子文件夹及文件)
遍历文件夹/运行文件夹
列出文件夹/读取数据
读取属性
创建文件夹/附加数据
读取权限
Users(该文件夹,子文件夹及文件)
读取属性
读取扩展属性
创建文件/写入数据
读取权限
----------------------------------------------------------------
单独对cmd.exe net.exe net1.exe ping.exe netstat.exe ftp.exe tftp.exe
telnet.exe设置为只允许administrators组访问
----------------------------------------------------------------
要删除的系统组件:(直接把下面的文字编辑到一个文本,然后修改文本后缀为.bat文件运行即可!
regsvr32/u C:\WINDOWS\System32\wshom.ocx
del C:\WINDOWS\System32\wshom.ocx
regsvr32/u C:\WINDOWS\system32\shell32.dll
del C:\WINDOWS\system32\shell32.dll
============================================
5 隐藏重要文件/目录可以修改注册表实现完全隐藏:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\
Current-Version\Explorer\Advanced\Folder\Hi-dden\SHOWALL”,鼠标右击
“CheckedValue”,选择修改,把数值由1改为0
2、防止SYN洪水攻击
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
新建DWORD值,名为SynAttackProtect,值为2
EnablePMTUDiscovery REG_DWORD 0
NoNameReleaseOnDemand REG_DWORD 1
EnableDeadGWDetect REG_DWORD 0
KeepAliveTime REG_DWORD 300,000
PerformRouterDiscovery REG_DWORD 0
EnableICMPRedirects REG_DWORD 0
3. 禁止响应ICMP路由通告报文
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\interface
新建DWORD值,名为PerformRouterDiscovery 值为0
4. 防止ICMP重定向报文的攻击
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
将EnableICMPRedirects 值设为0
5. 不支持IGMP协议
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
新建DWORD值,名为IGMPLevel 值为0
6.修改终端服务端口
运行regedit,找到[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \
Control \ Terminal Server \ Wds \ rdpwd \ Tds \
tcp],看到右边的PortNumber了吗?在十进制状态下改成你想要的端口号吧,比如7126之类的,只要不与其它冲突即可。
第二处HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \
Terminal Server \ WinStations \ RDP-Tcp,方法同上,记得改的端口号和上面改的一样就行了。
7.禁止IPC空连接:
cracker可以利用net use命令建立空连接,进而入侵,还有net
view,nbtstat这些都是基于空连接的,禁止空连接就好了。打开注册表,找到Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous
把这个值改成”1”即可。
8.更改TTL值
cracker可以根据ping回的TTL值来大致判断你的操作系统,如:
TTL=107(WINNT);
TTL=108(win2000);
TTL=127或128(win9x);
TTL=240或241(linux);
TTL=252(solaris);
TTL=240(Irix);
实际上你可以自己更改的:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters:DefaultTTL
REG_DWORD 0-0xff(0-255
十进制,默认值128)改成一个莫名其妙的数字如258,起码让那些小菜鸟晕上半天,就此放弃入侵你也不一定哦
9.删除默认共享
有人问过我一开机就共享所有盘,改回来以后,重启又变成了共享是怎么回事,这是2K为管理而设置的默认共享,必须通过修改注册表的方式取消它:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters:AutoShareServer类型是REG_DWORD把值改为0即可
10. 禁止建立空连接
默认情况下,任何用户通过通过空连接连上服务器,进而枚举出帐号,猜测密码。我们可以通过修改注册表来禁止建立空连接:Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous
的值改成”1”即可。
============================================
1.禁用TCP/IP上的NetBIOS
网上邻居-属性-本地连接-属性-Internet协议(TCP/IP)属性-高级-WINS面板-NetBIOS设置-禁用TCP/IP上的NetBIOS。这样cracker就无法用nbtstat命令来读取你的NetBIOS信息和网卡MAC地址了。
2. 账户安全
首先禁止一切账户,除了你自己,呵呵。然后把Administrator改名。我呢就顺手又建了个Administrator账户,不过是什么权限都没有的那种,然后打开记事本,一阵乱敲,复制,粘贴到“密码”里去,呵呵,来破密码吧~!破完了才发现是个低级账户,看你崩溃不?
创建2个管理员用帐号
虽然这点看上去和上面这点有些矛盾,但事实上是服从上面的规则的。
创建一个一般权限帐号用来收信以及处理一些*常事物,另一个拥有Administrators
权限的帐户只在需要的时候使用。可以让管理员使用 “ RunAS” 命令来执行一些需要特权才能作的一些工作,以方便管理
3.
更改D:\WINDOWS\Help\iisHelp\common\404b.htm内容改为这样,出错了自动转到首页
4. 运行防毒软件
我见过的Win2000/Nt服务器从来没有见到有安装了防毒软件的,其实这一点非常重要。一些好的杀毒软件不仅能杀掉一些著名的病毒,还能查杀大量木马和后门程序。这样的话,“黑客”们使用的那些有名的木马就毫无用武之地了。不要忘了经常升级病毒库,我们推荐mcafree杀毒软件+blackice防火墙
5.本地安全策略和组策略的设置,如果你在设置本地安全策略时设置错了,可以这样恢复成它的默认值.
打开 %SystemRoot%\Security文件夹,创建一个
"OldSecurity"子目录,将%SystemRoot%\Security下所有的.log文件移到这个新建的子文件夹中.
在%SystemRoot%\Security\database\下找到"Secedit.sdb"安全数据库并将其改名,如改为"Secedit.old".
启动"安全配置和分析"MMC管理单元:"开始"->"运行"->"MMC",启动管理控制台,"添加/删除管理单元",将"安全配置和分析"管理单元添加上.
右击"安全配置和分析"->"打开数据库",浏览"D:\WINNT\security\Database"文件夹,输入文件名"secedit.sdb",单击"打开"当系统提示输入一个模板时,选择"Setup
Security.inf",单击"打开".
如果系统提示"拒绝访问数据库",不管他.
你会发现在"C:\WINNT\security\Database"子文件夹中重新生成了新的安全数据库,在"D:\WINNT\security"子文件夹下重新生成了log文件.安全数据库重建成功
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
用模块方式安装php,现想加入mysql的支持,修改了php.ini的extension_dir =
"c:\php\ext",
去掉extension=php_mysql.dll前的注释.找到 session.save_path = /tmp ,
将其改为 session.save_path = c:\php\sessions 。
(注:此时你需要在D:\php目录下建立sessions文件夹,以存放session 。)
1)Error handling and logging
在Error handling and logging部分可以做一些设定。先找到:
display_errors = On
php缺省是打开错误信息显示的,我们把它改为:
display_errors = Off
关闭错误显示后,php函数执行错误的信息将不会再显示给用户,这样能在一定程度上防止攻击者从
错误信息得知脚本的物理位置,以及一些其它有用的信息,起码给攻击者的黑箱检测造成一定的障碍
。这些错误信息可能对我们自己有用,可以让它写到指定文件中去,那么修改以下:
log_errors = Off
改为:
log_errors = On
以及指定文件,找到下面这行:
;error_log = filename
去掉前面的;注释,把filename改为指定文件,如/usr/local/apache/logs/php_error.log
error_log = /usr/local/apache/logs/php_error.log
这样所有的错误都会写到php_error.log文件里。
2)Safe Mode
php的safe_mode功能对很多函数进行了限制或禁用了,能在很大程度解决php的安全问题。在
Safe Mode部分找到:
safe_mode = Off
改为:
safe_mode = On
这样就打开了safe_mode功能。