中小公司统一用户认证方案
最近刚入职一家创业公司,因为账号问题各种发愁。以前所在的公司在这方面都很成熟,暂未遇到此类困扰。现将我在工作所遇到的问题分享出来,给大家借鉴与参考。
现象:
- 开发账号混乱,GitLab、Jira、Confluence各一套账号,那叫一个乱
- 两个机房 VPN 两套,开发、运维、测试各种切换
- WIFI 没有对用户做认证,只是统一密码连接
- 内部各种运营平台,各种密码
对策:
- 公司员工各种开发应用账号统一用 LDAP 认证
- VPN 账号用 LDAP 认证,机房专线打通(网络组同学做)
- WIFI 这边用的是 LDAP + FreeRADIUS + Cisco WLC
- 为内部运营平台登陆提供LDAP API
帐号安全:(一个帐号虽然方便,但同时也又不安全)
- 定期账号密码修改,根据 LDAP 存储的员工邮件信息,邮件提醒
- 提供统一的修改密码功能、及密码找回功能
- 密码复杂度
开源解决库:
- 帐号密码安全这块,用Self Service Password,可以去 http://ltb-project.org/ 下载,上面还有一堆很好用的库
- 监控,去开源的 http://ltb-project.org/,可以找到 Nagios 插件
- 内部运营登陆用的接口 Python ldap 模块,用 Flask 封装,提供 HTTP 的接口,方便运营平台开发调用
- 批量帐号添加,用 Python 写成脚本,生成 ldif 文件,导入 LDAP master
- LDAP,用的是 openldap-servers-2.4.40-8.el7.x86_64
- 操作系统 Centos 7.1
- WIFI 认证这块 用到 FreeRADIUS
目前简单架构:
- Ldap Master : ldap1.51reboot.com(提供所有的更新修改)
- Ldap Slave:ldap2.51reboot.com(提供给各种应用帐号认证)
- Office Ldap:ldap3.51reboot.com(提供wifi,VPN用)
其中没有用的LB,如果后续需要直接添加 LVS,或智能 DNS 解析一下