421.5 Installation and maintenance

Deploy software into its operating environment and maintain it securely throughout its operational life.

Overview

The final stage of the Secure Software Development Lifecycle (SSDL) involves installing the software into its production environment and maintaining it over time. This stage ensures that the system is correctly deployed, accessible to users, and continuously supported to remain secure and reliable.

Secure installation and maintenance are often overlooked, yet they are critical to preventing vulnerabilities from being introduced after development. This includes configuring access rights, managing updates, and responding to issues as they emerge in use.

Targets

In this topic, students learn to:

  • Identify common installation and deployment practices

  • Evaluate how configuration affects software security

  • Describe strategies for secure maintenance and updates

  • Understand how ongoing support ensures system resilience

Syllabus references

Secure software architecture

Designing software

  • Interpret and apply fundamental software development steps to develop secure code, including: – installation – maintenance

Installation methods

Software can be installed using a variety of deployment methods, each with implications for security and usability:

  • Direct installation – The software is deployed in full and replaces the old version

  • Phased installation – Parts of the system are installed gradually

  • Parallel installation – The new system runs alongside the old system to verify correctness

  • Pilot installation – The software is released to a small group of users for real-world testing before full deployment

In secure systems, installation must include:

  • Verification of the software build (e.g. checksums, digital signatures)

  • Removal of default passwords, test data, or unused services

  • Configuration of secure settings, access controls, and logging

Secure deployment practices

Before final release, developers should:

  • Perform final vulnerability scanning and penetration testing

  • Use scripts or automation tools to reduce human error during setup

  • Ensure that the environment (e.g. servers, databases) is hardened and patched

  • Document the deployment process for traceability and repeatability

Maintenance activities

Software maintenance ensures long-term system security and performance. It includes:

  • Bug fixing: Responding to errors discovered after release

  • Security patching: Updating software to fix vulnerabilities

  • Feature updates: Adding new capabilities while preserving system integrity

  • Monitoring and auditing: Using logs and alerts to detect suspicious activity

  • User support: Responding to help requests or usability issues

Importance of ongoing security

Security is not a “set and forget” task. Threats evolve, users make mistakes, and systems change. Maintenance must be proactive and documented.

Best practices include:

  • Scheduling regular software updates and backup procedures

  • Reviewing user access levels periodically

  • Retiring outdated components and libraries

  • Using monitoring tools to detect anomalies in real time

Outcome of this phase

By the end of the installation and maintenance phase, the software should:

  • Be correctly deployed in a secure configuration

  • Be monitored and supported to ensure continued compliance with functional and security requirements

  • Have a documented update plan and support structure

  • Be resilient to emerging threats through proactive maintenance

Last updated

Was this helpful?