SafeWos是一个专业解决安全问题的运维顾问服务平台,专为企业安全定制。
服务器安全和管理是一门比较专业的事情,很多技术对于服务器的管理也只是在于日常的操作和维护,对于服务器安全设计方案以及服务器安全管理方案了解的并不多,这里就为大家介绍一下服务器的安全设计以及服务器的安全管理。
服务器安全设计方案
以下是windows服务器安全设计,linux服务器的安全设计另述。
一、操作系统配置
1.安装操作系统(NTFS分区)后,装杀毒软件,选用卡巴或更好的。
2.安装系统补丁。扫描漏洞全面杀毒
3.删除Windows Server 2003默认共享
首先编写如下内容的批处理文件:
@echo off
net share C$ /del
net share D$ /del
net share E$ /del
net share F$ /del
net share admin$ /del
文件名为delshare.bat,放到启动项中,每次开机时会自动删除共享。
4.禁用IPC连接
打开CMD后输入如下命令即可进行连接:net use\\ip\ipc$ “password” /user:”usernqme”。我们可以通过修改注册表来禁用IPC连接。打开注册表编辑器。找到如下组建HKEY_LOCAL_MACHINE\ SYSTEM\CurrentControlSet\Control\Lsa中的restrictanonymous子键,将其值改为1即可禁用IPC连接。
5.删除”网络连接”里的协议和服务
在”网络连接”里,把不需要的协议和服务都删掉,这里只安装了基本的Internet协议(TCP/IP),同时在高级tcp/ip设置里–“NetBIOS”设置”禁用tcp/IP上的NetBIOS(S)”。
6.启用windows连接防火墙,只开放web服务(80端口)。
注:在2003系统里,不推荐用TCP/IP筛选里的端口过滤功能,譬如在使用FTP服务器的时候,如果仅仅只开放21端口,由于FTP协议的特殊性,在进行FTP传输的时候,由于FTP 特有的Port模式和Passive模式,在进行数据传输的时候,需要动态的打开高端口,所以在使用TCP/IP过滤的情况下,经常会出现连接上后无法列出目录和数据传输的问题。所以在2003系统上增加的windows连接防火墙能很好的解决这个问题,所以都不推荐使用网卡的TCP/IP过滤功能。
7.磁盘权限
系统盘只给 Administrators 和 SYSTEM 权限
系统盘\Documents and Settings 目录只给 Administrators 和 SYSTEM 权限;
系统盘\Documents and Settings\All Users 目录只给 Administrators 和 SYSTEM 权限;
系统盘\Documents and Settings\All Users\Application Data目录只给 Administrators 和 SYSTEM 权限;
系统盘\Windows 目录只给 Administrators 、 SYSTEM 和 users 权限;
系统盘\Windows\System32\net.exe,net1.exe,cmd.exe,command.exe,ftp.exe, netstat.exe,regedit.exe,at.exe,attrib.exe,cacls.exe 文件只给 Administrators 权限(如果觉得没用就删了它);
其它盘,有安装程序运行的(我的sql server 2000 在D盘)给 Administrators 和 SYSTEM 权限,无只给 Administrators 权限。
8.本地安全策略设置
开始菜单—>管理工具—>本地安全策略
A、本地策略——>审核策略 (可选用)
审核策略更改 成功 失败
审核登录事件 成功 失败
审核对象访问 失败
审核过程跟踪 无审核
审核目录服务访问 失败
审核特权使用 失败
审核系统事件 成功 失败
审核账户登录事件 成功 失败
审核账户管理 成功 失败
B、本地策略——>用户权限分配
关闭系统:只有Administrators组、其它全部删除。
通过终端服务拒绝登陆:加入Guests、Users组
通过终端服务允许登陆:只加入Administrators组,其他全部删除
C、本地策略——>安全选项
交互式登陆:不显示上次的用户名 启用
网络访问:可匿名访问的共享 全部删除
网络访问:可匿名访问的命名管道 全部删除
**网络访问:可远程访问的注册表路径 全部删除
**网络访问:可远程访问的注册表路径和子路径 全部删除
帐户:重命名来宾帐户 重命名一个帐户
(下面一项更改可能导致sqlserver不能使用)
帐户:重命名系统管理员帐户 重命名一个帐户#p#副标题#e#
二、iis配置(包括网站所在目录)
1.新建自己的网站(*注意:在应用程序设置中执行权限设为无,在需要的目录里再更改),目录不在系统盘
注:为支持asp.net,将系统盘\Inetpub\wwwroot中的aspnet_client文件夹复制到web根目录下,并给web根目录加上users权限。
2.删掉系统盘\inetpub目录
3.删除不用的映射
在”应用程序配置”里,只给必要的脚本执行权限:ASP、ASPX。
4.为网站创建系统用户
A.例如:网站为yushan43436.net,新建用户yushan43436.net权限为guests。然后在web站点属性里”目录安全性”- –“身份验证和访问控制”里设置匿名访问使用下列Windows 用户帐户”的用户名和密码都使用yushan43436.net这个用户的信息。(用户名:主机名\yushan43436.net)
B.给网站所在的磁盘目录添加用户yushan43436.net,只给读取和写入的权限。
5.设置应用程及子目录的执行权限
A.主应用程序目录中的”属性–应用程序设置–执行权限”设为纯脚本
B.在不需要执行asp、asp.net的子目录中,例如上传文件目录,执行权限设为无
6.应用程序池设置
我的网站使用的是默认应用程序池。设置”内存回收”:这里的最大虚拟内存为:1000M,最大使用的物理内存为256M,这样的设置几乎是没限制这个站点的性能的。
回收工作进程(分钟):1440
在下列时间回收工作进程:06:00
三、sql server 2000 配置
1.密码设置
我编的程序用了sa用户,密码设置超复杂(自己记不住,保存在手机里,嘿嘿)。
2.删除危险的扩展存储过程和相关.dll。
Xp_cmdshell(这个肯定首当其冲,不用说了)、Xp_regaddmultistring、Xp_regdeletekey、 Xp_regdeletevalue、Xp_regenumvalues、Xp_regread、Xp_regwrite、 Xp_regremovemultistring
四、其它设置(可选用,仅参考)
1.任何用户密码都要复杂,不需要的用户—删。
2.防止SYN洪水攻击
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
新建DWORD值,名为SynAttackProtect,值为2
3.禁止响应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协议
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
新建DWORD值,名为IGMPLevel 值为0
6.禁用DCOM:
运行中输入 Dcomcnfg.exe。 回车, 单击“控制台根节点”下的“组件服务”。 打开“计算机”子文件夹。
对于本地计算机,请以右键单击“我的电脑”,然后选择“属性”。选择“默认属性”选项卡。
清除“在这台计算机上启用分布式 COM”复选框。
服务器安全管理方案
事前检查和监控
提前检查
服务器和网站漏洞检测,对Web漏洞、弱口令、潜在的恶意行为、违法信息等进行定期扫描。
代码的定期检查,安全检查,漏洞检查。
服务器安全加固,安全基线设置,安全基线检查。
数据库执行的命令,添加字段、加索引等,必须是经过测试检查的命令,才能在正式环境运行。
核对网站真伪
提供银行卡、住址、密码等敏感信息前,先确定该网站是不是官网,有没有使用加密链接(https)。
数据备份
服务器数据备份,包括网站程序文件备份,数据库文件备份、配置文件备份,最好使用带有云服务存储功能的文档处理器。重要的信息建议另外加硬盘备份。
建立五重备份机制:常规备份、自动同步、LVM快照、Azure备份、S3备份。
定期检查备份文件是否可用,避免出故障后,备份数据不可用。
重要数据多重加密算法加密处理。
程序文件版本控制,测试,发布,故障回滚。
对于生产环境的数据库备份:「高逼格企业级MySQL数据库备份方案,原来是这样…」
复杂的密码
安全的密码对于保护数据和在线安全至关重要,且是管理操作中比较简单的一项。创建复杂密码:字符越多,越难猜出。特殊字符、数字和字母的随机组合,通常要比姓名或生日更强。如果担心记不住密码,可以用无规律的3个你能记住的拼音。这种类型的密码计算机不容易猜。
安全监控
nagios监控服务器常规状态CPU负载、内存、磁盘、流量,超过阈值告警。
zabbix或cacti监控服务器常规状态CPU负载、内存、磁盘、流量等状态,可以显示历史曲线,方便排查问题。
监控服务器SSH登录记录、iptables状态、进程状态,有异常记录告警。
监控网站WEB日志(包括nginx日志php日志等),可以采用EKL来收集管理,有异常日志告警。
运维人员都要接收告警邮件和短信,至少所负责的业务告警邮件和短信必须接收,运维经理接收重要业务告警邮件和短信。(除非是专职运维开发)
除服务器内部监控外,最好使用第三方监控,从外部监控业务是否正常(监控URL、端口等),比如:监控宝。
对于运维监控还可以参考一些文章:面试装逼系列|这篇文章,让运维监控不再成为你的短板!
安装杀毒服务
为电脑建立多道防线,杀毒程序通常可以在病毒感染电脑前识别并清除掉,以及提醒不要点开某个链接或打开某个文件。对于ddos等攻击,西部数码的高防服务比较好。
故障避免预防
网站WEB增加WAF,避免XSS跨站脚本、SQL注入、网页挂马等漏洞威胁。
程序代码连接数据库、memcache、redis等,可以使用域名(域名HOSTS指定IP),当出问题,有备用的服务器,就可以通过修改DNS或者HOSTS,恢复服务。
建立应急预案机制,定期演练事故场景,估算修复时间。
部署蜜罐系统,防范企业和服务器内网APT攻击。
建立双活集群,包括业务服务的高可用,避免业务服务单点。
服务器集群采用跳板机或堡垒机登录,避免服务器集群每台服务器可以远程连接管理。
操作重要业务升级、迁移、扩容……之前,列一下操作步骤,越详细越好,实际操作按步骤操作,操作完做好记录。
小心点击链接
避免无意点击是保持在线安全的简单方法之一。在线点击任何链接前应仔细阅读页面上的文字并确认或取消勾选框。垃圾邮件、捆绑安装、骗局等通常会要求你点击链接后填写个人信息。
事中操作
网站WEB增加WAF,发现XSS、SQL注入、网页挂马等攻击,会自动拦截,并记录日志。
检查服务器数据备份是否可用。
在处理需求和故障时,执行风险命令(比如rm、restart、reboot等)需再三确认,执行命令前,检查所在服务器,所在服务器路径,再执行!
不要疲劳驾驶,喝酒不上机,上机不喝酒,尤其别动数据库,避免在不清醒的状态下,在服务器上执行了错误命令,导致数据丢失或业务故障。
在处理事故时,一定要考虑处理措施是否会引发连锁故障,重要操作三思而行。
事后检查分析
实现网络安全可视化管理,可以看到每天有那些异常IP和异常URL请求,服务器集群开放端口列表等。
能对全网进行安全策略集中管理。
统一日志收集和分析。
备份及篡改恢复功能,程序文件、图片、数据文件、配置文件的备份,故障回滚机制。
对攻击日志进行深度分析,展现攻击路径、攻击源,协助管理员溯源。
践行DevOps的无指责文化,尤其是在做事故分析时。事故分析重在定位原因,制定改进措施。
客服电话:159-6020-8552
工作时间:9:00-18:00 (工作日)
意见建议:safewos@qq.com