<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Security on Danno Projects</title><link>https://www.dannoprojects.com/tags/security/</link><description>Recent content in Security on Danno Projects</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Tue, 27 Oct 2026 12:00:00 -0700</lastBuildDate><atom:link href="https://www.dannoprojects.com/tags/security/index.xml" rel="self" type="application/rss+xml"/><item><title>Hardening Legacy Linux Web Stacks Against PHP RCE</title><link>https://www.dannoprojects.com/posts/security/hardening-legacy-linux-web-stacks/</link><pubDate>Tue, 27 Oct 2026 12:00:00 -0700</pubDate><guid>https://www.dannoprojects.com/posts/security/hardening-legacy-linux-web-stacks/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;
&lt;p&gt;When recent unauthenticated PHP RCE advisories dropped (targeting &lt;code&gt;PHP_SESSION_UPLOAD_PROGRESS&lt;/code&gt; and oversized request bodies), I was in the middle of auditing several inherited Linux web servers I took over following a team retirement.&lt;/p&gt;
&lt;p&gt;While we work through a broader migration to move legacy workloads onto fresh, Terraform-managed infrastructure, I wanted to immediately reduce our PHP attack surface and add defense-in-depth controls across the existing hosts—without causing production downtime.&lt;/p&gt;
&lt;p&gt;Because I was working across live systems that lacked a 1:1 staging twin, I leaned heavily on &lt;strong&gt;Claude Code&lt;/strong&gt; and &lt;strong&gt;AWS Systems Manager (SSM)&lt;/strong&gt; to orchestrate the discovery, build hash-checked apply/rollback scripts, and run an automated &lt;code&gt;curl&lt;/code&gt; verification suite after every change. Here is how we locked the environment down.&lt;/p&gt;</description></item></channel></rss>