君は春の中にいる、かけがえのない春の中にいる.

你驻足于春色中,于那独一无二的春色之中.

闲谈-极客互联网企业安全建设方案

极客互联网企业可以参考的安全建设解决方案

0x00 前言

有时候会接触一些做那种小而美的产品的互联网公司,可能整个公司两个leader,三个程序员,一间写字楼办公间,一两个在某些方面有一定用户量的产品,也因此会被黑客觊觎。

这样的公司要么就是公司里有几台服务器,要么干脆只有几台云服务,使用大规模的商业解决方案显然不符合这些公司的ROI期望,即便是开源的安全测试工具也有一定的学习代价,对于这些小企业来说,只要能够第一时间发现有攻击,那么他们就可以及时修改业务代码、修正业务口令或者联系乙方公司来做相应的安全服务,因此,这些公司的关注点,或者说从成本考虑一般更加侧重于监控防御体系的建设。

那么,这一类小公司的安全防护需求就集中在业务区实时监控和业务区数据防泄漏。

0x01 小型的实时监控方案

个人觉得,实时监控主要集中在两个层面,一个是真正的安全攻击监控(包括扫描攻击、持久性攻击等),另一个是业务风险监控(包括批量用户注册、薅羊毛等)。

从安全攻击监控出发,需要能够满足远程攻击实时报警、大批量远程攻击实时阻断、本地业务服务器文件监控、访问操作行为日志记录(防删除)这几个需求。

选型思路:基于以上的需求,从互联网上提供的解决方案中进行选择,主要考虑经济成本(单纯从物理上需要付出的金钱)、技术成本(人员有限,基本不会开发专门的安全产品,部署需要简单),另外考虑到乙方安全公司的服务需求,还应该尽可能的保存访问日志。

特别要说的是,平时大家都会吐槽基于规则如何如何过时,锁,盾,狗如何如何可以被bypass,但是真正落到实处来,对于小企业来说,这些东西还真的可以帮他们抵抗住很多低付出成本的网络攻击。

1.1 本地级防护方案

  • LINUX(不限平台的也都放到这里)

    Clamav,Linux的主机病毒防护软件,http://www.clamav.net/
    RKhunter,rootkit检测,http://rkhunter.sourceforge.net/
    Snort/Suricata,网络流量分析,https://www.snort.org/
    Kong,开源Web网关,支持包括认证、日志记录、限速等功能,https://github.com/Kong/kong
    Nebular,开源风控,https://github.com/threathunterX/nebula
    Bro,开源流量分析,https://www.bro.org/
    OSSEC,多平台入侵检测,http://www.ossec.net/
    云锁,云WAF,http://www.yunsuo.com.cn/index.html
    auditd,内核审计组件
    iptables,基本的路由控制
    inotify,文件操作监控
    nginx+lua,防火墙
    
  • WIN

    Windows相应的杀毒软件较多,这里就不列举了
    D盾防火墙,iis防火墙,http://www.d99net.net/
    Xingtu,日志分析,http://wangzhan.360.com/activity/xingtu
    
  • 规则及管理

    小型企业的安全防护基本应该以专家规则为主,因此防护方案的构建离不开规则库。

    Snort规则库
    Yara规则库
    扫描器Payload规则
    

    定时任务与集中管理

    Supervisor,进程管理
    Crontab,定时任务
    Sytemctl,进程管理
    ELK,日志收集、存储、可视化
    syslog,日志收集
    flume,日志收集
    Kafka,数据传输
    Storm,数据传输
    

1.2 云上防护

这里主要以付费云服务商的安全防护产品或者专业的网站服务支持商为主,统计了Cloudfare和阿里云的相关产品。

Cloudfare

CND,可以隐藏真实IP
防火墙,解决部分远程威胁
用户访问控制

阿里云

云防火墙,流量层面的防护
WAF,网站业务流量防护
网站威胁检测,网站黑盒测试层面
智能风控,账户、交易层面的业务防护
安骑士,主机安全防护
数据库审计
堡垒机,登录点限制

0x02 小型的数据防泄漏方案

小型的数据防泄漏主要从数据库操作的审计出发

mysql-audit,mysql数据库操作审计软件,https://github.com/mcafee/mysql-audit
Mysql Sniffer,数据库流量审计,https://github.com/Qihoo360/mysql-sniffer
DBProxy,数据库代理,https://github.com/Meituan-Dianping/DBProxy

0x03 加固方案

3.1 主机加固

Linux不同服务具有单独的账户,且权限有限,禁止root登录,Web服务只有非解析目录的读写权限,严格控制Web服务响应数据库账户的权限。

Linux远程登录使用证书登录

数据库禁止远程访问或者限制远程访问IP

Windows系统开启防火墙,关闭139,135,445端口,及时打补丁

Web目录下写权限限制,限制访问后缀

3.2 业务加固

验证码机制

后端语言禁止敏感函数执行

业务程序代码加固

0x04 总结及参考

从小型企业的需求出发,可以看到有以下几个层面来构建低成本的安全防护解决方案:

系统自带命令的合理使用+相关日志收集
本地机器可以使用已有的开源综合安全防护软件
云服务器可以依托相关的服务商

《企业安全建设入门》 - 刘焱

《互联网企业安全高级指南》 - 赵彦

各大企业安全实践博客