Saslauthd服务实现SMTP发信认证
一、SMTP发信认证
通过sasl库中的saslauthd服务实现SMTP认证
二、部署
1.先安装postifx
略
2.生成sasl配置文件,实现使用sasl认证
vim /usr/lib64/sasl2/smtpd.conf //编写sasl配置文件
pwcheck_method:saslauthd
vim /etc/sysconfig/saslauthd //将sasl验证方式改为系统用户密码验证
将MECH=pam改为MECH=shadow
/etc/init.d/saslauthd restart //启动sasl认证服务
chkconfig --level 35 saslauthd on //设置35级别的开机自启
chkconfig --list saslauthd //验证saslauthd服务35级别是否启动
testsaslauthd -u hehe -p 123 //验证sasl工作是否正常
3.编辑postfix配置文件
vim /etc/postfix/main.cf
queue_run_delay = 3s //每3s扫描一次delay的邮件
minimal_backoff_time = 3s //在3s内不会重发delay的邮件
maximal_backoff_time = 6s //在6s内则一定会重发邮件
maximal_queue_lifetime = 12s //邮件超过12s没有发出,则退信
smtpd_sasl_auth_enable = yes //启动SMTP认证
smtpd_sasl_security_options = noanonymous //禁止匿名使用SMTP服务
mynetworks = 127.0.0.1 //允许本服务器发送到外网地址
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination //定义地址过滤规则
4.验证
/etc/init.d/postfix restart //重启邮件服务
客户端telnet测试
telnet mail.xueluo.org 25
EHLO mail.xueluo.org //宣告地址
AUTH LOGIN //需进行认证登陆
askw^& //输入加密的用户字符串(printf hehe | openssl base64)
783jhs2 //输入加密的用户密码(printf 123 | openssl base64)
MAIL FROM:hehe@xueluo.org
RCPT TO:haha@xueluo.org
DATA
aaaaaaa
.
三、Web界面发收邮件
web端软件可自行选择,这里使用squirrelmail,下载http://www.squirrelmail.org/
1.解压squirrelmail
tar -zxvf squirrelmail-webmail-1.4.22.tar.gz -C /usr/src/ //解压squirrelmail
yum -y install httpd php //使用yum安装httpd和php软件包
cp -r /usr/src/squirrelmail-webmail-1.4.22/* /var/www/html/ //拷贝目录下的文件到Apache的网页目录
chown -R apache:apache /var/www/html/ //设置网页目录属主和属组为apache
2.配置
mv /var/www/html/config/config_default.php /var/www/html/config/config.php //重命名模板文件为config.php
vim /var/www/html/config/config.php
118 $domain = 'xueluo.org'; //当前域
146 $smtpServerAddress = '192.168.1.10'; //SMTP服务IP
202 $imapServerAddress = '192.168.1.10'; //IMAP服务IP
212 $popServerAddress = '192.168.1.10'; //新增,POP服务IP
213 $popPort = 110; //新增,POP服务端口
259 $smtp_auth_mech = 'login'; //SMTP认证方式
mkdir -p /var/local/squirrelmail/data/ //新建目录
chown apache:apache /var/local/squirrelmail/data/ //设置apache为属主和属组
/etc/init.d/httpd start && chkconfig --level 35 httpd on //重启服务,并设置35级别的开机自启
3.访问
浏览器 --> 192.168.1.10 -->输入用户名密码登录-->使用
四、设置postfix邮件附件大小
1. 修改/etc/php.ini
max_execution_time = 30 //改为60 (增加处理脚本的时间限制)
memory_limit = 8M //改为50M (这样才能发10M的附件)
post_max_size = 2M //改为50M
upload_max_filesize = 2M //改为50M
2. 修改/etc/postfix/main.cf
message_size_limit = 20480000
postfix的默认值是10M, 但这指的是邮件正文和编码后附件的总和, 经过base64编码,附件的大小会增加35%左右, 因此这里设定可接受邮件的大小为20M
可以使用如下命令查看postfix的有关设定:
#/usr/sbin/postconf | grep size
3. 修改/var/www/extsuite/extmail/webmail.cf
SYS_MESSAGE_SIZE_LIMIT = 51200000
Saslauthd服务实现SMTP发信认证的更多相关文章
- 【知识点】业务连接服务(BCS)认证概念整理
业务连接服务(BCS)认证概念整理 I. BDC认证模型 BDC服务支持两种认证模型:信任的子系统,模拟和代理. 在信任的子系统模型中,中间层(通常是Web服务器)通过一个固定的身份来向后端服务器取得 ...
- linux服务之smtp
实现这个协议的软件太多,有sendmail,postfix等.不像snmp,基本上是net-snmp一统天下, yum install nc nc用来取代telnet 这里我们希望让大家知道网络协议中 ...
- 分布式服务Dubbo+Zookeeper安全认证
前言 由于之前的服务都是在内网,Zookeeper集群配置都是走的内网IP,外网不开放相关端口.最近由于业务升级,购置了阿里云的服务,需要对外开放Zookeeper服务. 问题 Zookeeper+d ...
- cinder服务端的keystone认证机制
keystone在openstack中的地位 Keystone作为OpenStack中的身份管理与授权模块,主要实现系统用户的身份认证.基于角色的授权管理.其他OpenStack服务的地址发现和安全策 ...
- spring cloud eureka 服务端开启密码认证后,客户端无法接入问题
Eureka服务端开启密码的认证比较简单 在pom文件中加入: <dependency> <groupId>org.springframework.boot</group ...
- Spring cloud微服务安全实战-6-2JWT认证之认证服务改造
首先来解决认证的问题. 1.效率低,每次认证都要去认证服务器调一次服务. 2.传递用户身份,在请求头里面, 3.服务之间传递请求头比较麻烦. jwt令牌. spring提供了工具,帮你在微服务之间传递 ...
- 微服务系列之授权认证(一) OAuth 2.0 和 OpenID Connect
1.传统架构的授权认证 传统应用架构,用户使用账号密码登录后,可以使用前端cookie存储登录状态,也可以使用后端session方式存储登录状态,小应用这么做其实很高效实用,当应用需要横向扩展时,就需 ...
- 微服务系列之授权认证(二) identity server 4
1.简介 IdentityServer4 是为ASP.NET Core系列量身打造的一款基于 OpenID Connect 和 OAuth 2.0 认证授权框架. 官方文档:https://ident ...
- 微服务系列之授权认证(三) JWT
1.JWT简介 官方定义:JWT是JSON Web Token的缩写,JSON Web Token是一个开放标准(RFC 7519),它定义了一种紧凑的.自包含的方式,可以将各方之间的信息作为JSON ...
随机推荐
- Detours HOOK 库 过滤LoadLibraryExW
Detours HOOK 库 Hook 过滤LoadLibraryExW 一丶简介 1.1 Detours库简介 Detours是微软提供的HOOK库.为我们Hook提供了方便.再也不用手撸 HOOK ...
- 实战经验丨CTF中文件包含的技巧总结
站在巨人的肩头才会看见更远的世界,这是一篇技术牛人对CTF比赛中文件包含的内容总结,主要是对一些包含点的原理和特征进行归纳分析,并结合实际的例子来讲解如何绕过,全面细致,通俗易懂,掌握这个新技能定会让 ...
- Visio打开或取消箭头的自动吸附和自动连接
在用Visio画图时Visio的自动对齐.自动连接.自动吸附功能确实能带了很多便利.但在画连接线时,Visio总是自动连接箭头与图形的固定节点,想要微调一下连接位置,就显得很不方便,需要关闭自动连接功 ...
- 【转】asp.net基础-HttpModule
HttpModule是向实现类提供模块初始化和处置事件.当一个HTTP请求到达HttpModule时,整个ASP.NET Framework系统还并没有对这个HTTP请求做任何处理,也就是说此时对于H ...
- entity cannot be tracked
背景:EF Core项目中使用InMemory作为数据库提供程序,编写单元测试. 报错:“The instance of entity type 'Movie' cannot be tracked b ...
- Pycharm:书签的使用
创建匿名书签 有时候我们的代码会写很长,为了查找方便,我们会在经常需要查看的地方插入一个书签.在 Pycharm 中,将光标移动到需要创建书签的行,按 F11 可以创建一个匿名书签,匿名书签的显示是行 ...
- Linux V4L2之camera
一.硬件知识 1. 摄像头硬件结构和工作原理,如图1&图2 外部光线穿过lens镜头,经过红外滤光片后光学图像投射到传感器上,然后光学图像被转换成电信号,电信号再经过模数转换变为数字信号,数字 ...
- 动态路由协议(RIP)
虽然静态路由在某些时刻很有用,但是必须手工配置每条路由条目,对于大中型的网络或拓补经常发生变化的清空,配置和维护静态路由的工作量就变得非常繁重,而且不小心还容易出错,因此就需要一种不需要手工配置的路由 ...
- DataPipeline丨金融行业如何统一管理单个任务下所有API的同步情况
目前,依靠"手工人力"的电子表格数据治理模式逐渐被"自动智能"的专业工具取代.数据管理员.业务分析师开始采用"平台工具"来梳理主数据.元数据 ...
- 使用 HttpRequester 更方便的发起 HTTP 请求
使用 HttpRequester 更方便的发起 HTTP 请求 Intro 一直感觉 .net 里面(这里主要说的是 .net framework 下)发送 HTTP 请求的方式用着不是特别好用,而且 ...