灌溉梦想,记录脚步

Serv-u安全配置

1,首先安装Serv-U,路径随便,不要安装在C盘!
路径尽量复杂的,以减少入侵者猜到安装路径,如D:\5155kdh\5126554dad485\
2,运行Serv-U,注册域,把密码保存设置为 “加密在注册表里(Domain type:Store in computer registry)”。把帐户密码保存在注册表比保存在ServUDaemon.ini安全。

3,Serv-U安装完成后。打开“计算机管理”,“本地用户和组”。新建一个用户,如Asion,密码要长,要复杂,抄下,一会还要用上! 把用户不能更改密码和密码永不过期勾上3, 打开新建用户(Asion)的属性,在“隶属于”中把Users删除掉,即不属于任何组
在“终端服务配置文件”,把“拒绝这个上用户登录到任何终端服务器”打上勾在“拨入”中,"远程访问权限"为“拒绝访问”
4,打开Serv-U安装目录“属性”“安全”“高级”,取消“允许父项的继承权限传播到该对象和所有子对象”,然后点“复制”把System/Creator owner/Users 删除掉,只留下”Administrator”.然后“添加”“高级”“立刻查找”,把新的建的用户“Asion”进去,权限除完全控制其它都给予! (即Serv-U安装目录只有两个用户权限,Admin/asion完全控制)

5,,运行注册表程序Regedt32,打开分支\HKEY_LOCAL_MACHINE\SOFTWARE\Cat Soft,右击CatSoft打开权限,取消“允许父项的继续权限传播到该对象和所有子对象”,然后点删除,再应用。当弹出警告对话框“你拒绝了所有用户访问CatSoft。没有人能访问Catsoft。而且只有所有者才能更改权限。你要继续吗” 选择“是”。然后添加Administrator和新建的用户Asion所有权限(完全控制
6,打开计算机管理,“服务和应用程序”“服务”,找到”Serv-U Ftp服务器”,打开“属性”“登录”,将登陆身份设置为“此帐户”,并将新建的帐户asion添加上去,然后填上密码,再应用)接着重新启动一次Serv-U 服务。如果出现“错误5:拒绝访问” 那就要检查以上的操作有没漏做一步!这种现象一般都是权限设置错误!

7,运行Serv-U Admin,在“Settings”“Advanced” 下,添加PASV port range 3000-3030

在域的Advanced中。添加被动端口IP “Allow passive mode data transfers,use IP xxx.xxx.xxx.xxx”

Serv-U安装路径尽量复杂,删除所有快捷图标,包括Documents and Settings 下每个用户目录的快捷方式,目的是尽量减少入侵者猜中。建立新帐户为为Serv-U的服务启动是为安全, Serv-U默认是System启动,而Serv-U有一个默认的管理用户(用户名:localadministrator,密码:#|@$ak#.|k;0@p),任何人只要通过一个能访问本地端口43958的账号就可以随意增删账号和执行任意内部和外部命令。 而注册表中设置只允许Admin和Serv-U服务帐户全权,也是防止入侵IIS后而读取Serv-U的Ftp 帐号密码。指定PASV(被动端口)很有必要,一是减少服务器端口开放,越少越安全;二是使于管理。如果不开放PASV,那么客户用IE登陆FTP就会出错! 另外FTP最好是开启记录日志,要是被入侵,还有点痕迹可查。

SQL安全方面

SQL安全方面
  1、System Administrators 角色最好不要超过两个

  2、如果是在本机最好将身份验证配置为Win登陆

  3、不要使用Sa账户,为其配置一个超级复杂的密码

  4、删除以下的扩展存储过程格式为:

  use master

  sp_dropextendedproc '扩展存储过程名'

  xp_cmdshell:是进入操作系统的最佳捷径,删除

  访问注册表的存储过程,删除

  Xp_regaddmultistringXp_regdeletekeyXp_regdeletevalueXp_regenumvalues
  Xp_regread Xp_regwrite Xp_regremovemultistring

  OLE自动存储过程,不需要,删除

  Sp_OACreate Sp_OADestroySp_OAGetErrorInfoSp_OAGetProperty
  Sp_OAMethodSp_OASetPropertySp_OAStop

  5、隐藏 SQL Server、更改默认的1433端口。

  右击实例选属性-常规-网络配置中选择TCP/IP协议的属性,选择隐藏 SQL Server 实例,并改原默认的1433端口。

关闭高危端口

首先创建IP筛选器和筛选器操作
1、"开始"->"程序"->"管理工具"->"本地安全策略",微软建议使用本地安全策略进行IPsec的设置,因为本地安全策略只应用到本地计算机上,而通常ipsec都是针对某台计算机量身定作的。
2、右击"Ip安全策略,在本地机器",选择"管理 IP 筛选器表和筛选器操作",启动管理 IP 筛选器表和筛选器操作对话框。只有创建一个IP筛选器和相关操作才能够建立一个相应的IPsec安全策略.
3、在"管理 IP 筛选器表"中,按"添加"按钮建立新的IP筛选器:
1)、在跳出的IP筛选器列表对话框内,填上合适的名称,我们这儿使用"tcp135",描述随便填写.单击右侧的"添加…"按钮,启动IP筛选器向导;
2)、跳过欢迎对话框,下一步;
3)、在IP通信源页面,源地址选"任何IP地址",下一步;
4)、在IP通信目标页面,目标地址选"我的IP地址",下一步;
5)、在IP协议类型页面,选择"TCP".下一步;
6)、在IP协议端口页面,选择"到此端口"并设置为"135",其它不变.下一步;
7)、完成后关闭IP筛选器列表对话框时会发现tcp135IP筛选器出现在IP筛选器列表中。
注:可接着增加端口号,方法同上,这里不在一一陈述。
4、选择"管理筛选器操作"标签,创建一个拒绝操作:
1)单击"添加"按钮,启动"筛选器操作向导",下一步;
2)在筛选器操作名称页面,填写名称,这儿填写"拒绝",下一步;
3)在筛选器操作常规选项页面,将行为设置为"阻止",下一步;
4)完成,关闭"管理 IP 筛选器表和筛选器操作"对话框。
接着创建IP安全策略
1、右击"Ip安全策略,在本地机器"选择"创建IP安全策略",启动IP安全策略向导,跳过欢迎页面,下一步;
2、在IP安全策略名称页面,填写合适的IP安全策略名称,这儿我们可以填写"拒绝对tcp135端口的访问",描述可以随便填写,下一步;
3、在安全通信要求页面,不选择"激活默认响应规则",下一步;
4.、在完成页面选择"编辑属性",完成。
5、在"拒绝对tcp135端口的访问属性"对话框中进行设置,首先设置规则:
1)、单击下面的"添加…"按钮,启动安全规则向导,下一步;
2)、在隧道终结点页面选择默认的"此规则不指定隧道",下一步;
3)、在网络类型页面选择默认的"所有网络连接",下一步;
4)、在身份验证方法页面选择默认的"windows 2000默认值(Kerberos V5 协议)",下一步;
5)、在IP筛选器列表页面选择刚建立的"tcp135"筛选器,下一步;
6)、在筛选器操作页面刚建立的"拒绝"操作,下一步;
7)、在完成页面中不选择"编辑属性",随后确定完成,关闭"拒绝对tcp135端口的访问属性"对话框即可。
指派和应用IPsec安全策略
1、缺省情况下,任何IPsec安全策略都未被指派.首先我们要对新建立的安全策略进行指派,在本地安全策略MMC中,右击我们刚刚建立的""拒绝对tcp135端口的访问属性"安全策略,选择"指派。
2、立即刷新组策略,使用"secedit /refreshpolicy machine_policy"命令可立即刷新组策略。
通过以上方法融会贯通可以关闭自己本机不需要的端口,至于哪些是高危,在这里就不用我说了吧。

调用Cmd.exe

禁用Guests组用户调用cmd.exe,命令为cacls C:\WINNT\system32\Cmd.exe /e /d guests, 最后设置上传存放上传文件的文件夹禁止运行ASP,例外:如果服务器安装S U FTP工具千万要安装6.0以上版本修改默认密码防止提权,FTP、SA、等密码一定要设得复杂些,目前很多人都设置为“默认”。
由于我们设置该文件夹禁止运行ASP, 如果对方通过WBE漏洞想利用上传ASP文件进入的话,那是无用的,这里假设对方通过某种手段运行了ASP后门,那么管理人员也可以在了解一ASP后门的基本功后能,采用相对的应付方法即可防范,如下:
1、查看系统盘符:设置了USERS组无法访问或使用的专门用户没有权限。
2、查看Documents and Settings、Program Files 文件夹:设置无权限。
3、列用户组与进程:禁用了workstation 服务。
4、调用CMD:设置USERS用户组没有权限调用行为。
5、调用WScript.Shell与Shell.Application :删除或者进行修改。
6、S U提权:改动密码。
大体就这些以上几种我们都相对设置了应付方案,在WEB方面既可保证相对的服务器安全。
总结:网络安全是不容忽视的,不要等到事情发生之后才去补救,同样网络安全是无极限的,技术的比拼就是一场没有硝烟的战争。有句话很经典:在网络中只有相对的安全没有绝对的安全,要想打好一场战争就要知己知彼,只有在了解了入侵手法后才能做的更好的防范。

php安全设置

关闭危险函数,在php.ini里设置
(1) 关闭注册全局变量
在PHP中提交的变量,包括使用POST或者GET提交的变量,都将自动注册为全局变量,能够直接访问,这是对服务器非常不安全的,所以我们不能让它注册为全局变量,就把注册全 局变量选项关闭:register_globals = Off
当然,如果这样设置了,那么获取对应变量的时候就要采用合理方式,比如获取GET提交的变量var,那么就要用$_GET['var']来进行获取,这个php程序员要注意。
(2) 打开magic_quotes_gpc来防止SQL注入,SQL注入是非常危险的问题,小则网站后台被入侵,重则整个服务器沦陷,所以一定要小心。php.ini中有一个设置:magic_quotes_gpc = Off这个默认是关闭的,如果它打开后将自动把用户提交对sql的查询进行转换,比如把 ' 转为 \'等,这对防止sql注射有重大作用。所以推荐设置为:magic_quotes_gpc = On
(3) 错误信息控制
一般php在没有连接到数据库或者其他情况下会有提示错误,一般错误信息中会包含php脚本当前的路径信息或者查询的SQL语句等信息,这类信息提供给黑客后,是不安全的,所以 一般服务器建议禁止错误提示:display_errors = Off 如果你却是是要显示错误信息,一定要设置显示错误的级别,比如只显示警告以上的信息:error_reporting = E_WARNING & E_ERROR 当然,最好还是关闭错误提示。
(4) 错误日志
建议在关闭display_errors后能够把错误信息记录下来,便于查找服务器运行的原因:
log_errors = On
同时也要设置错误日志存放的目录如:
error_log = D:/logs/php_error.log
设置完之后重启IIS生效

删除不安全组件

WScript.Shell 、Shell.application 这两个组件一般一些ASP木马或一些恶意程序都会使用到。

方案一:

regsvr32 /u wshom.ocx 卸载WScript.Shell 组件
regsvr32 /u shell32.dll 卸载Shell.application 组件

如果按照上面讲到的设置,可不必删除这两个文件

方案二:

删除注册表 HKEY_CLASSES_ROOT\CLSID\{72C24DD5-D70A-438B-8A42-98424B88AFB8} 对应 WScript.Shell
删除注册表 HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540000} 对应 Shell.application

本地安全策略

开始 > 程序 > 管理工具 > 本地安全策略
账户策略 > 密码策略 > 密码最短使用期限 改成0天[即密码不过期,上面我讲到不会造成IIS密码不同步]
账户策略 > 账户锁定策略 >账户锁定阈值 5 次 账户锁定时间 10分钟 [个人推荐配置]
本地策略 > 审核策略 >
账户管理 成功 失败
登录事件 成功 失败
对象访问 失败
策略更改 成功 失败
特权使用 失败
系统事件 成功 失败
目录服务访问 失败
账户登录事件 成功 失败
本地策略 > 安全选项 > 清除虚拟内存页面文件 更改为"已启用"

> 不显示上次的用户名 更改为"已启用"
> 不需要按CTRL+ALT+DEL 更改为"已启用"
> 不允许 SAM 账户的匿名枚举 更改为"已启用"
> 不允许 SAM 账户和共享的匿名枚举 更改为"已启用"
> 重命名来宾账户 更改成一个复杂的账户名
> 重命名系统管理员账号 更改一个自己用的账号 [同时可建立一个无用户组的Administrat账户]