前言
在企业 IT 运维工作中,密码问题往往占据了大量工单:
密码过期无法登录
忘记密码需要重置
账户被锁定
VPN 无法登录
文件服务器挂载失败
尤其是在 VFX、动画、渲染农场等行业中,艺术家和制作人员经常需要同时访问:
Windows AD 域
SMB 文件共享
Linux 工作站
渲染管理平台
一旦密码出现问题,往往会影响整个制作流程。
为了降低 IT 运维压力,本文介绍如何使用开源项目 LDAP Tool Box Self Service Password(简称 SSP)搭建企业级自助密码管理平台。
部署环境:
什么是 Self Service Password
Self Service Password 是一套开源 LDAP 自助密码管理系统。
主要功能:
修改密码
忘记密码重置
解锁账户
密码到期提醒
邮件验证
安全问题验证
Active Directory支持
OpenLDAP支持
FreeIPA支持
用户无需联系 IT 即可完成大部分密码相关操作。
系统架构
Internet / VPN
│
▼
Nginx HTTPS
│
▼
Self Service Password
│
▼
Active Directory
│
┌──────────────┼──────────────┐
▼ ▼ ▼
Windows Linux macOS
部署前准备
假设:
域名:
ssp.company.com
AD服务器:
10.10.10.10
域名:
company.local
Service Account:
svc_ldap
OU:
OU=Users,DC=company,DC=local
服务器要求:
CPU:2 Core
内存:2GB
硬盘:20GB
安装 Docker
更新系统:
sudo dnf update -y
安装 Docker:
curl -fsSL https://get.docker.com | bash
启动服务:
systemctl enable docker
systemctl start docker
验证:
docker version
创建工作目录
mkdir -p /opt/ssp
cd /opt/ssp
创建配置目录:
mkdir conf
编写 Docker Compose 文件
创建:
vim docker-compose.yml
内容:
version: "3"
services:
ssp:
image: ltbproject/self-service-password:latest
container_name: ssp
restart: always
ports:
- "8080:80"
volumes:
- ./conf:/var/www/conf
启动:
docker compose up -d
查看状态:
docker ps
配置 Active Directory
进入配置目录:
cd /opt/ssp/conf
复制默认配置:
docker cp ssp:/var/www/conf/config.inc.local.php .
编辑:
vim config.inc.local.php
修改以下内容:
LDAP服务器:
$ldap_url = "ldap://10.10.10.10";
Base DN:
$ldap_base = "DC=company,DC=local";
Service Account:
$ldap_binddn = "CN=svc_ldap,OU=Service,DC=company,DC=local";
密码:
$ldap_bindpw = "StrongPassword";
用户搜索:
$ldap_login_attribute = "sAMAccountName";
用户过滤器:
$ldap_filter = "(&(objectClass=user)(sAMAccountName={login}))";
配置密码修改策略
启用密码复杂度检查:
$pwd_min_length = 12;
开启大写要求:
$pwd_uppercase = 1;
开启小写要求:
$pwd_lowercase = 1;
开启数字要求:
$pwd_digit = 1;
开启特殊字符:
$pwd_special = 1;
配置邮箱找回密码
企业邮箱:
$mail_from = "it@company.com";
$mail_from_name = "IT Support";
SMTP服务器:
$mail_smtp_host = "smtp.company.com";
$mail_smtp_user = "it@company.com";
$mail_smtp_pass = "SMTP_PASSWORD";
$mail_smtp_port = 587;
$mail_smtp_secure = "tls";
配置 HTTPS
安装 Nginx:
dnf install nginx -y
创建配置:
vim /etc/nginx/conf.d/ssp.conf
内容:
server {
listen 80;
server_name ssp.company.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
启动:
systemctl enable nginx
systemctl restart nginx
配置 SSL
安装 Certbot:
dnf install certbot python3-certbot-nginx -y
申请证书:
certbot --nginx -d ssp.company.com
自动续期测试:
certbot renew --dry-run
安全加固建议
1. 不直接开放公网
推荐:
VPN
↓
SSP
或者:
WAF
↓
SSP
2. 使用专用 LDAP 账号
不要使用:
Domain Admin
建议:
svc_ldap
仅赋予:
查询用户
修改密码
权限即可。
3. 限制访问来源
Nginx:
allow 10.0.0.0/8;
deny all;
4. 开启日志审计
建议记录:
修改密码
解锁账户
重置密码
登录失败
日志统一接入:
ELK
Graylog
Splunk
VFX 行业实际应用案例
某动画制作公司拥有:
500+ 艺术家
600TB项目数据
Active Directory域环境
Linux渲染农场
以前:
每月密码相关工单:
约80~120个
部署 SSP 后:
每月密码相关工单:
不足10个
IT 运维压力大幅下降。
总结
LDAP Tool Box Self Service Password 是一套成熟且稳定的企业级密码自助管理平台。
对于拥有:
Active Directory
OpenLDAP
FreeIPA
Samba AD
的企业来说,都可以快速部署。
其优势包括:
开源免费
Docker部署简单
支持AD
支持找回密码
支持账户解锁
支持HTTPS
支持企业邮箱
对于运维团队而言,它不仅能够提升用户体验,也能显著减少密码相关工单,是一项投入小、收益高的基础设施建设项目。