转自:计算机与网络安全(ID:Computer-network) 作者:小白客 对于一台服务器或者说计算机来说,需要对运行在上面的操作系统做怎样的安全加固操作才能保证服务器或者计算机的安全呢?如何才能有效的降低被攻击的风险? 为了达到安全的目的,一般来说我们需要关注操作系统的八个方面:
其中: 补丁管理
账号口令
授权管理
服务管理
功能优化
文件管理
远程访问控制
日志审计
这里就以windows系统为例,根据这八大方面的安全操作需要做的有: 加固要点 加固方法
接下来,以一台windows 2003服务器为例,为大家讲解如何进行加固操作。 一、补丁管理 补丁安装 检查方法,在这里小白介绍三种检查补丁的方法 第一种,查看系统中已安装的补丁包,不过这种方法比较繁琐,容易遗漏未安装的补丁包,需要时时关注官方补丁包何时更新。 相关命令(cmd窗口):
第二步:在cmd命令行窗口下输入systeminfo命令 按下回车之后我们可以看到系统的详细信息,网下来,有一行写着修补程序这里就可以就看到我们打了多少补丁。可以看到,由于小白的这台windows 2003是新装的,只有一个补丁,显然有非常多的漏洞需要处理。 第二种,使用安全扫描工具对系统进行扫描,根据扫描出来的漏洞进行修复。小白强烈建议大家使用NESSUS进行扫描,然后根据NESSUS给出的建议进行修复,这样工作量就会减轻不少,这里小白就不多赘述了,还不知道NESSUS的用法的同学可以参考我之前的文章。 第三种,安装使用微软安全基准分析器Microsoft Baseline Security Analyzer扫描漏洞。这个分析器是微软自家的东西,是专门用来对windows系列系统进行补丁情况扫描的一款分析器,省去了我们很多的麻烦,是三种方法中相对便捷的做法。 加固方法 加固的方法根据计算机所在环境的不同,加固的方式也不同。 比如说在内网环境,服务器被要求不允许访问公网。这个时候打补丁的方式有两种:一种是根据现在服务器中存在的补丁情况或者漏洞扫描结果到微软的官网手动下载补丁包安装。还有一种就是在内网建立一台专门的存放补丁的服务器(WSUS),且这台补丁服务器可以连接公网,能够自动从微软官网中下载最新的补丁安装包。需要打补丁的服务器通过建立的补丁服务器安装更新。 如果说服务器能够上网,这就很简单了,只要在服务器上面把自动更新的功能勾选上就ok了。打开自动更新的方法:我的电脑-属性-自动更新,选择自动(推荐)。 二、账号口令 账号优化 账号优化的目的是为了减少系统中的无用账号,降低系统的风险。 检查方法 第一步,点击 开始-运行,在运行窗口中输入compmgmt.msc命令,打开计算机管理窗口。相关命令(运行窗口)
第二步,以此展开 系统工具-本地用户和组-用户,确保右边框中Guest处于被停用状态(红叉)。 #加固方法 假设存在一个无用的账户xiaobaike,并且启用了guest账号。这时候就需要删除无用的账号xiaobaike,并且停用guest。相关命令(cmd窗口):
使用命令进行删除停用: 口令策略 设置口令策略的目的是为了增强口令的复杂度及锁定策略等,强制用户使用强口令,防止用户设置弱口令,降低被暴力破解的可能性。 加固方法 第一步,点击 开始-运行,在运行处输入secpol.msc打开本地安全策略窗口,相关命令(运行窗口):
第二步,打开 账户策略-密码策略 设置如下:
第三步,打开 账户策略-账户锁定策略,设置如下: 复位帐户锁定计数器:30分钟
第四步,打开 本地策略-安全选项设置如下:
第五步,在cmd窗口下输入gpupdate /force命令强制策略生效,相关命令(cmd窗口):
三、账号授权 1.远程关机 在这里我们需要设置只允许管理员可以通过远程进行关机操作,不允许其他用户进行关机操作,尤其是如果安装了某些软件,软件自动创建的用户可能拥有关机的权限,应该属于禁止的范畴内。 *检查与加固方法 第一步,开始-运行,在运行输入框处输入 相关命令(运行窗口) secpol.msc 第二步,点开 安全设置-用户权限分配,在右边找到“从远程系统强制关机”设置,查看是不是只指派给administrators用户组。 如果有多个用户和组,请删除。 2.本地关机 不止是远程关机,本地关机也应该禁止除了管理员以外的用户进行关机这样的危险操作,防止给业务造成不必要的损失。 *检查与加固方法 还是在同样的地方,在右边找到“关闭系统”设置,查看,是不是只指派给administrators用户组。 3.权限分配 一般来说我们部署业务和应用的时候,应该遵循的是最小权限的原则,能够不用到管理员权限就尽量不用到,尽量使用普通权限用户部署。这样,即使黑客入侵到了我们的服务器,也并不会得到太大的权限,将损失降低到最小。 所以,在这里设置权限分配的目的就是为了让普通用户的权限尽可能的低,除了管理员之外,其他账号均不能取得文件的所有权。 *检查与加固方法 第一步,开始-运行,在运行输入框处输入 secpol.msc 第二步,点开 安全设置-用户权限分配,在右边找到“取得文件或者其它对象的所有权”设置,查看是不是只指派给administrators用户组。 4.授权账号登陆 授权账号登陆的意思是允许哪些账号可以登录系统。比如说如果计算机上面有安装apache、mysql等,这些软件在安装的过程中都会默认创建一个系统账号,这一步设置的目的也是为了不允许这些非管理员创建的账号登陆系统,防止被黑客利用。 *检查与加固方法 第一步,开始-运行,在运行输入框处输入 secpol.msc 第二步,点开 安全设置-用户权限分配,在右边找到“允许本地登录”设置,查看是不是为授权的账号。 如果存在其它可以用户或用户组,请删除。 5.授权账号从网络访问 这里设置的是哪些账号可以通过远程登陆的方式访问我们的计算机。如果在这里,我有一个xiaobaike的账号,但是我不想要让这个账号能够远程登陆如果xiaobaike这个账号出现在这个策略列表中,那就显得很奇怪的。如果发现,请删除。 *检查与加固方法 第一步,开始-运行,在运行输入框处输入 secpol.msc 第二步,点开 安全设置-用户权限分配,在右边找到“从网络访问此计算机”设置,查看是不是为授权的账号。 上图发现列表中存在Everyone这个用户,表示任何人都可以通过远程登陆的方式登陆你的计算机,这相当的危险。就像前面小白介绍的《一次完整的攻击行为》这篇文章,最后就是通过新创建一个账号登陆了计算机。所以除非必要,请删除everyone这个账号! 第三步,在cmd命令行界面中输入 相关命令(cmd窗口) gpupdate /force 四、系统优化 1.设置屏幕保护 有的时候,攻击者不一定要从网络上攻击你的计算机,也可能趁着你离开时时候操控你的计算机,偷取存在你计算机上面的重要资料!所以小白在这里提醒大家,离开的时候电脑要锁屏!锁屏!锁屏!重要的话说三遍 然而,百密也有疏忽的一天,假设某天突然忘记了,计算机被人动了,咋办?小白这里有一个办法,就是设置屏幕保护程序,并且设置屏幕保护程序的同时设置“在恢复时使用密码保护”,增加保护措施。 *检查与加固方法 进入“控制面板->外观和个性化->个性化->更改屏幕保护程序”:查看是否启用屏幕保护程序,设置等待时间为“10分钟”,是否启用“在恢复时使用密码保护” 2.禁止系统自动登录 同刚在防止电脑在你离开时被别人乱动的例子,在这里设置第三重保护措施。设置当系统自动休眠后,激活的时候需要输入密码才能继续使用。 *检查与加固方法 第一步,点击 开始-运行,在运行输入框处输入c control userpasswords2 第二步,勾选“要是用本地,用户必须输入用户名和密码”复选框 3.隐藏最后一次登录名 不知道大家有没有注意到一点,我们平时在使用计算机的时候,如果登陆过一次这台计算机,系统就会默认显示最后一次的登陆名。其实这是一个很不好的点,尤其是当攻击者尝试登陆的时候,他可以一下子就看到你系统的登录名。这时候他只要写一个爆破密码的小脚本,那么他入侵你计算机的可能性就大大增加。 *检查与加固方法 第一步,点击 开始-运行,在运行输入框处输入 第二步,点开 安全设置-本地策略-安全选项,在右边找到“交互式登录:不显示最后的用户名” 查看设置是否处于已启用状态,如果没有,请启用。 4.关闭windows自动播放功能 这个地方非常的重要,为什么呢?windows默认如果系统检测到存在新的设备,它会去自动运行这个设备。假设如果我们打开了自动播放功能,当攻击者插入一个带有恶意病毒的U盘时,windows就会自动的执行这个U盘上面的病毒,从而使我们的计算机处于非常危险的状态,所以必须要关闭windows的自动播放功能。 *检查与加固方法 第一步,点击 开始-运行,在运行输入框处输入 第二步,在的出现“组策略”窗口中依次选择 计算机配置-管理模板-系统,右边找到 “关闭自动播放”,双击,查看是否设置“已启用” 第三步,在cmd命令行界面中输入 五、服务管理 1.优化管理 关闭windows上不需要的服务,减小风险。在这里,小白建建议将以下服务停止,并将启动方式修改为手动: DHCP ClientMessengerRemote RegistryPrint Spooler(不使用打印可以关闭)Server(不使用文件共享可以关闭)Simple TCP/IP ServiceSimple Mail Transport Protocol (SMTP)SNMP ServiceTask ScheduleTCP/IP NetBIOS Helper 关闭的方法: 第一步,点击 开始-运行,在运行输入框处输入 services.msc 第二步,将不需要使用的服务关闭,并设置为手动。 2.关闭共享 默认情况下,计算机的磁盘是默认开启共享的,如果配合windows特有的IPC$空链接的话,攻击者是可以不需要账户名密码就可以窃取你计算机上的资料的(后面的文章中小白会有介绍) 所以在这里,我们要做的就是关闭计算机系统中各个磁盘的共享 *检查与加固方法 第一步,点击 开始-运行,在运行输入框处输入 第二步,依次打开
六、远程访问控制 1.网络限制 远程访问计算机的形式肯定不止通过远程连接你的计算机这一种方法,还有远程连接共享文件夹、远程连接磁盘、远程连接控制器,远程连接cmd命令行等等。尤其是远程连接控制台,windows是可以不需要密码就可以远程连接控制台的,十分危险。 接下来,我们需要做额外的网络限制来保障我们的系统安全。 *检查与加固方法 第一步,点击 开始-运行,在运行输入框中输入secpol.msc打开 本地安全设置 第二步,依次点开 安全设置-本地策略-安全选项,检查右边的下列项
第三步,在cmd命令行界面中输入 七、文件系统 1.使用NTFS文件系统 NTFS相比FAT32更具有安全性 *检查与加固方法 第一步,右键磁盘,选择属性,查看是否为NTFS 第二步,如果不是,可以用以下命令转换(无需格式化),也适用于U盘的文件系统转换。转换命令(cmd窗口) convert <驱动器盘符>:驱动器盘符> /fs:ntfs 2.检查everyone的权限 为了系统的安全性,everyone不应该拥有磁盘的所有权 *检查和加固方法 第一步,选择磁盘-属性-安全,检查everyone用户是否有所有权 第二步,删除Everyone的权限或者取消Everyone的写权限 3.命令权限限制 除了system和administrators组和必要的组以外,不让其他用户执行以下特殊命令: cmd.exe、regsvr32.exe、tftp.exe、ftp.exe、telnet.exe、net.exe、net1.exe、cscript.exe、wscript.exeregedit.exe、regedt32.exe、cacls.exe、command.com、at.exe *检查与加固方法 第一步,打开 我的电脑-c:/windows/system32文件夹找到 第二步,点击属性-安全,查看哪些用户拥有执行权限。 如果有其他无关组,请删除。 八、日志审核 1.增强日志 在这里设置增大日志量的大小,避免因为容量太小而日志记录记录不全,发生紧急事情时无法找到对应日志。 *检查与加固方法 第一步,点击 开始-运行,在运行输入框处输入 第二步,分别查看“应用程序”、“安全”、“系统”的属性 第三步,根据需要设置日志大小上限 2.增强审核 对系统事件进行审核,在日后出现故障时用于排查故障 *检查与加固 第一步,点击 开始-运行,在运行输入框中输入 第二步,以此点 安全设置-本地策略-审核策略,在右边设置如下
第三步,在cmd命令行界面中输入 |
|