About this interactive
Least functionality is configuring a system with only the essential capabilities for its job. It sits beside minimizing the attack surface and keeping things simple: anything installed is something to patch, and anything running is something to attack.
The lesson's case is a LAMP web server, Linux, Apache, MySQL and PHP, that is easy to keep patched until someone adds a cheap extra called "function 123". Its developer stops updating it, it only works with old versions of Apache, MySQL and PHP, and the server is compromised through services that are out of date because of a feature nobody needed.
The test for each piece of software is the system's job. A web server needs its web server; it does not need an FTP service left over from the build. A domain controller needs DNS for its clients; it does not need a print spooler with no printers. Keep what the job uses, and remove or disable the rest.
About TechKnowSurge
TechKnowSurge builds IT and cybersecurity professionals through hands-on, concept-first training built around real understanding — not memorization. Free interactive tools, structured programs, and 25+ years of real-world experience, all in one place.
Explore free tools and programs →