EDRN DMCC密码验证的中继服务器
项目描述
🏃 JPL EDRN DMCC密码中继
此软件包提供了一个简单、安全的服务器,用于监听早期检测研究网络数据管理协调中心所谓的“安全网站”的用户名和密码。它使用中心的古老SOAP服务来检查这些密码,然后返回一个单字节响应,指示密码是否有效。
它旨在与dmccauth一起使用,这是一个用于OpenLDAP独立slapd服务器的overlay。OpenLDAP overlays必须用C编写,并使用动态加载的对象,但C的SOAP实现仅作为静态API提供。
通过在OpenLDAP和dmccauth overlay旁边运行此软件,我们可以克服这个问题。
💽 安装
此软件需要Python 3。建议使用Python 3.9或更高版本,但不推荐使用Python 4。通常,您将创建一个虚拟环境,并使用以下命令安装软件:
python3 -m venv password-relay
cd password-relay
bin/pip install --upgrade --quiet setuptools wheel pip
bin/pip install password-relay==X.Y.Z
其中 X.Y.Z
是您想要的版本。要升级现有安装,请添加 --upgrade
。然后您可以启动服务器
bin/dmcc-passwordrelay
默认情况下,服务器在 /tmp/dmcc.socket
创建其监听套接字。您可以使用 --socket
来自定义它。尝试 --help
来查看所有选项。
🩺 测试
您可以通过在另一个会话中运行以下命令来查看它是否运行正确
printf 'DN\nPASSWORD\n' | nc -U /tmp/dmcc.socket | more
将 DN
替换为 EDRN "安全站点" 账户的 LDAP 区分名称,例如 uid=joeschmoe,dc=edrn,dc=jpl,dc=nasa,dc=gov
和 PASSWORD
以及必要的套接字路径。您将看到一个 1
表示有效的密码,或者 0
表示无效。
👉 注意:您的系统上没有 nc -U
?尝试安装 netcat-openbsd
;或者使用 socat
代替。
😈 守护进程化
该软件在前台运行,应始终运行。然而,它不支持自动重启。为此,建议您在 Supervisord 下运行它
bin/pip install supervisor
然后创建一个类似于以下内容的 supervisord.conf
[supervisord]
logfile = %(here)s/var/log/supervisor.log
logfile_backups = 3
loglevel = debug
pidfile = %(here)s/var/supervisor.pid
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[unix_http_server]
file = %(here)s/var/sockets/supervisor
[supervisorctl]
serverurl = unix://%(here)s/var/sockets/supervisor
[program:passwordrelay]
command = %(here)s/.venv/bin/dmcc-passwordrelay --socket %(here)s/var/sockets/dmcc
autorestart = true
redirect_stderr = true
stdout_logfile = %(here)s/var/log/relay.log
🔧 开发
要本地开发此软件,请尝试以下操作
git clone https://github.com/EDRN/jpl.edrn.dmcc.passwordrelay
cd jpl.edrn.dmcc.passwordrelay
python3 -m venv venv
venv/bin/pip install --upgrade --silet setuptools build dist wheel
vnev/bin/pip install --editable .
👥 贡献
您可以从查看 开放问题、分叉项目并提交拉取请求开始。您也可以通过 电子邮件 提出建议。
🔢 版本控制
我们使用 SemVer 哲学来为该软件进行版本控制。有关可用版本,请参阅此项目上发布的 发布。
👩🎨 创作者
主要开发者是
📃 许可
该项目受 Apache 版本 2 许可证的许可。
项目详细信息
下载文件
下载适合您平台的文件。如果您不确定要选择哪一个,请了解更多关于 安装包 的信息。
源代码分发
构建分发
散列 对于 jpl.edrn.dmcc.passwordrelay-0.0.3-py3-none-any.whl
算法 | 散列摘要 | |
---|---|---|
SHA256 | e955e950e824dd8606c134b1cb331ddf6b39e93f8854bc23aed4aa4a0912e6d0 |
|
MD5 | 41a502aaa292073f2f0f5e54fb09528d |
|
BLAKE2b-256 | a62b0ebbdd99e16c3db42503629ca0798ec6e016f566c6ccfc0b5a23876e1f2d |