The following is a description of the elements, types, and attributes that compose the HP-UX specific tests found in Open Vulnerability and Assessment Language (OVAL). Each test is an extension of the standard test element defined in the Core Definition Schema. Through extension, each test inherits a set of elements and attributes that are shared amongst all OVAL tests. Each test is described in detail and should provide the information necessary to understand what each element and attribute represents. This document is intended for developers and assumes some familiarity with XML. A high level description of the interaction between the different tests and their relationship to the Core Definition Schema is not outlined here. The OVAL Schema is maintained by the OVAL Community. For more information, including how to get involved in the project and how to submit change requests, please visit the OVAL website at http://oval.cisecurity.org. HP-UX Definition 5.11.1:1.1 11/30/2016 09:00:00 AM Copyright (c) 2016, Center for Internet Security. All rights reserved. The contents of this file are subject to the terms of the OVAL License located at https://oval.cisecurity.org/terms. See the OVAL License for the specific language governing permissions and limitations for use of this schema. When distributing copies of the OVAL Schema, this license header must be included. From /usr/bin/getconf. See getconf manpage for specific fields getconf_test getconf_object getconf_state getconf_item - the object child element of an getconf_test must reference an getconf_object - the state child element of an getconf_test must reference an getconf_state State referenced in filter for '' is of the wrong type. This is the parameter name to check. This is the pathname to check. Note that pathname is optional in the getconf call. A nil pathname ( empty wth attribute xsi:nil='true') in OVAL should be interpreted as if it was not supplied to the getconf call. This is the parameter name to check This is the pathname to check. Note that pathname is optional in the getconf call. A nil pathname in OVAL should be interpreted as if it was not supplied to the getconf call. The output produced by the getconf command. From /usr/bin/ndd. See ndd manpage for specific fields ndd_test ndd_object ndd_state ndd_item - the object child element of an ndd_test must reference an ndd_object - the state child element of an ndd_test must reference an ndd_state State referenced in filter for '' is of the wrong type. The name of the device to examine. The name of the parameter, For example, ip_forwarding. The name of the device to examine. The name of the parameter, For example, ip_forwarding. The value of the named parameter. From /usr/sbin/swlist -l patch PHxx_yyyyy. See swlist manpage for specific fields patch53_test patch53_object patch53_state patch_item - the object child element of an patch53_test must reference an patch53_object - the state child element of an patch53_test must reference an patch53_state State referenced in filter for '' is of the wrong type. HP-UX patch names begin with 'PH' The third and fourth characters in HP-UX patch names indicate the area of software being patched. CO - General HP-UX commands KL - Kernel patches NE - Network specific patches SS - All other subsystems (X11, starbase, etc.) The sixth through tenth characters in HP-UX patch names represent a unique numeric identifier for the patch HP-UX patch names begin with 'PH' The third and fourth characters in HP-UX patch names indicate the area of software being patched. CO - General HP-UX commands KL - Kernel patches NE - Network specific patches SS - All other subsystems (X11, starbase, etc.) The sixth through tenth characters in HP-UX patch names represent a unique numeric identifier for the patch The Patch53Behaviors complex type defines a number of behaviors that allow a more detailed definition of the patch53_object being specified. Note that using these behaviors may result in some unique results. For example, a double negative type condition might be created where an object entity says include everything except a specific item, but a behavior is used that might then add that item back in. 'supersedence' specifies that the object should also match any superseding patches to the one being specified. In other words, if set to True the resulting object set would be the original patch specified plus any superseding patches. The default value is 'false' meaning the object should only match the specified patch. From /usr/sbin/swlist -l patch PHxx_yyyyy. See swlist manpage for specific fields patch_test patch_object patch_state patch_item 5.3 Replaced by the patch53_test. The patch_name entity was removed from the patch_object element, and replaced with the swtype, area_patched, and patch_base entities, because the patch_name element can be constructed from the swtype, area_patched, and patch_base entities. Likewise, the patch_name entity was removed from the patch_state element for the same reason. Also, a behaviors entity was added to the patch_object to allow the object to match both the original patch and any superseding patches. A new test was created to reflect these changes. See the patch53_test. This test has been deprecated and will be removed in version 6.0 of the language. DEPRECATED TEST: ID: - the object child element of an patch_test must reference an patch_object - the state child element of an patch_test must reference an patch_state 5.3 Replaced by the patch53_object. The patch_name entity was removed from the patch_object element, and replaced with the swtype, area_patched, and patch_base entities, because the patch_name element can be constructed from the swtype, area_patched, and patch_base entities. Also, a behaviors entity was added to the patch_object to allow the object to match both the original patch and any superseding patches. A new object was created to reflect these changes. See the patch53_object. This object has been deprecated and will be removed in version 6.0 of the language. DEPRECATED OBJECT: ID: This is the patch name to check. 5.3 Replaced by the patch53_state. The patch_name entity was removed from the patch_state element, and replaced with the swtype, area_patched, and patch_base entities, because the patch_name element can be constructed from the swtype, area_patched, and patch_base entities. A new state was created to reflect these changes. See the patch53_state. This state has been deprecated and will be removed in version 6.0 of the language. DEPRECATED STATE: ID: This is the patch name to check HP-UX patch names begin with 'PH' The third and fourth characters in HP-UX patch names indicate the area of software being patched. CO - General HP-UX commands KL - Kernel patches NE - Network specific patches SS - All other subsystems (X11, starbase, etc.) The sixth through tenth characters in HP-UX patch names represent a unique numeric identifier for the patch Output of /usr/sbin/swlist command. Note: A quick way to check for the installation of a specific fileset is to use the command 'swlist -a version -l fileset filesetname'. See manpage for swlist for explanation of additional command options. swlist_test swlist_object swlist_state swlist_item - the object child element of an swlist_test must reference an swlist_object - the state child element of an swlist_test must reference an swlist_state State referenced in filter for '' is of the wrong type. This is the name of the bundle or fileset to check. This is the name of the bundle or fileset to check. This test allows for analysis of account settings in trusted HP-UX installations trusted_test trusted_object trusted_state trusted_item - the object child element of an trusted_test must reference an trusted_object - the state child element of an trusted_test must reference an trusted_state State referenced in filter for '' is of the wrong type. This is the name of the user being checked. This is the name of the user being checked The user's ID This is the encrypted version of the user's password The Account owner for pseudo-users Boot authorization getprpwaid uses the audit ID rather than the UID Minimum time between password changes Maximum password length in characters Password expiration time in seconds Trusted lifetime, after which the account is locked Time of last successful password change Time of last unsuccessful password change Absolute account lifetime in seconds Maximum time allowed between logins before the account is locked The time in seconds before expiration when a warning will appear Who can change this user's password Allows user to use system-generated passwords Whether a triviality check is performed on user-generated passwords Determines if null passwords are allowed for this account Allows password generator to use random printable ASCII characters Allows password generator to use random letters Specifies the times when the user may login to this account The user ID of the user who last changed the password on the user's account, if it was not the account owner The time of the last successful login using this account The time of the last unsuccessful login using this account The terminal or remote host associated with the last successful login to the account The terminal or remote hosts associated with the last unsuccessful login to the account The number of unsuccessful login attempts since that last successful login The maximum number of unsuccessful login attempts before the account is locked Indicates whether the administrative lock on the account is set