Debugging SSL Certificate Automation with OpenSSL

Understanding SSL Certificate Renewal Verification When managing automated SSL certificate renewals, it’s crucial to verify that the automation is working correctly. This post walks through the process of checking certificate renewal status using OpenSSL. Checking Certificate Dates One of the most important aspects of SSL certificate management is ensuring timely renewals. Here’s how to check certificate expiration dates: openssl s_client -connect your-domain:443 -servername your-domain.com < /dev/null 2>/dev/null | openssl x509 -noout -dates ...

September 19, 2025 · 2 min · Me

Breaking the Docker Security Myth: CVE-2025-9074 and the Illusion of Container Isolation

The Wake-Up Call: CVE-2025-9074 A critical vulnerability recently discovered in Docker Desktop (CVE-2025-9074) serves as a sobering reminder that containers are not the security boundary many developers believe them to be. With a CVSS score of 9.3, this vulnerability allowed malicious containers to escape their supposed isolation and compromise the host system through a surprisingly simple attack vector. The Bottom Line Up Front: CVE-2025-9074 demonstrates that the widespread belief “Docker = isolated = secure” is not just wrong—it’s dangerously wrong. This misconception puts production Kubernetes environments at risk when teams fail to consider the underlying Linux kernel and operating system security implications. ...

September 13, 2025 · 8 min · Me

Automated Azure Function App Cleanup

Understanding the Need for Function App Cleanup In cloud environments, deprecated or unused resources can accumulate over time, leading to unnecessary costs and management overhead. This guide focuses on implementing automated cleanup of stopped Azure Function Apps that haven’t been active for extended periods. Identifying Inactive Function Apps First, we’ll create a PowerShell script to identify Function Apps that have been stopped for more than 45 days: Get all Function Apps in specified subscription $functionApps = Get-AzFunctionApp ...

September 12, 2025 · 2 min · Me

Implementing Azure Conditional Access Policies for Geographic Security

Understanding Geographic-Based Access Controls Geographic-based access controls are crucial for organizations looking to maintain compliance with international regulations or enhance security by removing some low hanging fruit. One specific use case is blocking access from OFAC sanctioned countries while allowing access from trusted locations. Implementation Steps 1. Create a Report-Only Policy First, create a policy in report-only mode to assess impact: Navigate to Azure Portal > Azure AD > Security > Conditional Access Create a new policy Configure the following settings: Users and groups: All users Cloud apps or actions: All cloud apps Conditions: Locations > Configure > Selected locations Access controls: Block access Enable policy: Report-only 2. Configure Location Conditions Create a list of blocked locations: ...

August 15, 2025 · 2 min · Me

Recovering Files from SQL VM Backups with Azure

Introduction In cloud environments, accidentally overwriting production files can be a nerve-wracking experience. This post walks through the process of recovering individual files from Azure VM backups. Prerequisites Azure subscription with VM backup enabled Access to Azure Portal Backup retention period covering the desired recovery point File-Level Recovery Process 1. Identify the Recovery Point First, locate the specific backup point before the file was modified: Navigate to the Azure Portal Select the VM in question Go to “Backup & restore” Choose “File Recovery” Select a recovery point prior to the file modification 2. Mount the Recovery Point Mount the recovery drive Azure will provide specific mounting instructions One of the nice things about Azure is it builds a binary that does all the mounting work. Other cloud providers often require you to do all this work manually, and also remember to clean up the cloned disks later, and Azure makes all that easy. ...

August 8, 2025 · 2 min · Me