知识大全 postfix 的 sasl 支持

Posted 密码

篇首语:水往下流,人争上游。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 postfix 的 sasl 支持相关的知识,希望对你有一定的参考价值。

  如果您之前有看过小弟写过关于mandrake 支持sasl的文章您大概会发现在Mandrake 中好象不太能够执行了!我想我再一次的把这篇文章做个整理!希望可以帮助大家可以做好防止服务器被利用转寄的困扰!关于sasl 在电子邮件运行的初期 大家并没有想到电子邮件寄送上的安全考量!smtp的认证机也一直没有被建立 大家只可以使用封锁的方式!而 cyrus sasl 的出现提供了一个更大的 弹性 的选择!也就是使用密码认证 在这之前我们必须说 sasl并不一定是一个安全的 而是提供更大的弹性!希望大家认清 功能或服务的开启是等于是开启一个危险的可能!你如果看过postfix的说明文件 第一个就会告欣你 你使用的东西并不会加强你的安全性 也希望大家可以有这样的认知 如果您只是在内部使用 而没有需要开启对外的服务 建议还是使用邮件服务器的安全防护功能就好了( 例如关闭relay )系统环境 Mandrake 相关套件 postfix cryus sasl您可以使用控制台中的安装功能或者使用urpmi都可以套件安装小弟就不多个说明了 您可以参考下图安装       在上列的套件中包含了一些plugin及sasl系统   您可以依自己的需求进行安装!    如何设定sasl及postfix   我想在 上一节中我们已经介绍过了postfix的设定了   这个部份我们也不再多做讲解     首先我们在/etc/postfix/main cf中加入几行  基本上范例如下  # server  smtpd_sasl_auth_enable = yes  smtpd_sasl_local_domain = $myhostname  smtpd_recipient_restrictions = permit_myneorks permit_sasl_authenticated check_relay_domains  #smtp_sasl_password_maps=hash:/etc/postfix/sasl_passwd  smtpd_sasl_security_options = noanonymous  # client  smtp_sasl_auth_enable = yes    我们一个一个来解释一下  smtpd_sasl_auth_enable = yes  这是激活sasl支持 如果您改成 no sasl功能也会停 止运作!  smtpd_sasl_local_domain = $myhostname  指 sasl 预设 domain 如果你不使用sasldb方式管理密码的话   请设定 $myhostname (主要因为sasldb管理方式 自行可以设定 )     smtpd_recipient_restrictions = permit_myneorks permit_sasl_authenticated check_relay_domains   指使用认证的设定(请保持上列为一行 没有断行)     a permit_myneorks 允许 myneorks (postfix设定 )   b permit_sasl_authenticated 允许具有 sasl 认证设定( sasldb )   c check_relay_domains 确认relay的区域 (postfix设定 )     smtpd_sasl_security_options = noanonymous   指 sasl 安全选项   i noanonymous 这里是允许任何非匿名认证方法   ii noplaintext 指不使用 PLAIN 和 LOGIN 方式  iii nodictionary   ix noactive   任何一项不通过信件都可能造成信件无法送出       另外二个  broken_sasl_auth_clients = yes   #client   smtp_sasl_auth_enable = yes     这二个支持client端的服务  主要是针对客户端的连结软件个区隔 例如 outlook 大概很少人用了吧   所以 broken_sasl_auth_clients 就当没看到吧^ ^|||    接下来我们可以试着执行postfix 确认  #    # postfix check  #postfix reload    如果没有错误讯息您的设定 就算成功了!  接下来我们设定sasl的认证项目    修改 /usr/lib/sasl/nf   # vi /usr/lib/sasl/nf    看起来像这样:  pwcheck_method:sasldb      这是指定密码认证方式   (主要分成四种 pam shadow sasldb pwcheck)     这一行设定完成后 这样您的发信服务器的   基本认证功能大至上就完了了哦   附注:   密码认证方式    pam :   使用系统的pam来做认证     以下为旧的方式:(参考一下就好了)    预设的pam 认证方式   /usr/lib/sasl/nf   #%PAM   auth required /lib/security/pam_stack so service=system auth   account required /lib/security/pam_stack so service=system auth   也即和/etc/pam d/pop文件的内容是一致的     修改/etc/shadow文件权限   因为PAM最终要去读取/etc/shadow文件的内容来进行用户认证 但是/etc/shadow文件   权限是设置为只有root用户可以读写 而我们的postfix是运行在postfix用户权限之下 所以我们要合理的设置/etc/shadow文件权限 以便让pam可以读取其内容   执行以下命令 让root组也可以读取shadow   方式 : 把postfix加入root群组   # chmod /etc/shadow   # usermod G root postfix   方式 : 给他设     目前pam已经交由saslauthd来处理所以大至上不需要再改成   注意: pam 认证不支持 CRAM MD 只支持 LOGIN DIGEST MD PLAIN  这大概是pam本身的限制 !       shadow:   使用系统的影子文件来进行认证   因为要读取/etc/shadow档案(影子档) 就必须要可以读取   而档限就必须要修改 建议修改为      pwcheck:   pwcheck 其实是和shadow认证是相同的   都是要读取影子档shadow 但是pwcheck的想法   不需要去修改影子档shadow 的权限 想法是:   在开机时就把影子文件中密码读出 所以您就必须在开机的设定中加入一行   #vi /etc/rc local    在最后加上这一行   /usr/sbin/pwcheck  这样您就不需要修改影子档的权限了      sasldb:   使用sasl资料库存放使用者帐号     一般建议使用 sasldb来设定   接下来我们来讨论如何存取sasldb的数据库   在安装好您的cyrus sasl之后 程序提供了二个语法      sasldblistusers (列出sasl使用者及密码设定)    saslpasswd (设定使用者密码)   小弟不针对语法进行说明 只进行实例操作   请自行参照man     我们先试着设定一个帐号   新增语法   #saslpasswd a smtpd c [帐号]   新增一个帐号为test   #saslpasswd a smtpd c test   Password:[输入密码 test]   Again (for verification): [再输入一次 密码 test]       这样就完成了一个新增使用者的动作了   帐号为 : test   密码为 : test     再来我们试着用 sasldblistusers 查看使用者是否有新增     #sasldblistusers   user: test realm: php idv mech: PLAIN   user: test realm: php idv mech: CRAM MD   user: test realm: php idv mech: DIGEST MD     列出了三个都是 test 帐号 这三个是密码格式   为什么有三个呢 ? 这要看您所安装的plugin而定   libsasl plug crammd mdk i rpm   libsasl plug digestmd mdk i rpm   libsasl plug plain mdk i rpm   * Mandrake 之后的变革  重点来了!!!!!!  我想大家一直很不解的是从前 玩到这里重启postfix就会运作了为什么 之后就不行了呢!  不管如何认证都不会通过!    在 之后的Postfix 做了一个改变在 master cf 他使用了 sofare chroot 来增加系统的安全性!  刻意的让 mail server在运作时和档案系统分开 使用saslauthd来中介取得认证!  而造成我们所设定的sasldb无法存在正确路径!  解决方法:   关闭sofare chroot   把相关档案copy到目录中    我想二个方法各有益毙  解法一: 修改 /etc/postfix/master cf 关闭sofare chroot  范例如下:    # ==========================================================================  # service type private unpriv chroot wakeup maxproc mand + args  # (yes) (yes) (yes) (never) ( )  # ==========================================================================  smtp inet n n smtpd   #smtps  inet n n smtpd  #  o smtpd_tls_wrappermode=yes o smtpd_sasl_auth_enable=yes  #submission inet n n smtpd  #  o smtpd_enforce_tls=yes o smtpd_sasl_auth_enable=yes  #  inet n y qmqpd  pickup fifo n y pickup  cleanup unix n y cleanup  #qmgr  fifo n y qmgr  qmgr fifo n y nqmgr  #tlsmgr  fifo y tlsmgr  rewrite unix y trivial rewrite  bounce unix y bounce  defer unix y bounce  flush unix n y ? flush  smtp unix y smtp  showq unix n y showq  error unix y error  local  unix n n local  virtual unix n y virtual  lmtp unix y lmtp  #  # Interfaces to non Postfix sofare Be sure to examin cha138/Article/program/Oracle/201311/18018

相关参考

知识大全 为什么Postfix提示“biff

为什么Postfix提示“biff  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  postfix

知识大全 有什么适合postfix的日志分析工具

  JamesSSeymour用perl写了一个叫pflogsummpl的脚本可以到这里下载    然后可以在crontab中添加下面的内容  ***/path/to/pflogsummpldtoda

知识大全 postfix出现错误“fatal: open database /etc/aliases.db”

  有两个可能  文件存在但是格式不对导致的原因可能是aliasesdb文件是由BerkeleyDB版本创建的但是你现在使用的是版本或者或者这个文件是用btree格式建立的但是postfix能识别的格

知识大全 高级生命支持中 循环支持包括哪些内容

高级生命支持中循环支持包括哪些内容在高级生命支持中,其实循环支持最主要部分依然和基础生命支持一样的胸外按压,也有可能在部分医院使用心肺复苏机,另外开放静脉后加上各种血管活性药物道支持,并且依据心电监护

全口假牙靠什么支持

全口假牙的支持方式有粘膜支持式、种植与粘膜共同支持式、种植支持式三种。目前最常用的为粘膜支持式全口义齿,其主要由全口义齿基托覆盖、部分的粘膜、粘膜下组织及骨组织产生支持力。临床上由于各部分的组织差异,

支持装置的作用及组成有那些?

  支持装置用以支持接触悬挂,并将其负荷传给支柱或其它建筑物。根据接触网所在区间、站场和大型建筑物而有所不同。支持装置包括腕臂、水平拉杆、悬式绝缘子串,棒式绝缘子及其它建筑物的特殊支持设备。

支持装置的作用及组成有那些?

  支持装置用以支持接触悬挂,并将其负荷传给支柱或其它建筑物。根据接触网所在区间、站场和大型建筑物而有所不同。支持装置包括腕臂、水平拉杆、悬式绝缘子串,棒式绝缘子及其它建筑物的特殊支持设备。

支持装置的作用是什么?

  支持装置的作用是用以支持接触悬挂,并将其负荷传给支柱或其它悬挂。

支持装置的作用是什么?

  支持装置的作用是用以支持接触悬挂,并将其负荷传给支柱或其它悬挂。

什么是支持装置?

  所谓接触网结构中的支持装置,是指用以支持悬挂并将其负荷传给支柱或其它建筑物的结构。