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