<邮件的反垃圾反病毒>
本章——发送接收邮件的工具为雷鸟
安装
# yum install dovecot-mysql.x86_64 dovecot.x86_64 -y
编辑文件
vim 10-mail.conf
mail_location = maildir:/home/vmail/%d/%n/Maildir/ first_valid_uid = 800
开启
!include auth-sql.conf.ext
# vim auth-sql.conf.ext
文件提示让找 args = /etc/dovecot/dovecot-sql.conf.ext 但/etc/dovecot目录下没有这个文件。
提示可以参考模板: # Path for SQL configuration file, see example-config/dovecot-sql.conf.ext
/usr/share/doc/dovecot-2.0.9/example-config cp dovecot-sql.conf.ext /etc/dovecot/
# vim dovecot-sql.conf.ext //主要修改以下几行
driver = mysql
connect = host=localhost dbname=extmail user=extmail password=extmail
default_pass_scheme = PLAIN
password_query = \ SELECT username, domain, password \ FROM mailbox WHERE username = '%u'
user_query = SELECT maildir, 800 AS uid, 800 AS gid FROM mailbox WHERE username = '%u'
重启dovecot服务 测试豆腐块是否成功:
# telnet localhost 110
user redhat@extmail.org pass redhat
豆腐块SASL认证
首先查看下帮助文档,怎么安装豆腐块的SASl认证库。
cd /usr/share/doc/postfix-2.6.6/README_FILES
# less SASL_README
查看postfix的参数信息 postconf -d | grep smtpd_sasl
将其写入main.cf postfix的主配置文件
postconf -e smtpd_sasl_auth_enable=yes
postconf -e smtpd_sasl_authenticated_header=yes
查看SASL加密那些认证。
postconf -d | grep smtpd_recipient
postconf -e "smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination, permit_sasl_authenticated"
smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination, permit_sasl_authenticated
开启SASL认证/认证头。
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
系统默认的帮助文档做的不怎么好,自己找个包看。
postfix-2.10.2.tar.gz
tar zxf postfix-2.10.2.tar.gz cd postfix-2.10.2
less SASL_README
vim /etc/sasl2/smtpd.conf
pwcheck_method: auxprop
auxprop_plugin: sql
mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5 NTLM
sql_engine: mysql
sql_hostnames: 127.0.0.1
sql_user: extmail
sql_passwd: extmail
sql_database: extmail sql_select: SELECT
password FROM mailbox WHERE username = '%u@%r'
yum list cyrus-sasl*
rpm -ivh cyrus-sasl-sql-2.1.23-13.el6_3.1.x86_64.rpm
yum install cyrus-sasl-md5.x86_64 cyrus-sasl-devel.x86_64 cyrus-sasl-plain.x86_64 -y
认证
postconf -d | grep smtpd_tls //查找下tls认证的项,写入postfix主文件
postconf -e smtpd_tls_security_level=encrypt cd /etc/pki/tls/certs/ make postfix.pem
postconf -e smtpd_tls_cert_file=/etc/pki/tls/certs/postfix.pem
postconf -e smtpd_tls_received_header=yes
postconf -e "smtpd_tls_session_cache_database=btree:/var/lib/postfix/smtpd_scache"
postconf -e smtpd_tls_auth_only=yes /etc/init.d/postfix restart /etc/init.d/clamd start
邮件的反垃圾反病毒
yum install spamassassin -y cd /usr/share/spamassassin/
yum localinstall clam* -y
下载病毒库
# rm -rf virusdb/ # chown clamav.clamav *
# yum install -y rpm-build
# ./install.sh
# vim MailScanner.conf //下面的为这个库要修改的选项参数
Incoming Queue Dir = /var/spool/postfix/hold
Outgoing Queue Dir = /var/spool/postfix/incoming Run As User = postfix Run As Group = postfix MTA = postfix
Incoming Work Group = clamav
Incoming Work Permissions = 0640
Virus Scanners = clamd
Monitors for ClamAV Updates = /var/clamav/*.cld /var/clamav/*.cvd
# rpm -ql clamd
# cd /var/run/clamav/ clamd.pid clamd.sock
Clamd Socket = /var/run/clamav/clamd.sock
Always Include SpamAssassin Report = yes
SpamAssassin User State Dir = /var/spool/MailScanner/spamassassin
Spam Actions = delete High Scoring Spam Actions = delete
[root@vm1 MailScanner]# mkdir spamassassin
# chown -R postfix.clamav .
# cd /etc/postfix/
# vim main.cf
把下面的#去掉
header_checks = regexp:/etc/postfix/header_checks
# vim header_checks 低行下入 /^Received:/ HOLD
下面是检测语法时 的报错,和解决方案
MailScanner –lint
报错解决方案:
ERROR: The "envelope_sender_header" in your spam.assassin.prefs.conf ERROR: is not correct, it should match X-yoursite-MailScanner-From
# cd /etc/MailScanner/
envelope_sender_header X-yoursite-MailScanner-From
报错: config: failed to parse line, skipping, in "/etc/mail/spamassassin/mailscanner.cf": use_auto_whitelist 0
注释掉此行 #use_auto_whitelist 0
报错: Unrar is not installed, it should be in /usr/bin/unrar. This is required for RAR archives to be read to check filenames and filetypes. Virus scanning is not affected.
安装软件包 unrar-4.2.4-1.el6.x86_64.rpm
[root@vm1 MailScanner]# /etc/init.d/postfix status master is stopped
[root@vm1 MailScanner]# /etc/init.d/MailScanner start
Starting MailScanner daemons: incoming postfix: [ OK ] outgoing postfix: [ OK ] MailScanner: [ OK ]
[root@vm1 MailScanner]# /etc/init.d/postfix
status master (pid 10891) is running...
<邮件的反垃圾反病毒>的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- struts 文件上传示例
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io ...
- CSS 布局_如何实现容器中每一行的子容器数量随着浏览器宽度的变化而变化?
实现一个浮动布局,红色容器中每一行的蓝色容器数量随着浏览器宽度的变化而变化,就如下图: 要实现这样一个布局,我们首先需要如下的 HTML: <div id="float-contain ...
- linux 安装输入法
简述 Ubuntu16.04安装完后,和12.04以及14.04都不一样,并没有中文输入功能.于是搜索一些安装中文输入法的方法. 开始安装了ibus pinyin输入法,但是系统重启之后发现有些时候不 ...
- 局域网中使用的IP地址有哪些?
当我们建设一个局域网的时候,需要为网络中的每台计算机分配一个IP地址.那么都有哪些IP地址可以使用在局域网中呢?局域网中的IP地址有什么规定呢? 在局域网中,我们是不能使用如202.106.45.11 ...
- 4. DVWA亲测暴力破解
LOW等级 我们先用burpsuite抓包,因为burpsuite提供了暴力破解模块 我们先创建一个1.txt文件夹,把正确的账号密码写进去 我们输入 Username:1 Password: ...
- Object—C 块在函数中作为参数时的分析
暂时对这个有了一些粗浅的理解,记下来一边后面学习时学习,改正. 先举个例子: A类: .h文件: @interface A : NSObject - (void)Paly1:(void (^)(do ...
- 引用静态资源的url添加版本号,解决版本发布后的浏览器缓存有关问题
在日常的工作中,我们经常会遇到页面文件(html,jsp等)中引用的js,css,图片等被修改后,而浏览器依然缓存着老版本的文件,客户一时半会看不到修改后的效果,同时也给生产环境的版本发布带来了一些问 ...
- FormsAuthentication.RedirectFromLoginPage 登录
首先讲的这个东西是针对后台数据访问的比如我的后台是admin文件夹.那么我除非登陆成功才可以访问里面的东西.那么除了Session对象判断.和Cookies来判断还能用到FormsAuthentica ...
- [Django笔记] models 深入学习
对着官方文档撸一遍,顺便做点笔记 models 定义了本应用的数据库表结构.底层可以由不同的数据库封装实现,因为不同的数据库字段类型不一样,因此,跟以往直接用单一数据库(如mysql)建立的应用有很大 ...
- springmvc ajax 简单例子
1.控制器曾 @Controller public class AjaxController { @RequestMapping("/ajax") public void ajax ...