前言:
一个系统的安全是重中之重,尤其是现在是网络信息时代,公司对信息安全都是非常重视的。
介绍几种常见的黑客攻击方式即防范办法:
第一:DDOS 攻击
简述现象:一个 IP 正经历着1G及其远超1G以上的的流量访问
预防方法:
- 第一种方案:
隐藏服务器外网地址,服务器前端加 CDN 中转,免费的有百度云加速、360网站卫士、加速乐、安全宝等,如果资金充裕的话,可以购买高防的盾机,用于隐藏服务器真实 IP,域名解析使用 CDN 的 IP,所有解析的子域名都使用 CDN 的 IP 地址。此外,服务器上部署的其他域名也不能使用真实 IP 解析,全部都使用 CDN 来解析。
- 第二种方案:
买一些安全产品来进行流量清洗,主要是阿里云、腾讯云这种大厂商提供的一种服务。
- 第三种方案:
有很多的防火墙产品声称可以防止 DDOS 攻击,但是我个人使用感觉效果非常有限。
第二:SQL注入
如果官网使用的是 PHP 开发,由于框架比较老旧,存在着一些 SQL 注入的点,被一些黑客找到了突破点,
为什么 PHP 一般比 Java 更容易暴露出 SQL 漏洞的情况?可能有两方面的原因:
-
PHP 前端使用较多,受攻击的机会更多一些,Java 一般做为后端服务攻击的可能性会比较少;
-
PHP 框架较多而且很杂,很多早期的框架并没有特别考虑 SQL 注入的情况,Java 大量普及了 mybaits\hibernate 这种 orm 框架,框架本身对常见的 SQL 注入有防范的功能,但不是说mybaits/hibernate 框架就没有被 SQL 注入的可能,大部分场景下可以。另外参数化查询可以有效的避免 SQL 注入。
第三:短信攻击
现在的网站几乎都有发送短信或者短信验证码的功能,如果前端不做校验,黑客会写一个 for 循环来发短信,一般系统的短信会进行全方位的防控,比如:
-
前端加验证(字符验证码,有的是拖拽的动画);
-
后端根据用户或者 IP 加限制,比如用户一分钟只可以发送一条短信,忘记密码的短信一天只能发送10条、一个 IP 地址限制每天只能发送100条短信等。
第四:主要防范办法
黑客攻击未必完全是坏事,一方面说明公司已经吸引了很多人的关注,另一方对技术团队也是一次检验,黑客有时候会带给你完全不同的思路想法。但是被黑客攻击而影响了业务,对内对外造成大的影响,那就很严重了。安全防范是一个全面且持久的工程,在硬件和软件上都要投入。
硬件方面
需要做好网络安全规划,机房常用的安全设备有:VPN 服务器、防火墙、WAF 防火墙。
-
VPN 服务器:主要用于运维人员通过口令可以登录到机房内网中进行日常运维工作,也可以用做不同机房网络互通,保证在特定的网络下信息传输安全。
-
防火墙 :外网访问进入机房的第一道大门,负责三层网络的安全检测,隔离内网和外网环境,外网为非信任区,内网为信任区。
-
WAF 防火墙:最重要的安全设备之一,WAF 防火墙主要是对 Web 特有入侵方式的加强防护,如 DDOS 防护、SQL 注入、XML 注入、XSS 等。属于应用层的安全防护,我们经常遇到的黑客攻击行为,主要就靠它的防护能力。
软件方面
软件方面的防护主要有两方面,一方面使用证书保证传输层的数据安全,另一方面所有对外的接口都需要做好安全规划。
-
HTTPS 证书:在 web 服务器部署 HTTPS 证书,保证用户在交互的过程中数据没有被篡改。
-
网络规划:所有非必须的服务都不要开放外网访问,需要开放外网访问的服务器仅开放需要的端口,比如常用的 80。和合作公司有数据交互或者接口调用的需求,需要绑定固定的外网访问地址。
-
技术选择:选择成熟的框架可以避免很多安全问题,早期的很多 PHP 框架根本就没有考虑SQL 注入的相关问题,当初 strust2 的安全漏洞多少企业被坑。选择成熟稳定的技术体系可以避免很多低级的问题。