什么要将MS SQL SERVER数据库必须运行在“普通用户”的状态下呢?因为如果使用了“超级管理员”或者“本地系统用户”来运行“SQL2000数据库”,就会被黑客利用,利用SYSTEM用户权限入侵服务器。因此,为了服务器安全,务必将MS SQL SERVER运行在“普通用户”的状态下。同时,要对硬盘的权限做好对应的权限设置MS SQL SERVER才能正常运行。
将MS SQL SERVER运行于普通用户下
建立普通用户;
单击“开始”—“管理工具”—“计算机管理”,进入计算机管理界面。
单击“系统工具”—“本地用户和组”—“用户” ,进入用户管理;
在“用户”上右击,选中“新用户”,添加新用户;
进入新用户建立界面;
输入MS SQL SERVER运行用户“mssqlrun” ,并设置密码,单击“创建”建立该用户;
第一步:C盘目录设置
C盘需要以下权限:
C:\administrators 全部权限
System 全部权限
IIS_WPG只读与运行的权限(只应用在当前文件夹)
SQL2000的运行用户(只应用在当前文件夹)
列出文件夹/读数据
读属性
读扩展属性
读取权限
C:\Program Files\Microsoft SQL Server\MSSQL\Data (如果此目录用来放置SQL2000用户数据库)
administrators 全部权限
System 全部权限
SQL2000的运行用户全部权限
打开MSSQL SERVER安装盘根目录的安全属性(在安装盘盘符上右键单击,选择“属性”,在弹出的属性框中单击“安全”标签)。
单击“添加”,在“选择用户或组”里输入刚刚添加的MSSQL运行用户“mssqlrun”,单击确定给MSSQLSERVER安装盘根目录添加用户;
设置“Mssqlrun”用户的权限,将默认的“读取和运行”权限取消,保留“读取”和“列出文件夹目录”权限,单击“确定”,保存该设置并退出;
进入MSSQL SERVER安装目录,同样在文件夹内右键选择“属性”;
打开MSSQL SERVER安装目录属性的“安全”属性,删除“SYSTEM”用户,添加“mssqlrun”用户,权限为完全控制;
设置完目录的权限后,就需要将MS SQL SERVER的运行用户设置为mssqlrun;
单击“此帐户”,设置帐户;
单击“浏览”,在输入框中输入MSSQL SERVER的用户“mssqlrun”;
在密码和确认密码中输入mssqlrun用户的密码,单击“应用”,系统弹出服务警告窗口“新的登录名只有在您停止并重启服务时才可生效。”,单击确定即可。
此时重启一下服务,MSSQL SERVER就运行在mssqlrun这个普通权限的用户之下了,服务器安全将大大增强。
如需引用或者转载此文,请注明作者:聚友
补充权限,以防出现因为sqlserver无法运行的问题,如果出现问题重启一下系统,将权限重新改为system权限运行即可,然后参考这篇文章设置下,一般就没问题了。
一般地,我们建议C盘分区在15G以上,SQL 2000可以直接安装在C:盘默认目录,权限就可以参考视频来设置。一般情况下,SQL 2000使用的空间不会超过3G,就算是有MySQL数据库,它的大小了不会超过2G,这是显而易见的,如果数据库一超过1G你的服务器就需要大量的内存才能正常运行,例如2G的内存,所以,做虚拟主机运营的数据库是不可能太大的,根本没有这么多内存可用。
C盘需要以下权限:
C:\administrators 全部权限
System 全部权限
IIS_WPG只读与运行的权限(只应用在当前文件夹)
SQL2000的运行用户(只应用在当前文件夹)
列出文件夹/读数据
读属性
读扩展属性
读取权限
C:\Program Files\Microsoft SQL Server\MSSQL\Data (如果此目录用来放置SQL2000用户数据库)
administrators 全部权限
System 全部权限
SQL2000的运行用户全部权限
如果你的数据库是装在c盘,但用户的库目录是放在F:\SQLDATA目录,并有备份数据库放在这个盘,F盘就需要有以下的权限:
F:\ (如果此分区用来放置SQL2000用户数据库)
administrators 全部权限
System 全部权限
SQL2000的运行用户(只应用在当前文件夹)
列出文件夹/读数据
读属性
读扩展属性
读取权限
F:\SQLDATA (如果此目录用来放置SQL2000用户数据库)
administrators 全部权限
System 全部权限
SQL2000的运行用户全部权限
F:\SQLBACK (如果此目录用来放置SQL2000备份数据库)
administrators 全部权限
System 全部权限
SQL2000的运行用户全部权限
这儿说的"SQL2000的运行用户",就是在SQL 2000企业管理器,属性中的安全中设置的用户,默认一般是System,如果您看过了"星外安全包视频说明",应该已将此用户更改,应该使用更改后的用户名。
1.首先打开serv-u管理添加serv-u为系统服务,在自动开始打上勾
2.下面就到了该对SERV-U进行安全设置的时候了。首先建立一个WINDOWS账号(例如ftptest,密码设置复杂些)
点击开始-所有程序-管理工具-计算机管理-本地用户和组
3.建好账号以后,双击建好的用户编辑用户属性,从“隶属于”里删除USERS组。
4.在开始菜单的管理工具里找到“服务”点击打开。在“Serv-U FTP Server服务”上点右键,选择属性继续。
然后点击“登录”进入登录账号选择界面。选择刚才建立的系统账号名,并在下面重复输入2次该账号的密码(就是刚才让你记住的那个),然后点“应用”,再次点确定,完成服务的设置。
5.找到serv-u的安装目录(C:\Program Files\RhinoSoft.com\Serv-U)设置serv-u安装目录的权限
添加所有权限除了(完全控制,删除,更改权限,取得所有权限)
现在,在服务里重启Serv-U FTP Server服务就可以正常启动了。当然,到这里还没有完全设置完,你的FTP用户因为没有权限还是登录不了的,所以还要设置一下目录的权限
7.假设你有一个WEB目录,路径是d:\web。那么在这个目录的“安全设定”里除了管理员和IIS用户都删除掉,再加入ftptest账号,切记SYSTEM账号也删除掉。为什么要这样设置呢?因为现在已经是用ftptest账号启动的SERV-U,而不是用SYSTEM权限启动的了,所以访问目录不再是用SYSTEM而是用ftptest,此时SYSTEM已经没有用了,这样就算真的溢出也不可能得到SYSTEM权限。另外,WEB目录所在盘的根目录还要设置允许ftptest账号的浏览和读取权限(除了完全控制,更改权限,取得所有权限,遍历文件夹/运行文件),并确认在高级里设置只有该文件夹
至此,设置全部结束。
大家去过落伍者吧?大家可以通过IP查看落伍的IP是在韩国,大家可知道,其实落伍的数据还是在国内。如何做到这样的呢,这就叫反向代理,在韩国的服务器将http请求发送到国内服务器的某个http端口,再将回传的数据返回到韩国,发送至客户,这样就完成了网站实体在国内,看起来网站在国外。
这里说一下IIS做反向代理,实现这个功能ISAPI_Rewrite Full版本可以实现。下载ISAPI_Rewrite Full,安装。
在创建一个网站,这个网站可以用你想要的域名进行访问到,或者最直接的方法就是空主机头的网站,再在网站下面创建一个httpd.ini文件,内容:
[ISAPI_Rewrite]
RewriteCond Host: www\.my\.me
RewriteProxy (.*) http://my.xxxx.net:81$1 [I,F,U]
其意思是将www.my.me映射到http://my.xxx.net:81,这里可以自由映射到别的端口。
反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。
通常的代理服务器,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中。由于外部网络上的主机并不会配置并使用这个代理服务器,普通代理服务器也被设计为在Internet上搜寻多个不确定的服务器,而不是针对Internet上多个客户机的请求访问某一个固定的服务器,因此普通的Web代理服务器不支持外部对内部网络的访问请求。当一个代理服务器能够代理外部网络上的主机,访问内部网络时,这种代理服务的方式称为反向代理服务。此时代理服务器对外就表现为一个Web服务器,外部网络就可以简单把它当作一个标准的Web服务器而不需要特定的配置。不同之处在于,这个服务器没有保存任何网页的真实数据,所有的静态网页或者CGI程序,都保存在内部的Web服务器上。因此对反向代理服务器的攻击并不会使得网页信息遭到破坏,这样就增强了Web服务器的安全性。
反向代理方式和包过滤方式或普通代理方式并无冲突,因此可以在防火墙设备中同时使用这两种方式,其中反向代理用于外部网络访问内部网络时使用,正向代理或包过滤方式用于拒绝其他外部访问方式并提供内部网络对外部网络的访问能力。因此可以结合这些方式提供最佳的安全访问方式。
代理服务器充当服务器的替身如果您的内容服务器具有必须保持安全的敏感信息,如信用卡号数据库,可在防火墙外部设置一个代理服务器作为内容服务器的替身。当外部客户机尝试访问内容服务器时,会将其送到代理服务器。实际内容位于内容服务器上,在防火墙内部受到安全保护。代理服务器位于防火墙外部,在客户机看来就像是内容服务器。
当客户机向站点提出请求时,请求将转到代理服务器。然后,代理服务器通过防火墙中的特定通路,将客户机的请求发送到内容服务器。内容服务器再通过该通道将结果回传给代理服务器。代理服务器将检索到的信息发送给客户机,好像代理服务器就是实际的内容服务器(参见图 14-1)。如果内容服务器返回错误消息,代理服务器会先行截取该消息并更改标头中列出的任何 URL,然后再将消息发送给客户机。如此可防止外部客户机获取内部内容服务器的重定向 URL。
这样,代理服务器就在安全数据库和可能的恶意攻击之间提供了又一道屏障。与有权访问整个数据库的情况相对比,就算是侥幸攻击成功,作恶者充其量也仅限于访问单个事务中所涉及的信息。未经授权的用户无法访问到真正的内容服务器,因为防火墙通路只允许代理服务器有权进行访问。
图 14-1 反向代理服务器就像是真正的内容服务器
可以配置防火墙路由器,使其只允许特定端口上的特定服务器(在本例中为其所分配端口上的代理服务器)有权通过防火墙进行访问,而不允许其他任何机器进出。
安全反向代理 当代理服务器与其他机器之间有一个或多个连接使用安全套接字层 (SSL) 协议加密数据时,即会进行安全反向代理。
安全反向代理有许多用途:
可以提供从防火墙外部代理服务器到防火墙内部安全内容服务器的加密连接。
可以允许客户机安全地连接到代理服务器,从而有利于安全地传输信息(如信用卡号)。
安全反向代理会造成各安全连接因加密数据所涉及的系统开销而变慢。但是,由于 SSL 提供了高速缓存机制,所以连接双方可以重复使用先前协商的安全参数,从而大大降低后续连接的系统开销。
配置安全反向代理服务器的方法有三种:
Secure client to proxy。如果未经授权的用户很少或根本没有机会访问代理服务器与内容服务器之间交换的信息,则此方案很有效(参见图 14-2)。
图 14-2 客户机安全连接到代理服务器
Secure proxy to content server。如果客户机在防火墙内部而内容服务器在防火墙外部,则此方案很有效。在此方案中,代理服务器可以充当站点之间的安全通道(参见图 14-3)
图 14-3 代理服务器安全连接到内容服务器
Secure client to proxy and secure proxy to content server。如果需要保护服务器、代理服务器和客户机三者间所交换信息的安全,则此方案很有效。在此方案中,代理服务器既可起到站点间安全通道的作用,又可增加客户机验证的安全性(参见图 14-4)。
图 14-4 客户机安全连接到代理服务器并且代理服务器安全连接到内容服务器
有关如何设置上述每种配置的信息,参见设置反向代理服务器。
除了 SSL 之外,代理服务器还可以使用客户机验证,这种方法要求向代理服务器提出请求的计算机提供证书(或标识表单)以核实其身份。