Latest News

Is air gapping a good idea?

Written by Tsvi Korren, Field CTO, Aqua Security

Air gapping is used in many ways to refer to varying degrees of isolation between compute environments. True air-gap, where there is no physical connection between systems, still exists, but it is rare. People are more likely to use the term to describe a subnetting configuration that results in blocking all network connections from the development environment into an isolated application production environment.

The number of connected devices, working from home, and mix-use laptops that travel have made the internal corporate network, however well defended, a source of threat to sensitive applications and data. Isolating the applications eliminates a common vector of insider attack but creates some operational challenges.

The problem is not so much with the application functioning without connection (it is designed to do so), as it is the need to service the application, upgrade it, debug problems and test fixes. Containerisation and Kubernetes, where pre-packaged and pre-tested applications run on what is essentially a ‘datacentre in a box’, have made is possible to create simple and small pockets of isolation within a large network or even Cloud environment.

An example of this is the US Air Force using Kubernetes clusters in fighter jets. With containers, the application is created and tested once, packaged into a container image, loaded onto storage, walked over and uploaded to the isolated cluster on the aircraft. Kubernetes also provides the ability to run supported services like log collection in the same cluster and prepare them on portable storage to be walked over for analysis.

Companies should consider containerisation and Kubernetes for better logical and organisational separation between the application production environment and the rest of the organisation. The degree of isolation can vary from true air-gap to network subnet configuration or reduced remote access. What is important is the ability to package the application with everything it needs to function, then send it across the gap to run undisturbed until it needs to be replaced with a new image.