开源DLP

对DLP(Data Loss Prevention)感兴趣的客户越来越多。商业DLP产品,国内做得最专业的,王婆卖瓜一下,自然是大成天下( http://www.unnoo.com)。但还是有不少用户暂时没有DLP方面的预算,想找免费或开源的替代品——所以我们就对开源DLP产品做些整理,希望能为有DLP需求的企业提供有价值的信息。

一、OpenDLP简介

OpenDLP项目创建于2010年4月,托管于Google( http://code.google.com/p/opendlp/),GPL V3发布,项目比较活跃。但目前产品还比较简陋,支持的文档格式也很有限。

二、OpenDLP详述

OpenDLP的功能包括:

1、Web控制端(管理Windows终端,并发起对Windows、Unix、数据库的敏感数据扫描),后端是MySQL,前端开发语言是Perl,功能如下:

    通过Netbios/SMB分发部署终端程序;
    通过Netbios/SMB开始、停止、卸载终端程序;
    通过SSL接收终端高并发传回的日志;
    使用Perl兼容正则表达式(PCREs)从文档中过滤敏感字串;
    能创建可重用的扫描条件(包括目录、后缀的黑白名单);
    找到的数据可审核确认并标记误报;
    将结果导出为XML。


2、Windows终端程序,开发语言C,可运行在win2000以后的系统上,功能如下:

    以低优先级的服务运行,用户干扰小;
    扫描到一半如果系统重启,会自动断点扫描,无需用户操作;
    SSL传输日志到服务端;
    使用PCREs正则过滤敏感文件;
    能从zip格式的文档(Office 2007和OpenOffice都是zip压缩的XML)中读取数据;
    限制使用的最大物理内存,避免扫描大文件时性能波动。

3、数据库扫描

可以支持对数据库内容的扫描,识别数据库中是否有敏感信息,目前支持MySQL与MsSQL。

4、文件系统/文件共享扫描

可以支持通过SMB或sshfs,对Windows或Unix系统中的文件进行扫描。

三、作者对OpenDLP的研发计划

更多数据库支持;
Web界面的增强与完善;
让误报标记更易用;
更多的导出选项——支持word与OpenOffice格式的导出;
对多次扫描做趋势分析;

四、部署需求

    - Apache 2.x (tested with 2.2.10)
    - MySQL (tested with 5.0.70)
    - Samba (tested with 3.0.33)
    - winexe ( http://eol.ovh.org/winexe/) somewhere in $PATH
    - Perl (tested with 5.8.8)
    - Additional Perl modules (see under “Perl Configuration”)
    - 32-bit “sc.exe” from a Windows 2000/XP system (not Vista/7)
    - FreeTDS
    - For agentless scans, an “unzip” binary somewhere in $PATH.

五、其它

安装配置比较复杂,建议下载VM,参考其README: http://opendlp.googlecode.com/files/README-VM.txt
程序下载: http://code.google.com/p/opendlp/downloads/list
部份对信用卡等资料防护的正则:

    Credit_Card_Track_1:(\D|^)\%?[Bb]\d{13,19}\^[\-\/\.\w\s]{2,26}\^[0-9][0-9][01][0-9][0-9]{3}
    Credit_Card_Track_2:(\D|^)\;\d{13,19}\=(\d{3}|)(\d{4}|\=)
    Credit_Card_Track_Data:[1-9][0-9]{2}\-[0-9]{2}\-[0-9]{4}\^\d
    Mastercard:(\D|^)5[1-5][0-9]{2}(\ |\-|)[0-9]{4}(\ |\-|)[0-9]{4}(\ |\-|)[0-9]{4}(\D|$)
    Visa:(\D|^)4[0-9]{3}(\ |\-|)[0-9]{4}(\ |\-|)[0-9]{4}(\ |\-|)[0-9]{4}(\D|$)
    AMEX:(\D|^)(34|37)[0-9]{2}(\ |\-|)[0-9]{6}(\ |\-|)[0-9]{5}(\D|$)
    Diners_Club_1:(\D|^)30[0-5][0-9](\ |\-|)[0-9]{6}(\ |\-|)[0-9]{4}(\D|$)
    Diners_Club_2:(\D|^)(36|38)[0-9]{2}(\ |\-|)[0-9]{6}(\ |\-|)[0-9]{4}(\D|$)
    Discover:(\D|^)6011(\ |\-|)[0-9]{4}(\ |\-|)[0-9]{4}(\ |\-|)[0-9]{4}(\D|$)
    JCB_1:(\D|^)3[0-9]{3}(\ |\-|)[0-9]{4}(\ |\-|)[0-9]{4}(\ |\-|)[0-9]{4}(\D|$)
    JCB_2:(\D|^)(2131|1800)[0-9]{11}(\D|$)
    Social_Security_Number_dashes:(\D|^)[0-9]{3}\-[0-9]{2}\-[0-9]{4}(\D|$)
    Social_Security_Number_spaces:(\D|^)[0-9]{3}\ [0-9]{2}\ [0-9]{4}(\D|$)

截图:

六、参考资料

OpenDLP里的正则表达式: http://code.google.com/p/opendlp/wiki/RegularExpressions

PCRE:http://en.wikipedia.org/wiki/PCRE


对DLP(Data Loss Prevention)感兴趣的客户越来越多。商业DLP产品,国内做得最专业的,王婆卖瓜一下,自然是大成天下(http://www.unnoo.com)。但还是有不少用户暂时没有DLP方面的预算,想找免费或开源的替代品——所以我们就对开源DLP产品做些整理,希望能为有DLP需求的企业提供有价值的信息。

一、Djigzo的邮件加密产品

Djigzo邮件加密网关是开源产品,能够对进出网关的电子邮件进行加解密操作,保障邮件不会在传输过程中被人恶意拦截与阅读。该网关在部署时,能与组织当前的邮件系统配合使用(支持Exchange、Lotes和Unix系列的邮件服务器,这种情况下仅提供临时存储与转发功能),也可以作为单独的邮件服务器安装。

加密方式有两种:S/MIME和PDF。S/MIME使用了PKI技术,PDF加密更轻量易于配置;
部署方式:可以部署在实体机器上,支持Ubuntu、Debian、Redhat和CentOS,也可以下载虚拟机镜像,以虚拟应用的方式部署;
开发语言:Java。

二、Djigzo的邮件DLP插件

今年Djigzo新增了DLP(Data Leak Prevention)功能——赶一把目前DLP正火的潮流。能够对邮件头、正文、邮件附件甚至压缩附件中的文本内容进行过滤。

触发拦截:通过xml文件定义关键词,一旦触发,邮件可设置为直接拦截,或存档待处理;
管理功能:管理员在触发拦截后会得到通知,并能够对存档邮件做处理;
支持格式:pdf、doc、xls等类型的文件和txt、html等文本,也能处理zip压缩文件。

三、其它

支持手机:有BlackBerry与Android版本客户端
一些关键词定义:http://www.djigzo.com/patterns.html
官网:http://www.djigzo.com/
了解S/MIME:http://technet.microsoft.com/zh- ... %28EXCHG.65%29.aspx


Snort和ClamAV

Snort:http://www.snort.org,最著名的开源IDS,东家是sourcefire,NASDAQ上市公司。
ClamAV:http://www.clamav.net,开源杀毒引擎,被sourcefire收获,参见:http://www.clamav.net/lang/en/faq/faq-sf/

Snort用于DLP

1、作为IDS,Snort检查网络中的过往流量。因此通过HTTP、SMTP等方式外流的数据,Snort都可过滤;
2、stream5引擎、SMTP引擎和HTTP引擎均可用于发现特定协议中的敏感信息;
3、如果想实时阻断,可以配合netfilter,用类似命令将数据包送入QUEUE序列后,再由SNORT规则处理:iptables -I FORWARD -j QUEUE;
4、有个叫snortdlp的开源半成品:http://code.google.com/p/snortdlp/
5、无法处理附件中的数据;

ClamAV的DLP模块

1、作为杀毒引擎,功能中很重要的一部份就是文件扫描,因此具备“全文检索”能力;
2、ClamAV中本身内置DLP模块,详见libclamav/dlp.c;
3、DLP相关配置详见etc/clamd.conf,默认是未开启开模块;

    # Enable the DLP module
    # Default: No
    #StructuredDataDetection yes

    # This option sets the lowest number of Credit Card numbers found in a file
    # to generate a detect.
    # Default: 3
    #StructuredMinCreditCardCount 5

    # This option sets the lowest number of Social Security Numbers found
    # in a file to generate a detect.
    # Default: 3
    #StructuredMinSSNCount 5

    # With this option enabled the DLP module will search for valid
    # SSNs formatted as xxx-yy-zzzz
    # Default: yes
    #StructuredSSNFormatNormal yes

    # With this option enabled the DLP module will search for valid
    # SSNs formatted as xxxyyzzzz
    # Default: no
    #StructuredSSNFormatStripped yes

好用吗?

我认为开源软件最大的问题是:用户必须自己动手,才能丰衣足食。
而多数商业用户希望厂商能一揽子解决掉他们的全部需求。

Snort和ClamAV都只具备了基础功能,想真正应用,需在此基础上进一步开发。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值