常见漏洞加固思路
为了避免业务系统受到不必要的攻击并造成不必要的损失,通过前期做足前期网络安全准备,以此避免有害程序事件、网络攻击事件、信息破坏事件、信息内容安全事件、设备设施故障、灾害性事件和其他网络安全事件的发生。
1.1 物理环境自查
(1)门禁及登记。机房出入口应有专人值守或安装电子门禁,对于信息中心以及外部人员进出数据中心机房时是否进行有效登记;
(2)烟感报警。检查机房是否存在烟感报警,测试烟感报警是否能够起到正常作用。
(3)温湿度检查。检查机房内部环境的温湿度是否符合要求,针对温湿度不正常能否起到告警。
(4)机房密封情况。查看数据中心机房窗户是否密封,防止下雨天气雨水进入机房,保障机房环境。
1.2 网络安全教育
以共建网络安全,营造网络安全人人有责、人人参与的良好氛围为目的,建议组织网络安全宣传周等活动,对提升单位内部全体人员的网络安全意识,养成良好的上网习惯,营造单位内部良好的网络环境等有着重大意义,更是对提升内网安全有着有着不可估量的作用。
(1)硬件自查。通过对数据中心机房所有的现有设备做下清点,检查硬件运行状态,处于亚健康状态的设备硬件要及时更换或者购买维保;针对安全设备,除了查看其运行状态之外,更要着重查看特征库是否升级至最新;以此更好为业务系统的安全运行提供保障;
(2)网络自查。针对数据中心网络,通过ARP或者地址扫描等方式查看所有存活IP地址,并确定各个IP地址都用在什么业务系统,针对不确定,可通过ARP或者MAC地址追踪的方式确定,主要用来检查是否存在僵尸主机,避免因为疏漏所导致的网络安全事件。
(3)应用自查。针对现有的应用台账,着重检查是否存在不使用却经常在线的业务系统,此类业务系统可能存在较多安全类或者版本类漏洞,针对此类业务系统,应当及时关闭。
为了避免业务系统遭受攻击并造成损失,针对现有的安全设备策略等要做整体性的检查。主要分为以下几个部分:
(1)安全设备策略检查。针对防火墙,检查策略是否合理有效以及控制粒度是否过大、是否对外开放或者映射敏感端口(如数据库端口、rdp和ssh等);针对IPS和waf设备,着重检查特征库升级是否过期,是否针对某些应用系统开放白名单策略。
(2)主机防火墙配置。首先检查防火墙状态是否开启,建议主机防火墙全部开启,为避免开启主机防火墙影响到现有的业务,可以通过查看主机端口监听,编辑高级防火墙,在入站策略添加例外,以此在保护业务的同时增强其安全性。
(3)检查日志。检查对象主要有安全设备日志、内置数据中心、日志分析平台等,检查日志的保存期限是否满足国家规定的6个月,针对突发安全事件,能否做到可追、可查。
(4)网络设备配置检查。检查核心和接入交换机连接情况,查看是否存在串联的情况;检查设备配置,在核心交换机或者接入是否过滤特殊端口,例如135-139和445端口等;接入交换机接口是否配置VLAN,避免产生广播风暴。
(5)杀毒/防毒软件部署。检查现有的服务器是否安装杀毒/防毒软件,针对未安装杀毒软件的要及时安装,可以有效防止病毒入侵或者被植入后门。
(1)弱口令检查。主要根据现有资料,根据账号密码台账检查操作系统、数据库、web等应用是否存在弱口令现象,也可通过第三方扫描工具发现系统存在的弱密码,对于存在的弱口令要做到及时更改,避免被黑客利用。
(2)系统漏洞发现。通常使用第三方漏洞扫描工具,发现系统中存在的漏洞,并对漏洞及时修补,也可通过调优当前数据中心安全设备策略来增强防护,提高系统安全性。
(3)web漏洞发现。使用web漏洞扫描工具对现有的web应用进行扫描,发现漏洞并对漏洞及时修复,或者使用waf对其进行防护,具体操作方法可见第五章web漏洞加固部分介绍。
(4)对公网提供服务的服务器进行安全基线检查。对互联网提供服务的服务器进行基础配置检查,查看账号密码策略、补丁状态、改密计划等是否符合要求;查看网络出口设备是否对外映射了这些服务器的运维敏感端口,针对rdp、ssh、数据库等端口要禁止对外开放;同时检查重要业务数据是否进行备份,以免发生突发事件可以对其数据进行恢复。
(5)流量分析。通过APT对现有的数据中心或者内网流量进行监测分析,针对异常IP或者域名要及时在出口安全设备或者数据中心安全设备进行封禁;对内网存在明文传输的URL要及时联系厂家做更改,或者在不对外提供服务的情况下,可以禁止对公网提供服务,并缩小对内网提供服务的范围。
2 网络设备加固
(1)审计能力检查。对于关键核心网络设备和安全设备,检查是否与日志平台对接且日志保存日期是否满足国家规定的六个月;
(2)登录权限加固。针对网络设备,统一采用ssh或者web方式登录,而且尽可能使用堡垒机对其进行统一管理;账号密码符合复杂度要求并设置错误次数锁定策略,修改密码有效期并定期修改密码;所有的网络或者安全设备应该限制IP登录,限制其IP登录范围;管理地址不对公网开放。
3 Windows系统加固
Windows采用了图形化模式GUI,提供较全面的网络管理工具,是当前应用最广泛的操作系统,被广泛应用于各种各样的业务系统中,但是也时常伴随着各种安全漏洞,很容易造成数据外泄,是广大运维者的一个痛点。以下为常见漏洞加固方法以及服务器加固方法。
3.1 Windows账户加固
为了防止账号密码被暴力破解,通常可以采用设置windows账户锁定,启用密码复杂度要求并设置密码使用期限;同时修改Windows默认账户(需重启服务器)
常见的Windows远程远程桌面漏洞有CVE-2019-0708、MS12-020等,加固方式主要有以下3种:
加固方法1:通过打补丁(CVE-2019-0708漏洞对应的补丁为kb4499164和kb4499175,MS12-020对应的补丁为KB2621440和KB2667402)和开启Windows自动更新的方式来处理漏洞,也是最常规的一种方法,缺点是服务器需要重启,适用于对业务连续性不是很高的场景。
加固方法2:通过设备进行防护。针对现场有堡垒机和数据中心防火墙的场景,可通过添加防火墙策略,仅允许通过堡垒机对其进行登录。此方法适用于现场有安全设备而且对业务连续性较高的场景。
加固方法3:开启Windows防火墙,设置入站规则,限制登录远程桌面的IP范围(IP地址仅为运维人员);同时修改Windows远程桌面的默认端口(3389)
最常见的漏洞为MS17-010,该漏洞甚至导致远程代码执行,加固方法为以下两种:
加固方法1:通过打Windows补丁方法来解决,缺点是服务器需重启。加固方法2:通过开启Windows防火墙并设置出入站规则,封禁135-139和445端口,同时对存在数据中心防火墙或者IPS的场景,可通过配置防火墙或者IPS策略来加固。
安全杀毒软件或者定期扫描,防患于未然。通过安装杀毒软件或者定期使用attk对其进行扫描,保证服务器无问题;
开启系统日志。记录远程登录、攻击等日志,保存日志6个月备查。通设置主机审核策略:gpedit.msc。审核策略更改 成功、审核登录事件 无审核、审核对象访问 成功, 失败、审核过程追踪 无审核、审核目录服务访问 无审核、审核特权使用 无审核、审核系统事件 成功, 失败、审核帐户登录事件成功, 失败、审核帐户管理成功, 失败;调整事件日志的大小16382K 覆盖早于30天的事件:
禁止匿名用户连接。打开Windows注册表并修改注册表如下键值:HKLM\SYSTEM\CurrentControlSet\Control\Lsa“restrictanonymous”的值为1;
删除主机默认共享,打开Windows注册表,按照以下路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters 修改或增加键值AutoShareServer REG_DWORD 0;如下图所示:
开启超时锁定策略,一段时间内不操作锁屏,需要重新输入密码登录。推荐值15分钟左右:
使用较高版本的操作系统和软件。
4 Linux系统加固
4.1 Linux账户权限加固
(1)操作系统密码复杂度策略必须启用、长度最少8位、最长使用期限42天、最短2天,需要必要的密码复杂度,取消勾选用户密码永不过期:
修改文件:/etc/login.defs
PASS_MAX_DAYS:42
PASS_MIN_DAYS:2
PASS_MIN_LENS:8
PASS_WARN_AGE:7
修改文件:/etc/pam.d/system- auth
password requisite pam_cracklib.so minlen=8 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1
(2)开启登录失败处理功能,5次无效登录锁定一定时间;
文件:/etc/pam.d/system-auth
是否有如下参数(X为锁定次数,该参数需手动添加)account required /lib/security/pam tally.so deny=5 no_magic_root reset。
(3)应根据安全策略设置登录终端的操作超时锁定;推荐600秒。
/etc/profile
export TMOUT=600 # 设置600秒内用户无操作就字段断开终端set TMOUT=6000
readonly TMOUT # 将值设置为readonly 防止用户更改
4.2 OpenSSH漏洞加固
OpenSSH版本漏洞为Linux最为常见的安全漏洞之一,可通过以下方法进行加固:
方法1:升级OpenSSH版本为最新版本。
方法2:客户环境中存在堡垒机和防火墙的场景,在防火墙设置仅允许通过堡垒机访问22端口的策略,保证安全性。
方法3:应通过设定终端接入方式、网络地址范围等条件限制终端登录。 可以尝试开启服务器防火墙限制其范围。
目前业务系统中最常用的数据库有Oracle、MySQL和SQL Server,但是也常常伴随着版本漏洞,现将加固方法做如下说明:
方法1:升级数据库的软件版本,此种方法在现场实施的可能性极小。
方法2:在有数据中心防火墙的情况下,可通过设置禁止内网地址访问数据库端口;也可在核心交换机(服务器网关)起包过滤策略,禁止非授权人员访问数据库端口。
方法3:配置主机防火墙,禁止非授权人员访问数据库端口;针对MySQL,可以通过修改数据库监听(需重启服务)的方式,避免漏洞被不法人员利用。
6 Web漏洞加固
6.1 Web组件漏洞加固
常见的web组件加固有IIS短文件名漏洞、 检测到基于HTTP的基本认证、Tomcat examples目录可访问导致多个漏洞等,以下为常见web组件漏洞加固方法:
(1)IIS短文件名漏洞:关闭此功能并重新创建web目录,需重启web服务
(2)Tomcat examples目录可访问导致多个漏洞加固:删除Tomcat自带的manager/host-manager/examples/docs等应用;建议将该文件夹重命名,不删除。
(3)HTTP的基本认证漏洞:删除Tomcat自带的manager/host-manager/examples/docs等应用;建议将该文件夹重命名,不删除。
(4)javascript框架库漏洞:使用waf配置策略对其进行防护,如果无waf,则联系软件厂家工程师对其进行升级;
(5)nginx版本漏洞:隐藏nginx版本号,需重启服务
(6)PHP版本漏洞:隐藏PHP版本号。需重启服务
6.2 Web代码漏洞加固
常见的web代码漏洞为跨站漏洞、链接注入漏洞、框架注入漏洞、SQL注入漏洞、COOKIE注入漏洞。加固方法有以下两种:
方法1:有waf的场景,使用waf并配置合理的策略对其进行防护,同时联系软件开发人员彻底修复漏洞。
方法2:无waf场景,联系软件开发人员过滤其特殊字符彻底修复漏洞。