Table of Contents

Server updates - OS updates

To ensure secure operation, servers in the infrastructure have to be kept up to date. This tutorial addresses the need for OS updates of the IdM server and gives basic guidelines and recommendations.

Update strategy

Each organization has some sort of schedule to apply OS patches: weekly, monthly, quarterly, never (not a good one), etc. You can patch the OS according to your strategy, but we recommend to perform patching at least once every three months. IdM relies on packages and libraries from the operating system and if those are not patched, security of the whole IdM solution also deteriorates.

Things to consider

Before applying updates, there are few things to consider:

Performing the OS update

Following list can be used as a basis for the maintenance checklist. Feel free to customize it to better suit your needs.

  1. Preparations
    1. Prepare testing use-cases.
    2. Prepare backup and restore procedures.
    3. Identify which LRTs can be safely killed when running.
    4. Make a checklist with timing estimates to determine the length of the maintenance.
  2. Perform the update
    1. Begin the maintenance.
    2. Disable monitoring system notifications.
    3. (If you use hot snapshots, make one.)
    4. Make sure no user or external application can access the IdM.
    5. Log into the IdM as administrator and check if there are some LRTs running.
      1. If they are not, continue.
      2. If they are, either stop those LRTs or let them finish. This depends on your deployment.
    6. Stop the IdM.
    7. Disable automatic start of the IdM on OS start.
    8. (If you use cold snapshots, turn off the machine and make one.)
    9. (If you do not use snapshots, make a backup of the IdM database and store it off-machine.)
    10. Make backup of ``/boot``, ``/etc``, list of processes ``ps -ef`` and list of network services ``netstat -tulnp`` (or ``ss -tulnp``). Those dumps will help you check if all the services started. You can also recover some settings from backups in case something goes wrong (in a minor way) - you will not need to roll back whole snapshot.
    11. Perform the update (e.g. ``yum update``).
      1. YMMV depending on the packages being updated. Also when upgrading PostgreSQL, there are additional steps you have to perform.
    12. Restart affected services or reboot the whole machine if necessary.
    13. When the machine is up, check ``dmesg`` and ``/var/log/{messages,syslog}`` or analogous files for your OS.
    14. Check running processes and network services whether everything started properly.
      1. Namely PostgreSQL and HTTPd should be up and running. Those are parts of IdM deployment.
    15. If everything is ok, start the IdM service.
    16. Check IdM logs whether it started successfuly.
    17. Log into the IdM and test connection to end systems (configuration form for the system, green button "Test connector").
    18. Check your testing use-cases.
    19. Enable autostart of IdM service upon OS start.
    20. (If there were changes to the database (e.g. PostgreSQL major version upgrade), make a backup of the upgraded database.)
    21. Allow users to access the IdM.
    22. Enable monitoring system notifications.
    23. End the maintenance.
  3. Wrap-up
    1. Update documentation if necessary.
    2. Perform maintenance analysis and update your procedures if necessary.
    3. Update your test cases if necessary.
    4. After about a week, check system logs to make sure all components work as expected.
For Windows OSes, the update process is roughly the same. For checking services, status of the system and system logs, use the Event Viewer and Server Manager.

Resolving issues

For maintenance actions, it is necessary to: