电子商务网站互联网安全防御攻略

news/2024/5/20 2:06:54/文章来源:https://blog.csdn.net/hgguhff/article/details/86756736
电子商务网站,互联网的安全防御相当重要,尤其是牵扯到支付这一块的。本文总结了一些比较通用的 web 安全防御常识,供大家参考一下,也希望可以和关心这一块的同行一起讨论一下这方面的话题。


1. 信息传输加密

https 使用对称加密还是非对称加密?

对称加密使用 DES 还是 AES?

非对称加密使用 RSA 还是 DSA?

  • 使用什么加密算法,在购买证书的时候就要确定。一般是用 RSA 2048 位。

SSL 证书需要不需要购买?

  • 不需要购买的理由 - 我们使用HTTPS的目的就是希望服务器与客户端之间传输内容是加密的,防止中间监听泄漏信息,去证书服务商那里申请证书不划算,因为使用服务的都是固定客户和自己内部人士,所以我们自己给自己颁发证书,忽略掉浏览器的不信任警报即可。一般内部使用的都是自己给自己颁发证书。而开放给客户的网站则一般都是购买了证书的,但也不排除一些网站出于成本的考虑而没有购买,比如 12306 铁路购票网站,会过日子啊。
  • 需要购买的理由 - 用户体验好、专业性强。

双向验证还是单向验证?

  • 单向验证验证的是服务器;双向验证服务器客户端互相验证。
  • 对于服务器来讲,单向验证能够保证传输的数据加密过了;双向验证不仅保证传输数据加密,还能够保证客户端来源的安全性。
  • 如果使用双向验证的话,需要客户端浏览器导入证书。
  • 出于客户体验的考虑,大部分 https 网站使用的都是单向验证(比如 CSDN 登录),一些安全性要求高的使用的是双向验证(比如招行网上银行、支付宝)。

证书是和域名绑定的,服务开放之前,域名确定、购买,https 证书的购买需要先搞定。



2. 文件存储加密

非对称加密使用什么加密算法,RSA 还是 DSA?

非对称加解密的话,加解密比较慢,实现上使用 java 实现还是 c?



3. 防御 XSS 攻击

服务前台客户端,对用户输入进行 js 表单验证;

目前,我们服务前台的客户端的表单验证也要交互一下后台,增加了后台负载,而且还留下了 XSS 攻击隐患;

应该是接受指定长度范围内、采用适当格式、采用所预期的字符的内容提交;

对于对其他的特别是 javascript 相关的特殊字符一律过滤;

对于某些 html 危险字符进行转义,比如 > 转义为 &gt,< 转义为 &lt;

对于存放敏感信息的 Cookie,对该 Cookie 添加 HttpOnly 属性,避免被攻击脚本窃取;

服务前台服务器端,对用户输入再次验证;

进行服务器端表单级验证,防止恶意用户模拟浏览器绕过 js 代码进行攻击;

建议对于服务器端表单验证统一系统异常码,结合系统异常处理机制。客户端根据服务器端返回异常码显示相应信息,而不是将异常报告赤裸裸地展现给客户:一是用户体验不好,二者给恶意用户带来可趁之机;

程序中使用 ESAPI 库预防 XSS:

System.out.println(ESAPI.encoder().encodeForHTML("<a href='sdfs'></a>< script > alert(); </ script >" ));

输出:
&lt;ahref&#x3d;&#x27;sdfs&#x27;&gt;&lt;&#x2f;a&gt; &lt; script &gt; alert&#x28;&#x29;&#x3b; &lt;&#x2f; script &gt;


4. 防御 SQL 注入

同 3 防御 XSS 攻击中"建议对于服务器端表单验证统一系统异常码"条;

服务前台客户端在进行表单级验证的需要对 drop、update、delete 等 SQL 进行消毒;

服务前台服务器端再次进行服务器表单级验证的时候,需要再次对 drop、update、delete 等 SQL 进行消毒,防止恶意用户绕过 js 进行攻击;

对敏感字符进行转义,比如 ' 转义为 \';

传统 jdbc 进行参数绑定,如

PrepareStatement pre=connection.prepare(“select * from User where user.name=?”);pre.setString(1,”zhaoxin”);ResultSetrs=pre.executeQuery();

hibernate 进行参数绑定,如

String hql=”from User user where user.name=:customername ”;Query query=session.createQuery(hql);query.setParameter(“customername”,name,Hibernate.STRING);

iBATIS/MyBatis 进行参数绑定,在 SQL 语句的节点中,设置 parameterClass = "java.util.Map"即可,程序里把参数封装到 Map 中;



5. 防御 CSRF 攻击

使用 Struts2 的表单标签,其中需要增加 token 标签;

重要的节点如复核,加一个验证码验证;

检查 HTTP 请求头的 Referer 域,验证是否合法;



6. 划款环节的安全加强

服务前台登录需要动态口令;

每一笔划款请求需要动态口令;

每一笔划款短信、邮件通知客户;

设定限额等风险规则,超过就预警,需额外人工授权才能审核通过;



7. 避免表单重复提交

使用 Struts2 的表单标签,其中需要增加 token 标签;

对上传文件进行哈希库记录验证,如有重复询问客户是否继续;

关键接口的幂等性设计;

比如划款操作,由于网络等原因服务器端的返回结果丢失掉了,用户以为上一次操作失败,刷新页面或者再次提交,这样就划了两次款:
 没有幂等设计的划款
划款接口使用幂等设计之后,任何一步由于网络等原因失败或超时,客户端都可以随意重试,直到获得正确结果:
具备幂等设计的划款
虽然create_ticket不是幂等的,但在这种设计下,它对系统状态的影响可以忽略,我们只需要保证idempotent_withdraw是幂等的即可。当然,如果create_ticket也能设计成幂等的,那就万无一失了。

每次表单提交后,客户端禁用”提交”按钮;

友好体验起见,各输入框也进入禁止输入状态,直到收到服务器返回结果(比如 CSDN 博客频道的评论功能,目前貌似就是用这个办法来防止重复提交的)。



8. nginx 反向代理

nginx 是我们服务器对外的第一层屏障;

  • 通过它我们可以轻松进行各种安全设定,比如禁止 IP、限制 IP 并发数(这个可以预防 DOS 攻击)、设置 timeout 时间(这个也可以预防 DOS 攻击)、限制用户带宽等等;
  • nginx 还能对外屏蔽服务器接口路径、静态文件真实路径,避免路径遍历攻击;
  • nginx 有个专门预防 XSS、注入攻击的模块 naxsi;

动静分离,加快响应速度,降低 tomcat 负载;

负载均衡;



9. 及时更新 Struts2 框架



10. 设置文件上传白名单,或者干脆限制为 xls、xlsx,以避免上传文件攻击

根据上传文件名后缀进行文件类型验证;

根据上传文件的文件头进行文件类型验证;



11. nginx 漏洞利用和安全加固

nginx 配置错误而导致目录遍历漏洞;

比如
location /test {
 alias  html/test/;
 autoindex on;
}
当访问 http://192.168.1.103/test/ 这个 URL 时,正常情况应该遍历 html/test/ 这个目录,但是如果访问 http://192.168.1.103/test../ 这个 URL 时,则会遍历上一级目录 html/ 了。
应该改为
location /test {
 alias  html/test;
 autoindex on;
}
或者
location /test/ {
 alias  html/test/;
 autoindex on;
}
或者直接禁用 autoindex 模块。

nginx 版本的选择;

  • 关于 nginx 的安全漏洞可以关注 nginx 官方发布的安全公告 或到其他一些漏洞发布平台上查找。
  • 在安装 nginx 时建议使用自定义安装路径,如果采用默认安装路径,很容易被攻击者和一些自动化攻击工具猜测到,为其进行下一步的攻击提供便利。
  • 在选择 nginx 版本时,需要关注是否存在安全漏洞和版本的稳定性。一般选择最新的稳定版本,这样可以在稳定性和安全之间取得一个平衡。

修改/隐藏 Nginx Banner 信息;

日志安全;

  • 修改日志的默认保存路径,然后设置只允许管理员有日志存放目录的安全控制权限。

nginx 权限设置;

  • 给 nginx 一个权限比较低的身份运行,可以通过修改 nginx.conf 进行调整。应用服务器、数据库也应该遵循这个原则。

关闭服务器标记;

  • 如果开启的话(默认为开启),所有错误页面都会显示服务器的版本和信息。

设置自定义缓存以预防缓存区溢出攻击;



12. web 服务器和应用服务器目录权限设置原则

如果目录有写入权限,一定不要分配执行权限;

  • 比如网站上传目录和数据库目录一般需要分配写入权限,但一定不要分配执行权限。

如果目录有执行权限,一定不要分配写入权限;

一般目录只需分配读取权限即可;

应用服务器和数据库部署在不同的服务器上;

文件属主与应用服务器进程属主不同(一般设置文件属主为 root);

控制脚本只运行访问应用项目目录下的文件;



13. 代码混淆

静态 js 代码混淆;

应用程序 java 代码混淆;


14. 数据库安全防护

敏感字段的加密存储;

比如用户密码、银行账号等等。

禁用远程访问功能;

经常分析MySql访问日志;

比如通用查询日志对每一个客户端连接以及每一次查询情况都进行了时间戳记录,通过这种日志往往可以查出网络入侵等活动的源头。

应用服务器数据库配置文件中的用户名和密码加密保存;



15. 人工/自动对web攻击的定期监测

定期分析web日志;

  • 关键字检查,如insert delete update select等;
  • 特殊字符参数检查,如';--/*=等;
  • 特殊表达式检查,如1=1 1=2 a' or 'a'='a等;

定期分析防火墙日志;

  • 服务器主动对外发起的连接;
  • TFTP协议FTP 协议数据;

定期分析数据库日志

  • 同 14. 数据库安全防护条目提及的"访问日志"条;
  • 数据库备份记录;
  • 新库、新表建立记录;
  • 存储过程执行记录;
  • 数据的导入导出记录;

定期分析IDS日志;

  • 搜索SQL攻击记录的分析;
  • WEB端口连接IP分布以及请求分布;

定期检查WEB目录文件;

  • 关键字搜索检查;
  • 文件修改时间检查;
  • 文件最后访问时间检查;
  • 特殊文件名文件检查;
  • 上传文件夹检查;
  • 文件大小检查;

16. 网站运行监控

没有监控的网站,犹如盲人骑瞎马,夜半临深渊而不知,生死尚且未卜,就更别说提高可用性、减少故障率、监测黑客入侵了。

Nagios;

开源。适合于大规模分布式系统。与 Ganglia 相比它能够健康检查并智能报警,将管理员从日常烦琐的工作中解放出来。

Ganglia;

开源。适合于大规模分布式系统。与 Nagios 相比它能够提供更加精确的数据,通常和 Nagios 一起使用。

nmon;

开源。适合于小规模应用系统。

JMeter PerfMon 服务器性能指标监控插件;

开源。适合于配合 JMeter 压测时使用。
           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

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

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

相关文章

JSON.parseObject解析@JsonProperty注解失败

jackson的maven依赖 <dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.5.3</version> </dependency> 所以引入这一个依赖就可以了 JsonProperty 此注解用于…

电子商务网站互联网安全防御攻略

电子商务网站&#xff0c;互联网的安全防御相当重要&#xff0c;尤其是牵扯到支付这一块的。本文总结了一些比较通用的 web 安全防御常识&#xff0c;供大家参考一下&#xff0c;也希望可以和关心这一块的同行一起讨论一下这方面的话题。1. 信息传输加密 https 使用对称加密还是…

网站icon图标添加

<head><link rel"shortcut icon" href"/public/favicon.ico" type"image/x-icon"><link rel"icon" href"/public/favicon.ico" type"image/x-icon"><!--Thinkphp5 Public\Home\images 路径-…

保护水资源公益网站html,保护水资源公益广告策划书

保护水资源公益广告策划书1. 引起社会对中国水问题和水危机的关注&#xff1b;2. 提高公众对水与健康、水与环境及水与经济可持续发展的认识&#xff1b;3. 倡导人们科学用水、保护水资源、防止水污染。背景简介&#xff1a;我国人均淡水为世界人均水平的四分之一&#xff0c;属…

阿里云用域名、ip访问不了网站

https://jingyan.baidu.com/article/da1091fb6f54b9027849d6b6.html 可能是没有开端口导致访问不了 网站端口默认是80&#xff0c;也可以21、8080

织梦最新版后台一键更新网站、更新文档HTML卡死的解决方法

https://www.cnblogs.com/dedehtml/p/9904755.html 如果你正在用的是最新版的织梦程序(2018-01-09)&#xff0c;你可能会遇到后台一键更新网站、更新文档HTML卡死的情况&#xff0c; 那是因为织梦官方的德得广告服务器挂了&#xff0c;后台生成文档时会加载德得广告库文件与官…

CSS filter与前端滤镜 修改网站为(黑白)灰色代码

链接&#xff1a;https://zhuanlan.zhihu.com/p/125137964 2020.04.04 很多网站都换成了灰色调&#xff0c;如淘宝 百度 掘金 知乎等&#xff0c;通过实地考察&#xff0c;灰度的技术无一例外都使用了以下CSS&#xff0c;如淘宝的&#xff1a; <style> html {/* //以下…

IIS php网站 无法在<fastCGI>应用程序配置中找到<handler> scriptProcessor

IIS php网站 无法在应用程序配置中找到 scriptProcessor | 速推吧 搞了他妈一个晚上 &#xff0c;就上面的链接这个靠谱 要什么webconfig 不要也行 打开后会发现&#xff0c;根目录里面会自动生成的多出来的这个文件【web.config】直接删除掉&#xff0c;然后再去刷新一下你的…

php生成黑链,网站被黑链接(进入黑网最有效办法)

一个客户网站被入侵&#xff0c;网站根目录生成1W多黑链文件&#xff0c;同时也被各搜索引擎收录。贸然删去也有一定的影响&#xff0c;现来求救&#xff0c;下面记录处理笔记。收录效果图&#xff1a;收录垃圾违法内容处理过程该客户服务器是IIS7php的环境。误区&#xff1a;刚…

Linux运维个人博客网站挂载

临时关闭防火墙 永久关闭防火墙 通过linux访问文本网页 Nginx Rewrite 1.什么是rewrite Rewrite即URL重写&#xff0c; 主要实现url地址重写, 以及重定向, 就是把传入Web的请求重定向到其他URL的过程。 2.Rewrite使用场景 1.URL地址跳转&#xff0c;例如用户访问old.com将…

seo关键词互点软件报价_seo关键词优化软件怎么做

seo关键xaa0c1词优化软件怎么做&#xff0c;随着现代化信息技术的发展&#xff0c;人们越来越多的从网络来获取信息。近年来&#xff0c;我们获取的信息绝大部分都是来源于网络&#xff0c;网络如今已成为信息的最大载体。为了让更多消费者了解并消费企业提供的服务和产品&…

网站服务器会覆盖吗,云服务器会被覆盖吗

云服务器会被覆盖吗 内容精选换一换竞价计费型实例采用竞价计费模式&#xff0c;以一定折扣购买并使用弹性云服务器&#xff0c;性能与常规云服务器无异。但是当库存资源不足&#xff0c;或市场价格上浮、并超过您的预期价格时&#xff0c;系统会自动释放您的云服务器资源&…

java大型网站架构 技术栈,大型网站架构利器-CDN技术

概念CDN这个概念相信大家都比较耳熟&#xff0c;到底什么是CDN呢&#xff1f;CDN&#xff0c;全称为Content Delivery Network&#xff0c;即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节&#xff0c;使内容传输的更快、更稳定。通…

编程网站推荐---算法演示、在线(前端)编程

旧金山大学&#xff1a;https://www.cs.usfca.edu/~galles/visualization/Algorithms.html 排序 前端在线编程 ----闯关式学习 https://www.freecodecamp.one/ 电信的网络加载慢&#xff0c;移动的快&#xff0c;至于联通不知道&#xff1b;至于为什么&#xff0c;我也不知道…

前端简单入门第二十五讲 使用BootStrap开发出一个网站的首页

我们之前写过一个商城的首页&#xff0c;并且又使用DIVCSS完成了网站首页的优化&#xff0c;现在我们使用BootStrap来再次优化这个商城首页。 仅适用于PC端的网站首页 我们一步一步来使用BootStrap来优化商城首页&#xff0c;先仅只考虑适用于PC端的商城首页&#xff0c;完整…

(SEO优化)现身说法教你如何优化百度的收录,权重,关键词排名 SEO优化(一)

俗话说&#xff0c;"不懂得实践的学生&#xff0c;就是纸上谈兵"。 前序 所以作为做Java Web开发的高手&#xff0c;我也不想做一个只会纸上谈兵的赵括。于是乎开始动手&#xff0c;使用比较开放的框架Spring MVC, Spring Shiro Maven Myibatis自己开发了一个网站&…

(SEO优化)现身说法告诉你百度关键词长尾词排名到底跟什么有关系 SEO优化(三)

不懂得实践的学生&#xff0c;就是纸上谈兵。 做网站已经有2个多月了&#xff0c;上次分享过SEO的初步优化方法后&#xff0c;也没有再给大家分享更多的实例&#xff0c;今天就跟大家分享一下&#xff0c;百度关键词长尾词排名到底跟什么有关系&#xff1f;其实跟网…

jsp html实现旅游网站,基于JSP实现的旅游网站

简介&#xff1a;项目简介塞北村镇旅游网站设计主要用于实现旅游景点信息管理&#xff0c;基本功能包括&#xff1a;主界面模块设计&#xff0c;用户注册模块&#xff0c;旅游景点模块&#xff0c;酒店预订模块&#xff0c;后台管理模块等。本系统结构如下&#xff1a;(1)主界模…

网页设计图片向上浮动_手机网站建设网页设计布局的几大准则

CSS对现代网页非常重要&#xff0c;它能取得更好的效果&#xff0c;所以今天的东浩联创将与你分享CSS 3的新知识1.样式的可重用性CSS布局网页的最大特点是样式的可重用性。使用class选择器在网页中重复使用某个样式属性&#xff0c;以减少连续定义样式属性的繁琐工作&#xff0…

2003服务器iis网站在哪,如何在Windows2003系统服务器上安装IIS以及配置Web站

如何在Windows2003系统服务器上安装IIS以及配置Web站(2009-10-09 20:14:19)标签&#xff1a;杂谈Windows Server 2003 中Internet 信息服务(IIS) 升级为IIS6.0&#xff0c;其安全性更高。默认情况下&#xff0c;Windows Server 2003没有安装IIS6.0&#xff0c;要通过控制面板来…