Advertisement
Open Source Projects by Phil Schwartz

Articles

Why I Built a Python Helper for Lets Encrypt Renewal HooksManaging TLS certificates is easy to underestimate. A certificate may renew successfully, yet an application can continue serving the old certificate until its…
Why I chose Python over Go for server security utilitiesWhen I began building server security utilities, I wanted tools that could be installed quickly, understood by system administrators, and adapted to the…
Keeping DenyHosts Configuration Stable Across ReleasesDenyHosts sits between an exposed SSH service and the systems responsible for protecting it. Its job is operationally simple—observe failed login attempts,…
Designing a DenyHosts caching layer for high-traffic serversDenyHosts protects Linux systems by identifying repeated SSH authentication failures and adding hostile addresses to a deny list. Its job is intentionally…
How Scratchy Can Identify and Report Irregularities in SSL Certificate LogsSSL certificate problems often appear first as small inconsistencies in web server records. A certificate may be close to expiration, assigned to the wrong…
Creating A Kodos Extension For Markdown Regex DocumentationRegular expressions are often treated as disposable code: write a pattern, test it, and move on. That approach becomes expensive when expressions are reused…
Moving Legacy DenyHosts Records Into a Modern DatabaseDenyHosts was designed for a simpler era of Linux administration. Its original workflow recorded hostile SSH activity in flat files, making it easy to inspect…
Using Scratchy to Detect Distributed Scanning Attacks Across Multiple SubnetsA single hostile IP address is easy to notice in an Apache access log. A distributed scan is harder: dozens or hundreds of systems may probe the same…
Refactoring DenyHosts From Script To Modular PythonDenyHosts began with a focused purpose: monitor failed SSH authentication attempts and prevent repeated abuse. That narrow mission made a single Python script…
How I Added a Feature to Kodos to Highlight Regex Backtracking HotspotsKodos began as a practical Python regular expression debugger: a place to write a pattern, test it against sample text, and inspect whether the result matched…