企业在建设网站的时候需要注意哪些事项呢?

231 阅读19分钟

  随着互联网的飞速发展,各行各业对于网络安全和数据安全的要求越来越高,安全已经成为企业网站建设过程中的一项重要工作。现在很多网站因为没有足够重视网站安全问题而存在的很多安全漏洞,网站安全主要指的是防止企业网站在互联网运营中受到有用心的人挂黑链、挂木马和留后门的情况,这样对于企业网站的数据安全是非常不利的。下面具体介绍一下网站建设中的安全问题应该如何防范?

第一、网站建期间需要注意的问题

  网站在制作完成后总会产生许许多多或大或小的问题,不可能一劳永逸,完全放置不管。这其中,尤其需要注意可能产生的安全问题。我们经常会看到国内外某某某大小网站被入侵、首页被篡改或者网站被攻击导致好几个小时不能正常访问。

  因此,对于广大站长来说,安全是不容忽视的一个大问题,掌握必要的建站和网站维护安全知识,虽然不能完全避免安全事故的发生,但至少能将网站安全风险降至最低。

f941f29790536132440c956a5f2f3b4b_adad10c8858a4b5599d88939b7dd785f.jpeg

1、开源建站系统存隐患,需谨慎选择

  现在市场上有许许多多的开源建站系统,包括SNS(社交网络系统)、网店系统、企业建站系统等,这些开源的项目虽然都是免费地提供给广大用户使用,但是开源系统并不是绝对安全,特别是有不少被爆出漏洞,菜鸟黑客利用很简单的方法即可完成入侵。

2、网站相关账号信息要严密

  另外,在网站维护过程中,网站的账号信息一定不能掉以轻心。 现在很多网站,不管是会员中心的用户登录还是管理员的账号登录,往往都没有做好账号的安全。比如,很多网站的会员注册,连账号和密码的位数都没有进行校验,验证码这种基本的防重复注册的措施都没有做,这种账号很容易就可以被破解出来,而且随便写个注册程序就可以大批量注册用户,网站没有任何的安全性可言。

  还有,比较重要的网站后台登录入口,建议不能把链接暴露在互联网当中,不要在网站的相关页面上放置管理后台的链接,同时要放置搜索引擎的爬虫抓取到后台管理的登录链接(可采用robots文件进行设置)。 还有个比较重要的事项,也是很多网站现在都没有做到的地方,就是在网站的登录入口,用户名和密码都是用明文传输,这种简单的http传输很容易被截取,所以有条件的网站可以在账号的登录入口使用https进行加密。

image.png

3、网站文件上传要谨慎

 在网站建成后的维护过程中,有的站长朋友会通过ftp或ssh等工具连接到网站服务器的文件目录,把修改后的源码文件进行上传。** 这里,网站的相关文件上传也是很容易出现问题的地方,有一些程序员在修改代码的时候,往往会新增一些新的文件,最容易出现问题的就是js文件。因为js文件一旦嵌入到网页中就会直接允许,如果这些js没有经过认真检查,可能当中会包含一些危险的代码,比如在网页允许js的时候,把服务器上的信息删除或者数据传输到远程主机,这就会给网站带来巨大的损失。所以,在进行网站相关文件的上传时,一定要事项检查文件的安全性,对类似js、可执行文件exe、可执行脚本.sh等必须加以检查,防止恶意文件上传到网站的服务器目录。

4、注意网站服务器安全

 网站的服务器安全可以说是网站运维人员的职责,但是很多网站都没有人来做服务器的安全维护,但是有些相关的服务器安全设置是必须要做好的。包括服务器的防火墙需要正常开启、服务器的登录账号和密码的强度必须做好、服务器的故障告警提醒等,其中服务器的故障告警指的是当服务器出现故障的时候,站长需要能够短时间内收到告警提醒,以便于在网站出现故障的时候可以短时间内尽快恢复。

5、设置相关的访问记录功能

 网站的访问日志,可以在服务器和网站的后台查看,其中服务器的日志可以在WEB服务器相关日志文件中查看,如apache、tomcat等; 建议在网站的后台设置相关的访问记录功能,以便于在网站出现安全问题的时候可以更近快速排查到原因,例如,可以在网站的后台记录用户访问的IP来源、访问次数、停留时间、访问的页面等。

  使用开源建站系统需谨慎,网站建成之后还需要加强安全防范,在日常工作中做好网站的安全维护预防,对于每个用户来说,这是需要时刻谨记的。

image.png

第二、常见的网站漏洞威胁与攻击

1.越权

问题描述:不同权限账户之间存在越权访问。

修改建议:加强用户权限的验证。
注意:
往往通过不同权限用户之间链接访问、cookie、修改id等

2.明文传输

问题描述:对系统用户口令保护不足,攻击者可以利用攻击工具,从网络上窃取合法的用户口令数据。

修改建议:传输的密码必须加密。
注意:所有密码要加密。要复杂加密。不要用base64或md5。

3.sql注入

问题描述:攻击者利用sql注入漏洞,可以获取数据库中的多种信息,如:管理后台的密码,从而脱取数据库中的内容(脱库)。

修改建议:对输入参数进行过滤、校验。采用黑白名单方式。
注意:过滤、校验要覆盖系统内所有的参数。

4.跨站脚本攻击

问题描述:对输入信息没有进行校验,攻击者可以通过巧妙的方法注入恶意指令代码到网页。这种代码通常是JavaScript,但实际上,也可以包括Java、VBScript、ActiveX、Flash 或者普通的HTML。攻击成功之后,攻击者可以拿到更高的权限。

修改建议:对用户输入进行过滤、校验。输出进行HTML实体编码。
注意:过滤、校验、HTML实体编码。要覆盖所有参数。

5.文件上传漏洞

问题描述:没有对文件上传限制, 可能会被上传可执行文件,或脚本文件。进一步导致服务器沦陷。

修改建议:严格验证上传文件,防止上传asp、aspx、asa、php、jsp等危险脚本。同事最好加入文件头验证,防止用户上传非法文件。

6.后台地址泄露

问题描述:后台地址过于简单,为攻击者攻击后台提供了便利。

修改建议:修改后台地址链接,复杂点。

7.敏感信息泄露

问题描述:系统暴露内部信息,如:网站的绝对路径、网页源代码、SQL语句、中间件版本、程序异常等信息。

修改建议:对用户输入的异常字符过滤。屏蔽一些错误回显,如自定义404、403、500等。

8.命令执行漏洞

问题描述:脚本程序调用如php 的 system、exec、shell_exec等。

修改建议:打补丁,对系统内需要执行的命令要严格限制。

9.目录遍历漏洞

问题描述:暴露目录信息,如开发语言、站点结构

修改建议:修改相关配置。

10.会话重放攻击

问题描述:重复提交数据包。

修改建议:添加token验证。时间戳或这图片验证码。

11.CSRF(跨站请求伪造)

问题描述:使用已经登陆用户,在不知情的情况下执行某种动作的攻击。

修改建议:添加token验证。时间戳或这图片验证码。

12.任意文件包含、任意文件下载

问题描述:任意文件包含,系统对传入的文件名没有合理的校验,从而操作了预想之外的文件。任意文件下载,系统提供了下载功能,却未对下载文件名进行限制。

修改建议:对用户提交的文件名限制。防止恶意的文件读取、下载。

13.设计缺陷/逻辑错误

问题描述:程序通过逻辑实现丰富的功能。很多情况,逻辑功能存在缺陷。比如,程序员的安全意识、考虑的不周全等。

修改建议:加强程序的设计和逻辑判断。

14.XML实体注入

问题描述:当允许引用外部实体是,通过构造恶意内容,可导致读取任意文件、执行系统命令、探测内网端口等等。

修改建议:使用开发语言提供的禁用外部实体方法,过滤用户提交的XML数据。

15.检测存在风险的无关服务和端口

问题描述:检测存在风险的无关服务和端口,为攻击者提供便利。

修改建议:关闭无用的服务和端口,前期只开80和数据库端口,使用的时候开放20或者21端口。

16.登陆功能验证码漏洞

问题描述:不断恶意重复一个有效的数据包,重复发给服务端。服务端未对用户提交的数据包进行有效的限制。

修改建议:验证码在服务器后端刷新,数据包提交一次数据数刷新一次。

17.不安全的cookies

问题描述:cookies中包含用户名或密码等敏感信息。

修改建议:去掉cookies中的用户名,密码。

18.SSL3.0

问题描述:SSL是为网络通信提供安全及数据完整性的一种安全协议。SSl会爆一些漏洞。如:心脏滴血漏洞等。

修改建议:升级OpenSSL版本

19.SSRF漏洞

问题描述:服务端请求伪造。

修改建议:打补丁,或者卸载无用的包

20.默认口令、弱口令

问题描述:因为默认口令、弱口令很容易让人猜到。

修改建议:加强口令强度不适用弱口令
注意:口令不要出现常见的单词。如:root123456、admin1234、qwer1234、p@ssw0rd 等。

9616ca9db3902ab37ab76ad87f2d4b90_righttu.jpg

以上是一些常见的漏洞安全问题,都可自行排查解决处理。接下来给大家讲解下较为严重的攻击威胁

1. 跨站脚本(XSS)

  • 跨站脚本针对的是网站的用户,而不是Web应用本身。恶意黑客在有漏洞的网站里注入一段代码,然后网站访客执行这段代码。此类代码可以入侵用户账户,激活木马程序,或者修改网站内容,诱骗用户给出私人信息。

  • 解决方法:设置Web应用防火墙(WAF,可选择德迅云安全)可以保护网站不受跨站脚本攻击危害。WAF就像个过滤器,能够识别并阻止对网站的恶意请求。购买网站托管服务的时候,Web托管公司通常已经为你的网站部署了WAF,但你自己仍然可以再设一个。

2. 注入攻击

  • 注入攻击方法直接针对网站和服务器的数据库。执行时,攻击者注入一段能够揭示隐藏数据和用户输入的代码,获得数据修改权限,全面俘获应用。

  • 解决方法:保护网站不受注入攻击危害,主要落实到代码库构建上。比如说,缓解SQL注入风险的首选方法就是始终尽量采用参数化语句。更进一步,可以考虑使用第三方身份验证工作流来外包你的数据库防护。

3. 模糊测试

  • 采用模糊测试方法,攻击者首先向应用输入大量随机数据(模糊)让应用崩溃。下一步就是用模糊测试工具发现应用的弱点。如果目标应用中存在漏洞,攻击者即可展开进一步漏洞利用。

  • 解决方法:对抗模糊攻击的最佳方法就是保持更新安全设置和其他应用,尤其是在安全补丁发布后不更新就会遭遇恶意黑客利用漏洞的情况下。

4. 零日攻击

  • 在两种情况下,恶意黑客能够从零日攻击中获利。第一种情况是,如果能够获得关于即将到来的安全更新的信息,攻击者就可以在更新上线前分析出漏洞的位置。第二种情况是,网络罪犯获取补丁信息,然后攻击尚未更新系统的用户。这两种情况下,系统安全都会遭到破坏,至于后续影响程度,就取决于黑客的技术了。

  • 解决方法:保护自己和自身网站不受零日攻击影响最简便的方法,就是在新版本发布后及时更新你的软件。

5. 路径(目录)遍历

  • 路径遍历攻击针对Web root文件夹,访问目标文件夹外部的未授权文件或目录。攻击者试图将移动模式注入服务器目录,以便向上爬升。成功的路径遍历攻击能够获得网站访问权,染指配置文件、数据库和同一实体服务器上的其他网站和文件。

  • 解决方法:网站能否抵御路径遍历攻击取决于你的输入净化程度。这意味着保证用户输入安全,并且不能从你的服务器恢复出用户输入内容。最直观的建议就是打造你的代码库,这样用户的任何信息都不会传输到文件系统API。即使这条路走不通,也有其他技术解决方案可用。

6. 分布式拒绝服务(DDoS)

  • DDoS旨在用请求洪水压垮目标Web服务器,让其他访客无法访问网站。僵尸网络通常能够利用之前感染的计算机从全球各地协同发送大量请求。而且,DDoS攻击常与其他攻击方法搭配使用;攻击者利用DDoS攻击吸引安全系统火力,从而暗中利用漏洞入侵系统。

  • 解决方法:保护网站免遭DDoS攻击侵害一般要从几个方面着手。首先,需通过内容分发网络(CDN)、负载均衡器和可扩展资源缓解高峰流量。其次,需部署Web应用防火墙(WAF),防止DDoS攻击隐蔽注入攻击或跨站脚本等其他网络攻击方法。

7. 中间人攻击

  • 攻击者利用中间人类型的攻击收集信息,通常是敏感信息。数据在双方之间传输时可能遭到恶意黑客拦截,如果数据未加密,攻击者就能轻易读取个人信息、登录信息或其他敏感信息。

  • 解决方法:在网站上安装安全套接字层(SSL)就能缓解中间人攻击风险。SSL证书加密各方间传输的信息,攻击者即使拦截到了也无法轻易破解。现代托管提供商通常已经在托管服务包中配置了SSL证书。

8. 暴力破解攻击

  • 暴力破解攻击中,攻击者试图猜解用户名和密码对,以便登录用户账户。当然,即使采用多台计算机,除非密码相当简单且明显,否则破解过程可能需耗费几年时间。

  • 解决方法:保护登录信息的最佳办法,是创建强密码,或者使用双因子身份验证(2FA)。作为网站拥有者,你可以要求用户同时设置强密码和2FA,以便缓解网络罪犯猜出密码的风险。

9. 使用未知代码或第三方代码

  • 代码或应用的原始创建者可能会在代码中隐藏恶意字符串,或者无意中留下后门。一旦将“受感染”的代码引入网站,那你就会面临恶意字符串执行或后门遭利用的风险。其后果可以从单纯的数据传输直到网站管理权限陷落。

  • 解决方法:想要避免围绕潜在数据泄露的风险,请让你的开发人员分析并审计代码的有效性。此外,确保所用插件(尤其是WordPress插件)及时更新,并定期接收安全补丁:研究显示,超过1.7万个WordPress插件(约占研究当时采样数量的47%)两年内没有更新。

10. 网络钓鱼

  • 网络钓鱼攻击用到的标准工具就是电子邮件。攻击者通常会伪装成其他人,诱骗受害者给出敏感信息或执行银行转账。此类攻击可以是古怪的419骗局(属于预付费欺诈类骗局),或者涉及假冒电子邮件地址、貌似真实的网站和极具说服力用语的高端攻击。后者以鱼叉式网络钓鱼之名广为人知。

  • 解决方法:缓解网络钓鱼骗局风险最有效的办法,是培训员工和自身,增强对此类欺诈的辨识能力。保持警惕,总是检查发送者电子邮件地址是否合法,邮件内容是否古怪,请求是否不合常理。另外,谨记:天上不会掉馅饼,事出反常必有妖。

a41dc78c997a42cd2699da44a46482f3_LOCAL201411281137000575674887114,w_480.jpg

第三、如何安全防护网站攻击问题

  针对以上的解答,相信大家也已经了解到了常见的漏洞和比较难解决的攻击问题,接下来降给大家推荐几款一键式解决的安全防护产品

第一款:德迅云安全高防服务器

德迅云安全在浙江部署的T3级别数据中心,具备完善的机房设施,自建光纤网络,核心骨干网络有效保证高品质的网络环境和丰富的带宽资源,同时接入统一的系统管理平台,资源调配更轻松,使系统安全、可靠、稳定、高效运行。

  • 海量DDoS清洗:大防护带宽,平均延迟小于50ms,从容应对大流量攻击。

  • 全方位防护:全面支持SYN Flood、ACK Flood、ICMP Flood、UDP Flood、NTP Flood、DNS Flood、HTTP Flood、CC攻击等常见攻击类型的防护。

  • 全业务支持:支持TCP、UDP、HTTP/HTTPS等协议,满足游戏、APP、网站、金融等各种类型的业务需求。

  • 指纹式防御算法:防御游戏空连接、慢连接、恶意踢人攻击,采用IP信誉库、IP+Co-okie、IP+Key防御CC攻击,全球僵尸网络库攻击溯源

c2ddf3c050ecc85bd5c918ffcf377274_u=3433694560,2298421897&fm=202&src=787&fc_m=cvican.jpg

第二款:安全加速SCDN

安全加速(Secure Content Delivery Network,SCDN)是德迅云安全推出的集分布式DDoS防护、CC防护、WAF防护、BOT行为分析为一体的安全加速解决方案。已使用内容分发网络(CDN)或全站加速网络(ECDN)的用户,可为加速域名一键开启安全防护相关配置,全方位保障业务内容分发。

  • OWASP TOP 10威胁防护:有效防御 SQL注入、XSS攻击、命令/代码执行、文件包含、木马上传、路径穿越、恶意扫描等OWASP TOP 10攻击。专业的攻防团队7*24小时跟进0day漏洞,分析漏洞原理,并制定安全防护策略,及时进行防护。

  • AI检测和行为分析:通过对德迅云积累海量日志进行学习和训练输出多种Web安全防护模型,对用户多请求的多元因子进行智能分析,有效提高检出率,降低误报率;通过信息孤岛、行为检测分析,识别恶意攻击源,保护网站安全。

  • 智能语义解析引擎:提供智能语义解析功能,在漏洞防御的基础上,增强SQL注入和XXS攻击检测能力。

  • 应用层DDoS防护:CC、HTTP Flood攻击防御

  • 人机校验:当请求与网站正常访问基线不一致时,启动人机校验(如JS验证、META验证等)方式进行验证,拦截攻击。

  • 慢连接攻击防御:对Slow Headers攻击,通过检测请求头超时时间、最大包数量阈值进行防护。 对Slow Post攻击,通过检测请求小包数量阈值进行防护。

  • 网页防篡改:采用强制静态缓存锁定和更新机制,对网站特定页面进行保护,即使源站相关网页被篡改,依然能够返回给用户缓存页面。

  • 数据防泄漏:对response报文进行处理,对响应内容和响应进行识别和过滤,根据需要设置数据防泄漏规则,保护网站数据安全。

image.png

结语

针对网站的攻击有多种形式,攻击者既可以是业余黑客,也会是协同作战的职业黑客团伙。

最关键的一条建议,就是在创建或运营网站时不要跳过安全功能,因为跳过安全设置可能会造成严重后果。

虽然不可能完全消除网站攻击风险,但你至少可以缓解遭攻击的可能性和攻击后果的严重性。