In this pocket guide, you’ll find essential information about main security controls. I will explain the concepts, risks, share real-world examples and some interesting, less obvious insights.
Idea
System availability is a security concern. It is a part of the CIA (Confidentiality, Integrity, Availability) triad of Information Security.
The simple idea is we want to ensure services are available when they need to be available. For some services it may be 24×7, for others it may be once a month for reporting.
That is achieved through highly available solutions with multiple redundant components and failover mechanisms.
Fault tolerance is a concept closely related to high availability, but it is more focused on hardware resiliency. While highly available systems may still have minimal service interruption while failing over, fault-tolerant systems typically offer no downtime at all.
Denial-of-Service (DoS) attacks are a direct threat to service availability. They are dangerous as they are relatively easy to make. Serving a request is usually harder than creating a request, so the defending system is at a disadvantage. We can distinguish the following types of DoS attacks:
- Volumetric attacks saturate network pipes with a large volume of traffic.
- Protocol attacks exploit vulnerabilities in network protocols.
- Layer 7 attacks exploit specific application implementations on the top of the network protocols
A DoS attack originating from multiple sources is called Distributed Denial-of-Service (DDoS).
DoS Protection technologies employ sophisticated logic to distinguish legitimate requests from malicious traffic. Content delivery network (CDN) and large network operators are best placed to provide DoS protection, as they can absorb a large volume of traffic before it hits the service.
Disaster Recovery is a whole sub-discipline of IT, aimed at fast and smooth recovery from disasters. The disaster may come in a form of a security incident, so it is a security concern to make sure people, processes and tools (PPT) are in place to enable recovery. Chaos engineering is as a very active approach to testing system resilience.
Application examples
Kubernetes deployments can have multiple pod replicas, so that if one pod fails or overloaded, other pods take over. That also requires health checking to determine pod failure, load balancing to redirect load from failed to healthy pod, and auto-scaling mechanisms to increase system capacity to handle increased demand. All these mechanisms are natively provided by Kubernetes environments.
Data backup mechanism and regular recovery drills are effective controls against ransomware attacks. If the service and data can be recovered fast, then the ransom payment can be avoided altogether.
Risks
High availability and Disaster Recovery usually sit with Architecture or Site Recovery Engineering organisation units, so may be overlooked by Security.
Redundant components and infrastructure cost money, so there needs to be a balance between risk and cost.
Quirks
Rate limiting is not an effective DOS protection mechanism. While it protects system resources from exhaustion, legitimate requests above the rate limit will not be served, thus service availability will still be impacted. However, rate limiting is a good control against inadvertent application logic errors and cloud costs overrun.
Further reading
Pocket Guide: Integration Security
Please check out the map of cyber security controls below. It is simple yet awesome.
