zoukankan      html  css  js  c++  java
  • 线上项目黑客入侵记录

    [2018-3更新]

    黑客攻击时间

    黑客最爱发起攻击时间是节假日和周末等开发人员放假休息的时候,这时候对黑客攻击的防范和处理都比较不及时。
    黑客最常见攻击入口是网站注入攻击,攻击目的是非法读取、篡改、添加、删除数据库中的数据;比如篡改金钱相关的各种数值、下载用户信息、销毁数据等!

    程序漏洞根源

    WEB注入攻击产生的原因是对用户输入没有做注入过滤处理、不合理的数据库操作处理如没有使用参数化命令而是直接拼凑SQL语句等

    应对攻击的解决方案

    服务器防护措施:Nginx, Apache, IIS和系统访问等日志一定要开启,并且分段保存,否则一个文件十几G,很费时间。
    数据备份防护措施:节假日增加数据库备份、源码备份的频率,以备随时从灾难中恢复生产。重要的数据表如用户表或资金表等可以额外增加备份频率。
    代码防护措施:字符串长度验证和单引号等SQL符号进行转义、对接收的数值参数进行类型格式化、使用参数化SQL命令或存储过程、对应用异常信息给出尽可能少的提示、服务端处理数据校验。
    数据内容防护措施:对机密信息不要明文存放
    第三方防护措施:使用SQL注入工具进行网站漏洞检测、使用360网站安全检测等第三方服务进行网站漏洞检测
    网站后台帐号登录安全措施:开启手机验证码功能、使用email或手机等作为用户名、禁止使用弱密码。(黑客经常尝试的后台用户名:admin, guanli, jiesuan, caiwu, adm, houtai, {域名}, {用户ID}, {APP名称})

    开发注意事项

    1. 与数据库交互的入口,要做好IP请求限制和数据缓存处理,比如黑客用for无限循环请求报表统计等数据库资源消耗很大的程序,一下子就把数据库拖垮了。
    2. 黑客发现漏洞后,可能删除数据或者篡改数据,因此,资金表务必定时备份,否则发现数据被破坏,却没有还原点,就很惨了。
    3. 日志文件可查阅,服务器日志文件一般存放在一个目录内,文件数量很容易膨胀到无法查询,因此,日志需按年/月/日/时+分类存放,SQL语句、资金相关接口、非法请求的日志要独立存放。
    4. 数据表定时任务备份(db_backup.php)任务。
    5. 汇总数据定时播报任务(notify.php),数据安全要做好重要数据信息的日志报告,比如用户资金增减排行榜报告、每个数据表增量统计报告,可以通过email、短信等发送给指定用户,也可以保存到服务器本地指定位置方便查阅。
    6. 用户资金变动,要做好资金字段上下文日志记录,比如变动前资金多少,变动后资金多少,方便查证数据篡改,可以从变更日志中批量推断出用户某个时间点的具体真实数值。
    7. 每个入口应该有个全局方法,可以单纯对用户输入的数据做一次注入检测,当检测到有注入攻击时,记录到日志中。
    8. 对用户输入来源做好数据验证,比如表单提交、ip地址等,防止通过url注入或构造虚假IP注入攻击。

    注入攻击检测代码

    function sql_injection($str){
        // from和where前面要有空格,否则可能会误报
        $pattern = "/(select[s])|(insert[s])|(update[s])|(delete[s])|([s]from[s])|([s]where[s])/i";
            if (preg_match($pattern, $str, $match)) {
                // 记录到日志文件
                // log($str);
                die("SQL Injection denied!");
            }
    }

    参考文章

    SQL注入(SQL Injection)案例和防御方案
    http://www.cnblogs.com/sochishun/p/6994918.html
    PHP用户输入安全过滤
    http://www.cnblogs.com/sochishun/p/8459562.html
    XSS/CSRF跨站攻击和防护方案
    http://www.cnblogs.com/sochishun/p/6993997.html
    DDoS攻击、CC攻击的攻击方式和防御方法
    http://www.cnblogs.com/sochishun/p/7081739.html
    网站常见的入侵手段和防御方法
    http://www.cnblogs.com/sochishun/p/7007959.html

    版权声明:本文采用署名-非商业性使用-相同方式共享(CC BY-NC-SA 3.0 CN)国际许可协议进行许可,转载请注明作者及出处。
    本文标题:线上项目黑客入侵记录
    本文链接:http://www.cnblogs.com/sochishun/p/8639742.html
    本文作者:SoChishun (邮箱:14507247#qq.com | 博客:http://www.cnblogs.com/sochishun/)
    发表日期:2018年3月24日

  • 相关阅读:
    Redis源代码分析(十三)--- redis-benchmark性能測试
    kvm中运行kvm
    umount.nfs device busy day virsh extend diskSpace, attachDisk
    ultravnc
    openNebula dubug
    maintenance ShellScripts
    virsh VMI deploy data serial xml
    cloud computing platform,virtual authentication encryption
    基于C 的libvirt 接口调用
    storage theory
  • 原文地址:https://www.cnblogs.com/sochishun/p/8639742.html
Copyright © 2011-2022 走看看