服务器系统安全加固及web服务安全策略
服务环境以及所需要的软件都已安装完毕( 记住一点所有安全性的操作设置都必须在软件安装完以后才能进行。)
最少的服务+最小的权限=最大的安全
Windows 常规设置
1,用户权限。设置对应服务对应用户,都是最小权限,够用就行,不够再加。
2、目录权限
除系统所在分区之外的所有分区都赋予Administrators和SYSTEM有完全控制权,之后再对其下的子目录作单独的目录权限
3、修改远程访问服务端口
更改远程连接端口方法,可用windows自带的计算器将10进制转为16进制.
4、用防火墙限制Ping
Windows 组、用户设置
1、所有盘符根目录只给system和Administrator的权限,其他的删除
2、重命名帐户Administrator和Guest。禁用Guest账号,并加一个超级复杂的密码,密码可以是复制一段文本进去。
禁用SQLDebugger帐号。重命名管理员用户组Administrators
3、更改Administrator,guest账户,新建一无任何权限的假Administrator账户作为陷阱帐户,设置超长密码,并去掉所有用户组
系统软件权限设置
1、微软最新补丁
2,安全软件加固(安全狗,D盾,360)
Windows 端口设置
1、只开启需要用的端口,关闭不必要的,以减少攻击面。(用不到的端口一律不要开启)
80:IIS7 21:FTP 3389:远程 3306:MySQL 1433:Mssql
Windows 防火墙设置
1、开启防火墙
2、防火墙高级设置(设置出入站规则)
3、控制面板→Windows防火墙设置→更改设置→例外,勾选FTP、HTTP、远程桌面服务 核心网络
HTTPS用不到可以不勾、3306:Mysql、1433:Mssql
目录权限设置
系统目录:
1、确保所有盘符都是NTFS格式(如果不是,可以用命令 convert d:/fs:ntfs 转换为NTFS格式)
2、所有磁盘(系统盘、数据盘)根目录只给system和administrators权限,其它删除。
站点目录:
1、每个网站对应一个目录,并为这个网站目录加上IUSR和IIS_IUSRS权限,都只给“列出文件夹内容”和“读取”权限。
2、上传目录还需要给IIS_IUSRS组再添加“修改”、“写入”权限。
3、打开IIS管理器,找到站点,选中上传目录,在中间栏IIS下双击打开“处理程序映射”,再选择“编辑功能权限”,把“脚本”前面的勾掉就可以了。(防止用户上传恶意文件并执行)
Web服务安全策略
1 启用日志记录功能
Web服务器应配置日志功能,对用户登录进行记录,记录内容包括用户登录使用的账号、登录是否成功、登录时间以及远程登录时用户使用的IP地址。
不管是iis,还是apache nginx tomcat。都注意查看日志。
2 HTTPS协议
对于通过HTTP协议进行远程维护的设备,设备应支持使用HTTPS等加密协议。
配置域名证书,通过加密的安全协议,网站更安全。
3 错误页面重定向
出现错误时系统可能会将错误堆栈信息打印到页面,使得攻击人员可以根据错误信息进行有效的攻击。更改错误页面并重定向页面,增加系统安全性
4 禁止列表显示文件
禁止列表显示文件,增加系统安全性。
每个网站程序的功能不同,设置也各不相同。最少的权限就是最大的安全
常见问题
1. 如何关闭135端口?
这个破端口是RPC服务的端口,以前出过很多问题,现在貌似没啥漏洞了,不过还是心有余悸啊,想关的这样关:
开始->运行->dcomcnfg->组件服务->计算机->我的电脑->属性->默认属性->关闭“在此计算机上启用分布式COM”->默认协议->移除“面向连接的TCP/IP”
但是感觉做了以上的操作还能看到135在Listen状态,还可以试试这样。
在cmd中执行:netsh rpc add 127.0.0.0,这样135端口只监听127.0.0.1了。
2. 如何关闭445端口?
445端口是netbios用来在局域网内解析机器名的服务端口,一般服务器不需要对LAN开放什么共享,所以可以关闭。
修改注册表:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters,则更加一个Dword项:SMBDeviceEnabled,值:0
3. 关闭Netbios服务(关闭139端口)
网络连接->本地连接->属性->Internet协议版本 4->属性->高级->WINS->禁用TCP/IP上的NetBIOS
4. 关闭LLMNR(关闭5355端口)
什么是LLMNR?本地链路多播名称解析,也叫多播DNS,用于解析本地网段上的名称,没啥用但还占着5355端口。
使用组策略关闭,运行->gpedit.msc->计算机配置->管理模板->网络->DNS客户端->关闭多播名称解析->启用
还有一种方法,我没尝试,如果没有组策略管理的可以试试,修改注册表HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsof\Windows NT\DNSClient,新建一个Dword项,名字:EnableMulticast,值:0
5. 关闭Windows Remote Management服务(关闭47001端口)
Windows远程管理服务,用于配合IIS管理硬件,一般用不到,但开放了47001端口很不爽,关闭方法很简单,禁用这个服务即可。
6. 关闭UDP 500,UDP 4500端口
这两个端口让我搜索了半天,虽然知道应该和VPN有关,但是不知道是哪个服务在占用。最后终于找到了,其实是IKE and AuthIP IPsec Keying Modules服务在作怪。如果你的服务器上不运行基于IKE认证的VPN服务,就可以关闭了。(我用的是PPTP方式连接VPN,把ipsec和ike都关闭了)
7. 删除文件和打印机共享
网络连接->本地连接->属性,把除了“Internet协议版本 4”以外的东西都勾掉。
8. 关闭文件和打印机共享
直接停止“server”服务,并设置为禁用,重启后再右键点某个磁盘选属性,“共享”这个页面就不存在了。