好久没写博客了,这2周都在搞Exchange安全相关的东西,终于搞完了,算告一段落吧,打算拿出来和大家分享一下。


很多公司Exchange部署 完成后都是通过TMG,或者直接把CAS发布到公网上,让用户在家或者非公司办公网络 登录邮箱进行邮件收发的。类似这种的文章大把大把,我就不多说了但是这种场景会存在安全风险


无法防止暴力破解


虽然AD账号有锁定机制,但是当有人暴力破解Exchange时,让你的账号全锁了,这个也是影响业务的


所以对于发布到公网的应用我们需要谨慎,接下来我分享一下我的方案,当然解决这个问题的方案不少,仅供参考


1.针对OWA,标准的WebSite,爆破一般人都能搞,都不用黑,针对发布到公网的OWA方案如下:


1.双因子认证,我这边用的是ADUser  ADPassword+动态口令的方式,意思是用户登录OWA是输入邮箱账号,密码输入邮箱密码+6位的动态口令


动态口令用的google authenticator ,讲白了这就是一套C/S的算法,可以接入任何用作身份验证的应用,因为我们的***用了他,所以OWA延续使用,具体怎么部署,网上大把


接下来就是反向代理的事情了,我用的是Nginx,不用多说,Nginx还是挺强大的。需要对Nginx做二次开发,要么C,要么Lua,C我差点意思,但性能好,所以只能Lua了,那开始吧。


产品用的:openresty,为啥是他,因为他方便点,原生Nginx单独装一个lua的module也可以,安装openresty,去官网下载安装文档安装。


完事后,用户登录的时候需要截取Post请求,把动态验证码解出来,然后Post到Google的身份验证做验证,返回True的时候,再把报文封回去,直接转发,