Firewalls and Intrusion Prevention Systems
A firewall decides what traffic is allowed. An IPS decides what traffic is safe. They answer different questions — and most networks need both.
A firewall decides what traffic is allowed. An IPS decides what traffic is safe. They answer different questions — and most networks need both.
Wireless networking adds a layer of infrastructure most wired engineers overlook. Access points, WLCs, and the endpoints connecting to them each play a specific role in getting frames off the air.
Defense SDKs probe WebGL renderers, canvas hashes, and hundreds of browser APIs to fingerprint your environment. A content script that runs before the SDK loads can patch every one of them.
A Python service encrypts secrets with AEAD. A Go service tries to decrypt them. Same keys, same AAD fields—authentication fails. The culprit? JSON serialization isn't deterministic. This is Part 1 of a series on AAD canonicalization: why it matters, and how to do it right.
Servers are the destinations most traffic is ultimately heading for. PoE is how the network itself powers the devices attached to it — from phones to cameras to access points.
elkjs ships 100k lines of Java and a GWT build pipeline. I audited every dependency, ran a TeaVM wasmGC spike, and hit exactly two issues—both trivial. If you're wondering whether your Java library can ship as WebAssembly today, this is the answer.
The mathematical foundations behind OPRF-based truncated bucket routing — Poisson occupancy modeling, tail-bound overflow analysis, k-anonymity guarantees, and coupled constraint scaling for tuning truncation bit count and padding.
Akamai's sensor scripts collect mouse movements, keystrokes, and scroll behavior to score sessions as human or bot. A Chrome extension operating inside a real browser session inherits all that legitimacy for free.
How you connect devices to each other determines how traffic flows, where bottlenecks form, and how much the network costs to run. Two-tier, three-tier, and spine-leaf each solve different problems at different scales.
Kasada's per-request token rotation prevents external replay. But chrome.scripting.executeScript in MAIN world calls the page's own patched fetch — the SDK injects the token automatically and the extension never touches it.
Not every network is a data center. WANs connect geographically distributed sites, SOHO setups pack enterprise features into a single device, and cloud architectures extend both models across infrastructure you don't own.
Different error messages for login, registration, and password reset reveal valid usernames. RFC 9110's semantic distinction between 401 and 403 creates an enumeration surface — the defense is deliberate ambiguity across all credential-checking endpoints.
Every automation framework failed against GoDaddy's dual-layer bot defense. A Chrome extension running inside the page's MAIN world didn't.
All four defense layers — TLS fingerprinting, environment probing, behavioral telemetry, token rotation — fail for the same reason: the browser is not a trusted execution environment. The economics and architecture of what actually works.
Before any packet moves, electrons or photons have to travel down a cable. The type of cable determines the distance, speed, and interference characteristics of every link in your network.
Response time differences reveal valid users, resources, and internal code paths. The HTTP spec has zero timing requirements — its silence is itself the vulnerability. Defensive implementations must add constraints the RFC never imagined.
A link that's up isn't necessarily a link that works. Duplex mismatches, speed mismatches, and cable faults are silent performance killers that show up in interface counters — if you know where to look.
Distinct error responses during signature and MAC verification leak cryptographic state. RFC 9457's push for descriptive Problem Details directly conflicts with oracle prevention — the anti-pattern is deliberate error opacity.
TCP guarantees delivery. UDP doesn't. That single design decision shapes every protocol built on top of them — and knowing when each is appropriate is foundational to understanding how applications use the network.
JWT's multi-check validation pipeline is an oracle factory — each distinct failure mode for iss, exp, aud, and sig is a bit of leaked state. Granular 401 sub-errors in WWW-Authenticate challenges reveal the exact validation step that failed.
Every device on an IP network needs an address, and every address belongs to a subnet. Before you can subnet anything, you need to understand the binary math underneath the dotted-decimal notation.
State oracles hide in the HTTP metadata layer — session artifacts, CSRF tokens, rate-limit headers, and caching behavior leak authentication state that response bodies never reveal. Every response header is a potential oracle channel.
The math is one thing. Applying it under exam pressure — or in production — is another. This post works through subnetting systematically so it becomes a repeatable process, not a calculation to memorize.
Every anti-pattern is a conscious tradeoff. A decision matrix for evaluating HTTP information leakage, the four normalization layers for closing oracle channels, and a prioritized implementation checklist for systematic anti-oracle defense.
The internet would have run out of addresses decades ago without private addressing. RFC 1918 defines the ranges that never appear on the public internet — and NAT is what bridges the two worlds.
IPv6 addresses are 128 bits long, written in hexadecimal, and abbreviated in ways that look arbitrary until you understand the rules. The notation is the first thing to master before any IPv6 configuration makes sense.
IPv6 eliminated broadcast — but it didn't eliminate the need to reach groups of devices. Multicast replaces broadcast, anycast routes to the nearest instance, and EUI-64 generates interface IDs from MAC addresses.
When a device can't reach the network, the first step is confirming it actually has valid IP configuration. The commands differ across Windows, macOS, and Linux — but the information you're looking for is the same.
Wi-Fi is radio — and radio is a shared medium. Channels, signal strength, interference, and encryption protocols aren't optional details. They determine whether your wireless network works or merely exists.
Virtualization lets you run multiple isolated environments on shared hardware. In networking, that concept extends from servers all the way down to the routing table itself — which is exactly what a VRF does.
A switch isn't magic — it's a device that builds a table of MAC addresses and uses it to make forwarding decisions. Understanding how that table is built, aged, and used explains almost every Layer 2 behavior you'll encounter.
Without VLANs, every device on a switch shares the same broadcast domain. VLANs carve that domain into isolated segments — separating traffic logically without buying more hardware.
Knowing what a VLAN is and knowing how to configure one are different skills. Access ports, voice VLANs, and the default VLAN each have behaviours that will surprise you if you haven't seen them before.
VLANs isolate traffic — which means devices on different VLANs can't communicate by default. Inter-VLAN routing is what puts a router (or a Layer 3 switch) between those segments to allow controlled communication.
Access ports carry one VLAN. Trunk ports carry many — tagged with 802.1Q headers so the receiving device knows which VLAN each frame belongs to. The native VLAN is the one exception, and it's the source of more misconfigurations than it should be.
You can map a network by tracing cables — or you can let the devices tell you what's connected to them. CDP and LLDP are the protocols that do exactly that, and they're invaluable for both troubleshooting and documentation.
A single uplink between switches is a bottleneck and a single point of failure. EtherChannel bundles multiple physical links into one logical link — multiplying bandwidth and providing redundancy without Spanning Tree blocking half your ports.
Ethernet has no TTL field. A broadcast loop doesn't decay — it grows until it consumes every bit of bandwidth on every switch in the network. Spanning Tree Protocol exists to prevent that from happening.
Classic STP converges in up to 50 seconds — an eternity when a host is waiting to get online. Rapid PVST+ cuts that to seconds. PortFast and BPDU Guard protect the ports where convergence time matters most.
Not all access points are equal. Autonomous APs manage themselves. Lightweight APs offload intelligence to a controller. FlexConnect bridges both models. The architecture you choose determines how the network behaves when the WAN goes down.
Wireless networks have more physical moving parts than they appear to. The access point is just the radio — behind it is a wired infrastructure of switches, uplink ports, and controllers that makes the wireless network possible.
Every network device needs a way to be managed — and every management channel is an attack surface. SSH, HTTPS, TACACS+, and RADIUS are the protocols that control who gets in and what they can do.
Most wireless LAN controllers ship with a web interface. Knowing how to navigate it — creating WLANs, assigning security policies, mapping to interface groups — is a practical skill the CCNA exam tests directly.
Every forwarding decision a router makes starts with a lookup in the routing table. The output of show ip route tells you the network prefix, the source of the route, the metric, and the next hop — if you know how to read it.
When two routing protocols disagree on how to reach the same network, the router needs a tiebreaker. Administrative distance is that tiebreaker. Metrics break ties within a single protocol. The gateway of last resort catches everything else.
Longest prefix match. That's the core algorithm. Everything else — the routing table, administrative distance, metrics — exists to populate the table that longest-prefix match runs against.
Before dynamic routing protocols, there were static routes — and they're still the right tool when the topology is simple and stable. Default routes, network routes, and host routes each serve a different purpose.
A floating static route sits dormant until the primary path fails. It's one of the simplest forms of route redundancy — and understanding it sets the stage for more sophisticated failover mechanisms.
Static routes don't adapt. Add a link, remove a router, or reroute a circuit — and someone has to manually update every affected device. Dynamic routing protocols like OSPF exist to make the network respond to change on its own.
OSPF routers don't just exchange routes — they build adjacencies. The router ID is how each OSPF speaker identifies itself, and the adjacency formation process determines what topology information gets exchanged.
OSPF behaves differently depending on the network type of the interface. Broadcast networks elect a DR and BDR. Point-to-point networks skip that process entirely. The difference matters for how adjacencies form and how LSAs propagate.
Understanding OSPF conceptually is one thing. Configuring it and verifying that adjacencies formed, routes are being exchanged, and the topology is correct is where the knowledge becomes operational.
Every host on a subnet points to a single default gateway. If that router fails, the host loses connectivity — unless a first hop redundancy protocol is in place to make a standby router take over transparently.
Network Address Translation hides private address space behind a public one. Static NAT maps one-to-one. Dynamic NAT maps from a pool. PAT — the version nearly everyone uses — maps many private addresses to a single public IP using port numbers.
Accurate timestamps aren't cosmetic. They're how you correlate logs across devices, how certificates validate, and how authentication protocols like Kerberos work at all. NTP is the protocol that keeps every clock in sync.
When a device joins a network, it needs an IP address and a way to resolve names. DHCP handles the first problem. DNS handles the second. Together they're the reason you can type a hostname instead of memorizing an IP.
DHCP discover messages are broadcasts — and routers don't forward broadcasts. A DHCP relay agent solves this by forwarding the request to a centralized server on behalf of a remote subnet.
You can't manage what you can't measure. SNMP is the protocol that lets network management systems poll devices for interface counters, CPU utilization, memory usage, and anything else stored in the MIB.
Every network device generates log messages — and by default, most of them go nowhere useful. Syslog is the standard for collecting those messages, and the severity level system is how you filter signal from noise.
When a link is congested, something has to wait. QoS is the set of tools that decides what waits — and for how long. Classification identifies traffic, marking tags it, queuing orders it, and shaping controls when it leaves.
Telnet sends credentials in plaintext. SSH encrypts the entire session. Configuring SSH on a Cisco device is a small amount of work that eliminates an entirely unnecessary category of risk.
Network engineers transfer files constantly — IOS images, configuration backups, licensing files. TFTP is the lightweight option for trusted environments. FTP adds authentication. Knowing both is a practical operational skill.
A threat is a potential harm. A vulnerability is a weakness that can be exploited. An exploit is the mechanism. Understanding the relationships between these terms is the foundation of every security conversation you'll have.
Technology controls are only part of a security program. The most sophisticated firewall can be bypassed by someone who holds a door open for a stranger. Security awareness, training, and physical controls address the human and physical layers.
Every Cisco device ships with no passwords configured. That's a starting point, not an acceptable state. Configuring console, VTY, and enable passwords is the baseline that every managed device needs before it goes on the network.
A password policy tells users what makes a good password. A password manager makes good passwords practical. MFA makes the password itself less important. The three work together — relying on any one of them alone is insufficient.
A VPN creates an encrypted tunnel across an untrusted network. IPsec is the protocol suite that makes that tunnel cryptographically secure — defining how peers authenticate, how keys are exchanged, and how data is protected in transit.
Site-to-site VPNs connect fixed locations. Remote access VPNs connect individual users wherever they are. Both use IPsec — but the architecture, the configuration, and the operational model are meaningfully different.
An access control list is a sequence of permit and deny statements the router evaluates top-to-bottom. Standard ACLs match on source IP only — which makes them simple, fast, and limited in what they can express.
Extended ACLs match on source IP, destination IP, protocol, and port — giving you precise control over exactly what traffic is permitted or denied. Named ACLs make complex policies readable and editable without renumbering.
Layer 2 attacks are particularly insidious because they happen below the level that most firewall policies operate. DHCP snooping, Dynamic ARP Inspection, and port security address three of the most common switch-level threats.
Who are you? What are you allowed to do? What did you do? Authentication, Authorization, and Accounting answer those three questions — and together they form the foundation of access control on every managed network device.
WEP was broken. WPA was a stopgap. WPA2 became the standard for over a decade. WPA3 fixes the weaknesses that remained. Understanding the evolution of wireless security protocols explains why the recommendations changed — and why they still matter.
Knowing which security protocol to use and knowing how to configure it on a WLC are different skills. This post walks through creating a WLAN with WPA2 PSK authentication from start to finish on a Cisco wireless LAN controller.
Configuring a hundred devices one CLI session at a time doesn't scale. Automation replaces repetitive manual work with code — and that shift changes not just the tools network engineers use, but the skills they need.
In a traditional network, every device makes its own decisions using distributed control planes. Controller-based networking centralizes those decisions. Understanding the architectural difference is the key to understanding SDN.
Software-defined networking introduces vocabulary that can obscure more than it reveals. Overlay, underlay, fabric, northbound and southbound APIs — each term refers to a specific layer or interface in a well-defined architecture.
Networks generate enormous amounts of telemetry data. AI and machine learning are what make that data actionable — identifying anomalies, predicting failures, and automating responses faster than any human operator can.
Modern network devices have APIs. Consuming those APIs — sending GET requests, parsing JSON responses, handling authentication — is now a baseline skill for network engineers who want to automate anything.
Ansible and Terraform are the two tools most commonly used to automate network infrastructure. Ansible pushes configuration. Terraform declares and manages state. Understanding what each is designed for prevents using the wrong one for the job.
JSON is the data format that most network APIs speak. Reading it, writing it, and parsing it programmatically are practical skills — and understanding its structure makes every REST API interaction less opaque.