zoukankan      html  css  js  c++  java
  • Windows2008 Server 常规设置及基本安全策略

    一、系统及程序

    1、屏幕保护与电源

    桌面右键--〉个性化--〉屏幕保护程序
    屏幕保护程序 选择无
    更改电源设置 选择高性能
    选择关闭显示器的时间 关闭显示器 选 从不 保存修改


    2、安装IIS

    管理工具--〉服务器管理器--〉添加服务器角色--〉勾选 Web服务器(IIS)

    勾选下列 角色服务
    ASP
    CGI(和PHP有关)
    ISAPI扩展
    ISAPI筛选器
    在服务器端包含文件(用于支持SSI shtml)

    也可以之后添加
    服务器管理器--〉角色--〉web 服务器(IIS)--〉角色服务 点击 添加角色服务

    http://qingguo408.blog.163.com/blog/static/15662855201121893825604/
    如需安装SQL2005,则下列角色服务必须勾选

    1. 常见的 HTTP 功能
    静态内容  
    默认文档
    目录浏览
    HTTP 重定向

    2. 应用程序开发
    ASP.Net
    .NER 扩展
    ISAPI 扩展
    ISAPI 筛选器

    3. 安全性
    Windows 身份验证

    4. 管理工具 IIS6 管理兼容性
    IIS 6 元数据库兼容性
    IIS 6 WMI 兼容性


    设置日志、输出缓存的目录


    添加默认文档
    index.asp index.php Default.asp 等

    启用父路径
    ASP  启用父路径  False 改为 True

    增加IIS对MIME文件类型的支持
    MIME类型
    .rmvb application/vnd.rn-realmedia
    .iso  application/octet-stream
    .rar  application/octet-stream
    .7z   application/octet-stream
    .mkv  application/octet-stream


    Win2008或IIS7的文件上传大小限制解决方案

    默认情况下,IIS7的上传限制为200K。当上传文件小于30M时,可以通过如下方法设置:
    在iis7中找到asp设置,在“asp”的“限制属性”中最后一行“最大请求主体限制”,修改该值为你所想要的,如2G(2000000000,单位为B)。

    当上传文件要求大于30M时,继续如下修改:

    1. 停止IIS7
    2. 找到“C:WindowsSystem32inetsrvconfigschemaIIS_schema.xml”文件。
    这个文件是只读的,即使用管理员权限也不能修改。要先修改文件的权限,然后去掉只读属性才可以。

    1) 右键文件->属性->安全,选中目标用户,点击高级,修改文件所有者;
    2) 确定后点击编辑,就可以修改当前用户的权限了,添加“写入”权限。至此,权限设置OK了。
    3) 将文件的只读属性去掉。

    用记事本打开该文件,找到“”,将“30000000”修改为你想要的值(如2000000000)保存。
    将“C:WindowsSystem32inetsrvconfigschemaIIS_schema.xml”文件加上只读属性。

    启动IIS7。本人上传120M视频文件通过。但是,win2008最大只能上传小于2G的文件。这个要注意。


    3、配置php

    http://www.cnblogs.com/kaite/archive/2012/03/10/2389489.html
    把php安装包解压的一个目录下,C:php
    拷贝一个php.ini-development副本,把它重命名为php.ini。
    配置php.ini 文件,搜索如下配置并修改相应的配置值:

    extension_dir = "C:phpext"
    ; date.timezone = 改为 date.timezone = Asia/Shanghai

    如果不改以上的date.timezone可能打开网页会提示500错误

    组件
    extension=php_mbstring.dll
    extension=php_gd2.dll
    extension=php_MySQL.dll
    extension=php_mysqli.dll phpMyAdmin使用

    PHP 5.3以上版本使用fastcgi模式,配置IIS 7需要在IIS添加一个处理程序映射
    处理程序映射--〉添加一个模块处理程序:

    *.php
    FastCgiModule
    C:phpphp-cgi.exe
    PHP_vis_FastCGI

    默认文档中添加index.php 为默认文档

    PHP目录 Users 读取运行权限

    php测试
    <?php
      phpinfo();
    ?>

    新版本的Windows版本PHP,在出现错误时,会将详细的错误信息自动存储到Windows系统的TEMP临时目录,文件名为:php-errors.log。在Windows2003系统中路径一般是:C:WINDOWSTempphp-errors.log。用记事本打开这个文件,就可以看到详细的php错误记录了。

    HTTP 错误 500.0 – Internal Server Error
    发生未知 FastCGI 错误

    发生此错误的关键原因在于没有安装VC9运行库 即VISUAL C++ 2008 (installer自动带上了Visual C++ 2008)

    Microsoft Visual C++ 2008 Redistributable Package (x86)下载地址:
    http://www.microsoft.com/downloads/details.aspx?FamilyID=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=zh-cn
    Microsoft Visual C++ 2008 Redistributable Package (x64)下载地址:
    http://www.microsoft.com/downloads/zh-cn/resultsForProduct.aspx?displaylang=zh&ProductID=23947d52-b2bc-4e88-8c51-e81dc2905b0d

    如果安装VC9运行库仍出现上面错误,多数是因为php安装目录没有给IIS_IUSRS用户读取和执行权限造成的。


    4、Mysql 5安装
    http://faq.comsenz.com/usersguide/discuz


    二、系统安全配置

    1、目录权限

    除系统所在分区之外的所有分区都赋予Administrators和SYSTEM有完全控制权,之后再对其下的子目录作单独的目录权限



    2、远程连接
    我的电脑属性--〉远程设置--〉远程--〉只允许运行带网络超级身份验证的远程桌面的计算机连接

    选择允许运行任意版本远程桌面的计算机连接(较不安全)。备注:方便多种版本Windows远程管理服务器。


    http://apps.hi.baidu.com/share/detail/16610280

    windows server 2008的远程桌面连接,与2003相比,引入了网络级身份验证(NLA,network level authentication),XP SP3不支持这种网络级的身份验证,vista跟win7支持。

    然而在XP系统中修改一下注册表,即可让XP SP3支持网络级身份验证。

    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa

    在右窗口中双击Security Pakeages,添加一项“tspkg”。

    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProviders

    在右窗口中双击SecurityProviders,添加credssp.dll;请注意,在添加这项值时,一定要在原有的值后添加逗号后,别忘了要空一格(英文状态)。

    然后将XP系统重启一下即可。再查看一下,即可发现XP系统已经支持网络级身份验证


    3、修改远程访问服务端口

    更改远程连接端口方法,可用windows自带的计算器将10进制转为16进制。更改3389端口为8208,重启生效!

    Windows Registry Editor Version 5.00
    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWds dpwdTds cp]
    "PortNumber"=dword:0002010

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp]
    "PortNumber"=dword:00002010


    1.在开始--运行菜单里,输入regedit,进入注册表编辑,按下面的路径进入修改端口的地方
    2.HKEY_LOCAL_MACHINESystemCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp
    3.找到右侧的 "PortNumber",用十进制方式显示,默认为3389,改为(例如)6666端口
    4.HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWds dpwdTds cp
    5.找到右侧的 "PortNumber",用十进制方式显示,默认为3389,改为同上的端口
    6.在控制面板--Windows 防火墙--高级设置--入站规则--新建规则
    7.选择端口--协议和端口--TCP/特定本地端口:同上的端口
    8.下一步,选择允许连接
    9.下一步,选择公用
    10.下一步,名称:远程桌面-新(TCP-In),描述:用于远程桌面服务的入站规则,以允许RDP通信。[TCP 同上的端口]
    11.删除远程桌面(TCP-In)规则
    12.重新启动计算机


    4、配置本地连接

    网络--〉属性--〉管理网络连接--〉本地连接

    打开“本地连接”界面,选择“属性”,左键点击“Microsoft网络客户端”,再点击“卸载”,在弹出的对话框中“是”确认卸载。点击“Microsoft网络的文件和打印机共享”,再点击“卸载”,在弹出的对话框中选择“是”确认卸载。


    解除Netbios和TCP/IP协议的绑定 139端口

    打开“本地连接”界面,选择“属性”,在弹出的“属性”框中双击“Internet协议版本(TCP/IPV4)”,点击“属性”,再点击“高级”—“WINS”,选择“禁用TCP/IP上的NETBIOS”,点击“确认”并关闭本地连接属性。


    禁止默认共享
    点击“开始”—“运行”,输入“Regedit”,打开注册表编辑器,打开注册表项“HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServiceslanmanserverparameters”,在右边的窗口中新建Dword值,名称设为AutoShareServer,值设为“0”。


    关闭 445端口

    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNetBTParameters

    新建 Dword(32位)名称设为SMBDeviceEnabled 值设为“0”


    5、共享和发现

    右键“网络” 属性 网络和共享中心  共享和发现

    关闭
    网络共享
    文件共享
    公用文件共享
    打印机共享

    显示我正在共享的所有文件和文件夹
    显示这台计算机上所有共享的网络文件夹


    6、用防火墙限制Ping
    网上自己查吧,ping还是经常需要用到的


    7、防火墙的设置
    控制面板→Windows防火墙设置→更改设置→例外,勾选FTP、HTTP、远程桌面服务 核心网络
    HTTPS用不到可以不勾
    3306:Mysql
    1433:Mssql


    8、禁用不需要的和危险的服务,以下列出服务都需要禁用。

    控制面板 管理工具 服务

    Distributed linktracking client   用于局域网更新连接信息
    PrintSpooler  打印服务
    Remote Registry  远程修改注册表
    Server 计算机通过网络的文件、打印、和命名管道共享
    TCP/IP NetBIOS Helper  提供 TCP/IP (NetBT) 服务上的 NetBIOS 和网络上客户端的 NetBIOS 名称解析的支持

    Workstation   泄漏系统用户名列表 与Terminal Services Configuration 关联

    Computer Browser 维护网络计算机更新 默认已经禁用
    Net Logon   域控制器通道管理 默认已经手动
    Remote Procedure Call (RPC) Locator   RpcNs*远程过程调用 (RPC) 默认已经手动

    删除服务
    sc delete MySql


    9、安全设置-->本地策略-->安全选项

    在运行中输入gpedit.msc回车,打开组策略编辑器,选择计算机配置-->Windows设置-->安全设置-->本地策略-->安全选项


    交互式登陆:不显示最后的用户名       启用
    网络访问:不允许SAM帐户的匿名枚举       启用 已经启用
    网络访问:不允许SAM帐户和共享的匿名枚举   启用
    网络访问:不允许储存网络身份验证的凭据   启用
    网络访问:可匿名访问的共享         内容全部删除
    网络访问:可匿名访问的命名管道       内容全部删除
    网络访问:可远程访问的注册表路径      内容全部删除
    网络访问:可远程访问的注册表路径和子路径  内容全部删除
    帐户:重命名来宾帐户            这里可以更改guest帐号
    帐户:重命名系统管理员帐户         这里可以更改Administrator帐号


    10、安全设置-->账户策略-->账户锁定策略
    在运行中输入gpedit.msc回车,打开组策略编辑器,选择计算机配置-->Windows设置-->安全设置-->账户策略-->账户锁定策略,将账户锁定阈值设为“三次登陆无效”,“锁定时间为30分钟”,“复位锁定计数设为30分钟”。


    11、本地安全设置
    选择计算机配置-->Windows设置-->安全设置-->本地策略-->用户权限分配
    关闭系统:只有Administrators组、其它全部删除。
    通过终端服务拒绝登陆:加入Guests组、IUSR_*****、IWAM_*****、NETWORK SERVICE、SQLDebugger  
    通过终端服务允许登陆:加入Administrators、Remote Desktop Users组,其他全部删除


    12、更改Administrator,guest账户,新建一无任何权限的假Administrator账户
    管理工具→计算机管理→系统工具→本地用户和组→用户
    新建一个Administrator帐户作为陷阱帐户,设置超长密码,并去掉所有用户组
    更改描述:管理计算机(域)的内置帐户


    13、密码策略
    选择计算机配置-->Windows设置-->安全设置-->密码策略
    启动 密码必须符合复杂性要求
    最短密码长度

    14、禁用DCOM ("冲击波"病毒 RPC/DCOM 漏洞)
    运行Dcomcnfg.exe。控制台根节点→组件服务→计算机→右键单击“我的电脑”→属性”→默认属性”选项卡→清除“在这台计算机上启用分布式 COM”复选框。


    15、ASP漏洞

    主要是卸载WScript.Shell 和 Shell.application 组件,是否删除看是否必要。

    regsvr32/u C:WINDOWSSystem32wshom.ocx
    regsvr32/u C:WINDOWSsystem32shell32.dll

    删除可能权限不够
    del C:WINDOWSSystem32wshom.ocx
    del C:WINDOWSsystem32shell32.dll

    如果确实要使用,或者也可以给它们改个名字。

      WScript.Shell可以调用系统内核运行DOS基本命令
      可以通过修改注册表,将此组件改名,来防止此类木马的危害。
      HKEY_CLASSES_ROOTWScript.Shell及HKEY_CLASSES_ROOTWScript.Shell.1
      改名为其它的名字,如:改为WScript.Shell_ChangeName 或 WScript.Shell.1_ChangeName
      自己以后调用的时候使用这个就可以正常调用此组件了
      也要将clsid值也改一下
      HKEY_CLASSES_ROOTWScript.ShellCLSID项目的值
      HKEY_CLASSES_ROOTWScript.Shell.1CLSID项目的值
      也可以将其删除,来防止此类木马的危害。

      Shell.Application可以调用系统内核运行DOS基本命令
      可以通过修改注册表,将此组件改名,来防止此类木马的危害。
      HKEY_CLASSES_ROOTShell.Application
      及
      HKEY_CLASSES_ROOTShell.Application.1
      改名为其它的名字,如:改为Shell.Application_ChangeName 或 Shell.Application.1_ChangeName
      自己以后调用的时候使用这个就可以正常调用此组件了
      也要将clsid值也改一下
      HKEY_CLASSES_ROOTShell.ApplicationCLSID项目的值
      HKEY_CLASSES_ROOTShell.ApplicationCLSID项目的值
      也可以将其删除,来防止此类木马的危害。

      禁止Guest用户使用shell32.dll来防止调用此组件。

      2000使用命令:cacls C:WINNTsystem32shell32.dll /e /d guests
      2003使用命令:cacls C:WINDOWSsystem32shell32.dll /e /d guests

    禁止使用FileSystemObject组件,FSO是使用率非常高的组件,要小心确定是否卸载。改名后调用就要改程序了,Set FSO = Server.CreateObject("Scripting.FileSystemObject")。

      FileSystemObject可以对文件进行常规操作,可以通过修改注册表,将此组件改名,来防止此类木马的危害。
      HKEY_CLASSES_ROOTScripting.FileSystemObject
      改名为其它的名字,如:改为 FileSystemObject_ChangeName
      自己以后调用的时候使用这个就可以正常调用此组件了
      也要将clsid值也改一下
      HKEY_CLASSES_ROOTScripting.FileSystemObjectCLSID项目的值
      也可以将其删除,来防止此类木马的危害。

      2000注销此组件命令:RegSrv32 /u C:WINNTSYSTEMscrrun.dll
      2003注销此组件命令:RegSrv32 /u C:WINDOWSSYSTEMscrrun.dll

      如何禁止Guest用户使用scrrun.dll来防止调用此组件?
      使用这个命令:cacls C:WINNTsystem32scrrun.dll /e /d guests


    15、打开UAC

    控制面板 用户账户 打开或关闭用户账户控制


    16、程序权限

    "net.exe","net1.exe","cmd.exe","tftp.exe","netstat.exe","regedit.exe","at.exe","attrib.exe","cacls.exe","format.com","c.exe"

    或完全禁止上述命令的执行
    gpedit.msc-〉用户配置-〉管理模板-〉系统
    启用 阻止访问命令提示符 同时 也停用命令提示符脚本处理
    启用 阻止访问注册表编辑工具
    启用 不要运行指定的windows应用程序,添加下面的
    at.exe attrib.exe c.exe cacls.exe cmd.exe format.com net.exe net1.exe netstat.exe regedit.exe tftp.exe

    17、Serv-u安全问题

    安装程序尽量采用最新版本,避免采用默认安装目录,设置好serv-u目录所在的权限,设置一个复杂的管理员密码。修改serv-u的banner信息,设置被动模式端口范围(4001—4003)在本地服务器中设置中做好相关安全设置:包括检查匿名密码,禁用反超时调度,拦截“FTP bounce”攻击和FXP,对于在30秒内连接超过3次的用户拦截10分钟。域中的设置为:要求复杂密码,目录只使用小写字母,高级中设置取消允许使用MDTM命令更改文件的日期。

    更改serv-u的启动用户:在系统中新建一个用户,设置一个复杂点的密码,不属于任何组。将servu的安装目录给予该用户完全控制权限。建立一个FTP根目录,需要给予这个用户该目录完全控制权限,因为所有的ftp用户上传,删除,更改文件都是继承了该用户的权限,否则无法操作文件。另外需要给该目录以上的上级目录给该用户的读取权限,否则会在连接的时候出现530 Not logged in, home directory does not exist。比如在测试的时候ftp根目录为d:soft,必须给d盘该用户的读取权限,为了安全取消d盘其他文件夹的继承权限。而一般的使用默认的system启动就没有这些问题,因为system一般都拥有这些权限的。

    如果FTP不是必须每天都用,不如就关了吧,要用再打开。

  • 相关阅读:
    oracle查询第几行到第几行的数据
    php/js将 CST时间转成格式化时间
    js获取当前时间:yyyy-MM-dd HH:MM:SS
    mysql 查询时间戳格式化 和thinkphp查询时间戳转换
    Java语言基础:运算符
    APP的三种开发模式
    架构图-模型
    Java语言基础:常量和变量
    APP开发之Dcloud简介
    APP开发
  • 原文地址:https://www.cnblogs.com/yourber/p/3600065.html
Copyright © 2011-2022 走看看