标签: sasl

从网络外部发送时,Postfix + SASL =“中继访问被拒绝”

我在 /etc/postfix/main.cf 中有:

smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
Run Code Online (Sandbox Code Playgroud)

并且 SASL 似乎正在工作:

$ testsaslauthd -u yang -p ... -f /var/spool/postfix/var/run/saslauthd/mux -s smtpd
0: OK "Success."
Run Code Online (Sandbox Code Playgroud)

但是从网络外部连接时,我收到“中继访问被拒绝”(例如 localhost 仍然可以正常工作):

$ telnet blah.com 25
auth plain ...
235 2.7.0 Authentication successful
mail from:<yang@blah.com>
250 2.1.0 Ok
rcpt to:<yang@dest.com>
554 5.7.1 <yang@dest.com>: Relay access denied
Run Code Online (Sandbox Code Playgroud)

日志:

Oct 18 21:10:19 blah postfix/smtpd[13882]: connect from unknown[x.x.x.x]
Oct 18 21:10:19 blah postfix/smtpd[13882]: setting up TLS connection from unknown[x.x.x.x]
Oct 18 21:10:19 blah postfix/smtpd[13882]: Anonymous …
Run Code Online (Sandbox Code Playgroud)

smtp postfix authentication smtp-auth sasl

5
推荐指数
1
解决办法
1万
查看次数

Subversion 1.6 + SASL:仅适用于纯文本“userPassword”?

我正在尝试svnserve在我的 Slackware 13.1 服务器上使用 SASL 支持进行设置,经过一些试验和错误后,我能够使其与下面列出的配置一起使用:

配置文件

[general]
anon-access = read
auth-access = write
realm = myrepo

[sasl]
use-sasl = true
min-encryption = 128
max-encryption = 256
Run Code Online (Sandbox Code Playgroud)

/etc/sasl2/svn.conf

pwcheck_method: auxprop
auxprop_plugin: sasldb
sasldb_path: /etc/sasl2/my_sasldb
mech_list: DIGEST-MD5
Run Code Online (Sandbox Code Playgroud)

sasldb 用户

$ sasldblistusers2 -f /etc/sasl2/my_sasldb
test@myrepo: cmusaslsecretOTP
test@myrepo: userPassword
Run Code Online (Sandbox Code Playgroud)

您会注意到,输出sasldblistusers2显示我的测试用户具有加密的cmusaslsecretOTP密码和纯文本 userPassword密码。即,如果我要运行,strings /etc/sasl2/my_sasldb我会以明文形式看到测试用户的密码。这两个密码条目是使用以下 subversion book 推荐命令创建的:

saslpasswd2 -c -f /etc/sasl2/my_sasldb -u myrepo test
Run Code Online (Sandbox Code Playgroud)

阅读后,man saslpasswd2我看到以下选项:

-n 不要为用户设置明文 userPassword …

encryption svn sasl

5
推荐指数
1
解决办法
3229
查看次数

SASL PLAIN 身份验证失败:身份验证需要另一个步骤

我有一台主机 (rhea),我在其中安装了 postfix 来中继来自我的家庭服务器 (tronics24) 的电子邮件,该服务器位于 DSL 连接上。

我已经生成了自签名证书:(在 rhea 上)

touch smtpd.key
chmod 600 smtpd.key
openssl genrsa 1024 > smtpd.key
openssl req -new -key smtpd.key -x509 -days 3650 -out smtpd.crt
openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650
sudo mv smtpd.key /etc/ssl/private/
sudo mv smtpd.crt /etc/ssl/certs/
sudo mv cakey.pem /etc/ssl/private/
sudo mv cacert.pem /etc/ssl/certs/
Run Code Online (Sandbox Code Playgroud)

我已经测试了证书:

root@rhea:~# openssl s_client -showcerts -cert /etc/ssl/certs/smtpd.crt -key /etc/ssl/private/smtpd.key -starttls smtp -CAfile /etc/ssl/certs/cacert.pem -connect localhost:25
Run Code Online (Sandbox Code Playgroud)

postfix 回复到哪个 (/var/log/mail.log):

Apr 26 02:44:36 …
Run Code Online (Sandbox Code Playgroud)

postfix tls sasl

5
推荐指数
1
解决办法
2万
查看次数

如何通过 LDAP 向活动目录调试 SASL 身份验证

我正在尝试配置在 Centos 6.5 上运行的 SASL,以允许对企业 Active Directory 服务器进行身份验证。最终目标是验证对该服务器上运行的某些 subversion 存储库的访问权限,但在此阶段,我只是尝试让 saslauthd 进行身份验证,并使用 testsaslauthd 对其进行测试。

每次身份验证都失败,日志中显示以下内容:

saslauthd[20843] :do_auth         : auth failure: [user=MYUSER] [service=svn] [realm=MYREALM] [mech=ldap] [reason=Unknown]
saslauthd[20843] :do_request      : response: NO
Run Code Online (Sandbox Code Playgroud)

这是我的 /etc/saslauthd.conf:

ldap_auth_method: bind
ldap_servers: ldaps://ldap.ad.mycompany.com:3269/
ldap_bind_dn: MYBINDDN
ldap_password: xxxxxxxxxx
ldap_search_base: DC=mycompany,DC=xx
ldap_filter: (&(cn=%u)(objectClass=person))
ldap_referrals: yes
log_level: 10
Run Code Online (Sandbox Code Playgroud)

请注意,我知道 ldap 服务器 URI、绑定 DN、密码、搜索库和过滤器是正确的,因为我有一个 perl 脚本,它使用这些来为网站执行身份验证,并且它工作正常。perl 脚本使用 Net::LDAP,绑定到 AD,使用搜索库和过滤器搜索用户,然后尝试使用用户的 DN 和密码进行绑定。据我了解,这正是 SASL 应该按照我的配置方式尝试做的事情。

我的第一个观察结果是,尽管将 log_level 设置为 10,但我只收到一行告诉我它因未知原因失败。我正在使用 -d(调试)选项从 shell 启动 saslauthd。我还能做些什么来获得更多的调试输出?

有什么方法可以记录 LDAP 交互?

最后,有人能看出我的配置有什么问题吗?也许一些 AD 怪癖需要在 SASL 配置中进行特殊设置?

active-directory ldap saslauthd sasl

5
推荐指数
1
解决办法
2万
查看次数

在 ldap-2.4 中启用 TLS 后无法使用 EXTERNAL 身份验证

我使用以下 LDIF 文件来激活对 LDAP 服务器的 TLS 支持:

dn: cn=config
changetype: modify
add: olcTLSCipherSuite
olcTLSCipherSuite: NORMAL 
-
add: olcTLSCRLCheck
olcTLSCRLCheck: none
-
add: olcTLSVerifyClient
olcTLSVerifyClient: never
-
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ssl/certs/CA.crt
-
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/certs/server.pem
-
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ssl/private/key.pem
Run Code Online (Sandbox Code Playgroud)

并使用以下 LDIF 强制客户端连接使用 TLS:

dn: cn=config
changetype: modify
add: olcSecurity
olcSecurity: tls=1
Run Code Online (Sandbox Code Playgroud)

在此之后,我不能再使用“-Y EXTERNAL”来读取或修改配置架构。例如,如果我运行,我会收到 SASL 错误:

$ sudo ldapsearch -Q -Y EXTERNAL -H ldapi:/// -b "" -LLL -s base -Z supportedSASLMechanisms
ldap_sasl_interactive_bind_s: Authentication method not supported (7)
    additional info: SASL(-4): …
Run Code Online (Sandbox Code Playgroud)

openldap sasl

5
推荐指数
1
解决办法
8322
查看次数

postfix SASL 身份验证失败 - 内部身份验证错误

我最近不得不将 SMTP 中继从 Cablevision 更改为 Verizon。Verizon 阻止端口 25,但他们将通过端口 465 接受 SSL(根据)。我使用thisthisstunnnel转发postfix的数据转发到端口 465。

不幸的是,我的邮件没有成功。我在 mail.log 中收到以下错误:

Sep  8 15:16:25 DServ postfix/qmgr[6178]: A9EF9480429: from=<mark.kasson@docsmit.com>, size=545, nrcpt=1 (queue active)
Sep  8 15:16:25 DServ postfix/smtp[6777]: A9EF9480429: to=<markkasson@gmail.com>, relay=127.0.0.1[127.0.0.1]:12345, delay=231428, delays=231428/0.01/0.4/0, dsn=4.7.0, status=deferred (SASL authentication failed; server 127.0.0.1[127.0.0.1] said: 500 5.7.0 Unknown AUTH error -1 (Internal authentication error).)
Run Code Online (Sandbox Code Playgroud)

Dovecot 发出消息,但是,它们似乎都不是错误消息。我还看到了以下内容:

Sep  8 17:26:26 DServ postfix/error[7112]: D0B944801A9: to=<mkasson@sigmgt.com>, relay=none, delay=197679, delays=197679/0.01/0/0.03, dsn=4.7.0, status=deferred (delivery temporarily suspended: …
Run Code Online (Sandbox Code Playgroud)

postfix sasl

5
推荐指数
1
解决办法
4万
查看次数

Dovecot 说:“请求了 CRAM-MD5 方案,但我们只有 CRYPT”,但 CRAM-MD5 可用

从 Fedora Core 16 升级到 Fedora Core 21 后,新的 Dovecot 安装无法正确进行身份验证,而且根本不清楚原因。

我们有 50 多个电子邮件帐户由该服务器提供服务,因此我希望让以前的方案继续为人们服务。

多年来我们一直非常成功地使用 CRAM-MD5。我移动了配置,根据新版本(2.2.15-3)的需要进行了更新,并尝试连接。日志说:

Requested CRAM-MD5 scheme, but we have only CRYPT
Run Code Online (Sandbox Code Playgroud)

然而,当我按照 Dovecot 网站上的测试指南(可以在此处找到http://wiki2.dovecot.org/TestInstallation)时,测试命令显示 CRAM-MD5 确实可用:

# telnet localhost 143
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE
 IDLE STARTTLS AUTH=CRAM-MD5 AUTH=DIGEST-MD5 AUTH=PLAIN AUTH=LOGIN]
 Dovecot ready.
Run Code Online (Sandbox Code Playgroud)

可以看出,CRAM-MD5 是列出的第一个支持的授权类型。

此外,鸽舍参数测试程序也没有显示任何问题:

# dovecot -n
# 2.2.15: /etc/dovecot/dovecot.conf
# …
Run Code Online (Sandbox Code Playgroud)

fedora dovecot sasl

5
推荐指数
1
解决办法
3304
查看次数

容器上的低熵

我在想我的熵水平可能很低?

$ cat /proc/sys/kernel/random/entropy_avail
Run Code Online (Sandbox Code Playgroud)

我平均在 132-178 左右。池大小默认为 4096(顺便说一下,这是虚拟器上的容器)。

我也跑了:

$ cat /dev/urandom | rngtest -c 1000
Run Code Online (Sandbox Code Playgroud)

并得到:

rngtest: starting FIPS tests...
rngtest: bits received from input: 20000032
rngtest: FIPS 140-2 successes: 999
rngtest: FIPS 140-2 failures: 1
rngtest: FIPS 140-2(2001-10-10) Monobit: 0
rngtest: FIPS 140-2(2001-10-10) Poker: 0
rngtest: FIPS 140-2(2001-10-10) Runs: 1
rngtest: FIPS 140-2(2001-10-10) Long run: 0
rngtest: FIPS 140-2(2001-10-10) Continuous run: 0
rngtest: input channel speed: (min=26.272; avg=628.845; max=19073.486)Mibits/s
rngtest: FIPS tests speed: (min=73.928; avg=108.740; max=130.640)Mibits/s
rngtest: Program …
Run Code Online (Sandbox Code Playgroud)

centos saslauthd sasl centos6 entropy-pool

5
推荐指数
0
解决办法
429
查看次数

名称不匹配的 HAPROXY 后面的 LDAP 的 SASL 身份验证

我的 kerberos 域在 MYEXAMPLE.ORG 中,但服务器位于 dmz-int.example.org dns 区域。

LDAP 服务器是 b1.dmz-int.example.org;它的密钥表包括:

udo ktutil -k /etc/krb5.keytab 列表
/etc/krb5.keytab:

Vno 类型主要别名
  7 arcfour-hmac-md5 b1$@MYEXAMPLE.ORG
  7 aes128-cts-hmac-sha1-96 b1$@MYEXAMPLE.ORG
  7 aes256-cts-hmac-sha1-96 b1$@MYEXAMPLE.ORG
  7 arcfour-hmac-md5 主机/b1.dmz-int.example.org@MYEXAMPLE.ORG
  7 aes128-cts-hmac-sha1-96 主机/b1.dmz-int.example.org@MYEXAMPLE.ORG
  7 aes256-cts-hmac-sha1-96 主机/b1.dmz-int.example.org@MYEXAMPLE.ORG
  7 arcfour-hmac-md5 ldap/b1.dmz-int.example.org@MYEXAMPLE.ORG
  7 aes128-cts-hmac-sha1-96 ldap/b1.dmz-int.example.org@MYEXAMPLE.ORG
  7 aes256-cts-hmac-sha1-96 ldap/b1.dmz-int.example.org@MYEXAMPLE.ORG
  7 arcfour-hmac-md5 ldap/ldap.dmz-int.example.org@MYEXAMPLE.ORG
  7 aes128-cts-hmac-sha1-96 ldap/ldap.dmz-int.example.org@MYEXAMPLE.ORG
  7 aes256-cts-hmac-sha1-96 ldap/ldap.dmz-int.example.org@MYEXAMPLE.ORG
  7 arcfour-hmac-md5 ldap/ldap.unimore.it@MYEXAMPLE.ORG
  7 aes128-cts-hmac-sha1-96 ldap/ldap.unimore.it@MYEXAMPLE.ORG
  7 aes256-cts-hmac-sha1-96 ldap/ldap.unimore.it@MYEXAMPLE.ORG

ldap2.myexample.orgCNAMEb1.dmz-int.example.org

现在我可以连接GSSAPI到 LDAP 服务器:

$ kinit
$ ldapsearch -ZZ -h …
Run Code Online (Sandbox Code Playgroud)

openldap haproxy sasl

5
推荐指数
1
解决办法
2507
查看次数

警告:/usr/lib/postfix/smtpd:命令启动错误——节流

今天我从这里设置了一个带有德语教程的邮件服务器:

现在我已经完成了,需要帮助解决我的问题。Sry 英语不好 - 我希望我的信息能帮助你帮助我 ^^

邮件日志:

11 月 18 日 16:30:00 srv01 postfix/smtpd[23275]:从 localhost[::1] 连接
11 月 18 日 16:30:00 srv01 postfix/smtpd[23275]:警告:SASL:连接到私有/auth_dovecot 失败:没有这样的文件或目录
11 月 18 日 16:30:00 srv01 postfix/smtpd[23275]:致命:没有 SASL 身份验证机制
11 月 18 日 16:30:01 srv01 postfix/master[15201]:警告:进程 /usr/lib/postfix/smtpd pid 23275 退出状态 1
11 月 18 日 16:30:01 srv01 postfix/master[15201]:警告:/usr/lib/postfix/smtpd:命令启动错误——节流

邮件错误:

11 月 18 日 16:30:00 srv01 postfix/smtpd[23275]:致命:没有 SASL 身份验证机制
11 月 18 日 16:39:07 srv01 postfix/postmap[23556]:致命:打开 /etc/postfix/smtp_auth:没有那个文件或目录

postconf -n:

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = …

postfix dovecot sasl apache2

5
推荐指数
1
解决办法
2万
查看次数