网站开发 - 安全
-
简述
保护您的网页与开发它一样重要,因为任何可能危及安全的威胁都可能损害您的商业声誉、在财务上损害您(通过窃取您的在线存款)、损害访问您网站的客户等。根据安全专家的说法,他们会建议根据OWASP TOP 10进行网站安全检查,这是一个强大的 Web 应用程序安全意识文档。OWASP Top 10 代表了关于最关键的 Web 应用程序安全漏洞是什么的广泛共识。 -
SQL 注入
当不受信任的数据作为命令或查询的一部分发送到解释器时,就会出现注入缺陷,例如 SQL、OS 和 LDAP 注入。攻击者的恶意数据可以欺骗解释器执行意外命令或在未经适当授权的情况下访问数据。解决方案- 要从 iSQL 保护您的网页,您必须验证输入和过滤符号。 -
损坏的身份验证和会话管理
与身份验证和会话管理相关的应用程序功能通常无法正确实现,这使攻击者可以破坏密码、密钥、会话令牌,甚至利用其他实现缺陷来冒充其他用户的身份。解决方案- 为了保护您的网站免受此缺陷的影响,您必须制作带有过期时间的 cookie 和会话。 -
跨站脚本 (XSS)
每当应用程序获取不受信任的数据并将其发送到 Web 浏览器而没有经过适当的验证或转义时,就会出现 XSS 缺陷。XSS 允许攻击者在受害者的浏览器中执行脚本,然后可以劫持用户会话、破坏网站或将用户重定向到恶意网站。解决方案- 对此的保护与 iSQL 相同。 -
不安全的直接对象引用
当开发人员公开对内部实现对象(例如文件、目录或数据库键)的引用时,就会发生直接对象引用。如果没有访问控制检查或其他保护,攻击者可以操纵这些引用来访问未经授权的数据。解决方案- 您应该实施特定的保护机制,例如密码来保护此类文件。 -
安全配置错误
良好的安全性需要为应用程序、框架、应用程序服务器、Web 服务器、数据库服务器和平台定义和部署安全配置。应该定义、实施和维护安全设置,因为默认设置通常是不安全的。解决方案- 软件应保持最新。 -
敏感数据暴露
许多 Web 应用程序无法正确保护敏感数据,例如信用卡、税号和身份验证凭证。攻击者可能会窃取或修改此类受保护较弱的数据,以进行信用卡欺诈、身份盗窃或其他犯罪活动。解决方案- 敏感数据需要额外的保护,例如静态或传输中的加密,以及与浏览器交换时的特殊预防措施。 -
缺少功能级别访问控制
大多数 Web 应用程序在使该功能在 UI 中可见之前验证功能级别的访问权限。但是,当访问每个功能时,应用程序需要在服务器上执行相同的访问控制检查。如果请求未得到验证,攻击者将能够在没有适当授权的情况下伪造访问功能的请求。解决方案- 您应该检查身份验证级别。 -
跨站请求伪造 (CSRF)
CSRF 攻击迫使登录的受害者的浏览器向易受攻击的 Web 应用程序发送伪造的 HTTP 请求,包括受害者的会话 cookie 和任何其他自动包含的身份验证信息。这允许攻击者强制受害者的浏览器生成易受攻击的应用程序认为是来自受害者的合法请求的请求。解决方案- 最常用的预防措施是将一些不可预测的基于挑战的令牌附加到来自网站的每个请求,并将它们与用户的会话相关联。 -
使用存在已知漏洞的组件
诸如库、框架和其他软件模块之类的组件几乎总是以完全权限运行。如果利用易受攻击的组件,这种攻击可能会导致严重的数据丢失或服务器接管。使用具有已知漏洞的组件的应用程序可能会破坏应用程序防御,并导致一系列可能的攻击和影响。解决方案- 检查该组件版本是否存在漏洞,并尝试避免或更改为另一个版本。 -
无效的重定向和转发
Web 应用程序经常将用户重定向和转发到其他页面和网站。这些应用程序使用不受信任的数据来确定目标页面。如果没有适当的验证,攻击者可以将受害者重定向到网络钓鱼或恶意软件站点,或者使用转发来访问未经授权的页面。解决方案- 始终验证 URL。 -
安全使用的协议
在这种情况下,您有一个 VPS 计划并且您自己管理一切。安装服务时,它们使用默认端口。这使得黑客的工作更容易,因为他知道在哪里看。下面给出了一些用于托管网站的主要服务端口 -- SSH – 端口 22
- FTP – 端口 21
- MySQL – 端口 3306
- DNS – 端口 53
- SMTP – 端口 25
这些服务的端口更改因操作系统及其不同版本而异。除此之外,您还必须安装防火墙。如果是 Linux 操作系统,我们会推荐IPtables并阻止所有其他不需要的端口。如果您的操作系统是 Windows,您可以使用其内置的防火墙。要在您的服务中阻止暴力登录,您可以使用基于 Linux 的软件Fail2ban并阻止所有导致多次失败登录尝试的 IP 地址。