12.6 API站库分离

在很久以前就有不少网站使用站库分离这种方式,不过实现的方式不一样,大多数的站库分离只不过是把数据库放到另外一台服务器上,然后开放数据库端口给Web服务器,Web应用直接通过数据库密码操作数据,这样的方式只能优化服务器的效率,对于安全性的提高并没有什么帮助,笔者这里说的站库分离是采用API的方式调用数据,大概的原理如图12-8所示。

图 12-8

如果业务比较复杂,可以单独跑一台API服务器,数据库服务器配置只允许API服务器访问,流程如图12-9所示。

图 12-9

通过API实现站库分离的好处在于,攻击者即使拿到了Web服务器,也无法在短时间内将全部数据拖走,只要我们建立API接口监控,设置一个阈值,遇到监控接口突然被频繁调用的情况,则说明可能存在刷库行为,这也起到一种入侵检测的作用,当然这一切的前提是API服务器的安全要做好。