Windows 2003的安全性 浓缩版
这个也是好文章 http://blog.csdn.net/bobokevin/archive/2005/03/08/314745.aspx
Windows 2003以其稳定的性能越来越受到用户的青睐,但面对层出不穷的新病毒,你仍然有必要再加强Windows 2003的安全性。
1. 用户口令设置
设置一个键的密码,在很大程度上可以避免口令攻击。密码设置的字符长度应当在8个以上,最好是字母、数字、特殊字符的组合,如“psp53,@pq”、“skdfksadf10@”等,可以有效地防止暴力破解。最好不要用自己的生日、手机号码、电话号码等做口令。
2. 删除默认共享
单击“开始→运行”,输入“gpedit.msc”后回车,打开组策略编辑器。依次展开“用户配置→Windows 设置→脚本(登录/注销)”,双击登录项,然后添加“delshare.bat”(参数不需要添加),从而删除Windows 2003默认的共享。
接下来再禁用IPC连接:打开注册表编辑器,依次展开[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa ]分支,在右侧窗口中找到“restrictanonymous”子键,将其值改为“1”即可。
3. 关闭自动播放功能
自动播放功能不仅对光驱起作用,而且对其它驱动器也起作用,这样很容易被黑客利用来执行黑客程序。
打开组策略编辑器,依次展开“计算机配置→管理模板→系统”,在右侧窗口中找到“关闭自动播放”选项并双击,在打开的对话框中选择“已启用”,然后在“关闭自动播放”后面的下拉菜单中选择“所有驱动器”,按“确定”即可生效。
店小二补充: 关闭自动播放功能,其实还可以在服务中关闭。操作如下:禁用Shell Hardware Detection 这个服务 即可!!!2011-6-12
4. 清空远程可访问的注册表路径
将远程可访问的注册表路径设置为空,这样可以有效防止黑客利用扫描器通过远程注册表读取计算机的系统信息及其它信息。
打开组策略编辑器,依次展开“计算机配置→Windows 设置→安全设置→本地策略→安全选项”,在右侧窗口中找到“网络访问:可远程访问的注册表路径”,然后在打开的如图所的窗口中,将可远程访问的注册表路径和子路径内容全部删除。
四招加强Windows 2003安全性。
======================================================================================================
Windows Server2003 权限设置有很多方面,本文主要针对Windows Server2003防木马权限设置做介绍。
一、系统的安装
1、按照Windows2003安装光盘的提示安装,默认情况下2003没有把IIS6.0安装在系统里面。
2、IIS6.0的安装
开始菜单—〉控制面板—〉添加或删除程序—〉添加/删除Windows组件
应用程序 ———ASP.NET(可选)
|——启用网络 COM+ 访问(必选)
|——Internet 信息服务(IIS)———Internet 信息服务管理器(必选)
|——公用文件(必选)
|——万维网服务———Active Server pages(必选)
|——Internet 数据连接器(可选)
|——WebDAV 发布(可选)
|——万维网服务(必选)
|——在服务器端的包含文件(可选)
然后点击确定—〉下一步安装。
3、系统补丁的更新
点击开始菜单—〉所有程序—〉Windows Update
按照提示进行补丁的安装。
4、备份系统
用GHOST备份系统。-----以上工作完成以后就要备份!!!
5、安装常用的软件
例如:杀毒软件、解压缩软件等;安装完毕后,配置杀毒软件,扫描系统漏洞,安装之后用GHOST再次备份系统。
6、先关闭不需要的端口 开启防火墙 导入IPSEC策略
在“网络连接”里,把不需要的协议和服务都删掉,这里只安装了基本的Internet协议(TCP/IP),由于要控制带宽流量服务,额外安装了Qos数据包计划程 序。
在tcp/ip 属性-->高级-->WINS-->“NetBIOS“设置“禁用tcp/IP上的NetBIOS(S)“。
在本地连接的,在高级选项里,使用“Internet连接防火墙“,这是windows 2003 自带的防火墙,在2000系统里没有的功能,虽然没什么功能,但可以屏蔽端口,这样已经基本达到了一个IPSec的功能。
修改3389远程连接端口
修改注册表.
开始——运行——regedit
依次展开
HKEY_LOCAL_MACHINE/SYSTEM/CURRENTCONTROLSET/CONTROL/TERMINAL SERVER/WDS/RDPWD/TDS/TCP
右边键值中 PortNumber 改为你想用的端口号.注意使用十进制(例 10000 )
HKEY_LOCAL_MACHINE/SYSTEM/CURRENTCONTROLSET/CONTROL/TERMINAL SERVER/WINSTATIONS/RDP-TCP/
右边键值中 PortNumber 改为你想用的端口号.注意使用十进制(例 10000 )
注意:别忘了在WINDOWS2003自带的防火墙给+上10000端口
修改完毕.重新启动服务器.设置生效.
二、用户安全设置
1、禁用Guest账号
在计算机管理的用户里面把Guest账号禁用。为了保险起见,最好给Guest加一个复杂的密码。你可以打开记事本,在里面输入一串包含特殊字符、数字、字母的长字符串,然后把它作为Guest用户的密码拷进去。 可以设置!
2、限制不必要的用户
去掉所有的Duplicate User用户、测试用户、共享用户等等。用户组策略设置相应权限,并且经常检查系统的用户,删除已经不再使用的用户。这些用户很多时候都是黑客们入侵系统的突破口。
3、把系统Administrator账号改名
大家都知道,Windows 2003 的Administrator用户是不能被停用的,这意味着别人可以一遍又一遍地尝试这个用户的密码。尽量把它伪装成普通用户,比如改成Guesycludx。
4、创建一个陷阱用户
什么是陷阱用户?即创建一个名为“Administrator”的本地用户,把它的权限设置成最低,什么事也干不了的那种,并且加上一个超过10位的超级复杂密码。这样可以让那些 Hacker们忙上一段时间,借此发现它们的入侵企图。
5、把共享文件的权限从Everyone组改成授权用户
任何时候都不要把共享文件的用户设置成“Everyone”组,包括打印共享,默认的属性就是“Everyone”组的,一定不要忘了改。
6、开启用户策略
使用用户策略,分别设置复位用户锁定计数器时间为20分钟,用户锁定时间为20分钟,用户锁定阈值为3次。 (该项为可选)
7、不让系统显示上次登录的用户名
默认情况下,登录对话框中会显示上次登录的用户名。这使得别人可以很容易地得到系统的一些用户名,进而做密码猜测。修改注册表可以不让对话框里显示上次登录的用户名。方法为:打开注册表编辑器并找到注册表“HKLM\Software\Microsoft\Windows T\CurrentVersion\Winlogon\Dont-DisplayLastUserName”,把REG_SZ的键值改成1。
密码安全设置
1、使用安全密码
一些公司的管理员创建账号的时候往往用公司名、计算机名做用户名,然后又把这些用户的密码设置得太简单,比如“welcome”等等。因此,要注意密码的复杂性,还要记住经常改密码。
2、设置屏幕保护密码
这是一个很简单也很有必要的操作。设置屏幕保护密码也是防止内部人员破坏服务器的一个屏障。
3、开启密码策略
注意应用密码策略,如启用密码复杂性要求,设置密码长度最小值为6位 ,设置强制密码历史为5次,时间为42天。
4、考虑使用智能卡来代替密码
对于密码,总是使安全管理员进退两难,密码设置简单容易受到黑客的攻击,密码设置复杂又容易忘记。如果条件允许,用智能卡来代替复杂的密码是一个很好的解决方法。
三、系统权限的设置
1、磁盘权限
系统盘及所有磁盘只给 Administrators 组和 SYSTEM 的完全控制权限
系统盘\Documents and Settings 目录只给 Administrators 组和 SYSTEM 的完全控制权限
系统盘\Documents and Settings\All Users 目录只给 Administrators 组和 SYSTEM 的完全控制权限
系统盘\Windows\System32\cacls.exe、cmd.exe、net.exe、net1.exe、ftp.exe、tftp.exe、telnet.exe 、 netstat.exe、regedit.exe、at.exe、attrib.exe、format.com、del文件只给 Administrators 组和SYSTEM 的完全 控制权限
另将\System32\cmd.exe、format.com、ftp.exe转移到其他目录或更名
Documents and Settings下所有些目录都设置只给adinistrators权限。并且要一个一个目录查看,包括下面的所有子目录。
删除c:\inetpub目录
2、本地安全策略设置
开始菜单—〉管理工具—〉本地安全策略
A、本地策略——〉审核策略
审核策略更改 成功 失败
审核登录事件 成功 失败
审核对象访问 失败审核过程跟踪 无审核
审核目录服务访问 失败
审核特权使用 失败
审核系统事件 成功 失败
审核账户登录事件 成功 失败
审核账户管理 成功 失败
B、本地策略——〉用户权限分配
关闭系统:只有Administrators组、其它全部删除。
通过终端服务允许登陆:只加入Administrators,Remote Desktop Users组,其他全部删除
C、本地策略——〉安全选项
交互式登陆:不显示上次的用户名 启用
网络访问:不允许SAM帐户和共享的匿名枚举 启用
网络访问:不允许为网络身份验证储存凭证 启用
网络访问:可匿名访问的共享 全部删除
网络访问:可匿名访问的命 全部删除
网络访问:可远程访问的注册表路径 全部删除
网络访问:可远程访问的注册表路径和子路径 全部删除
帐户:重命名来宾帐户 重命名一个帐户
帐户:重命名系统管理员帐户 重命名一个帐户
3、禁用不必要的服务 开始-运行-services.msc
TCP/IPNetBIOS Helper提供 TCP/IP 服务上的 NetBIOS 和网络上客户端的 NetBIOS 名称解析的支持而使用户能够共享
文件、打印和登录到网络
Server支持此计算机通过网络的文件、打印、和命名管道共享
Computer Browser 维护网络上计算机的最新列表以及提供这个列表
Task scheduler 允许程序在指定时间运行
Messenger 传输客户端和服务器之间的 NET SEND 和 警报器服务消息
Distributed File System: 局域网管理共享文件,不需要可禁用
Distributed linktracking client:用于局域网更新连接信息,不需要可禁用
Error reporting service:禁止发送错误报告
Microsoft Serch:提供快速的单词搜索,不需要可禁用
NTLMSecuritysupportprovide:telnet服务和Microsoft Serch用的,不需要可禁用
PrintSpooler:如果没有打印机可禁用
Remote Registry:禁止远程修改注册表
Remote Desktop Help Session Manager:禁止远程协助
Workstation 关闭的话远程NET命令列不出用户组
以上是在Windows Server 2003 系统上面默认启动的服务中禁用的,默认禁用的服务如没特别需要的话不要启动。
4、修改注册表
修改注册表,让系统更强壮
1、隐藏重要文件/目录可以修改注册表实现完全隐藏
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ Current-Version\Explorer\Advanced\Folder\Hi-dden\SHOWALL“,鼠标右击 ”CheckedValue“,选择修改,把数值由1改为0
2、防止SYN洪水攻击 (ps: SYN http://baike.baidu.com/view/488528.htm)
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 03. 禁止响应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协议 (ps:IGMP: http://baike.baidu.com/view/32761.htm)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
新建DWORD值,名为IGMPLevel 值为0
6、禁止IPC空连接: (ps:空连接 http://baike.baidu.com/view/1551623.htm)
cracker可以利用net use命令建立空连接,进而入侵,还有net view,nbtstat这些都是基于空连接的,禁止空连接就好了。
Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous 把这个值改成“1”即可。
7、更改TTL值 (ps:TTL是生存时间的意思,就是说这个ping的数据包能在网络上存在多少时间。http://baike.baidu.com/view/2696.htm)
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:
ps: 如果没有DefaultTTL 则 新建一个REG_DWORD的DefaultTTL 。值为0-0xff(0-255 十进制,默认值128)改成一个莫名其妙的数字如258,起码让那些小菜鸟晕上半天,就此放弃入侵你也不一定哦
8. 删除默认共享
有人问过我一开机就共享所有盘,改回来以后,重启又变成了共享是怎么回事,这是2K为管理而设置的默认共享,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters:AutoShareServer类型是REG_DWORD把值改为0即可
9. 禁止建立空连接
默认情况下,任何用户通过通过空连接连上服务器,进而枚举出帐号,猜测密码。我们可以通过修改注册表来禁止建立空连接:
Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous 的值改成“1”即可。
10、建立一个记事本,填上以下代码。保存为*.bat并加到启动项目中
先用 net share 查看有多少共享的 ,然后再用下面的命令删除
net share c$ /del
net share d$ /del
net share e$ /del
net share f$ /del
net share ipc$ /del
net share admin$ /del
5、IIS站点设置:
1、将IIS目录&数据与系统磁盘分开,保存在专用磁盘空间内。
2、启用父级路径
3、在IIS管理器中删除必须之外的任何没有用到的映射(保留asp等必要映射即可)
4、在IIS中将HTTP404 Object Not Found出错页面通过URL重定向到一个定制HTM文件
5、Web站点权限设定(建议)
读 允许
写 不允许
脚本源访问 不允许
目录浏览 建议关闭
日志访问 建议关闭
索引资源 建议关闭
执行 推荐选择 “仅限于脚本”
(小二ps:IIS 日志 http://baike.baidu.com/view/1604448.htm)
6、建议使用W3C扩充日志文件格式,每天记录客户IP地址,用户名,服务器端口,方法,URI字根,HTTP状态,用户代理,而且每天均要审查日志。(最好不要使用缺省的目录,建议更换一个记日志的路径,同时设置日志的访问权限,只允许管理员和system为Full Control)。
查看方法:
默认位置:%systemroot%\system32\logfiles\ 可自由设置。
默认日志格式:ex+年份的末两位数字+月份+日期
文件后缀:.log
如2010年7月30日的日志生成文件是ex100730.log
内容如下
7、程序安全:
1) 涉及用户名与口令的程序最好封装在服务器端,尽量少的在ASP文件里出现,涉及到与数据库连接地用户名与口令应给予最小的权限;
2) 需要经过验证的ASP页面,可跟踪上一个页面的文件名,只有从上一页面转进来的会话才能读取这个页面。
3) 防止ASP主页.inc文件泄露问题;
4) 防止UE等编辑器生成some.asp.bak文件泄露问题。
6、IIS权限设置的思路
要为每个独立的要保护的个体(比如一个网站或者一个虚拟目录)创建一个系统用户,让这个站点在系统中具有惟一的可以设置权限的身份。
在IIS的【站点属性或者虚拟目录属性→目录安全性→匿名访问和验证控制→编辑→匿名访问→编辑】填写刚刚创建的那个用户名。
设置所有的分区禁止这个用户访问,而刚才这个站点的主目录对应的那个文件夹设置允许这个用户访问(要去掉继承父权限,并且要加上超管组和SYSTEM组)。
7、卸载最不安全的组件
最简单的办法是直接卸载后删除相应的程序文件。将下面的代码保存为一个.BAT文件,( 以下均以 WIN2000 为例,如果使用2003,则系统文件夹应该是 C:\WINDOWS\ )
regsvr32/u C:\WINDOWS\System32\wshom.ocx
del C:\WINDOWS\System32\wshom.ocx
regsvr32/u C:\WINDOWS\system32\shell32.dll
del C:\WINNT\WINDOWS\shell32.dll
然后运行一下,WScript.Shell, Shell.application, WScript.Network就会被卸载了。可能会提示无法删除文件,不用管它,重启一下服务器,你会发现这三个都提示“×安全”。
====================================================================================
分区(C,D,E,F.....)根部 权限
Administrators 完全控制
System 完全控制
C:\Documents and Settings 目录权限
Administrators 完全控制
System 完全控制
C:\Program Files 目录权限
Administrators 完全控制
System 完全控制
User 读取和运行+列出文件夹目录+读取
C:\windows 目录权限
Administrators 完全控制
System 完全控制
User 读取和运行+列出文件夹目录+读取
C:\windows\system 目录权限
Administrators 完全控制
System 完全控制
User 读取和运行+列出文件夹目录+读取
C:\windows\system32 目录权限
Administrators 完全控制
System 完全控制
User 读取和运行+列出文件夹目录+读取
C:\windows\temp 目录权限
Administrators 完全控制
System 完全控制
Everyone 完全控制
WWWROOT(网站根目录)目录权限
Administrators 完全控制
System 完全控制
Internet来宾账户 读取和运行+列出文件夹目录+读取
PHP目录权限:
Administrators 完全控制
System 完全控制
Everyone 读取和运行+列出文件夹目录+读取
Zend目录权限:
Administrators 完全控制
System 完全控制
Everyone 完全控制
Mysql目录权限:
Administrators 完全控制
System 完全控制
User 读取和运行+列出文件夹目录+读取
c:\inetpub\mailroot
administrators 全部
system 全部
service 全部
c:\inetpub\ftproot
everyone 只读和运行
c:\windows
administrators 全部
Creator owner
不是继承的
只有子文件夹及文件
完全
Power Users
修改,读取和运行,列出文件夹目录,读取,写入
system 全部
IIS_WPG 读取和运行,列出文件夹目录,读取
Users 读取和运行(此权限最后调整完成后可以取消)
C:\WINDOWS\Microsoft.Net
administrators 全部
Creator owner
不是继承的只有子文件夹及文件
完全
Power Users
修改,读取和运行,列出文件夹目录,读取,写入
system 全部
Users 读取和运行,列出文件夹目录,读取
C:\WINDOWS\Microsoft.Net\temporary ASP.NET Files
administrators 全部
Creator owner
不是继承的
只有子文件夹及文件
完全
Power Users
修改,读取和运行,列出文件夹目录,读取,写入
system 全部
Users 全部
c:\Program Files
Everyone 只有该文件夹
不是继承的
列出文件夹/读数据
administrators 全部
iis_wpg 只有该文件夹
列出文件/读数据
读属性
读扩展属性
读取权限
c:\windows\temp
Administrator 全部权限
System全部权限
users 全部权限
c:\Program Files\Common Files
administrators 全部
Creator owner
不是继承的
只有子文件夹及文件
完全
Power Users
修改,读取和运行,列出文件夹目录,读取,写入
system 全部
TERMINAL SERVER Users(如果有这个用户)
修改,读取和运行,列出文件夹目录,读取,写入
Users 读取和运行,列出文件夹目录,读取
c:\Program Files\Dimac(如果有这个目录)
Everyone 读取和运行,列出文件夹目录,读取
administrators 全部
c:\Program Files\ComPlus Applications (如果有)
administrators 全部
c:\Program Files\GflSDK (如果有)
administrators 全部
Creator owner
不是继承的
只有子文件夹及文件
完全
Power Users
修改,读取和运行,列出文件夹目录,读取,写入
system 全部
TERMINAL SERVER Users
修改,读取和运行,列出文件夹目录,读取,写入
Users 读取和运行,列出文件夹目录,读取
Everyone 读取和运行,列出文件夹目录,读取
c:\Program Files\WindowsUpdate
Creator owner
不是继承的
只有子文件夹及文件
完全
administrators 全部
Power Users 修改,读取和运行,列出文件夹目录,读取,写入
system 全部
c:\Program Files\Microsoft SQL(如果SQL安装在这个目录)
administrators 全部
Service 全部
system 全部
C:\php\uploadtemp
C:\php\sessiondata
everyone
全部
C:\php\
administrators 全部
system 全部权限
SERVICE全部
Users 只读和运行
c:\windows\php.ini
administrators 全部
system 全部权限
SERVICE全部
Users 只读和运行
==========================================================================================================
首先给大家介绍国内的著名的安全站点 网络安全文章资料相当齐全 大家有空去 看看
http://forum.eviloctal.com 邪恶八进制
http://www.wrsky.com 火狐联盟
http://www.xfocus.net 网络安全焦点
/html/edu/System/Win2003/index.html win系统安全和应用
这些都是国内最有权威的纯技术讨论安全站点 网络安全文章资料相当齐全
网上流传的很多关于windows server 2003系统的安全配置,但是仔细分析下发现很多都不全面,并且很多仍然配置的不够合理,并且有很大的安全隐患,今天我决定仔细做下极端BT的2003服务器的安全配置,让更多的网管朋友高枕无忧。
我们配置的服务器需要提供支持的组件如下:(ASP、ASPX、CGI、PHP、FSO、JMAIL、MySql、SMTP、POP3、FTP、3389终端服务、远程桌面Web连接管理服务等),这里前提是已经安装好了系统,IIS,包括FTP服务器,邮件服务器等,这些具体配置方法的就不再重复了,现在我们着重主要阐述下关于安全方面的配置。
关于常规的如安全的安装系统,设置和管理帐户,关闭多余的服务,审核策略,修改终端管理端口, 以及配置MS-SQL,删除危险的存储过程,用最低权限的public帐户连接等等,都不说了,大家在网上搜索到处是相关文章,315安全网上也多的很:
常规安全配置2003的:http://www.315safe.com/showarticle.asp?NewsID=2770
防范ASP木马在服务器上运行的:http://www.315safe.com/showarticle.asp?NewsID=2865
终端服务安全配置的:http://www.315safe.com/showarticle.asp?NewsID=2831
安装防火墙的:http://www.315safe.com/showarticle.asp?NewsID=2813
MS-SQL的安全配置:http://www.315safe.com/showarticle.asp?NewsID=2933
先说关于系统的NTFS磁盘权限设置,大家可能看得都多了,但是2003服务器有些细节地方需要注意的,我看很多文章都没写完全。
C盘只给administrators 和system权限,其他的权限不给,其他的盘也可以这样设置,这里给的system权限也不一定需要给,只是由于某些第三方应用程序是以服务形式启动的,需要加上这个用户,否则造成启动不了。
Windows目录要加上给users的默认权限,否则ASP和ASPX等应用程序就无法运行。以前有朋友单独设置Instsrv和temp等目录权限,其实没有这个必要的。
另外在c:/Documents and Settings/这里相当重要,后面的目录里的权限根本不会继承从前的设置,如果仅仅只是设置了C盘给administrators权限,而在All Users\Application Data目录下会 出现everyone用户有完全控制权限,这样入侵这可以跳转到这个目录,写入脚本或只文件,再结合其他漏洞来提升权限;譬如利用serv-u的本地溢出提升权限,或系统遗漏有补丁,数据库的弱点,甚至社会工程学等等N多方法,从前不是有牛人发飑说:“只要给我一个webshell,我就能拿到system",这也的确是有可能的。在用做web\ftp服务器的系统里,建议是将这些目录都设置的锁死。其他每个盘的目录都按照这样设置,没个盘都只给adinistrators权限。
另外,还将:net.exe,cmd.exe,tftp.exe,netstat.exe,regedit.exe,at.exe,attrib.exe,cacls.exe,这些文件都设置只允许administrators访问。
把不必要的服务都禁止掉,尽管这些不一定能被攻击者利用得上,但是按照安全规则和标准上来说,多余的东西就没必要开启,减少一份隐患。
在“网络连接”里,把不需要的协议和服务都删掉,这里只安装了基本的Internet协议(TCP/IP),由于要控制带宽流量服务,额外安装了Qos数据包计划程序。在高级tcp/ip设置里--“NetBIOS”设置“禁用tcp/IP上的NetBIOS(S)”。在高级选项里,使用“Internet连接防火墙”,这是windows 2003 自带的防火墙,在2000系统里没有的功能,虽然没什么功能,但可以屏蔽端口,这样已经基本达到了一个IPSec的功能。
这里我们按照所需要的服务开放响应的端口。在2003系统里,不推荐用TCP/IP筛选里的端口过滤功能,譬如在使用FTP服务器的时候,如果仅仅只开放21端口,由于FTP协议的特殊性,在进行FTP传输的时候,由于FTP 特有的Port模式和Passive模式,在进行数据传输的时候,需要动态的打开高端口,所以在使用TCP/IP过滤的情况下,经常会出现连接上后无法列出目录和数据传输的问题。所以在2003系统上增加的windows连接防火墙能很好的解决这个问题,所以都不推荐使用网卡的TCP/IP过滤功能。
SERV-U FTP 服务器的设置:
一般来说,不推荐使用srev-u做ftp服务器,主要是漏洞出现的太频繁了,但是也正是因为其操作简单,功能强大,过于流行,关注的人也多,才被发掘出bug来,换做其他的ftp服务器软件也一样不见得安全到哪儿去。
当然,这里也有款功能跟serv-u同样强大,比较安全的ftp软件:Ability FTP Server
下载地址:http://www.315safe.com/showarticle.asp?NewsID=4096
设置也很简单,不过我们这里还是要迎合大众胃口,说说关于serv-u的安全设置。
首先,6.0比从前5.x版本的多了个修改本地LocalAdministrtaor的密码功能,其实在5.x版本里可以用ultraedit-32等编辑器修改serv-u程序体进行修改密码端口,6.0修补了这个隐患,单独拿出来方便了大家。不过修改了管理密码的serv-u是一样有安全隐患的,两个月前臭要饭的就写了新的采用本地sniff方法获取serv-u的管理密码的exploit,正在网上火卖着,不过这种sniff的方法,同样是在获得webshell的条件后还得有个能在目录里有“执行”的权限,并且需要管理员再次登陆运行serv-u administrator的时候才能成功。所以我们的管理员要尽量避上以上几点因素,也是可以防护的。
另外serv-u的几点常规安全需要设置下:
选中“Block "FTP_bounce"attack and FXP”。什么是FXP呢?通常,当使用FTP协议进行文件传输时,客户端首先向FTP服务器发出一个“PORT”命令,该命令中包含此用户的IP地址和将被用来进行数据传输的端口号,服务器收到后,利用命令所提供的用户地址信息建立与用户的连接。大多数情况下,上述过程不会出现任何问题,但当客户端是一名恶意用户时,可能会通过在PORT命令中加入特定的地址信息,使FTP服务器与其它非客户端的机器建立连接。虽然这名恶意用户可能本身无权直接访问某一特定机器,但是如果FTP服务器有权访问该机器的话,那么恶意用户就可以通过FTP服务器作为中介,仍然能够最终实现与目标服务器的连接。这就是FXP,也称跨服务器攻击。选中后就可以防止发生此种情况。
另外在“Block anti time-out schemes"也可以选中。其次,在“Advanced”选项卡中,检查 “Enable security”是否被选中,如果没有,选择它们。
IIS的安全:
删掉c:/inetpub目录,删除iis不必要的映射
首先是每一个web站点使用单独的IIS用户,譬如这里,新建立了一个名为www.315safe.com ,权限为guest的。
在IIS里的站点属性里“目录安全性”---“身份验证和访问控制“里设置匿名访问使用下列Windows 用户帐户”的用户名密码都使用www.315safe.com 这个用户的信息.在这个站点相对应的web目录文件,默认的只给IIS用户的读取和写入权限(后面有更BT的设置要介绍)。
在“应用程序配置”里,我们给必要的几种脚本执行权限:ASP.ASPX,PHP,
ASP,ASPX默认都提供映射支持了的,对于PHP,需要新添加响应的映射脚本,然后在web服务扩展将ASP,ASPX都设置为允许,对于php以及CGI的支持,需要新建web服务扩展,在扩展名(X):下输入 php ,再在要求的文件(E):里添加地址 C:\php\sapi\php4isapi.dll ,并勾选设置状态为允许(S)。然后点击确定,这样IIS就支持PHP了。支持CGI同样也是如此。
要支持ASPX,还需要给web根目录给上users用户的默认权限,才能使ASPX能执行。
另外在应用程序配置里,设置调试为向客户端发送自定义的文本信息,这样能对于有ASP注入漏洞的站点,可以不反馈程序报错的信息,能够避免一定程度的攻击。
在自定义HTTP错误选项里,有必要定义下譬如404,500等错误,不过有有时候为了调试程序,好知道程序出错在什么地方,建议只设置404就可以了。
IIS6.0由于运行机制的不同,出现了应用程序池的概念。一般建议10个左右的站点共用一个应用程序池,应用程序池对于一般站点可以采用默认设置,
可以在每天凌晨的时候回收一下工作进程。
新建立一个站,采用默认向导,在设置中注意以下几个地方:
在应用程序设置里:执行权限为默认的纯脚本,应用程序池使用独立的名为:315safe的程序池。
名为315safe的应用程序池可以适当设置下“内存回收”:这里的最大虚拟内存为:1000M,最大使用的物理内存为256M,这样的设置几乎是没限制这个站点的性能的。
在应用程序池里有个“标识”选项,可以选择应用程序池的安全性帐户,默认才用网络服务这个帐户,大家就不要动它,能尽量以最低权限去运行大,隐患也就更小些。在一个站点的某些目录里,譬如这个“uploadfile"目录,不需要在里面运行asp程序或其他脚本的,就去掉这个目录的执行脚本程序权限,在“应用程序设置”的“执行权限”这里,默认的是“纯脚本”,我们改成“无”,这样就只能使用静态页面了。依次类推,大凡是不需要asp运行的目录,譬如数据库目录,图片目录等等里都可以这样做,这样主要是能避免在站点应用程序脚本出现bug的时候,譬如出现从前流行的upfile漏洞,而能够在一定程度上对漏洞有扼制的作用。
在默认情况下,我们一般给每个站点的web目录的权限为IIS用户的读取和写入,如图:
但是我们现在为了将SQL注入,上传漏洞全部都赶走,我们可以采取手动的方式进行细节性的策略设置。
1. 给web根目录的IIS用户只给读权限。如图:
然后我们对响应的uploadfiles/或其他需要存在上传文件的目录额外给写的权限,并且在IIS里给这个目录无脚本运行权限,这样即使网站程序出现漏洞,入侵者也无法将asp木马写进目录里去,呵呵, 不过没这么简单就防止住了攻击,还有很多工作要完成。如果是MS-SQL数据库的,就这样也就OK了,但是Access的数据库的话,其数据库所在的目录,或数据库文件也得给写权限,然后数据库文件没必要改成.asp的。这样的后果大家也都知道了把,一旦你的数据库路径被暴露了,这个数据库就是一个大木马,够可怕的。其实完全还是规矩点只用mdb后缀,这个目录在IIS里不给执行脚本权限。然后在IIS里加设置一个映射规律,如图:
这里用任意一个dll文件来解析.mdb后缀名的映射,只要不用asp.dll来解析就可以了,这样别人即使获得了数据库路径也无法下载。这个方法可以说是防止数据库被下载的终极解决办法了。
改名或卸载不安全组件
其实,只要做好了上面的权限设置,那么FSO、XML、strem都不再是不安全组件了,因为他们都没有跨出自己的文件夹或者站点的权限。那个欢乐时光更不用怕,有杀毒软件在还怕什么时光啊。
最危险的组件是WSH和Shell,因为它可以运行你硬盘里的EXE等程序,比如它可以运行提升程序来提升SERV-U权限甚至用SERVU来运行更高权限的系统程序。
谨慎决定是否卸载一个组件
组件是为了应用而出现的,而不是为了不安全而出现的,所有的组件都有它的用处,所以在卸载一个组件之前,你必须确认这个组件是你的网站程序不需要的,或者即使去掉也不关大体的。否则,你只能留着这个组件并在你的ASP程序本身上下工夫,防止别人进来,而不是防止别人进来后SHELL。
比如,FSO和XML是非常常用的组件之一,很多程序会用到他们。WSH组件会被一部分主机管理程序用到,也有的打包程序也会用到。
卸载最不安全的组件
最简单的办法是直接卸载后删除相应的程序文件。将下面的代码保存为一个.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
然后运行一下,WScript.Shell, Shell.application, WScript.Network就会被卸载了。可能会提示无法删除文件,不用管它,重启一下服务器,你会发现这三个都提示“×安全”了。
改名不安全组件
需要注意的是组件的名称和Clsid都要改,并且要改彻底了。下面以Shell.application为例来介绍方法。
打开注册表编辑器【开始→运行→regedit回车】,然后【编辑→查找→填写Shell.application→查找下一个】,用这个方法能找到两个注册表项:“{13709620-C279-11CE-A49E-444553540000}”和“Shell.application”。为了确保万无一失,把这两个注册表项导出来,保存为 .reg 文件。
比如我们想做这样的更改
13709620-C279-11CE-A49E-444553540000 改名为 13709620-C279-11CE-A49E-444553540001
Shell.application 改名为 Shell.application_315safe
那么,就把刚才导出的.reg文件里的内容按上面的对应关系替换掉,然后把修改好的.reg文件导入到注册表中(双击即可),导入了改名后的注册表项之后,别忘记了删除原有的那两个项目。这里需要注意一点,Clsid中只能是十个数字和ABCDEF六个字母。
下面是我修改后的代码(两个文件我合到一起了):
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}]
@="Shell Automation Service"
[HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\InProcServer32]
@="C:\\Windows\\system32\\shell32.dll"
"ThreadingModel"="Apartment"
[HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\ProgID]
@="Shell.Application_315safe.1"
[HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\TypeLib]
@="{50a7e9b0-70ef-11d1-b75a-00a0c90564fe}"
[HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\Version]
@="1.1"
[HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\VersionIndependentProgID]
@="Shell.Application_315safe"
[HKEY_CLASSES_ROOT\Shell.Application_315safe]
@="Shell Automation Service"
[HKEY_CLASSES_ROOT\Shell.Application_315safe\CLSID]
@="{13709620-C279-11CE-A49E-444553540001}"
[HKEY_CLASSES_ROOT\Shell.Application_315safe\CurVer]
@="Shell.Application_315safe.1"
你可以把这个保存为一个.reg文件运行试一下,但是可别就此了事,因为万一黑客也看了我的这篇文章,他会试验我改出来的这个名字的。
防止列出用户组和系统进程的方法是:【开始→程序→管理工具→服务】,找到Workstation,停止它,禁用它。
以上设置好了后,再按照站上的其他教程装一个软件防火墙,虽然windows自带的防火墙比较稳定,但是功能上欠佳,可以再安装一个visnetic防火墙或kerio等非常不错的。
下载地址:http://www.315safe.com/showarticle.asp?NewsID=2297
杀毒软件用一个Symantec AntiVirus 中小型企业版,这是一个不需太多干预并且易于管理的解决方案,可以提供超强病毒防护。有了赛门铁克保护您的服务器,您就可以依赖于最新的防护来抵御新近爆发的病毒、蠕虫和特洛伊木马,并从赛门铁克安全响应中心获得世界级的支持。集中控制和策略管理工具使得管理成为一件轻松的工作,先进的自动化功能可以在不中断您的工作的情况下,对病毒爆发提供及时的更新和迅捷的响应。Symantec AntiVirus 中小型企业版能够与您的企业一起扩展。它是一种可完全伸缩的解决方案,可以简化您在将台式机和服务器添加到网络中时的整合工作,并能将安全性扩展到多平台配置。
下载地址:http://www.315safe.com/showarticle.asp?NewsID=7321
这样你的服务器就相当安全稳定了。
一 主机的安全配置
1.装杀毒软件、防火墙、这些都是必备的也是基本的,还有就是勤打官方的补丁。
2.推荐几款安全工具,360安全卫士能扫描你系统的漏洞,然后下载补丁修补,间谍软件,恶意插件,靠他查杀。
冰刃 系统分析特别强,分析系统正在运行的程序 ,开放的端口、内核模块,系统启动加载的软件、开放的服务,等等功能十分强大 可以辅助管理员查找木马。
3.做安全配置首先将:net.exe,cmd.exe,netstat.exe,regedit.exe,at.exe,attrib.exe, cacls.exe,这些文件都设置只允许administrators访问。
还有将FTP.exe ,TFTP.exe ,这样命令黑客可以执行,下载黑客电脑的木马,安装到服务器,所以要改名。
把135、445、139、这些端口都要关闭。
4.在“网络连接”里,把不需要的协议和服务都删掉,只安装了基本的Internet协议 (TCP/IP)在高级tcp/ip设置里-- “NetBIOS”设置“禁用tcp/IP上的NetBIOS。
5.把不必要的服务都禁止掉,尽管这些不一定能被攻击者利用得上,但是按照安全规则和 标准上来说,多余的东西就没必要开启,减少一份隐患。
6.在屏幕保护,勾选上在恢复时使用密码保护,万一系统被黑客链接上 他不知道帐号密码也是没用的。
7.系统自带的TCP/IP筛选只开发你需要的端口,比如你只开放WEB服务和FTP服务,那么你就用TCP/IP筛选把其他端口过滤掉,只开放80和21端口。
这样就减少许多比必要的麻烦黑客就不会利用其他端口入侵你了。
这里有一个详细的2003的安全配置的文章大家去看看
http://bbs.wuyapc.com/read.php?tid-2355.shtml
二 ,WEB服务器的安全配置
你的WEB服务哪些目录允许解析哪些目录不允许解析 。比如存放附件的目录很容易让黑客在前台上传木马,黑客会利用得到管理员权限后,利用后台的一些功能 把附件改名为.ASP或者其他。 如果Web服务器解析了这个目录的话就会执行黑客的网页木马,
所以放附件的目录,或者没有其他无执行脚本程序目录,应该在Web服务器上设置这些目录不能解析
2.就是你这套整站程序是什么整站系统的的,要常关注官方的补丁 勤打补,你用的那套WEB系统可以到 www.sebug.net 上去搜索查询有什么漏洞,如果有漏洞请及时修补.
三,防止ASP木马在服务器上运行
1、删除FileSystemObject组件
2、删除WScript.Shell组件
3、删除Shell.Application组件
4、禁止调用Cmd.exe
把这些组件删除了ASP木马无法调用组件就无法运行.
还有就是FTP服务器,大家千万不要用SERV-U,SERV-U一直以来有个大漏洞,攻击者可以利用它,创建一个系统管理员的帐号,用终端3389登录。
四,注入漏洞的防范
1、 ASP程序连接 SQL Server 的账号不要使用sa,和任何属于Sysadmin组的账号,尽量 避免应用服务有过高的权限,应使用一个db_owner权限的一般用户来连接数据库。
2、WEB应用服务器与DB服务器分别使用不同的机器来存放,并且之间最好通过防火墙来 进行逻辑隔离,因为除了有程序在探测,sa 没密码的SQL Server,SQL Server 本身及大 量的扩展存储过程也有被溢出攻击的危险。
3、数据库服务器尽量不要与公网进行连接,如果一定要直接提供公网的连接存储,应考虑使用一个不是默认端口的端口来链接。
4、SA一定要设成强悍的密码,在默认安装Sql时sa账号没有密码,而一般管理员装完后 也忘了或怕麻烦而不更改密码。
5.DBO可以差异备份.列目录.SQL用户不允许访问硬盘也要设置.删除XP_CMDSHELL等SQL组件.为了防止EXEC命令执行.
6、不要使用IIS装好后预设的默认路径\Inetpub\WWWRoot路 径.
7、随时注意是否有新的补丁需要补上,目前SQL2000最新的补本包为SP4。
8、使用过滤和防注入函数来过滤掉一些特殊的字符 ,比如单引号'一定要过滤掉。
9、关闭IIS的错误提示,以防止攻击者获得ASP的错误提示.
黑客还会利用DDOS分布式拒绝服务攻击,发送大量半链接数据包把你服务器攻击直到无法访问。
五,防范DDOS分布式拒绝服务攻击
黑客还会利用DDOS分布式拒绝服务攻击 发送大量无用数据包把你服务器攻击知道无法访问
SYN攻击是最常见又最容易被利用的一种攻击手法。 记得2000年YAHOO就遭受到这样的攻击。
SYN攻击防范技术,归纳起来,主要有两大类,一类是通过防 火墙、路由器等过滤网关防护,另一类是通过加固TCP/IP协议栈防范.但必须清楚的是 ,SYN攻击不能完全被阻止,我们所做的是尽可能的减轻SYN攻击的危害,除非将TCP协 议重新设计。
1、过滤网关防护
这里,过滤网关主要指明防火墙,当然路由器也能成为过滤网关。防火墙部署在不同网络之间,防范外来非法攻击和防止保密信息外泄,它处于客户端和服务器之间,利用它来防护SYN攻击能起到很好的效果。过滤网关防护主要包括超时设置,SYN网关和SYN代理三种。
2、加固tcp/ip协议栈
防范SYN攻击的另一项主要技术是调整tcp/ip协议,修改tcp协议实现。主要方法有SynAttackProtect保护机制、SYN cookies技术、增加最大半连接和缩短超时时间等。tcp/ip协议栈的调整可能会引起某些功能的受限,管理员应该在进行充分了解和测试的前提下进行此项工作。
为防范SYN攻击,win2000系统的tcp/ip协议内嵌了SynAttackProtect机制,Win2003系统也采用此机制。SynAttackProtect机制是通过关闭某些socket选项,增加额外的连接指示和减少超时时间,使系统能处理更多的SYN连接,以达到防范SYN攻击的目的。默认情况下,Win2000操作系统并不支持 SynAttackProtect保护机制,需要在注册表以下位置增加SynAttackProtect键值:HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
3.增加最大半连接数
六,防范ARP欺骗
防御方法 1.计算机IP地址与MAC绑定
在CMD方式下,键入以下命令:ARP-s IP地址MAC地址
例: ARP-s 192.168.1.100 XX-XX-XX-XX-XX 这样,就将静态IP地址192.168.1.100与网卡地址为XX-XX-XX-XX-XX的计算机绑定在一起了,即使别人盗 用您的IP地址 192.168.1.100,也无法通过代理服务器上网。
登录进入交换机,输入管理口令进入全局配置模式,键入命令:
2.交换机端口与MAC绑定
(config) #mac—address—table static<MAC地址>vlan<VLAN号>interface<模块 号/端口号表>该命令可分配一个静态的MAC地址给某些端口,即使重自交换饥,这个 地址也仍然会存在。从此。该端口只允许这个MAC地址对应的设备连接在该端口上送行 通信。用户通过注册表等方式更改MAC地址后,交换机拒绝为其通信。
3.Linux下ARP绑定
#arp -a > /etc/ethers
#vi ethers
改成形式ip mac
#vi /etc/rc.d/rc.local
加上一行
arp -f
保存
执行arp -f
以上 就是我总结的网站服务器安全总结 有的是我自己写的 有的是我找的资料 讲的不好请多多包涵 谢谢大家