可配置 ftp 代理,具有 LDAP 身份验证

可配置 ftp 代理,具有 LDAP 身份验证

我正在寻找以下情况的解决方案。

我有很多 ftp 帐户(很多服务器)和很多用户。他们需要访问这些服务器。我不想把每个服务器的密码都告诉每个用户。

我的想法是设置带有 LDAP 身份验证的 ftp 代理,这样每个用户都必须使用自己的密码。为此,ftp 代理必须具有 ftp 帐户列表。

Ftp-proxy 支持 LDAP 但我不知道是否有办法实现帐户列表。

答案1

您可能会考虑使用mod_proxyProFTPD 的模块。您可以将其配置为反向 FTP 代理,由代理对用户进行身份验证,使用一组不同的凭证登录到后端服务器。

例如:

# Authenticate via LDAP
<IfModule mod_ldap.c>
  # Add your mod_ldap configuration here
  ...

  AuthOrder mod_ldap.c
</IfModule>

<IfModule mod_proxy.c>
  ProxyEngine on
  ProxyTables /var/ftpd/proxy/

  ProxyRole reverse
  ProxyReverseServers ftp://server1:[email protected] ftp://server2:[email protected]

  # Tell mod_proxy to authenticate users locally (e.g. via mod_ldap)
  ProxyOptions UseReverseProxyAuth
</IfModule>

我们使用 ProFTPDmod_ldap进行 LDAP 身份验证,并告知mod_proxy在本地对用户进行身份验证(而不是让选定的后端服务器对用户进行身份验证)。最后,请注意,该ProxyReverseServers指令的后端服务器 URL 使用包含用户名/密码的 URL 语法。该语法用于配置/覆盖mod_proxy向后端服务器进行身份验证时使用的用户名/密码。

这意味着您的用户(“前端”客户端)将使用其 LDAP 用户名/密码正常进行身份验证mod_proxy。代理在连接到您的服务器时,使用您不一定想与用户共享的用户名/密码。

相关内容