Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Spam Scanner:功能强大的反垃圾邮件和反网络钓鱼服务平台

Spam Scanner:功能强大的反垃圾邮件和反网络钓鱼服务平台

作者头像
FB客服
发布于 2022-02-23 12:42:03
发布于 2022-02-23 12:42:03
1K00
代码可运行
举报
文章被收录于专栏:FreeBufFreeBuf
运行总次数:0
代码可运行

关于Spam Scanner

Spam Scanner是一款功能强大的反垃圾邮件、电子邮件过滤和网络钓鱼防御服务平台。Spam Scanner也是SpamAssassin、rspamd、SpamTitan等产品的最佳替代选择。

我们的目标是建立和利用一个可扩展、性能好、简单、易于维护、功能强大的API,用于我们的转发电子邮件服务,以限制垃圾邮件,并提供其他措施来防止网络犯罪分子对我们的用户展开攻击。

最初我们尝试使用SpamAssassin,后来评估了rspamd,但最终我们发现所有现有的解决方案都非常复杂,缺少所需的功能或文档,配置起来也比较麻烦,技术壁垒较高,从其他角度来说也限制了平台的可扩展性。

对我们来说,我们重视隐私以及数据和用户的安全性——特别是我们对存储任何类型的日志或元数据都有“零容忍政策”。这些解决方案中没有一个符合这一隐私政策(没有删除基本的垃圾邮件检测功能),因此Spam Scanner便应运而生。

功能介绍

Spam Scanner基于现代化技术构建,可以提供高性能服务,有助于减少垃圾邮件、网络钓鱼和其它类型的攻击。

1、朴素贝叶斯分类器 2、垃圾邮件内容检测 3、网络钓鱼内容检测 4、可执行文件链接和附件检测 5、病毒检测 6、NSFW(Not Safe For Work)图片检测

工具依赖组件

Node.js Cloudflare ClamAV

ClamAV配置

Ubuntu

1、安装ClamAV

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt-get update

sudo apt-get install build-essential clamav-daemon clamav-freshclam clamav-unofficial-sigs -qq
sudo service clamav-daemon start

2、配置ClamAV

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo vim /etc/clamav/clamd.conf

 -Example

 +#Example

 

 -#StreamMaxLength 10M

 +StreamMaxLength 50M

 

 +# this file path may be different on your OS (that's OK)

 

\-#LocalSocket /tmp/clamd.socket

\+LocalSocket /tmp/clamd.socket

sudo vim /etc/clamav/freshclam.conf

 -Example

 +#Example

3、确保ClamAV在开机时自动启动

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
systemctl enable freshclamd

systemctl enable clamd

systemctl start freshclamd

systemctl start clamd

macOS

1、安装ClamAV

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
brew install clamav

2、配置ClamAV

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# if you are on Intel macOS

sudo mv /usr/local/etc/clamav/clamd.conf.sample /usr/local/etc/clamav/clamd.conf

 

# if you are on M1 macOS (or newer brew which installs to `/opt/homebrew`)

sudo mv /opt/homebrew/etc/clamav/clamd.conf.sample /opt/homebrew/etc/clamav/clamd.conf

# if you are on Intel macOS

sudo vim /usr/local/etc/clamav/clamd.conf

 

# if you are on M1 macOS (or newer brew which installs to `/opt/homebrew`)

sudo vim /opt/homebrew/etc/clamav/clamd.conf

-Example

+#Example

 

-#StreamMaxLength 10M

+StreamMaxLength 50M

 

+# this file path may be different on your OS (that's OK)

 

\-#LocalSocket /tmp/clamd.socket

\+LocalSocket /tmp/clamd.socket

# if you are on Intel macOS

sudo mv /usr/local/etc/clamav/freshclam.conf.sample /usr/local/etc/clamav/freshclam.conf

 

# if you are on M1 macOS (or newer brew which installs to `/opt/homebrew`)

sudo mv /opt/homebrew/etc/clamav/freshclam.conf.sample /opt/homebrew/etc/clamav/freshclam.conf

# if you are on Intel macOS

sudo vim /usr/local/etc/clamav/freshclam.conf

 

# if you are on M1 macOS (or newer brew which installs to `/opt/homebrew`)

sudo vim /opt/homebrew/etc/clamav/freshclam.conf

-Example

+#Example

freshclam

3、确保ClamAV在开机时自动启动

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo vim /Library/LaunchDaemons/org.clamav.clamd.plist

工具安装-NPM安装

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm install spamscanner

工具使用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const fs = require('fs');

const path = require('path');



const SpamScanner = require('spamscanner');



const scanner = new SpamScanner();



//

// NOTE: The `source` argument is the full raw email to be scanned

// and you can pass it as String, Buffer, or valid file path

//

const source = fs.readFileSync(

  path.join(__dirname, 'test', 'fixtures', 'spam.eml')

);



// async/await usage

(async () => {

  try {

    const scan = await scanner.scan(source);

    console.log('scan', scan);

  } catch (err) {

    console.error(err);

  }

});



// then/catch usage

scanner

  .scan(source)

  .then(scan => console.log('scan', scan))

  .catch(console.error);



// callback usage

if (err) return console.error(err);

scanner.scan(source, (err, scan) => {

  if (err) return console.error(err);

  console.log('scan', scan);

});

许可证协议

本项目的开发与发布遵循BSL v1.1开源许可证协议。

项目地址

Spam Scanner:【GitHub传送门】

参考资料

https://www.digitalocean.com/community/tutorials/how-to-setup-exim-spamassassin-clamd-and-dovecot-on-an-arch-linux-vps

https://medium.com/@wingsuitist/set-up-clamav-for-osx-1-the-open-source-virus-scanner-82a927b60fa3

http://redgreenrepeat.com/2019/08/09/setting-up-clamav-on-macos/

https://paulrbts.github.io/blog/software/2017/08/18/clamav/

https://gist.github.com/zhurui1008/4fdc875e557014c3a34e

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-01-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
linux sendmail发送邮件_shell上传文件到服务器
Sendmail是目前Linux系统下面用得最广的邮件系统之一,虽然它存在一些不足,不过,目前还是有不少公司在使用它。对它的学习,也能让我们更深的了解邮件系统的运作。下面我们就来看看sendmail邮件服务器的部署。
全栈程序员站长
2022/09/20
2.2K0
[Kaggle] Spam/Ham Email Classification 垃圾邮件分类(spacy)
练习地址:https://www.kaggle.com/c/ds100fa19 相关博文: [Kaggle] Spam/Ham Email Classification 垃圾邮件分类(RNN/GRU/LSTM) [Kaggle] Spam/Ham Email Classification 垃圾邮件分类(BERT)
Michael阿明
2021/02/19
1K0
[Kaggle] Spam/Ham Email Classification 垃圾邮件分类(spacy)
【Spark Mllib】逻辑回归——垃圾邮件分类器与maven构建独立项目
配置的时候要注意spark 和 scala 的版本,可以打开spark-shell 观察:
小爷毛毛_卓寿杰
2019/02/13
9060
【Spark Mllib】逻辑回归——垃圾邮件分类器与maven构建独立项目
EOS区块链平台构建开发dapp环境的安装
要安装xcode和homebrew代码。如果还没有安装的情况,先设置xcode和homebrew。
笔阁
2018/09/04
1.3K0
EOS区块链平台构建开发dapp环境的安装
如何在 CentOS 8 服务器上安装 ISP Config 3.2?
本教程将介绍在 CentOS 8(64 位)服务器上安装 ISPConfig 3.2。ISPConfig 是一个网络托管控制面板,允许您通过网络浏览器配置以下服务:Apache 网络服务器、PHP、Postfix 邮件服务器、MySQL、BIND 名称服务器、PureFTPd、SpamAssassin、ClamAV、Mailman 等等。
网络技术联盟站
2021/12/17
2.6K0
如何在 CentOS 8 服务器上安装 ISP Config 3.2?
Ubuntu_ROS中应用kinect v2笔记
http://www.ros.org/news/2014/09/microsoft-kinect-v2-driver-released.html
zhangrelay
2019/01/23
2.8K0
apache-streampark发版验证
https://streampark.apache.org/zh-CN/community/release/how_to_verify_release/
阿超
2024/04/25
1960
(一)ROS系统入门 Getting Started with ROS 以Kinetic为主更新 附课件PPT
ROS机器人程序设计(原书第2版)补充资料 教案1 ROS Kinetic系统入门
zhangrelay
2019/01/23
3.4K0
云计算运维一步步编译安装Kubernetes之交付dubbo微服务
dubbo提供了六大核心能力:面向接口代理的高性能RPC调用,智能容错和负载均衡,服务自动注册和发现,高度可扩展能力,运行期流量调度,可视化的服务治理与运维。
王先森sec
2023/04/24
3760
云计算运维一步步编译安装Kubernetes之交付dubbo微服务
MSFCONSOLE COMMANDS「建议收藏」
The MSFconsole has many different command options to choose from. The following are a core set of Metasploit commands with reference to their output.
全栈程序员站长
2022/10/04
1.2K0
GitLab企业级私有代码仓库安装与基础使用
描述:GitLab 是一个非常优秀的开源项目,基于Ruby on Rails开发的开源应用程序。它允许用户在自己的服务器上运行类似于 GitHub 的项目管理系统,实现一个自托管私有的Git项目仓库,可通过Web界面进行访问公开的或者私人的项目Gitlab能够浏览源代码,管理缺陷和注释。
全栈工程师修炼指南
2022/09/28
6.6K0
GitLab企业级私有代码仓库安装与基础使用
Kubernetes集群部署相关
free -h,显示内存和利用率 用swapon -s可以检查特定分区,逻辑卷或文件的交换,-s是摘要的含义,用它来获取交换的详细信息,以千字节为单位 或者使用top命令 vmstat,可以用该命令查看交换和交换信息,无法查看交换的总值
用户1413827
2023/11/28
7110
Kubernetes集群部署相关
100天学会python
目前我使用的Python 3.7.x的版本是在2018年发布的,Python的版本号分为三段,形如A.B.C。其中A表示大版本号,一般当整体重写,或出现不向后兼容的改变时,增加A;B表示功能更新,出现新功能时增加B;C表示小的改动(例如:修复了某个Bug),只要有修改就增加C。如果对Python的历史感兴趣,可以阅读名为《Python简史》的网络文章。
她的店里只卖樱花
2023/01/06
3.4K0
100天学会python
Python100Days
这可能是我目前发现最好最好的Python教程了,故整理至我的博客。 原项目GitHub地址https://github.com/jackfrued/Python-100-Days
一点儿也不潇洒
2018/08/07
10K0
TensorFlow Lite,ML Kit 和 Flutter 移动深度学习:6~11
认证是任何应用中最突出的功能之一,无论它是本机移动软件还是网站,并且自从保护数据的需求以及与机密有关的隐私需求开始以来,认证一直是一个活跃的领域。 在互联网上共享的数据。 在本章中,我们将从基于 Firebase 的简单登录到应用开始,然后逐步改进以包括基于人工智能(AI)的认证置信度指标和 Google 的 ReCaptcha。 所有这些认证方法均以深度学习为核心,并提供了一种在移动应用中实现安全性的最新方法。
ApacheCN_飞龙
2023/04/27
23.7K0
TensorFlow Lite,ML Kit 和 Flutter 移动深度学习:6~11
[PHP] 2018年终总结
========================================================================== 2018年12月29日 记录:
唯一Chat
2019/09/10
2.7K0
springcloudAlibaba+devops
springcloudAlibaba&rancher【后端专题】 简介:用户增长的数据分析模型AARRR
高大北
2022/12/20
1.3K0
springcloudAlibaba+devops
相关推荐
linux sendmail发送邮件_shell上传文件到服务器
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验