As delivered by manufacturers and resellers, the default configurations for operating
systems and applications are normally geared to ease-of-deployment and ease-of-use -
not security. Basic controls, open services and ports, default accounts or passwords,
older (vulnerable) protocols, pre-installation of unneeded software; all can be
exploitable in their default state.
Developing configuration settings with good security properties is a complex task
beyond the ability of individual users, requiring analysis of potentially hundreds or
thousands of options in order to make good choices. Even if a strong initial
configuration is developed and installed, it must be continually managed to avoid
security “decay” as software is updated or patched, new security vulnerabilities are
reported, and configurations are “tweaked” to allow the installation of new software or
support new operational requirements. If not, attackers will find opportunities to
exploit both network-accessible services and client software.