Exchange_proxy Exchange安全代理开源项目

我要开发同款
匿名用户2019年05月05日
110阅读
开发技术GO语言
所属分类Google Go、安全相关、管理和监控
授权协议GPLv3

作品详情

Exchange_proxy是由go语言开发的Exchange安全代理,可以将内网的Exchange服务器的https服务安全地发布出去,支持的功能如下:

WEB端增加OTP二次认证手机端增加设备激活绑定的功能屏蔽了PC端的EWS协议

在使用该系统前,需要确保有以下基础设施的接口,并完成与代理的对接:

OTP动态口令系统短信发送接口通过员工姓名查询员工手机号的接口

以上接口准备并对接完成后,正确配置conf/app.ini即可启动代理服务器了。

[mail]hosts=mail.xiaomi.com,mail.sec.lubackend=https://10.10.10.10port=443ssl=truecert=certs/ca.crtkey=certs/ca.key;debuglevel:Fatal,Error,Warn,Info,Debugdebug_level=info[redis]host=10.10.10.20port=6379db=0password=redis_passw0rd[otp]url=https://otp_api_url/chk_otp[sms]url=https://sms_api_url/api/send_smsheader=X-SMS-Tokenkey=token[user_info]user_phone=https://hr_api_url/findMobileactive_url=https://mail.sec.lu/a/

配置文件说明:

mail节下的配置项是配置邮箱服务器本身的

hosts表示邮箱域名,支持配置多个用英文逗号分割的域名backend表示邮箱服务器地址ssl表示是否启用https,必须设为truecert和key分别表示证书的公、私钥,与nginx的证书完全兼容debug_level表示日志级别,默认为info级别

redis节表示redis服务器的配置

otp节为动态口令检测API的URL

sms节表示短信接口的API

user_info节下的user_phone表示查找手机的接口,active_url表示手机中激活连接的URL

设置好配置文件后,可通过./main直接启动代理服务器,如下图所示: 

WEB通过外网访问WEB端时,要求必须输入正确的OTP口令才可以登录,如下图所示: 

通过手机端访问时,只有通过短信中的提示激活后,方可收发邮件,如下图所示:

收到激活短信 

激活确认页面

激活成功页面 

正式上线之前,最好提供相应的管理后台并与内网的管理系统对接,邮件代理管理后台提供以下功能:

管理员可查看、修改每个用户的账户与设备状态管理员可查看每个设备的激活进程,方便故障排查用户也可自行管理自己的设备

设备数据保存在redis中,用go/python/php等语言都可以实现,我就不单独提供了。

代理系统的进程可以托管在supervisor或god中,部署了该系统后,可以解决邮件服务器手机端与WEB端的安全,目前的开源版本没有电脑端的安全代理功能,建议在PC端收发邮件时拨入VPN,或者在电脑中用BlueMail客户端收发邮件。

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论