论文部分内容阅读
【摘要】 本文分析了运营商能力开放的背景,运营商融入数字业务创新浪潮的必然性。运营商将所具备能力全面开放,搭建外部调用统一入口,聚合各类互联网要素,围绕企业“互联网+”转型的核心要素,提供丰富能力,使企业的生产服务过程能够快速进行互联网化改造。文章主要分析了在能力开放过程中可能面临的安全威胁,并详细从应用层安全、系统层安全、网络层安全、管理层安全几个方面进行研究和论证可实施的安全控制方案。
【关键词】 数字业务创新 能力开放 互联网化改造 能力编排 安全控制
一、引言
能力开放是运营商顺应数字经济转型需要,融入数字业务创新浪潮的必然选择,也是助力互联网+应用落地实施的切入方式之一。将电信运营商企业所具备能力全面开放,搭建外部调用统一入口,聚合各类互联网要素,围绕企业“互联网+”转型的核心要素,提供丰富能力,使企业的生产服务过程能够快速进行互联网化改造。
能力开放是将能力封装成标准API(HTTP RestFul协议)开放在互联网上,提供外部应用调用入口,便于应用使用电信运营商能力。而安全性就成为电信运营商能力开放最重要的指标,0.01%的安全性事故会造成整个能力开放的失败。
一个业务系统往往都包括很多部分和层面,每一个部分和层面都可能存在安全漏洞从而成为被攻击的对象,每个层面和部分应该提供相应的安全方案来保护业务系统的安全,根据业务产品的分层思想,安全技术可以分为四个主要的层次:应用层安全、系统层安全、网络层安全,同时加上贯穿所有层次的重要安全因素-安全管理(包括技术和非技术的方法),组成了分层的安全架构模型。
本论文所有的研究都集中在如何有效进行能力开放场景下的安全控制,围绕应用层安全、系统层安全、网络层安全、管理层安全几个方面进行研究和论证可实施的安全控制方案。最后,针对整个系统对于安全控制方案效果进行总结,并形成研究结论和下一步的研究计划。
二、能力开放面临的安全威胁分析
2.1应用安全威胁
应用层安全既是信息系统安全的起点,又是信息系统安全设计的终点。起点指的是信息系统的安全需求来源于应用的安全需求,终点指的是信息系统安全的最终目的是确保业务应用的安全运行和业务信息的安全保护。
身份认证威胁。弱口令、默认口令导致业务系统管理员、操作员账号口令被暴力破解,进而导致业务系统被控制。业务系统口令未加密存储/传输导致口令被窃取,进而导致业务系统被控制。
输入验证威胁。未对输入数据的类型、长度、格式和范围做约束和验证,导致缓冲区溢出攻击。SQL注入、XPath注入及HTTP响应拆分攻击,通常为未对输入数据进行校验。跨站脚本攻击,通常为未对不可信数据进行输出编码。非法用户向系统上传恶意软件,通常为未对上传功能所支持的文件类型和大小做限制。文件上传、下载目录跨越攻击,通常为未对文件上传/下载的路径做限制。
授权威胁。未对用户(管理员、操作员及终端用户)操作进行合理的权限控制,导致越权访问攻击。
敏感数据威胁。系统敏感数据未加密存储、传输,导致被非法窃取。
会话管理威胁。未对会话信息进行有效安全保护,导致会话劫持攻击。未采取有效措施防止会话重放攻击。未对关键信息进行加密传输,导致中间人攻击。
加密技术威胁。未选用合适的加密技术,导致加密数据被破解。
异常处理威胁。异常处理向用户返回敏感信息,导致系统、敏感信息泄露。
安全审计威胁。由于未记录日志导致用户否认执行过某项操作。攻击者删除日志文件导致日志记录丢失。
2.2系统安全威胁
系统层安全主要是指为业务系统提供运行支持的操作系统、数据库系统、中间件系统及 LDAP、Web、FTP 等应用服务器的安全保护。系统层安全的保护包括最小化安装、最小服务限制、帐户管理、口令策略、安全审计、认证与授权保护、内核参数安全调整、配置安全工具(如 SSH、lsof 等)、补丁管理、病毒保护、备份恢复等多方面的内容。
主机威胁
针对Windows维护终端,利用病毒、特洛伊木马和蠕虫攻击或控制业务系统;利用Linux操作系统、Oracle数据库、Web服务器自身配置漏洞,控制业务系统;利用linux操作系统、oracle数据库、web服务器已知的漏洞,而解决方昂尚未及时打补丁,对操作系统进行攻击。
足迹威胁
未关闭未使用的服务,导致攻击者利用这些服务探查系统信息;未配置适当的防火墙策略,导致系统服务、端口暴漏给不必要的用户,攻击者可利用这些服务的弱点对系统发起攻击;由于操作系统、DB、Web 服务器标题配置不合理,导致系统信息泄露,攻击者可以利用这些信息对系统发起攻击。
密码破解威胁
利用操作系统、数据库、Web服务器控制台默认账号口令或弱口令控制业务系统;操作系统、数据库用户账号缺乏账号锁定机制,致使攻击者可通过暴力破解弱口令获取系统控制权。
2.3网络安全威胁
网络层安全就是通过采用一系列安全措施,使得网络系统得到应有的安全保护,为在该网络平台上运行的业务系统提供应用的支持,包括一切访问网络资源或使用网络服务相关的安全保护。
足迹威胁
未限制网络设备对足迹请求的响应,导致系统信息泄露,攻击者可以利用这些信息对系统发起攻击;
网络设备开启了不必要的服务和端口,导致攻击者利用这些服务探查系统信息或对系统发起攻击;
未进行合理的VLAN和安全域划分,攻击者一旦控制某台主机就可能控制整个业务网络 ;
利用网络设备自身配置漏洞,控制业务网络;
管理平面、控制平面、数据平面未实现逻辑隔离,其中一个平面遭受攻击会影响其它两个平面的安全。 会话劫持威胁
未使用加密协议进行会话协商,致使会话信息被获取或存在中间人攻击风险。
拒绝服务威胁
未对网络设备进行合理配置,导致存在如下拒绝服务攻击威胁:
SYN Flood攻击;
UDP洪水攻击;
泪滴(teardrop)攻击;
Land攻击;
大量模拟器模拟真实业务访问(DDOS)。
2.4管理安全威胁
安全管理是指对所有计算机网络应用体系中各个方面的安全技术和产品进行统一的管理和协调,进而从整体上提高计算机系统的安全保护能力。
安全管理包括两个方面的内容,一是从技术上建立高效的管理平台,协调各个安全技术和产品的统一管理,为实现安全策略和度量安全效果提供便利;另一方面是非技术方面,如人员管理、制度管理和安全策略规范等方面的内容,以这些措施来提高产品的安全能力。
管理问题:缺乏安全管理规章制度,或者没有严格执行安全管理规章制度。
认识问题:人员安全意识不足,对安全问题带来的后果估计不充分。
补丁问题:没有及时进行系统及应用安全补丁的安装,导致系统存在安全漏洞。
帐号问题:多人共用帐号,责任无法追溯;
密码问题:未定时修改密码,人员变动未及时修改密码
审计控制问题:缺少集中的日志管理和审计系统,出现问题不能及时发现
三、安全解决方案
ITU-T X.805中的安全架构为电信网络安全分析和安全防护提供了框架,电信运营商广泛采用。
能力开放需要通过事先预防、事中预警、事后审计追踪来保护设备的正常安全运行。
事先预防主要包括以下几个方面:
网络安全:通过对网络设备进行安全加固、网络平面隔离、安全区域划分及严格的网络访问控制实现网络层面的安全
操作系统安全:通过及时更新操作系统安全补丁、操作系统安全加固、防病毒等手段实现操作系统主机层面安全
数据库安全:通过及时更新数据库补丁、数据库安全加固、数据库定期安全巡检及数据库安全设计等手段确保数据库安全
应用安全:基于对以OWASP为蓝本的全球主要Web安全威胁进行分析,通过对Web容器实施加固,对Web应用进行安全设计,使业务系统能够防范绝大多数的Web安全威胁;通过接口协议安全、敏感数据传输安全及敏感数据存储安全确保非Web应用安全
事中预警主要包括以下几个方面:
通过实时日志审计及时发现设备运行过程中的异常,如异常登录行为和暴力破解行为,管理员可以及时做出反应,降低事故影响范围和损失;
通过安全巡检及时发现入侵痕迹,发现长时间未修改密码的用户,以及对操作系统、数据库的加固效果进行检查;
通过IDS/IPS等入侵检测保护系统及时发现或阻止恶意攻击,一定程度上减少被攻击范围和损失。
事后审计追踪主要包括以下几个方面:
通过事后日志审计,发现攻击者的来源及攻击手段,为追踪攻击者提供佐证。
3.1应用层安全
解决方案所提供应用程序采取一系列安全技术和措施,以保证应用程序安全运行,所采用安全技术和措施主要包括:
3.1.1应用安全技术
口令安全,包括:
1.后台管理员必须使用复杂的口令策略(复杂度可以配置)[1];2.管理员登录时必须使用https保护口令不被窃听;3.管理员修改口令时必须使用https保护口令不被窃听; 4.模块应禁止默认口令登录; 5.用户在进行口令更改时,系统必须支持历史口令重复控制,应能控制不能使用最近使用过的口令
认证安全,包括:
1.管理员登录页面须提供验证码,验证码使用一次后自动失效,未使用在业务规定时间后失效2.管理员的最终认证处理过程在应用服务器进行;3.认证处理模块对提交的参数进行合法性检查;4.无预留任何的后门帐号或特殊的访问机制,所有的认证统一由认证模块处理,不存在绕过认证模块的逻辑存在;5.用户登录时先判断验证码是否正确,再判断用户名和口令是否正确;6.系统支持连续多次登录失败帐号锁定功能,失败次数可配置,锁定时长可配置;7.认证失败时,只显示一般错误提示,不向用户提供详细错误信息。
会话管理安全,包括:
1.管理和用户门户使用会话cookie维持会话,不使用隐藏域、URL重写或持久性cookie方式维持的会话;2.会话过程中不允许修改的信息(比如:用户认证通过后的用户标识),作为会话状态的一部分在服务器端存储和维护;3.当跟踪到非法会话,记录日志、清除会话并返回到认证界面;4.当用户退出时,清除该用户的会话信息;5.设置会话超时机制(默认超时时间为10分钟),在超时过后清除该会话信息;6.当“注销(或退出)”的按钮或菜单被点击,对应的会话立即失效;7.业务逻辑在服务器端处理,业务逻辑没有被绕过的行为
权限管理,包括:
1.对于管理员的访问请求核实其会话标识是否合法、是否被授权执行这个操作;2.授权和用户角色数据存放在服务端,不存放在客户端,鉴权处理也由服务端完成;3.所有帐号只拥有必需的权限;4.不使用“root”、“administrator”、“supervisor”等特权帐号运行应用程序,尽可能地使用低级别权限的操作系统帐号;5.连接数据库服务器时使用最低级别权限的数据库帐号,不使用数据库管理员帐号。
敏感数据存储,包括: 1.不在代码中存储敏感数据;2.不将密钥或帐号的口令以明文形式存储在数据库或者文件中;3.不在cookie、隐藏域、日志中以明文形式存储敏感数据;4.使用公开、安全的标准加密算法对数据进行加密;5.禁止带有敏感数据的Web页面缓存。
敏感数据传输,包括:
1.所有的表单数据根据业务尽量使用 HTTP-POST 方法提交,减少通过Http-get方法提交2.在客户端和服务端间传递敏感数据时,采用加密手段保证敏感信息数据的安全性(对数据加密传送,或通过ssl协议保障数据安全)3.不在URL中携带会话标识;4.对用户保密的信息不传送到客户端;
对外接口安全,包括:
1.系统对对外接口的调用进行认证、授权2.系统在采用对外接口传递敏感数据时,保障其机密性(对数据加密传送,或通过ssl协议保障数据安全)3.系统对对外接口调用记录日志4.系统对对外接口提交的参数需要进行输入校验
输入校验,包括:
1.必须对所有用户产生的输入进行校验,一旦数据不合法,应告知用户输入非法;2.必须对所有服务器产生的输入(来自hidden fields、selection boxes、check boxes、radio buttons、cookies、HTTP headers、热点链接包含的URL参数的数据或客户端脚本)进行校验,一旦数据不合法,必须使会话失效,并记录告警日志;3.应当对输入的字符类型是否符合要求、输入字符长度是否符合要求、输入的数据是否合理;4.禁止将HTTP标题头中的任何未加密信息作为安全决策依据;5.应对HTTP请求头域User-Agent进行检查,丢弃不匹配的浏览器名称;6.禁止通过字符串串联直接使用用户输入构造可执行 SQL 语句,以防止SQL注入攻击;7.禁止动态构建XPath语句,以防止XPath注入攻击;8.用于重定向的输入参数不能包含回车和换行字符,以防止HTTP响应拆分攻击;
输出编码:对于不可信的数据,输出到客户端前必须先进行HTML编码,以防止跨站脚本攻击
文件上传下载安全,包括:
1.应当采用白名单对上传或下载的文件类型、大小进行严格的限制;2.禁止以用户提交的数据作为读/写/上传/下载文件的路径或文件名,以防止目录跨越攻击。
日志管理,对安全事件和操作记录日志,安全操作包括用户登录、注销操作及账号管理操作等
异常处理:系统出现异常时,只能向客户端返回一般性的错误提示消息,但应当在日志中记录详细的错误信息
客户端软件安全,包括:
1.客户端需要支持启动登录认证,支持帐号、密码登录认证方式,只有登录认证通过才能正常使用业务,要求同一帐号不能重复登录;2.客户端软件和业务系统之间传递敏感信息数据时,必须采用加密方式传输;3.通常情况下不允许在客户端本地保存敏感信息,实在需要保存的话需要对敏感信息进行加密;4.要求所发布的JAVA客户端软件发布包抗逆向工程,不能被有效反编译。
防DoS攻击,包括:
1.所有Portal部件具有一定的应用级防DoS功能,能够限制给定时间段内用户的访问数量(可配置);
安全通信协议
1.所有敏感数据均需在网络上加密传输,典型地对于基于Web的登录和修改口令请求需要采用HTTPS协议确保口令不被抓包窃取;
2.要求主机外的管理平面和近端维护终端、网管维护终端间传输的管理流量需加密传输,使用合适的安全传输协议(如SSH/SFTP/TLS/IPSec/SNMPv3/SSL等)来确保管理流量安全。
3.2系统层安全
为保障业务系统在安全的环境中运行,解决方案在系统层对操作系统、数据库、Web服务器进行了安全设计,所采用的安全技术和措施包括:
3.2.1操作系统安全
通过对操作系统加固,实现操作系统安全,安全加固包括如下内容[2]:
对SSH服务进行安全加固;
对系统的启动服务进行最小化限制;
对Xinetd服务进行最小化限制;
对内核网络参数进行优化,防止DoS攻击、IP地址欺骗等[3];
启动syslog、ntp,开启对登录、cron、远程连接等事件的记录,并支持日志审计;
将登录、网络连接信息修改为警告信息;
对文件、目录进行访问权限设置;
对系统认证和授权进行加固;
对帐户管理进行加固;
对系统环境进行加固;
3.2.2数据库安全
通过Oracle数据库加固,实现Oracle安全,安全加固包括如下内容:
对Oracle目录和文件权限进行限制;
对Oracle参数进行加固;
对用户Profile进行加固;
对用户权限进行限制;
对数据库网络安全进行加固;
3.2.3Web服务安全
对WEB服务器进行加固,安全加固包括如下内容[4]:
部署运行策略,规范运行用户,删除默认控制台或管理员帐户
基本配置策略,通过合理配置配置文件参数,减少因配置问题导致的安全风险
文件目录权限控制
日志配置
3.2.4防病毒
对windows操作系统(目前主要是维护终端)安装防病毒软件,确保系统不受网络病毒攻击[5]
3.3网络层安全
为保障网络系统自身安全,并为运营在该网络平台上的业务系统提供安全支持,解决方案在网络层采取了以下安全技术和措施: 3.3.1网络及安全区域划分
对网络设备进行安全加固,确保网络设备自身安全运行
对业务网络进行合理的VLAN划分,对不相关业务进行隔离,保障业务可靠安全运行
对整个业务网络进行安全域划分,部署防火墙,通过合理的策略配置进行访问控制,一般根据业务需要,划分UNTRUST、DMZ、TURST、OM几个区域
设备的管理平面、控制平面及数据平面在传输通道上实现隔离,管理平面遭受攻击,不能影响其他两平面正常使用;数据平面、控制平面遭受攻击,要保证设备依然可管理[6]
3.3.2接口和协议
业务维护场景支持SSH取代telnet,SFTP取代FTP
针对必须使用FTP的场景,通过限制客户端IP地址方式来提升FTP的安全性
系统产品资料中提供有各部件通讯端口矩阵,便于客户运维人员进行安全相关运维操作
主机外的管理平面和近端维护终端、网管维护终端间传输的管理流量加密传输,使用合适的安全传输协议(如SSH/ SFTP/TLS/IPSec/SNMPv3/SSL等)来确保管理流量安全
3.4管理层安全
为保障能对系统中各个方面的安全技术和产品进行统一管理和协调,从整体上提高系统的安全保护能力,解决方案在管理层采取了以下安全技术和措施:
3.4.1帐号与权限管理
每人每帐号实现,系统帐号的按角色分权设置,实现帐号分级管理,每人每帐号授权,消除共享帐号
清除多余帐号与组,清除操作系统与数据库多余的帐号与组(含默认)
强化帐号管理流程,不能实现每帐号授权类,如 Linux系统的 root 帐号,根据角色定义帐号,将帐号集中掌控在有限的 1-2人 中,管理制度和流程控制上对帐号的拥有者加以强化
密码策略强制,口令长度、复杂性,密码最短修改期限及相应的预警或强制,不能使用最近 N 次的密码,错误登录超次后帐号锁定功能
3.4.2安全接入
提供堡垒主机,记录用户对操作系统的所有操作。
3.4.3日志审计
支持对安全操作和安全事件记录日志,支持对安全日志进行事中、事后审计
四、总结
本文就运营商能力开放过程中可能面临的安全威胁进行了详细的分析,分别从应用层安全、系统层安全、网络层安全、管理层安全几个方面进行研究和论证可实施的安全控制方案。并从应用安全技术、操作系统安全、数据库安全、Web服务安全、防病毒、网络及安全区域划分、接口和协议、帐号与权限管理、安全接入、日志审计等方面进行详细的实施方案分析总结。
参 考 文 献
[1]NIST Special Public 800-57, Recommendation for Key Management – Part1: General(Revision3), 2012
[2]NIST Special Public 800-21-1, Guideline for Implementing Cryptography in the Federal Government, 2005
[3]NIST Special Public 800-38a, Recommendation for Block Cipher Modes of Operation - Methods and Techniques, 2001
[4]ECRYPT II Yearly Report on Algorithms and Key Lengths (2012), revision 1.0, 2012
[5]RFC4086, Randomness Requirements for Security, 2005
[6]RFC2898, PKCS #5: Password-Based Cryptography Specification Version 2.0, 2000
【关键词】 数字业务创新 能力开放 互联网化改造 能力编排 安全控制
一、引言
能力开放是运营商顺应数字经济转型需要,融入数字业务创新浪潮的必然选择,也是助力互联网+应用落地实施的切入方式之一。将电信运营商企业所具备能力全面开放,搭建外部调用统一入口,聚合各类互联网要素,围绕企业“互联网+”转型的核心要素,提供丰富能力,使企业的生产服务过程能够快速进行互联网化改造。
能力开放是将能力封装成标准API(HTTP RestFul协议)开放在互联网上,提供外部应用调用入口,便于应用使用电信运营商能力。而安全性就成为电信运营商能力开放最重要的指标,0.01%的安全性事故会造成整个能力开放的失败。
一个业务系统往往都包括很多部分和层面,每一个部分和层面都可能存在安全漏洞从而成为被攻击的对象,每个层面和部分应该提供相应的安全方案来保护业务系统的安全,根据业务产品的分层思想,安全技术可以分为四个主要的层次:应用层安全、系统层安全、网络层安全,同时加上贯穿所有层次的重要安全因素-安全管理(包括技术和非技术的方法),组成了分层的安全架构模型。
本论文所有的研究都集中在如何有效进行能力开放场景下的安全控制,围绕应用层安全、系统层安全、网络层安全、管理层安全几个方面进行研究和论证可实施的安全控制方案。最后,针对整个系统对于安全控制方案效果进行总结,并形成研究结论和下一步的研究计划。
二、能力开放面临的安全威胁分析
2.1应用安全威胁
应用层安全既是信息系统安全的起点,又是信息系统安全设计的终点。起点指的是信息系统的安全需求来源于应用的安全需求,终点指的是信息系统安全的最终目的是确保业务应用的安全运行和业务信息的安全保护。
身份认证威胁。弱口令、默认口令导致业务系统管理员、操作员账号口令被暴力破解,进而导致业务系统被控制。业务系统口令未加密存储/传输导致口令被窃取,进而导致业务系统被控制。
输入验证威胁。未对输入数据的类型、长度、格式和范围做约束和验证,导致缓冲区溢出攻击。SQL注入、XPath注入及HTTP响应拆分攻击,通常为未对输入数据进行校验。跨站脚本攻击,通常为未对不可信数据进行输出编码。非法用户向系统上传恶意软件,通常为未对上传功能所支持的文件类型和大小做限制。文件上传、下载目录跨越攻击,通常为未对文件上传/下载的路径做限制。
授权威胁。未对用户(管理员、操作员及终端用户)操作进行合理的权限控制,导致越权访问攻击。
敏感数据威胁。系统敏感数据未加密存储、传输,导致被非法窃取。
会话管理威胁。未对会话信息进行有效安全保护,导致会话劫持攻击。未采取有效措施防止会话重放攻击。未对关键信息进行加密传输,导致中间人攻击。
加密技术威胁。未选用合适的加密技术,导致加密数据被破解。
异常处理威胁。异常处理向用户返回敏感信息,导致系统、敏感信息泄露。
安全审计威胁。由于未记录日志导致用户否认执行过某项操作。攻击者删除日志文件导致日志记录丢失。
2.2系统安全威胁
系统层安全主要是指为业务系统提供运行支持的操作系统、数据库系统、中间件系统及 LDAP、Web、FTP 等应用服务器的安全保护。系统层安全的保护包括最小化安装、最小服务限制、帐户管理、口令策略、安全审计、认证与授权保护、内核参数安全调整、配置安全工具(如 SSH、lsof 等)、补丁管理、病毒保护、备份恢复等多方面的内容。
主机威胁
针对Windows维护终端,利用病毒、特洛伊木马和蠕虫攻击或控制业务系统;利用Linux操作系统、Oracle数据库、Web服务器自身配置漏洞,控制业务系统;利用linux操作系统、oracle数据库、web服务器已知的漏洞,而解决方昂尚未及时打补丁,对操作系统进行攻击。
足迹威胁
未关闭未使用的服务,导致攻击者利用这些服务探查系统信息;未配置适当的防火墙策略,导致系统服务、端口暴漏给不必要的用户,攻击者可利用这些服务的弱点对系统发起攻击;由于操作系统、DB、Web 服务器标题配置不合理,导致系统信息泄露,攻击者可以利用这些信息对系统发起攻击。
密码破解威胁
利用操作系统、数据库、Web服务器控制台默认账号口令或弱口令控制业务系统;操作系统、数据库用户账号缺乏账号锁定机制,致使攻击者可通过暴力破解弱口令获取系统控制权。
2.3网络安全威胁
网络层安全就是通过采用一系列安全措施,使得网络系统得到应有的安全保护,为在该网络平台上运行的业务系统提供应用的支持,包括一切访问网络资源或使用网络服务相关的安全保护。
足迹威胁
未限制网络设备对足迹请求的响应,导致系统信息泄露,攻击者可以利用这些信息对系统发起攻击;
网络设备开启了不必要的服务和端口,导致攻击者利用这些服务探查系统信息或对系统发起攻击;
未进行合理的VLAN和安全域划分,攻击者一旦控制某台主机就可能控制整个业务网络 ;
利用网络设备自身配置漏洞,控制业务网络;
管理平面、控制平面、数据平面未实现逻辑隔离,其中一个平面遭受攻击会影响其它两个平面的安全。 会话劫持威胁
未使用加密协议进行会话协商,致使会话信息被获取或存在中间人攻击风险。
拒绝服务威胁
未对网络设备进行合理配置,导致存在如下拒绝服务攻击威胁:
SYN Flood攻击;
UDP洪水攻击;
泪滴(teardrop)攻击;
Land攻击;
大量模拟器模拟真实业务访问(DDOS)。
2.4管理安全威胁
安全管理是指对所有计算机网络应用体系中各个方面的安全技术和产品进行统一的管理和协调,进而从整体上提高计算机系统的安全保护能力。
安全管理包括两个方面的内容,一是从技术上建立高效的管理平台,协调各个安全技术和产品的统一管理,为实现安全策略和度量安全效果提供便利;另一方面是非技术方面,如人员管理、制度管理和安全策略规范等方面的内容,以这些措施来提高产品的安全能力。
管理问题:缺乏安全管理规章制度,或者没有严格执行安全管理规章制度。
认识问题:人员安全意识不足,对安全问题带来的后果估计不充分。
补丁问题:没有及时进行系统及应用安全补丁的安装,导致系统存在安全漏洞。
帐号问题:多人共用帐号,责任无法追溯;
密码问题:未定时修改密码,人员变动未及时修改密码
审计控制问题:缺少集中的日志管理和审计系统,出现问题不能及时发现
三、安全解决方案
ITU-T X.805中的安全架构为电信网络安全分析和安全防护提供了框架,电信运营商广泛采用。
能力开放需要通过事先预防、事中预警、事后审计追踪来保护设备的正常安全运行。
事先预防主要包括以下几个方面:
网络安全:通过对网络设备进行安全加固、网络平面隔离、安全区域划分及严格的网络访问控制实现网络层面的安全
操作系统安全:通过及时更新操作系统安全补丁、操作系统安全加固、防病毒等手段实现操作系统主机层面安全
数据库安全:通过及时更新数据库补丁、数据库安全加固、数据库定期安全巡检及数据库安全设计等手段确保数据库安全
应用安全:基于对以OWASP为蓝本的全球主要Web安全威胁进行分析,通过对Web容器实施加固,对Web应用进行安全设计,使业务系统能够防范绝大多数的Web安全威胁;通过接口协议安全、敏感数据传输安全及敏感数据存储安全确保非Web应用安全
事中预警主要包括以下几个方面:
通过实时日志审计及时发现设备运行过程中的异常,如异常登录行为和暴力破解行为,管理员可以及时做出反应,降低事故影响范围和损失;
通过安全巡检及时发现入侵痕迹,发现长时间未修改密码的用户,以及对操作系统、数据库的加固效果进行检查;
通过IDS/IPS等入侵检测保护系统及时发现或阻止恶意攻击,一定程度上减少被攻击范围和损失。
事后审计追踪主要包括以下几个方面:
通过事后日志审计,发现攻击者的来源及攻击手段,为追踪攻击者提供佐证。
3.1应用层安全
解决方案所提供应用程序采取一系列安全技术和措施,以保证应用程序安全运行,所采用安全技术和措施主要包括:
3.1.1应用安全技术
口令安全,包括:
1.后台管理员必须使用复杂的口令策略(复杂度可以配置)[1];2.管理员登录时必须使用https保护口令不被窃听;3.管理员修改口令时必须使用https保护口令不被窃听; 4.模块应禁止默认口令登录; 5.用户在进行口令更改时,系统必须支持历史口令重复控制,应能控制不能使用最近使用过的口令
认证安全,包括:
1.管理员登录页面须提供验证码,验证码使用一次后自动失效,未使用在业务规定时间后失效2.管理员的最终认证处理过程在应用服务器进行;3.认证处理模块对提交的参数进行合法性检查;4.无预留任何的后门帐号或特殊的访问机制,所有的认证统一由认证模块处理,不存在绕过认证模块的逻辑存在;5.用户登录时先判断验证码是否正确,再判断用户名和口令是否正确;6.系统支持连续多次登录失败帐号锁定功能,失败次数可配置,锁定时长可配置;7.认证失败时,只显示一般错误提示,不向用户提供详细错误信息。
会话管理安全,包括:
1.管理和用户门户使用会话cookie维持会话,不使用隐藏域、URL重写或持久性cookie方式维持的会话;2.会话过程中不允许修改的信息(比如:用户认证通过后的用户标识),作为会话状态的一部分在服务器端存储和维护;3.当跟踪到非法会话,记录日志、清除会话并返回到认证界面;4.当用户退出时,清除该用户的会话信息;5.设置会话超时机制(默认超时时间为10分钟),在超时过后清除该会话信息;6.当“注销(或退出)”的按钮或菜单被点击,对应的会话立即失效;7.业务逻辑在服务器端处理,业务逻辑没有被绕过的行为
权限管理,包括:
1.对于管理员的访问请求核实其会话标识是否合法、是否被授权执行这个操作;2.授权和用户角色数据存放在服务端,不存放在客户端,鉴权处理也由服务端完成;3.所有帐号只拥有必需的权限;4.不使用“root”、“administrator”、“supervisor”等特权帐号运行应用程序,尽可能地使用低级别权限的操作系统帐号;5.连接数据库服务器时使用最低级别权限的数据库帐号,不使用数据库管理员帐号。
敏感数据存储,包括: 1.不在代码中存储敏感数据;2.不将密钥或帐号的口令以明文形式存储在数据库或者文件中;3.不在cookie、隐藏域、日志中以明文形式存储敏感数据;4.使用公开、安全的标准加密算法对数据进行加密;5.禁止带有敏感数据的Web页面缓存。
敏感数据传输,包括:
1.所有的表单数据根据业务尽量使用 HTTP-POST 方法提交,减少通过Http-get方法提交2.在客户端和服务端间传递敏感数据时,采用加密手段保证敏感信息数据的安全性(对数据加密传送,或通过ssl协议保障数据安全)3.不在URL中携带会话标识;4.对用户保密的信息不传送到客户端;
对外接口安全,包括:
1.系统对对外接口的调用进行认证、授权2.系统在采用对外接口传递敏感数据时,保障其机密性(对数据加密传送,或通过ssl协议保障数据安全)3.系统对对外接口调用记录日志4.系统对对外接口提交的参数需要进行输入校验
输入校验,包括:
1.必须对所有用户产生的输入进行校验,一旦数据不合法,应告知用户输入非法;2.必须对所有服务器产生的输入(来自hidden fields、selection boxes、check boxes、radio buttons、cookies、HTTP headers、热点链接包含的URL参数的数据或客户端脚本)进行校验,一旦数据不合法,必须使会话失效,并记录告警日志;3.应当对输入的字符类型是否符合要求、输入字符长度是否符合要求、输入的数据是否合理;4.禁止将HTTP标题头中的任何未加密信息作为安全决策依据;5.应对HTTP请求头域User-Agent进行检查,丢弃不匹配的浏览器名称;6.禁止通过字符串串联直接使用用户输入构造可执行 SQL 语句,以防止SQL注入攻击;7.禁止动态构建XPath语句,以防止XPath注入攻击;8.用于重定向的输入参数不能包含回车和换行字符,以防止HTTP响应拆分攻击;
输出编码:对于不可信的数据,输出到客户端前必须先进行HTML编码,以防止跨站脚本攻击
文件上传下载安全,包括:
1.应当采用白名单对上传或下载的文件类型、大小进行严格的限制;2.禁止以用户提交的数据作为读/写/上传/下载文件的路径或文件名,以防止目录跨越攻击。
日志管理,对安全事件和操作记录日志,安全操作包括用户登录、注销操作及账号管理操作等
异常处理:系统出现异常时,只能向客户端返回一般性的错误提示消息,但应当在日志中记录详细的错误信息
客户端软件安全,包括:
1.客户端需要支持启动登录认证,支持帐号、密码登录认证方式,只有登录认证通过才能正常使用业务,要求同一帐号不能重复登录;2.客户端软件和业务系统之间传递敏感信息数据时,必须采用加密方式传输;3.通常情况下不允许在客户端本地保存敏感信息,实在需要保存的话需要对敏感信息进行加密;4.要求所发布的JAVA客户端软件发布包抗逆向工程,不能被有效反编译。
防DoS攻击,包括:
1.所有Portal部件具有一定的应用级防DoS功能,能够限制给定时间段内用户的访问数量(可配置);
安全通信协议
1.所有敏感数据均需在网络上加密传输,典型地对于基于Web的登录和修改口令请求需要采用HTTPS协议确保口令不被抓包窃取;
2.要求主机外的管理平面和近端维护终端、网管维护终端间传输的管理流量需加密传输,使用合适的安全传输协议(如SSH/SFTP/TLS/IPSec/SNMPv3/SSL等)来确保管理流量安全。
3.2系统层安全
为保障业务系统在安全的环境中运行,解决方案在系统层对操作系统、数据库、Web服务器进行了安全设计,所采用的安全技术和措施包括:
3.2.1操作系统安全
通过对操作系统加固,实现操作系统安全,安全加固包括如下内容[2]:
对SSH服务进行安全加固;
对系统的启动服务进行最小化限制;
对Xinetd服务进行最小化限制;
对内核网络参数进行优化,防止DoS攻击、IP地址欺骗等[3];
启动syslog、ntp,开启对登录、cron、远程连接等事件的记录,并支持日志审计;
将登录、网络连接信息修改为警告信息;
对文件、目录进行访问权限设置;
对系统认证和授权进行加固;
对帐户管理进行加固;
对系统环境进行加固;
3.2.2数据库安全
通过Oracle数据库加固,实现Oracle安全,安全加固包括如下内容:
对Oracle目录和文件权限进行限制;
对Oracle参数进行加固;
对用户Profile进行加固;
对用户权限进行限制;
对数据库网络安全进行加固;
3.2.3Web服务安全
对WEB服务器进行加固,安全加固包括如下内容[4]:
部署运行策略,规范运行用户,删除默认控制台或管理员帐户
基本配置策略,通过合理配置配置文件参数,减少因配置问题导致的安全风险
文件目录权限控制
日志配置
3.2.4防病毒
对windows操作系统(目前主要是维护终端)安装防病毒软件,确保系统不受网络病毒攻击[5]
3.3网络层安全
为保障网络系统自身安全,并为运营在该网络平台上的业务系统提供安全支持,解决方案在网络层采取了以下安全技术和措施: 3.3.1网络及安全区域划分
对网络设备进行安全加固,确保网络设备自身安全运行
对业务网络进行合理的VLAN划分,对不相关业务进行隔离,保障业务可靠安全运行
对整个业务网络进行安全域划分,部署防火墙,通过合理的策略配置进行访问控制,一般根据业务需要,划分UNTRUST、DMZ、TURST、OM几个区域
设备的管理平面、控制平面及数据平面在传输通道上实现隔离,管理平面遭受攻击,不能影响其他两平面正常使用;数据平面、控制平面遭受攻击,要保证设备依然可管理[6]
3.3.2接口和协议
业务维护场景支持SSH取代telnet,SFTP取代FTP
针对必须使用FTP的场景,通过限制客户端IP地址方式来提升FTP的安全性
系统产品资料中提供有各部件通讯端口矩阵,便于客户运维人员进行安全相关运维操作
主机外的管理平面和近端维护终端、网管维护终端间传输的管理流量加密传输,使用合适的安全传输协议(如SSH/ SFTP/TLS/IPSec/SNMPv3/SSL等)来确保管理流量安全
3.4管理层安全
为保障能对系统中各个方面的安全技术和产品进行统一管理和协调,从整体上提高系统的安全保护能力,解决方案在管理层采取了以下安全技术和措施:
3.4.1帐号与权限管理
每人每帐号实现,系统帐号的按角色分权设置,实现帐号分级管理,每人每帐号授权,消除共享帐号
清除多余帐号与组,清除操作系统与数据库多余的帐号与组(含默认)
强化帐号管理流程,不能实现每帐号授权类,如 Linux系统的 root 帐号,根据角色定义帐号,将帐号集中掌控在有限的 1-2人 中,管理制度和流程控制上对帐号的拥有者加以强化
密码策略强制,口令长度、复杂性,密码最短修改期限及相应的预警或强制,不能使用最近 N 次的密码,错误登录超次后帐号锁定功能
3.4.2安全接入
提供堡垒主机,记录用户对操作系统的所有操作。
3.4.3日志审计
支持对安全操作和安全事件记录日志,支持对安全日志进行事中、事后审计
四、总结
本文就运营商能力开放过程中可能面临的安全威胁进行了详细的分析,分别从应用层安全、系统层安全、网络层安全、管理层安全几个方面进行研究和论证可实施的安全控制方案。并从应用安全技术、操作系统安全、数据库安全、Web服务安全、防病毒、网络及安全区域划分、接口和协议、帐号与权限管理、安全接入、日志审计等方面进行详细的实施方案分析总结。
参 考 文 献
[1]NIST Special Public 800-57, Recommendation for Key Management – Part1: General(Revision3), 2012
[2]NIST Special Public 800-21-1, Guideline for Implementing Cryptography in the Federal Government, 2005
[3]NIST Special Public 800-38a, Recommendation for Block Cipher Modes of Operation - Methods and Techniques, 2001
[4]ECRYPT II Yearly Report on Algorithms and Key Lengths (2012), revision 1.0, 2012
[5]RFC4086, Randomness Requirements for Security, 2005
[6]RFC2898, PKCS #5: Password-Based Cryptography Specification Version 2.0, 2000