一、前言
在做一些互联网系统或面向互联网的系统时,需要进行备案,需要满足网络信息安全维护规章及有关规章制度要求,才能发布到互联网。所以在做系统的需求分析时,往往需要把信息管理系统三级等保的需求加上,方便开发人员更好的架构和开发满足需求的系统。避免以后渗透测试,漏洞扫描,等保测试不满足需求带来的系统改造成本。
二、信息管理系统三级等保有哪些要求
1、物理安全性:计算机房应区域规划最少分成计算机机房和监管区2个一部分;计算机房应配备电子门禁系统、防盗报警系统、监控系统;机房不应该有窗子,应配备专用型的气体灭火设备、备用发电机组;
2、网络信息安全:应制作与当今运作状况相一致的系统架构图;网络交换机、服务器防火墙等机器设备配备应符合规定,例如应开展Vlan区划并各Vlan逻辑性防护,应配备Qos总流量控制方法,应配备浏览控制方法,重要计算机设备和网络服务器应开展IP/MAC关联等;应配备网络审计机器设备、漏洞扫描或防御力机器设备;网络交换机和服务器防火墙的真实身份辨别机制要达到等级保护规定,例如用户名密码复杂性对策,登陆浏览不成功解决机制、客户人物角色和权限管理等;互联网链接、重要计算机设备和安全装置,必须有冗余设计设计方案。
3、服务器安全性:网络服务器的自身配备应符合规定,例如身份辨别机制、密钥管理机制、网络安全审计机制、病毒防护等,必需时可选购第三方的服务器和运维审计机器设备;网络服务器(运用和网站数据库)应具备冗余设计,例如必须双机备份或群集布署等;网络服务器和关键计算机设备必须在发布前开展漏洞扫描仪评定,不应该有高级别以上的漏洞(例如windows系统漏洞、apache等分布式数据库漏洞、数据分析软件漏洞、别的系统及端口号漏洞等);应配备专用型的日志网络服务器储存服务器、数据库查询的财务审计日志。
4、应用安全性:运用本身的作用应合乎等级保护规定,例如真实身份辨别机制、财务审计日志、通讯和储存数据加密等;运用处要考虑到布署网页防篡改机器设备;运用的安全风险评估(包含运用网络检测、网站渗透测试及风险评价),应不会有高级风险性以上的漏洞(例如SQL引入、跨站脚本制作、网址镜像劫持、网页页面伪造、比较敏感数据泄露、弱口令和动态口令猜想、后台管理系统漏洞等);软件系统造成的日志应储存至专用型的日志网络服务器。
5、数据信息安全:应给出的数据的当地备份数据机制,每日备份数据至当地,且外场储放;如系统软件中存有关键重要数据信息,应给予外地备份数据作用,通过互联网等将传输数据至外地开展备份数据;等保三级的管理方案规定安全制度、安全管理机构、工作人员安全工作、系统软件建设管理、运维服务管理方法。
三、一些关于应用安全和数据信息安全
1、登录系统密码要求
2、系统日志要求
三级等保中对日志审计有要求,要求是对重要用户以及重要安全事件进行审计。根据《网络安全法》第二十一条规定,采取监测、记录网络运行状态、网络安全事件的技术措施,并按照规定留存相关网络日志不少于六个月,且相对于要储存的系统日志內容,应该是采用检测、纪录互联网运转情况、网络安全情况的技术措施。也就是说无论是审计日志还是数据库日志等日志都需要留存不少于六个月。
3、对上传文件要求
。。。。。
4、用户敏感信息要求
。。。。。。
等等
四、常见web系统漏洞
SQL 注入:SQL 注入就是通过把 SQL 命令插入到 Web 表单,递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的 SQL 命令的目的。
文件上传:文件上传漏洞是指用户上传一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。这种攻击方式是最为直接和有效的,有时几乎不具有技术门槛。“文件上传” 本身没有问题,有问题的是文件上传之后服务器怎么处理、解释文件。如果服务器的处理逻辑做得不够安全,则会有严重的不安全隐患。
文件下载:可以下载网站所有的信息数据,包括源码、网站的配置文件等信息。
目录遍历:如果 Web 设计者设计的 Web 内容没有恰当的访问控制,允许 HTTP 遍历,攻击者就可以访问受限的目录,并可以在 Web 根目录以外执行命令。
XSS(跨站脚本攻击):跨站脚本攻击,为了不与层叠样式表的缩写 CSS 混淆,故将跨站脚本攻击缩写为 XSS。XSS 是一种经常出现在 Web 应用中的计算机安全漏洞,其允许恶意 Web 用户将代码植入到提供给其他用户使用的页面中,这些代码包括 HTML 代码和客户端脚本。攻击者利用 XSS 漏洞进行非法访问控制 —— 例如同源策略(SameOriginPolicy)。这种类型的漏洞由于被黑客用来编写危害性更大的网络钓鱼(Phishing)攻击,所以广为人知。对于跨站脚本攻击,黑客界的共识是:跨站脚本攻击是新型的 “缓冲区溢出攻击”,而 JavaScript 是新型的 “ShellCode”。
本地文件包含:这是 PHP 脚本的一大特色,程序员们为了开发方便常常会用到包含。本地包含漏洞是 PHP 中一种典型的高危漏洞。由于程序员未对用户可控的变量进行输入检查,导致用户可以控制被包含的文件名,当被成功利用时可以使 WebServer 将特定文件当成 PHP 脚本执行,从而导致用户获取一定的服务器权限。7. 远程文件包含服务器通过 PHP 的特性(函数)去包含任意文件时,由于要包含的文件来源过滤不严,可以包含一个恶意文件,而我们可以构造这个恶意文件达到渗透系统的目的。几乎所有的 CGI 程序都有这样的 Bug,只是具体的表现方式不一样罢了。
全局变量覆盖:register_globals 是 PHP 中的一个控制选项,可以设置成 Off 或者 On,默认为 Off,决定是否将 EGPCS 变量注册为全局变量。如果打开 register_globals,客户端提交的数据中含有 GLOBALS 变量名,就会覆盖服务器上的 $GLOBALS 变量。
代码执行:由于开发人员编写源码时没有针对代码中可执行的特殊函数入口做过滤,导致客户端可以提交恶意构造语句,并交由服务器端执行。Web 服务器没有过滤类似 system ()、eval ()、exec () 等函数是该漏洞攻击成功的最主要原因。
弱口令:弱口令的危害就犹如你买了一个高级保险箱,什么刀斧工具都破坏不了它,但遗憾的是你把钥匙挂在了门上。常见的弱密码出现在个人邮箱、网游账号、系统口令等环境。
跨目录访问:开发人员没有正确地限制能够访问存储系统的网页路径。通常,跨目录攻击的受害者大多是社交网站,或者是全球性的 Web 服务器。因为在同一个 Web 服务器上可能为不同的用户或部门分配不同的目录。例如,每个 MySpace 用户都有一个个人的网络空间。此时,如果使用 Cookie 或者 DOM 存储,就可能产生跨目录攻击。
缓冲区溢出:缓冲区溢出是一种非常普遍、非常危险的漏洞,在各种操作系统、应用软件中广泛存在。利用缓冲区溢出攻击会导致程序运行失败、系统宕机、重新启动等后果。更为严重的是,可以利用它执行非授权指令,甚至可以取得系统特权进而进行各种非法操作。
Cookies 欺骗:Cookies 能够让网站服务器把少量数据储存到客户端的硬盘,或从客户端的硬盘读取数据。当你浏览某网站时,由 Web 服务器置于你硬盘上一个非常小的文本文件,它可以记录你的用户 ID、密码、浏览过的网页、停留的时间等信息。当你再次来到该网站时,网站通过读取 Cookies 得知你的相关信息,就可以做出相应的动作,如在页面显示欢迎你的标语,或者让你不用输入 ID、密码就可以直接登录等。从本质上讲,它可以看作是你的身份证。但 Cookies 不能作为代码执行,也不会传送病毒,为你所专有,且只能由提供它的服务器来读取。保存的信息片断以 “名 / 值对”(Name-ValuePairs)的形式储存,一个 “名 / 值对” 仅仅是一条命名的数据。Cookies 欺骗就是修改其中保存的息,从而实现某些特殊的目的。
反序列化:如果服务端程序没有对用户可控的序列化代码进行校验,而是直接进行反序列化使用,并且在程序中运行一些比较危险的逻辑(如登录验证等),那么就会触发一些意想不到的漏洞。比如经典的有 Weblogic 反序列化和 Joomla 反序列化漏洞。16.CSRF(跨站请求伪造)攻击者通过用户的浏览器注入额外的网络请求,破坏一个网站会话的完整性。浏览器的安全策略是允许当前页面发送到任何地址,因此也就意味着当用户在浏览其无法控制的资源时,攻击者可以控制页面的内容来控制浏览器,发送其精心构造的请求。17. 命令注入系统对用户输入的数据没有进行严格过滤就运用,并且使用 bash 或 cmd 执行。
对于 Web 中的常见漏洞,应该从 3 个方面入手进行防御:
对 Web 应用开发者而言:大部分 Web 应用常见漏洞都是在 Web 应用开发中,由于开发者没有对用户输入的参数进行检测或者检测不严格造成的。所以,Web 应用开发者应该树立很强的安全意识,开发中编写安全代码;对用户提交的 URL、查询关键字、HTTP 头、POST 数据等进行严格的检测和限制,只接受一定长度范围内、采用适当格式及编码的字符,阻塞、过滤或者忽略其它的任何字符。通过编写安全的 Web 应用代码,可以消除绝大部分的 Web 应用安全问题。
对 Web 网站管理员而言:作为负责网站日常维护管理工作 Web 管理员,应该及时跟踪并安装最新的、支撑 Web 网站运行的各种软件的安全补丁,确保攻击者无法通过软件漏洞对网站进行攻击。除了软件本身的漏洞外,Web 服务器、数据库等不正确的配置也可能导致 Web 应用安全问题。Web 网站管理员应该对网站各种软件配置进行仔细检测,降低安全问题的出现可能。此外,Web 管理员还应该定期审计 Web 服务器日志,检测是否存在异常访问,及早发现潜在的安全问题。
使用网络防攻击设备:前两种都是预防方式,相对来说很理想化。在现实中,Web 应用系统的漏洞仍旧不可避免:部分 Web 网站已经存在大量的安全漏洞,而 Web 开发者和网站管理员并没有意识到或发现这些安全漏洞。由于 Web 应用是采用 HTTP 协议,普通的防火墙设备无法对 Web 类攻击进行防御,因此需要使用入侵防御设备来实现安全防护。