Network security protects the communication channels between systems. As organizations move to the cloud and adopt zero-trust architectures, traditional perimeter-based network security is giving way to more granular, identity-aware approaches. This article covers the foundational concepts every developer and security practitioner needs.
Firewalls
Firewalls filter network traffic based on pre-defined rules. They are the first line of defense in network security.
Packet Filtering Firewalls
Packet filtering firewalls inspect individual packets against rule sets. They examine source and destination IP addresses, ports, and protocols. They operate at layers 3 and 4 of the OSI model.
Rule table example:
Source IP Dest IP Port Protocol Action
10.0.1.0/24 10.0.2.0/24 443 TCP Allow
0.0.0.0/0 10.0.1.5 22 TCP Deny
Stateful Firewalls
Stateful firewalls maintain a connection table. They track the state of active connections and make decisions based on the connection state, not just individual packets. This allows them to permit return traffic for legitimate outbound connections while blocking unsolicited inbound traffic.
Next-Generation Firewalls (NGFW)
NGFWs combine traditional firewall capabilities with application-layer inspection, intrusion prevention, and threat intelligence. They can identify applications regardless of port or protocol and enforce policies based on user identity.
# iptables stateful rule example
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -j DROP
Virtual Private Networks (VPNs)
VPNs create encrypted tunnels between endpoints over untrusted networks. They extend a private network across a public network, allowing remote users and branch offices to access internal resources.
Site-to-Site VPN
Connects entire networks to each other, such as an office to a cloud VPC. AWS VPN, Azure VPN Gateway, and GCP Cloud VPN all implement IPsec tunnels.
# AWS CLI: create a VPN connection
aws ec2 create-vpn-connection \
--customer-gateway-id cgw-123 \
--vpn-gateway-id vgw-456 \
--type ipsec.1
Remote Access VPN
Connects individual users to the corporate network. VPN clients include OpenVPN, WireGuard, and proprietary solutions like Palo Alto GlobalProtect.
VPN Limitations
VPNs are not a panacea. They grant broad network access, often violating least-privilege principles. If a VPN credential is compromised, the attacker gains full network access. Modern architectures increasingly replace VPNs with zero-trust network access (ZTNA) solutions.
Intrusion Detection and Prevention Systems (IDS/IPS)
IDS monitors network traffic for suspicious activity and generates alerts. IPS sits inline and actively blocks detected threats.
Detection Methods
Popular Tools
# Suricata configuration snippet
vars:
address-groups:
HOME_NET: "[10.0.0.0/8,172.16.0.0/12]"
EXTERNAL_NET: "!$HOME_NET"
rule-files:
- emerging-threats.rules
- malware-cnc.rules
af-packet:
- interface: eth0
cluster-id: 99
cluster-type: cluster_flow
Zero-Trust Networking
Zero trust assumes no implicit trust based on network location. Every access request must be authenticated, authorized, and encrypted.
Core Principles
2. **Assume breach**: Design the network as if attackers already have a foothold. Limit lateral movement.
3. **Least privilege**: Grant the minimum access necessary for each user or service.
Zero-Trust Implementation
# Example: zero-trust access policy via proxy
policies:
- name: "api-access"
subject: "service:api-gateway"
resource: "app:payment-service"
condition:
- attribute: "tls.client_cert.present"
operator: "equals"
value: true
- attribute: "request.ip"
operator: "in_cidr"
value: "10.0.0.0/8"
action: "allow"
Network Segmentation and Micro-Segmentation
Segmentation divides a network into smaller segments to limit attack propagation.
Traditional Segmentation
Uses VLANs and subnets to separate traffic. A web server resides in one subnet, a database server in another. Firewalls control traffic between subnets.
[Internet] -> [DMZ: Web Servers] -> [App Tier] -> [DB Tier]
Micro-Segmentation
Micro-segmentation takes segmentation to the individual workload level. In a cloud environment, every workload has its own security group that allows traffic only from specific sources on specific ports.
# AWS Security Group for a database instance
resource "aws_security_group" "db" {
ingress {
from_port = 5432
to_port = 5432
protocol = "tcp"
security_groups = [aws_security_group.app.id]
}
egress {
from_port = 0
to_port = 0
protocol = "-1"
cidr_blocks = ["0.0.0.0/0"]
}
}
Micro-segmentation is essential in Kubernetes environments. Network policies control which pods can communicate.
# Kubernetes network policy
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: api-allow
spec:
podSelector:
matchLabels:
app: api
ingress:
- from:
- podSelector:
matchLabels:
app: frontend
ports:
- port: 8080
Conclusion
Network security has evolved from simple perimeter firewalls to sophisticated zero-trust architectures. The fundamentals still matter: proper firewall rules, careful VPN use, intrusion detection, and network segmentation. But the trend is clear — the network boundary is disappearing, and security must follow the workload, not the perimeter.