Exchange安全代理 Exchange_proxy

GPLv3
Google Go
Windows
小米
2019-05-05
红薯

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

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

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

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

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

[mail]
hosts = mail.xiaomi.com,mail.sec.lu
backend = https://10.10.10.10
port = 443
ssl = true
cert = certs/ca.crt
key = certs/ca.key
; debug level: Fatal, Error, Warn, Info, Debug
debug_level = info

[redis]
host = 10.10.10.20
port = 6379
db = 0
password = redis_passw0rd

[otp]
url = https://otp_api_url/chk_otp

[sms]
url = http://sms_api_url/api/send_sms
header = X-SMS-Token
key = token

[user_info]
user_phone = http://hr_api_url/findMobile
active_url = https://mail.sec.lu/a/

配置文件说明:

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

    • hosts表示邮箱域名,支持配置多个用英文逗号分割的域名
    • backend表示邮箱服务器地址
    • ssl表示是否启用https,必须设为true
    • cert和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客户端收发邮件。

的码云指数为
超过 的项目
加载中

评论(0)

暂无评论

暂无资讯

暂无问答

拓展spring cloud gateway 动态路由解析及302问题

1.动态路由 需求:根据指定内网服务的ip和端口信息提供反向代理。 原内网服务是发布到外网上,通过业务逻辑在前端进行整合。后需要将这些内网服务隐藏到主服务之后。 第一版是通过自写的net...

03/26 21:25
56
0
聊聊spring cloud gateway的RemoveHopByHopHeadersFilter

## 序 本文主要研究一下spring cloud gateway的RemoveHopByHopHeadersFilter ## GatewayAutoConfiguration spring-cloud-gateway-core-2.0.0.RC1-sources.jar!/org/springframework/cloud/ga...

2018/05/30 22:45
91
0
http权威指南之六PROXIES

1、 • Explain HTTP proxies, contrasting them to web gateways and illustrating how proxies are deployed. • Show some of the ways proxies are helpful. • Describe how proxies a...

2012/12/24 11:35
28
0
How to deploy Exchange 2016 on Window Server 2012R2

Exchange architecture reference:https://docs.microsoft.com/en-us/exchange/architecture/architecture?view=exchserver-2019 https://docs.microsoft.com/en-us/exchange/plan-and-deplo...

05/29 07:57
1
0
例子:H.323到SIP的呼叫

H.323 to SIP Call In this example, a H.323 terminal calls a SIP-enabled PC through a H.323/SIP gateway. The gateway does signaling translation between the protocols but allows t...

2015/03/03 11:07
13
0
例子:H.323到SIP的呼叫

H.323 to SIP Call In this example, a H.323 terminal calls a SIP-enabled PC through a H.323/SIP gateway. The gateway does signaling translation between the protocols but allows t...

2015/03/03 11:05
25
0
聊聊jdk httpclient的connect timeout异常

序 本文主要研究一下httpclient的connect timeout异常 实例代码 @Test public void testConnectTimeout() throws IOException, InterruptedException { HttpClient client = HttpClient.new...

2018/10/02 09:32
29
0
MULE ESB webservice jms服务

一. 服务调用 1. Mule实现并提供Web Service 在Mule上开发并发布一个Web Service供客户端调用。 示例配置 <flow name="local-ws"> <core:inbound-endpoint address="http://localhost:65082/...

2016/05/17 10:39
16
2
Download aMule

aMule free download is file sharing software, stemmed from eMule. This free peer-to-peer file sharing application works with EDonkey network and the Kad Network. Features Includ...

2011/07/28 02:04
39
0
dubbo rpc

dubbo

2016/08/19 18:38
337
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部