Skip to main content

1.0 General Security Concepts

1.3 - Documentation & Version Control


Learning Objectives

Understand the importance of change management processes and the impact to security.

  • Documentation
    • Updating diagrams
    • Updating policies/procedures
  • Version control

Effective documentation and version control are critical components of any change management process. Without proper documentation, it can be difficult to track what changes were made, why they were made, and who approved them. Additionally, version control ensures that teams are always working with the most up-to-date and secure versions of their documents, applications, and systems.

Let's explore the importance of maintaining accurate documentation and how version control helps track changes and maintain security throughout the change management process.


Documentation

Without up-to-date documentation, it can be challenging to keep up with all the changes made to a large organisation's IT environment due to the frequency and volume at which they can occur. Moreover, with frequent updates, any documentation you have in place can also quickly become outdated. Therefore, it is best practice and should be required to update all relevant documentation as part of the change management process itself. Let's look at two types of documents that commonly require updating:

1. Updating Diagrams

When changes are made to a system or network, it’s essential to update any related network diagrams or system architecture diagrams to reflect these modifications. These diagrams provide a visual representation of the organisation’s IT infrastructure and are crucial for understanding how different systems interact.

  • Network Diagrams: Show how various systems, devices, and users connect across a network. If new hardware is added, removed, or reconfigured, the network diagram must be updated to reflect these changes accurately.
  • System Architecture Diagrams: Provide a high-level view of how software systems and hardware components work together. Any changes to applications, services, or hardware need to be reflected here.

Why This is Important:

  • Updated diagrams ensure that the IT and security teams can quickly identify system components in the event of an issue or security incident.
  • Inaccurate or outdated diagrams can lead to delays in troubleshooting and increase the risk of overlooking vulnerabilities due to an incomplete view of the organisations attack surface.

Security Implications: Updated diagrams help teams understand the security landscape and pinpoint where vulnerabilities may exist.


2. Updating Policies and Procedures

Whenever changes are made to systems or applications, the corresponding policies and procedures must be updated to ensure their accuracy. If a new system is being added then new policies and procedures must be created to act as a consistent set of rules for managing this new system. This ensures that everyone follows the correct process moving forward and that there is no confusion around the implementation of further changes.

  • Policies: High-level guidelines that govern the overall usage, security and change management process for each system in an organisation. Policies define what can and cannot be done, who is responsible, and what the systems current security posture is. E.g. Acceptable Use Policy, Ownership Policy, Security Management Policy/Statement.
  • Procedures: Detailed step-by-step instructions for carrying out tasks, such as installing software updates, applying patches, or restoring backups. Procedures help ensure consistency and that changes are applied in a secure and controlled manner. E.g. Update/Patch Procedure, Roll-back Procedure, Incident Response Procedure.

Policies can be thought of as the 'What', while Procedures can be thought of as the 'How', regarding the "rules" surrounding the management of a particular system.

Key Areas to Update:

  • Change Request Procedures: Update any processes related to submitting, approving, or executing change requests.
  • Security Policies: Reflect any security changes, such as new access controls, restrictions, or allow/deny lists.
  • Incident Response Plans: Update to include any new tools or procedures needed to handle issues caused by recent changes.

Security Implications: Outdated policies and procedures can lead to improper handling of changes, increasing the risk of security incidents, operational downtime, or data loss. Keeping documentation current ensures that relevant teams follow the correct process and best practices.


Version Control

Version control plays an essential role in the change management process by ensuring that teams are working with the most current and accurate version of documents, code, or configurations. This prevents errors, allows for tracking changes over time, and provides a fallback in case something goes wrong.

Why Version Control is Critical

  • Tracking Changes: Version control systems (VCS) allow teams to track every change made to a System, document, codebase, or configuration file. This history is invaluable for auditing changes and understanding what modifications were made, when, and by whom.
  • Collaboration: In larger organisations, multiple teams may be responsible for different parts of the change process. Version control helps ensures that everyone is working with the latest version of files and prevents conflicts caused by working on outdated information.
  • Rollback Capability: Version control provides the ability to revert to a previous version if a change introduces a problem. This rollback capability is critical for minimising downtime and restoring systems to a known working state if something goes wrong.

Types of Version Control Systems

  • Git: One of the most widely used version control systems, especially for tracking changes in software development. Git allows for branching, merging, and maintaining different versions of the same project.
  • SVN (Subversion): Another popular VCS that tracks changes and allows multiple people to collaborate on the same project. SVN is not as popular as it once was but is still used in many enterprise settings.

Examples of Version Control in Change Management

  • Software Patches: When applying patches to an application, version control ensures that the correct patch is applied and allows teams to track what version of the software is running.
  • Configuration Files: IT teams can use version control to track changes to configuration files for network devices, servers, or firewalls. If a change introduces an issue or vulnerability, version control allows for quickly identifying the problematic change and reverting to a stable and secure configuration.
  • Documentation: Version control ensures that the most up-to-date policies, procedures, and diagrams are tracked and made available to everyone involved in the change process.

Security Implications: Without version control, it’s easy for unauthorised changes or mistakes to be introduced into the system. Using a version control system helps prevent these issues by maintaining a detailed log of all changes and allowing teams to roll back if needed.


Key Takeaways

Documentation and version control are critical to maintaining a clear, organised and secure change management process. Updating diagrams, policies, and procedures ensures that the entire organisation is working with the latest information and that all security measures can be accounted for. Version control provides the necessary tools to track changes, collaborate effectively, and roll back to a previous version if problems arise.

By implementing strong documentation and version control practices, organisations can reduce the risk of errors, streamline the change process, and maintain a secure IT environment.

πŸ’‘
If you're a Premium member, you can login and use the interactive quiz below to test your knowledge of this lesson!