跳转到主要内容

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=govPASSWORD 以及必要的套接字路径。您将看到一个 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.tar.gz (12.6 kB 查看散列)

上传时间 源代码

构建分发

jpl.edrn.dmcc.passwordrelay-0.0.3-py3-none-any.whl (12.9 kB 查看散列)

上传时间 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面