Implementation process for patch management
This topic describes the workflows for installing and configuring all of the BMC Server Automation components for patch management, and the workflow for setting up and executing related patching jobs.
The sections below describe the tasks involved in each workflow, and provide references to further details in BMC Server Automation technical documentation.
Overview of patch management
Most security breaches are due to known and unpatched vulnerabilities. As a result, there is real pressure to manage patching as efficiently and effectively as possible.
With BSA, the patch administrator analyzes individual servers to determine which patches must be acquired and installed to comply with organizational standards. BSA automates the process of building and maintaining a patch repository, analyzing target servers, and, if necessary, packaging and deploying patches. At the end of the process, BMC Decision Support for Server Automation reports are available to show compliance.
The following table describes some key elements of the BMC Server Automation patch management solution.
Item | Description |
|---|---|
Patch metadata | All patch vendors publish some kind of information that basically says that a given patch is needed based on operating system, application version, or existing patches. We call this information the patching metadata, because it tells us information about the patch: specifically where the patch applies. In BSA, this metadata is stored in the patch catalog. |
Patch catalog | A patch catalog provides a place to store metadata about patches. Patch catalogs store vendor patch metadata, and are the source of information used for analysis, downloading patch payloads, and deployment. Patch catalogs can be designed for specific needs. For example, a patch catalog can used for a particular operating system, such as Microsoft Windows 2008 or 2012. With well designed patch catalogs, it is easier to select the patches that should be used when evaluating the patch configuration of a particular server. |
Patching Job | You run a Patching Job to identify missing patches on your servers. A Patching Job uses the information contained in the patch catalog to analyze one or more target servers for patch compliance. There are three parts to the patch process:
You can choose to run only the analysis part of a Patching Job, and then run remediation later, or you can run remediation immediately after the analysis. |
Standard Patching | Standard patching refers to applying critical or important vendor patches. The standard patching process normally involves either reusable or purpose-built Patch Smart Groups. A typical patching process includes:
Some companies perform this cycle twice, with the third Patching Job performing the verification/reporting, as it is sometimes difficult to achieve 99% compliance with one remediation pass. A typical full patch management lifecycle is 15-30 days for the full production environment, with another 15 days up front for pre-production. |
Emergency patching | Also known as zero day or critical patching, emergency patching refers to either one specific patch, or a list of similar patches. The process is actually a lot like standard patching, but the change controls tend to be broader, and more servers tend to get remediated within the same job (or by using fewer jobs than the standard patch process). Since this patch list is highly focused, testing overhead tends to be smaller, and the windows into which the patches are deployed tend to be much narrower. A typical window for emergency patching could be 10 days for the entire environment. Patch Compliance dashboards are critical for emergency patching, and since these usually still need to run in some kind of seven day maintenance windows, the capability to quickly understand deployment success rates and patch compliance across specific groups or populations is very important. Deployment success rates and patch compliance for emergency patching are mostly measured using job results, and also with trailing reports in BMC Decision Support for Server Automation. |
Patch management consists of the following tasks:
- Preparatory tasks
- Defining role-based permissions
- Configuring Global Configuration parameters
- (Windows only) Defining the location of Microsoft Windows installation media for Microsoft Office patch deployment
- (Offline mode only) Building an offline patch repository
- Downloading patch downloader utilities from BMC
- Preparing XML configuration files for downloading patch content
- Downloading patches to the offline patch repository
- Patching tasks
- Creating and updating a patch catalog
- Creating and running a Patching Job and a Remediation Job
These tasks are described in more detail in Checklist for setting up and enabling patch management.
What environments are supported?
Supported platforms for patch management
The following lists provide details of the operating systems supported for patch management:
OS platform | Version | Architecture / Hardware |
|---|---|---|
IBM AIX | 5.2 | pSeries |
5.3 | pSeries | |
6.1 | pSeries | |
7.1 | pSeries | |
Microsoft Windows | Windows XP | x86 |
Windows Server 2003 | x86 | |
Windows Server 2003 with Virtual Center | x86 | |
Windows Server 2003 R2 Enterprise Edition | x64 (64-bit native) | |
Windows Server 2003 R2 with Virtual Center | x64 (64-bit native) | |
Windows Server 2008 | x86x64 (64-bit native) | |
Windows Server 2008 with Virtual Center | x86x64 (64-bit native) | |
Windows Server 2008 R2 | x64 (64-bit native) | |
Windows Server 2008 R2 with Virtual Center | x64 (64-bit native) | |
Windows Server 2012 | x64 (64-bit native) | |
Windows Server 2012 R2 | x64 (64-bit native) | |
Windows 7 | x86x64 (64-bit native) | |
Windows 8 | x86x64 (64-bit native) | |
Oracle Enterprise Linux | 4.x | x86x64 (64-bit native) |
5.x | x86x64 (64-bit native) | |
6.x | x86x64 (64-bit native) | |
Oracle Solaris | 9 | SPARC (sun4u)x86 |
10 | SPARC (sun4u)SPARC (sun4v)SPARC (sun4us)x86x64 | |
11* | SPARC (sun4v)x86 | |
Red Hat Enterprise Linux | 4.x | x86x64 (64-bit native)zSeries (64-bit native) |
5.x | x86x64 (64-bit native)zSeries (64-bit native) | |
6.x | x86x64 (64-bit native)zSeries (64-bit native) | |
7.x | x64 (64-bit native) | |
SUSE Linux Enterprise Server | 9.x | x86x64 (64-bit native)zSeries (64-bit native) |
10.x | x86x64 (64-bit native)zSeries (64-bit native) | |
11.x | x86x64 (64-bit native)zSeries (64-bit native) | |
Ubuntu Linux Server | 11 | |
12 | ||
14 | ||
Debian | 6.x | x86x64 |
HP-UX** | 11.23 | PA-RISCIA64 |
11.31 | PA-RISCIA64 | |
CentOS Linux** | 5.x | x86x64 (64-bit native) |
6.x | x86x64 (64-bit native) |
** For HP-UX and CentOS Linux, a separate script-based solution called Vendor Patch Content (VPC) is provided. See Performing-HP-UX-or-CentOS-patch-analysis-using-Vendor-Patch-Content.
Supported platforms for storing the patch repositories of patch catalogs
Patch catalog | Supported platforms for storing patch repositories |
|---|---|
Windows | Any Windows or Linux server |
Red Hat Enterprise Linux (RHEL) | Based on the version of RHEL patching you are performing, the supported patch repository platforms are as follows: For RHEL 6 or earlier: Any RPM-based Linux server For RHEL 7: Red Hat Enterprise Linux 6 or Red Hat Enterprise Linux 7 |
Oracle Enterprise Linux | Any RPM-based Linux server |
SUSE Linux | The repository server can be any Linux server. However some SUSE-specific patches need to be stored only on a SUSE repository. BMC strongly recommends that you use a SUSE Linux server for storing the patch repository. |
AIX | Any AIX server |
Solaris | Any Windows or Linux server Note: If you are using Solaris 11 patches, you can only use a Solaris 11 server for storing the patch repository. |
Ubuntu | Any Windows or Linux server |
Debian | Any Windows or Linux server |
Cent OS | Any Linux server |
Fujitsu | Any Windows or Linux server |
HP-UX | If you are using the offline patch downloader you can use any Windows or Linux server to store the patch repository. However, if you are using the VPC method you must store the patch repository only on a HP-UX server. |
Checklist for setting up and enabling patch management
The following table provides a checklist for performing all of the tasks required to set up the provisioning system and provision servers. Each step in the table also includes a link to more information.
| Step | Description | More information |
|---|---|---|---|
1 | Set up roles and permissions
| To create or update a catalog, you must be assigned a role that includes the necessary permissions. You can assign permissions to one role or divide them between several roles. Although this process is not essential for patch management, BMC always recommends that you grant users the minimum set of permissions needed to perform actions. If you do not set up a patching administrator with a limited set of permissions, a superuser such as the BLAdmins role must perform patch management. Grant the minimum set of permissions to the patching administrator, as well as grant the minimum level of access to any servers where you will be setting up patching infrastructure. | |
2 | Configure global patch configuration parameter | Global Configuration parameters provide basic information used during patch catalog creation and updating, as well as for Patch and Remediation Jobs. The following parameter groups are available:
| |
3 | (Windows only) Define the location of installation media for Microsoft Office patch deployment | To deploy Microsoft Office patches, BMC Server Automation must have access to a network location containing installation media for Microsoft Office. Because target servers can run different versions of Microsoft Office, you might need to specify a different location for each target server or smart group. | |
4 | Choose offline mode or online mode
| There are two patch management modes:
The Patch Downloader utilities run scripts that use XML configuration files (samples are provided with the product) containing required information such as the repository location, as well as filters used during downloading from the vendor website. | N/A |
5 | Create a patch repository for offline mode | In an offline environment, Internet access is not available to any of the servers in the environment. In this case, you work in Offline Mode using the Patch Downloader utility to download metadata and payload information to a server with Internet access. After downloading, you transfer metadata and payload information, using removable storage, to the patch repository within the air-gapped environment. From the BMC EPD site, download the appropriate utilities for building your offline repository. The utilities are platform-specific. You must know which platform you plan to use to download your patches. Use the utilities that you downloaded from the BMC EPD site to prepare the XML configuration files for downloading the patch content. To download the patch content, use the utilities and the XML configuration files that you prepared. | |
6 | Create a patch catalog in online mode
| For both types of repositories, online and offline, you create a patch catalog using the BMC Server Automation Console. Patches are added to the catalog as depot objects according to filters that you define for the catalog. | |
7 | Stock the catalog | To ensure that you are working with valid patch content, you must run a Catalog Update Job before you run a Patch Job. | |
8 | Creating and running a Patching and Remediation Job | A Patching Job has two parts:
You can choose to run only the Analysis part of a Patching Job, and then run Remediation later, or you can run Remediation immediately after the Analysis. |
Patch management authorization requirements
To perform patch analysis and remediation tasks, you must have the appropriate authorizations assigned to your user role and to the relevant system objects and resources. The following tables list the minimum authorizations required, for both roles and objects. For a list of permissions required for a specific role, such as patch catalog manager, see Minimum-permissions-for-patching.
Minimum permissions for patching
Permission | Description |
|---|---|
ACLPolicy.* | Create ACL policies to grant permissions to other roles that download patch objects. |
ACLTemplate.* | Create ACL templates to grant permissions to other roles that download patch objects. |
AIXPatchSoftware.* | AIX only: Create and read patch software. |
AIXSoftware.* | AIX only: Create and read software. |
BatchJob.* | Create and execute Batch Jobs that run concatenated Deploy Jobs |
BLPackage.* | Create remediation packages and read their contents. |
CustomSoftware.* | Linux and Windows only: Create Linux remediation jobs and read their contents. |
DeployJob.* | Read and execute jobs that deploy patch packages. |
DepotFile.* | Optional: Manage offline patch catalog metadata content. |
DepotFolder.Read | Create the patch catalog in a depot folder or create remediation objects in a depot folder. |
DepotGroup.Read | Navigate to the patch catalog or remediation objects in a depot group. |
JobFolder.Read | Create Patch Analysis jobs and remediation jobs in a folder or navigate to them in a group. |
JobGroup.Read | Create Patch Analysis jobs and remediation jobs in a folder or navigate to them in a group. |
LinuxSoftware.* | Linux only: Create and read software. |
PatchCatalog.* | Create and manage a patch catalog |
PatchDownloadJob.* | Manage patch downloads. |
PatchingAnalysisConfig.Modify | Optional: Manage global patch settings. |
PatchingJob.Read | Read the jobs used as the basis of remediation. |
PatchRemedationJob.* | Manage patch remediation jobs. |
PatchSmartGroup.* | Create smart groups in the patch catalog. |
Server.Browse | Create a patch repository on a helper server, read the contents of the repository, read contents of target servers, deploy patches to target servers. |
ServerGroup.Read | Allow user to browse to the helper server when selecting it and to browse to target servers. |
SolarisSoftware.* | Solaris only: Create and read software. |
WindowsSoftware.* | Windows only: Create and read software. |
Object level permissions for patching
Object | Permissions | Description |
|---|---|---|
Depot folders | DepotFolder.Read | Grant these permissions on the depot folder where you create a patch catalog and to all depot folders that are parents of the patch catalog folder. Also grant these permissions on the depot folder where you create any remediation packages and to all parent job folders or groups. |
Server functioning as a patch repository | Server.Read | Grant these permissions to the server used as a patch repository. |
Target servers | Server.Deploy | Grant these permissions on target servers. |
Target server groups | ServerGroup.Read | Grant these permissions on any target server groups that hold the target server. |
Job folder containing Patching and remediation jobs | JobGroup.Read | Grant these permissions on the job folder where you create a Patching Job and to all parent job folders or groups. Also grant these permissions on the job folder where you create any remediation jobs and to all parent job folders or groups. |
Patching jobs | PatchingJob.Read | Grant this permission on any Patching Jobs. |
Where to go from here