网站安全TOP10问题及其解决方案

news/2024/5/20 5:35:24/文章来源:https://blog.csdn.net/sunyuhua_keyboard/article/details/107291820

网站安全

最常见的网站安全问题TOP10

1、Injection.

将不受信任的数据作为命令或查询的一部分发送到解析器时,会产生诸如SQL注入、NoSQL注入、OS 注入和LDAP注入的注入缺陷。攻击者的恶意数据可以诱使解析器在没有适当授权的情况下执行非预 期命令或访问数据。

2、Broken Authentication

通常,通过错误使用应用程序的身份认证和会话管理功能,攻击者能够破译密码、密钥或会话令牌, 或者利用其它开发缺陷来暂时性或永久性冒充其他用户的身份。

3、Sensitive Data Exposure.

许多Web应用程序和API都无法正确保护敏感数据,例如:财务数据、医疗数据和PII数据。攻击者可 以通过窃取或修改未加密的数据来实施信用卡诈骗、身份盗窃或其他犯罪行为。未加密的敏感数据 容易受到破坏,因此,我们需要对敏感数据加密,这些数据包括:传输过程中的数据、存储的数据 以及浏览器的交互数据。

4、XML External Entities (XXE).

许多较早的或配置错误的XML处理器评估了XML文件中的外部实体引用。攻击者可以利用外部实体窃 取使用URI文件处理器的内部文件和共享文件、监听内部扫描端口、执行远程代码和实施拒绝服务攻 击。

5、Broken Access Control.

未对通过身份验证的用户实施恰当的访问控制。攻击者可以利用这些缺陷访问未经授权的功能或数 据,例如:访问其他用户的帐户、查看敏感文件、修改其他用户的数据、更改访问权限等。

6、Security Misconfiguration.

安全配置错误是最常见的安全问题,这通常是由于不安全的默认配置、不完整的临时配置、开源云 存储、错误的 HTTP 标头配置以及包含敏感信息的详细错误信息所造成的。因此,我们不仅需要对所 有的操作系统、框架、库和应用程序进行安全配置,而且必须及时修补和升级它们。

7、Cross-Site Scripting XSS.

当应用程序的新网页中包含不受信任的、未经恰当验证或转义的数据时,或者使用可以创建 HTML或 JavaScript 的浏览器 API 更新现有的网页时,就会出现 XSS 缺陷。XSS 让攻击者能够在受害者的浏览器 中执行脚本,并劫持用户会话、破坏网站或将用户重定向到恶意站点。

8、Insecure Deserialization.

不安全的反序列化会导致远程代码执行。即使反序列化缺陷不会导致远程代码执行,攻击者也可以 利用它们来执行攻击,包括:重播攻击、注入攻击和特权升级攻击。

9、Using Components with Known Vulnerabilities.

组件(例如:库、框架和其他软件模块)拥有和应用程序相同的权限。如果应用程序中含有已知漏 洞的组件被攻击者利用,可能会造成严重的数据丢失或服务器接管。同时,使用含有已知漏洞的组 件的应用程序和API可能会破坏应用程序防御、造成各种攻击并产生严重影响。

10、Insufficient Logging & Monitoring.

不足的日志记录和监控,以及事件响应缺失或无效的集成,使攻击者能够进一步攻击系统、保持持 续性或转向更多系统,以及篡改、提取或销毁数据。大多数缺陷研究显示,缺陷被检测出的时间超 过200天,且通常通过外部检测方检测,而不是通过内部流程或监控检测。

针对这10个常见的安全监控,我们网站如何做安全防护的。首先看一下我们网站的总体架构图

架构图

怎么解决常见网站安全问题

1、针对Injection.问题

注入攻击排在第一位是sql注入攻击。目前网站安全以及服务器安全层面上是最具有攻击性,危害性较高,被黑客利用最多的一个漏洞,基本上针对于网站代码,包括JAVA JSP PHP ASP apache tomcat 语言开发的代码都会存在sql注入漏洞。

我们的解决方案:

开发的DAO层使用mybatis。

#{value}在预处理时,会把参数部分用一个占位符?替代,其中value表示能接受输入参数的名称。能有效的解决SQL注入的问题。

2、针对Broken Authentication问题

Authentication指的是用户身份的认证,并不介入这个用户能够做什么,不能够做什么,确认存在这个用户而已。

解决这个问题,我们系统采用的是:

Spring Security+Oauth 2.0 的 password Grant 模式!使用OpenID Connect进行身份验证 OAuth 2.0是行业标准的授权协议。它使用scope来定义授权用户可以执行的操作的权限。但是,OAuth 2.0不是身份验证协议,并且不提供有关经过身份验证的用户的信息

img

3、针对Sensitive Data Exposure. 问题

数据是网站的最重要的资产,敏感数据则是重中之重。

我们系统采取的措施:

1、Spring Boot Actuaotr有助于对应用程序进行监控和管理,通过restful api请求来监管、审计、收集应用的运行情况。

2、对系统处理、存储或传输的数据分类,并根据分类进行访问控制。 使用Spring boot权限管理和阿里云的云账号分级。

3、确保存储的所有敏感数据被加密。数据库中敏感数据使用MD5加密。Spring Security默认情况下不允许使用纯文本密码。它还附带了一个加密模块,可用于对称加密,生成密钥和密码散列(也就是密码编码)

4、确保传输过程中的数据被加密。传输过程需要进行token的身份验证和使用https安全传输协议。并禁止缓存敏感数据。Spring Boot应用程序中强制使用HTTPS,扩展WebSecurityConfigurerAdapter并要求安全连接。

4、针对XML External Entities (XXE). 问题

如果攻击者可以上传XML文档或者在 XML文档中添加恶意内容,通过易受 攻击的代码、依赖项或集成,他们就 能够攻击含有缺陷的XML处理器。

我们系统的解决方案:

使用简单的数据格式(如:JSON),避免对敏感数据进 行序列化。

5、针对Broken Access Control. 问题

除公有资源外,默认情况下拒绝访问。

我们系统的解决方案:

1、使用一次性的访问控制机制,并在整个应用程序中不断重用它们, 包括最小化CORS使用。

2、 建立访问控制模型以强制执行所有权记录,而不是接受用户创建、 读取、更新或删除的任何记录。

3、 域访问控制对每个应用程序都是唯一的,但业务限制要求应由域 模型强制执行。

6、针对Security Misconfiguration. 问题

安全配置错误,大部分是人为失误。

我们系统的解决方案:

1、开发、质量保证和生产环境都应该进行相同配置,并且在每个 环境中使用不同的密码。这个过程应该是自动化的,以尽量减少 安装一个新安全环境的耗费。

2、检查和修复安全配置项来适应最新的安全说明、更新和补丁,并 将其作为更新管理过程的一部分

3、一个能在组件和用户间提供有效的分离和安全性的分段应用程 序架构,包括:分段、容器化和云安全组。

4、上线前使用预发布环境进行自动化脚本的检测,安全团队则是通过代码review方式,进行代码的安全检查。

7、针对Cross-Site Scripting XSS. 问题

xss攻击(跨站脚本攻击):攻击者在页面里插入恶意脚本代码,用户浏览该页面时,脚本代码就会执行,达到攻击者的目的。原理就是:攻击者对含有漏洞的服务器注入恶意代码,引诱用户浏览受到攻击的服务器,并打开相关页面,执行恶意代码。

同时还有CSRF攻击:跨站请求伪造攻击,CSRF是一种欺骗受害者提交恶意请求的攻击,并劫持受害者的身份和特权,并以受害者的身份访问未授权的信息和功能。

我们系统解决XSS攻击和CSRF攻击的一个方法同步器Token,就是在post的请求中,增加一个token,每次请求到来,服务器都会验证请求中的token和服务器期望的值是否一致,如果不一致,服务器将请求视为非法的。

我们系统使用的方案:

1、使用spring security中@EnableWebMvcSecurity。

2、阿里云云服务的云骑士,也能过滤初级的xss攻击。

3、内容安全策略(CSP)是一个增加的安全层,可帮助缓解XSS(跨站点脚本)和数据注入攻击。Spring Security 配置在Spring Boot应用程序中启用CSP标头

4、使用spring sentinel进行限流配置。

8、针对Insecure Deserialization.问题

序列化一般出现在系统之间信息交换的场景,主要避免敏感数据的泄露。

我们系统的解决方案:

1、执行完整性检查,如:任何序列化对象的数字签名,以防止恶 意对象创建或数据篡改。

2、 在创建对象之前强制执行严格的类型约束,因为代码通常被期 望成一组可定义的类。绕过这种技术的方法已经被证明,所以 完全依赖于它是不可取的。

3、 如果可能,隔离运行那些在低特权环境中反序列化的代码。发送出去的时候,对敏感字段增加transiant字段保护起来,防止被序列化。

4、 限制或监视来自于容器或服务器传入和传出的反序列化网络连接。

5、 监控反序列化,当用户持续进行反序列化时,对用户进行警告。

6、使用sentinel配置持久化。

9、针对Using Components with Known Vulnerabilities. 问题

使用已存在漏洞的组件,会造成非业务代码带来的安全损失。

我们系统的解决方案:

1、移除不使用的依赖、不需要的功能、组件、文件和文档。攻击者越来越多地针对开源依赖项,因为它们的重用为恶意黑客提供了许多受害者,确保应用程序的整个依赖关系树中没有已知的漏洞非常重要。 Snyk测试应用程序构建包,标记那些已知漏洞的依赖项。

2、利用如 versions、DependencyCheck 、retire.js等工具来持续的 记录客户端和服务器端以及它们的依赖库的版本信息。持续监控 如CVE 和 NVD等是否发布已使用组件的漏洞信息,可以使用软 件分析工具来自动完成此功能。订阅关于使用组件安全漏洞的警 告邮件。

3、 仅从官方渠道安全的获取组件,并使用签名机制来降低组件被篡改或加入恶意漏洞的风险。并根据阿里云等云服务上的提示,不断将版本升级为最安全的版本。

4、监控那些不再维护或者不发布安全补丁的库和组件。如果不能打补丁,可以考虑部署虚拟补丁来监控、检测或保护。

5、OWASP ZAP安全工具是针对在运行活动的应用程序进行渗透测试的代理。OWASP ZAP用于查找漏洞的两种方法是Spider和Active Scan

10、针对Insufficient Logging & Monitoring. 问题

一个系统不能保证100%的安全,但是必须所有系统都做到安全监控和日志备份,做到数据的安全

我们系统的解决方案:

1、确保所有登录、访问控制失败、输入验证失败能够被记录到日志中去,并保留足够的用户上下文信息,以识别可疑或恶意帐 户,并为后期取证预留足够时间。

2、确保日志以一种能被集中日志管理解决方案使用的形式生成

3、 确保高额交易有完整性控制的审计信息,以防止篡改或删除, 例如审计信息保存在只能进行记录增加的数据库表中。

4、建立有效的监控和告警机制,使可疑活动在可接受的时间内被 发现和应对。

5、建立或采取一个应急响应机制和恢复计划。

6、使用springboot+ELK+Prometheus建立日志监控报警系统,自定义metrics定义不同的监控指标。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_777647.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站浏览器可以打开,在微信中打不开,排查问题的过程

今天收到遇到一个诡异的问题:网站浏览器可以打开,在微信中打不开,耗费了很长时间才将问题排查出来,现在将排查的步骤记录下来,仅供参考: 在手机微信里输入访问地址:显示无法 打开网页。如图所示…

使用docker方式搭建免费开源的境外商城网站

境外商城网站,可以销售国内的商品,将国内的商品卖到国际上 prestashop 是一个比较好用的开源免费的境外商城网站 官网:https://www.prestashop.com/en 搭建的步骤: 在云上开一台机器,2核4G以上的就可以 安装网络&a…

使用docker-compose搭建个人博客网站solo

solo是一款开源的个人博客网站 官网的地址: https://b3log.org/solo/ 搭建步骤 开通一台云上的机器 准备一个域名指向这台机器的外网IP 准备docker-compose和docker环境 没有docker和docker-compose的环境的,可以根据自己的操作系统,准备…

基于SpringBoot从零构建博客网站 - 设计可扩展上传模块和开发修改头像密码功能...

上传模块在web开发中是很常见的功能也是很重要的功能,在web应用中需要上传的可以是图片、pdf、压缩包等其它类型的文件,同时对于图片可能需要回显,对于其它文件要能够支持下载等。在守望博客系统中对于上传模块进行统一管理,同时对…

django+uwsgi+nginx部署网站

djangouwsginginx部署网站 静态:nginx直接处理 动态:wsgi或者uwsgi给python处理 uwsgi web协议,发布python网站。 uwsgi是服务器和服务端应⽤程序的通信协议,规定了怎么把请求转发给应⽤程序和返回 uWSGI实现WSGI协议&#xff0…

Certbot给网站域名申请免费SSL证书 及Nginx配置

Certbot 官网: https://certbot.eff.org/ 前提是自己已经安装好nginx,并配置好自己的域名。 1.安装snap 官网要求用snap工具安装,那就先安装相关依赖包,和snap软件。 yum -y install epel-release #安装依赖 yum -y…

Linux开源软件Gatus - 自动化监控网站运行服务

一:Gatus简介: Gatus 提供一个轻量级的监控健康,让开发者通过服务的简单 HTTP、ICMP 等协议来监控情况,并根据网页监控 TCP 的状态码或响应时间及正文来决定网站是否健康,如果发生的话异常,可以设置不同的…

用acme.sh给网站域名,申请免费SSL永久证书(自动续期)

一:简介 申请ssl证书,即https有很多,有免费的,也有收费的。如第三方域名管理cloudflare也可以自动添加使用https,而且永久。 但是由于有些服务,需要在服务器使用自签证书,所以需要自己申请。免…

java旅游网站毕业论文_旅游网站的设计与实现

摘 要 现代社会是信息社会。随着计算机网络技术、数据库技术、管理技术的发展,对信息的处理和利用已经深入到人类生活的各个方面。旅游是人们生活不可分割的组成部分,旅游业已成为当今世界上发展势头最强劲的产业,它是集吃、住、行、游、购、…

centos php 绑定域名解析,Linux系统下网站站点部署优势之:域名泛解析绑定

做过站群或绑定多个二级域名的技术人员都知道,在windows下如果可绑定多个二级域名,一般都会用到默认站点的空主机头,只有绑定了80端口的空主机头,才可实现多个二级域名的绑定,或指定目录或301转发。但是,服…

如何查看网站服务器更新信息,如何实现本地修改网站,服务器上的网站跟着自动更新?...

用DreamweaverCS4的自动上传功能呀!详细步骤(以DreamweaverCS4为例)1、点击DreamweaverCS4(以下简称DW)工具栏上的站点按钮,选择“新建站点”2、选中“高级”选项卡后,输入站点名称、本地路径等信息,在HTTP一栏中,输入…

Winform 程序以POST形式访问网站

Winform 程序以POST形式访问网站 本例介绍了Winform程序发送POST请求访问页面,主要使用到了HttpWebRequest和HttpWebResponse这两个对象。 程序主要代码如下: 代码 1 using System.Net; 2 using System.IO; 3 4 5 //创建HttpWebRequest对象 6 …

网站设计欣赏:45+靓丽的蓝绿色主题网站作品【下篇】

网站给用户留下第一印象的既不是网站丰富的内容,也不是网站合理的布局,而是网站的色彩。色彩给人的视觉效果最明显,一个网站设计成功与否,在某种程度上就取决于设计者对色彩的运用和搭配。这篇文章搜集了45靓丽的蓝色和绿色主题网…

重定向网站的几种简单方法

最近需要关闭一个网站,当用户输入这个网站的所有网址的时候,重定向指定的页面。当跳转到指定页面的时候,30s之后再次跳转到另外一个网站的首页。 1.方法一: 在IIS 6上面找到将要关闭的网站,右键属性,打开Ho…

win2003 sp2+iis 6.0上部署.net 2.0和.net 4.0网站的方法

网站环境 IIS6.0,操作系统Windows server2003 sp2,服务器之前已经部署了.net 2.0和asp的网站,现在要部署新开发的.net 4.0网站.本来认为很简单,却遇到了很多问题,下面详细描述下过程: 1.官网下载.net framework4.0,下载地址:http://www.micro…

SP2010开发和VS2010专家食谱--第二章节--工作流(1)--创建带有初始表单的网站工作流...

上一篇文章是没有人参与的顺序工作流的好例子。我们这次创建自己的贷款应用程序审批系统。本文章中,我们将创建网站工作流,完成我们的贷款应用程序审批过程。因为网站工作流并不与任何列表关联,这里没有输入数据和启动工作流的开箱即用表单。…

网站服务器到期后 内容释放,服务器到期后多久释放

服务器到期后多久释放 内容精选换一换自助解封配额根据您选择的业务规模和购买时长计费。当前仅以下区域的公网IP可以使用自助解封功能:华北华东华南自助解封配额提供包周期(3个月、6个月或1年)预付费计费模式,使用越久越便宜。包周期计费按照订单的购买…

Nutch 2.2+MySQL+Solr4.2实现网站内容的抓取和索引

原文地址: http://blog.sina.com.cn/s/blog_3c9872d00101p4f0.html Nutch 2.2.1发布快两月了,该版本与Nutch之前版本相比,有较大变化,特别是与MySQL联合应用的安装和配置过程有不少地方容易出错。本人在安装过程中也遇到了不少麻烦…

长尾词推广系统推荐乐云seo_SEO笔记分享---网站关键词优化(三)

今天主要和大家分享关于SEO关键词优化的三个问题:1 选择关键词需要注意什么2 写网页内容需要注意些什么?3 新站如何快速获得关键词排名大家喜欢的话可以关注我,每天分享关于SEO的知识,我们一起学习及进步选择关键词需要注意什么经…

php中seo优化怎么做,php怎么seo优化

现在SEO基本上已经是在广泛的应用了,php程序的企业网站也越来越多,其实我之前一直喜欢用asp的,但是发现很多国外的空间现在不支持asp,所以也就研究了一下php,网站建好,当然也想要有一个好的网站排名&#x…