5种常见网站安全攻击手段及防御方法

网站攻击方法多种多样,防御手段也各有侧重,但只要在创建或运营网站时不跳过安全设置,至少能缓解遭攻击的可能性和攻击後果的严重性。

在某种程度上,互联网上的每个网站都容易遭受安全攻击。从人为失误到网络罪犯团伙发起的复杂攻击均在威胁范围之内。

网络攻击者最主要的动机是求财。无论你运营的是电子商务项目还是简单的小型商业网站,潜在攻击的风险就在那里。

知己知彼百战不殆,当今网络时代,了解自己面对着何种威胁比以往任何时候都来得更为重要。每种恶意攻击都有自己的特性,不同类型的攻击那麽多,似乎不太可能全方位无死角抵御全部攻击。但我们仍然可以做许多工作来保护网站,缓解恶意黑客对网站造成的风险。

不妨先从仔细审视互联网上最常见的10种网络攻击开始,看看能够采取哪些办法来保护你的网站。

▶ 5种常见网站安全攻击

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

DDoS攻击本身不能使恶意黑客突破安全措施,但会令网站暂时或永久掉线。卡巴斯基实验室《2017年IT安全风险调查》指出,单次DDoS攻击可令小企业平均损失12.3万美元,大型企业的损失水平在230万美元左右。

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

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

  1. 中间人攻击

中间人攻击常见於用户与服务器间传输数据不加密的网站。作为用户,只要看看网站的URL是不是以HTTPS开头就能发现这一潜在风险了,因为HTTPS中的“S”指的就是数据是加密的,缺了“S”就是未加密。

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

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

  1. 暴力破解攻击

暴力破解攻击是获取Web应用登录信息相当直接的一种方式。但同时也是非常容易缓解的攻击方式之一,尤其是从用户侧加以缓解最为方便。

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

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

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

尽管不是对网站的直接攻击,使用由第三方创建的未经验证代码,也可能导致严重的安全漏洞。

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

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

  1. 网络钓鱼

网络钓鱼是另一种没有直接针对网站的攻击方法,但我们不能将它排除在名单之外,因为网络钓鱼也会破坏你系统的完整性。根据FBI《互联网犯罪报告》的说法,其原因在於网络钓鱼是最常见的社会工程网络犯罪。

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

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


<<:  {CMoney战斗营} 的第五周 # 游戏发想

>>:  [Java]手把手带你实作PTT爬虫(2)-文章内容及储存

30天学会C语言: Day 17-math.h

math.h 包含许多数学函数和常数的函式库 常数 M_E 数学中的自然常数 e #include&...

[Day12]Die Game

上一篇介绍了Bangla Numbers,由於数字太大,所以选择使用了BigInteger,但各位也...

Day 24 - Tailwind Plugin 使用 (三) => Forms

最後一个 Plugin 就是我们经常会使用到的表单,因为样式都被清除了,必须全部重写,如果我们使用...

DAY30 - [React] useMemo 与 後续

今日文章目录 前言 useMemo() 实作纪录 参考资料 後续 今天要练习 useMemo(),...

Day 22 Azure machine learning: set environment- 准备一个大家都能用的环境

Azure machine learning: set environment- 准备一个大家都能用...