Disaster recovery for a cloud-based security service
Systems and methods include intercepting traffic on the user device; forwarding the traffic to a cloud-based system for security processing therein; and, responsive to unavailability of the cloud-based system preventing the forwarding, performing local security processing of the traffic at the user device including determining whether the traffic is allowed based on a cache at the user device, forwarding the traffic separate from the cloud-based system when it is allowed, and blocking the traffic when it is not allowed.
1. A non-transitory computer-readable medium including instructions that, when executed, cause one or more processors associated with a user device to perform steps of:
intercepting traffic at an application executing on the user device, the traffic being a request to access an enterprise application;
forwarding the traffic to a cloud-based system for security processing therein;
responsive to unavailability of the cloud-based system for providing security processing, preventing the forwarding and performing local security processing of the traffic at the application executing on the user device including determining whether the traffic is allowed based on consulting a plurality of local maps in a cache associated with the traffic at the user device; and
responsive to the traffic being allowed based on the local security processing, causing the application executing on the user device to create one or more tunnels to an on-premises connector associated with the enterprise application separate from the cloud-based system, and blocking the traffic when it is not allowed at the application executing on the user device.
2. The non-transitory computer-readable medium of claim 1 , wherein the steps further include
updating the cache based on the forwarding and actions taken by the cloud-based system.
3. The non-transitory computer-readable medium of claim 1 , wherein the steps further include
obtaining a list for the cache that contains pre-configured local maps including a firewall map, a domain map, and a Hypertext Transfer Protocol (HTTP) request map.
4. The non-transitory computer-readable medium of claim 3 , wherein the list is based on a tenant associated with the user device, and wherein the steps further include
receiving periodic updates at the application executing on the user device from the cloud-based system based on the tenant associated with the user device, the periodic updates including previous security decisions made by the cloud-based system; and
updating the list based on the periodic updates.
5. The non-transitory computer-readable medium of claim 1 , wherein the traffic is blocked by the application executing on the user device based on a domain included in the cache.
6. The non-transitory computer-readable medium of claim 1 , wherein the traffic is blocked by the application executing on the user device based on a domain not being in the cache.
7. The non-transitory computer-readable medium of claim 1 , wherein the steps further include
maintaining access logs locally at the user device for the local security processing; and
forwarding the access logs to the cloud-based system after it is available.
8. The non-transitory computer-readable medium of claim 1 , wherein the unavailability is based on the cloud-based system being down beyond a threshold.
9. The non-transitory computer-readable medium of claim 1 , wherein the local security processing is configured by a tenant.
10. The non-transitory computer-readable medium of claim 1 , wherein the local security processing includes Zero Trust Network Access to an application included in an enterprise network, and wherein the steps include
providing, via the one or more tunnels, a secure connection to the application included in the enterprise network based on the cache.
11. A user device comprising:
a network interface, a data store, and a processor communicatively coupled to one another; and
memory storing computer-executable instructions, and in response to execution by the processor, the computer-executable instructions cause the processor to
intercept traffic being sent over the network interface at an application executing on the user device, the traffic being a request to access an enterprise application;
forward the traffic to a cloud-based system for security processing therein;
responsive to unavailability of the cloud-based system for providing security processing, perform local security processing of the traffic at the application executing on the user device including determining whether the traffic is allowed based on consulting a plurality of local maps in a cache associated with the traffic at the user device; and
responsive to the traffic being allowed based on the local security processing, causing the application executing on the user device to create one or more tunnels to an on-premises connector associated with the enterprise application separate from the cloud-based system, and blocking the traffic when it is not allowed at the application executing on the user device.
12. The user device of claim 11 , wherein the computer-executable instructions further cause the processor to
update the cache based on the forwarding and actions taken by the cloud-based system.
13. The user device of claim 11 , wherein the computer-executable instructions further cause the processor to
obtaining a list for the cache that contains pre-configured local maps including a firewall map, a domain map, and a Hypertext Transfer Protocol (HTTP) request map.
14. The user device of claim 11 , wherein the traffic is blocked by the application executing on the user device based on a domain included in the cache.
15. The user device of claim 11 , wherein the traffic is blocked by the application executing on the user device based on a domain not being in the cache.
16. The user device of claim 11 , wherein the computer-executable instructions further cause the processor to
maintain access logs locally at the user device for the local security processing; and
forward the access logs to the cloud-based system after it is available.
17. The user device of claim 11 , wherein the unavailability is based on the cloud-based system being down beyond a threshold.
18. The user device of claim 11 , wherein the local security processing is configured by a tenant.
19. A method implemented by a user device, the method comprising:
intercepting traffic at an application executing on the user device, the traffic being a request to access an enterprise application;
forwarding the traffic to a cloud-based system for security processing therein;
responsive to unavailability of the cloud-based system for providing security processing, preventing the forwarding and performing local security processing of the traffic at the application executing on the user device including determining whether the traffic is allowed based on consulting a plurality of local maps in a cache associated with the traffic at the user device; and
responsive to the traffic being allowed based on the local security processing, causing the application executing on the user device to create one or more tunnels to an on-premises connector associated with the enterprise application separate from the cloud-based system, and blocking the traffic when it is not allowed at the application executing on the user device.
20. The method of claim 19 , further comprising one or more of
updating the cache based on the forwarding and actions taken by the cloud-based system; and
obtaining a list for the cache that contains pre-configured local maps including a firewall map, a domain map, and a Hypertext Transfer Protocol (HTTP) request map.