PROGRAM Class

Each record in the PROGRAM class defines a program that is considered part of the trusted computing base. Programs in this class are trusted not to have security breaches because they are monitored by the Watchdog to ensure that they are not modified. If a trusted program is altered,  automatically marks the program as untrusted, and the program is prevented from executing. Optionally, you can also allow or prevent execution of untrusted programs using the BLOCKRUN property.
capamsc141
Each record in the PROGRAM class defines a program that is considered part of the trusted computing base. Programs in this class are trusted not to have security breaches because they are monitored by the Watchdog to ensure that they are not modified. If a trusted program is altered, 
Privileged Access Manager
automatically marks the program as untrusted, and the program is prevented from executing. Optionally, you can also allow or prevent execution of untrusted programs using the BLOCKRUN property.
Each PROGRAM record contains several properties that define information about the trusted program file.
Usage notes:
  • On UNIX, the PROGRAM class can also contain programs that are not marked as setuid or setgid.
  • You can define any program as a trusted program within
    Privileged Access Manager
    .
    A program cannot be used in a program access control list (PACL) unless it is defined in the PROGRAM class. (However, a program is automatically added to the PROGRAM class when it is added to a PACL.)
  • Directories cannot be defined in the PROGRAM class.
The key of the PROGRAM class record is the file name of the program the record protects. Specify the full path of the file as the objectname.
The following definitions describe the properties that are contained in this class record. Most properties are modifiable and can be manipulated using selang or the administration interfaces. Properties marked
informational
cannot be modified.
  • ACCSTIME
    (Informational). The date and time the record was last accessed.
  • ACCSWHO
    (Informational). The administrator who last accessed the record.
  • ACL
    Defines a list of accessors (users and groups) permitted to access the resource, and the access types of the accessor.
    Each element in the access control list (ACL) contains the following information:
    • Accessor
      Defines an accessor.
    • Access
      Defines the access authority that the accessor has to the resource.
    Use the access parameter with the authorize or authorize- command to modify the ACL.
  • BLOCKRUN
    Specifies whether to check if the program is trusted and blocks the execution of untrusted programs. The execution blocking is performed regardless whether the program is a setuid or a regular program.
    Use the blockrun[-] parameter with the chres, editres, and newres commands to modify this property for resources.
  • CATEGORY
    Defines one or more security categories that are assigned to a user or a resource.
  • COMMENT
    Defines additional information that you want to include in the record. 
    Privileged Access Manager
    does not use this information for authorization.
    Limit:
    255 characters.
  • CREATE_TIME
    (Informational) Displays the date and time when the record was created.
  • DAYTIME
    Defines the day and time restrictions that govern when an accessor can access a resource.
    Use the restrictions parameter with the chres, ch[x]usr, or ch[x]grp commands to modify this property.
    The resolution of daytime restrictions is one minute.
  • GROUPS
    Defines the list of CONTAINER records that a resource record belongs to.
    To modify this property in a class record, change the MEMBERS property in the appropriate CONTAINER record.
    Use the mem+ or mem- parameter with the chres, editres or newres command to modify this property.
  • MD5
    (Informational). The RSA-MD5 signature of the file.
  • NACL
The
NACL
property of a resource is an access control list that defines the accessors that are denied authorization to a resource, together with the type of access that they are denied (for example, write). See also ACL, CALACL, PACL. Each entry in the NACL contains the following information:
Accessor
Defines an accessor.
  • Access
    Defines the type of access that is denied to the accessor.
Use the authorize deniedaccess command, or the authorize- deniedaccess- command, to modify this property.
NOTIFY
Defines the user to be notified when a resource or user generates an audit event.
Privileged Access Manager
can email the audit record to the specified user
.
Limit:
30 characters.
OWNER
Defines the user or group that owns the record.
PACL
Defines a list of accessors that are permitted to access the resource when the access request is made by a specific program (or a program that matches a name-pattern) and their access types. Each element in the program access control list (PACL) contains the following information:
  • Accessor
    Defines an accessor.
  • Program
    Defines a reference to a record in the PROGRAM class, either specifically or by wildcard pattern matching.
  • Access
    Defines the access authority that the accessor has to the resource.
You can use wildcard characters to specify the resource in a PACL.
Use the via(
pgm
) parameter with the selang authorize command to add programs, accessors, and their access types to a PACL. You can use the authorize- command to remove accessors from a PACL.
For resources in PROGRAM class, PACL applies only to setuid/setgid programs on UNIX or programs with
file
 resource on Windows. 
Privileged Access Manager
first checks for the file resource record, and if the access is allowed, then it checks the program resource record.
PGMINFO
Defines the program information that is automatically generated by
Privileged Access Manager
.
The Watchdog automatically verifies the information that is stored in this property. If it is changed, 
Privileged Access Manager
defines the program as untrusted.
You can select any of the following flags to
exclude
the associated information from this verification process:
  • crc
    The cyclic redundancy check and MD5 signature.
  • ctime
    (UNIX only) The time of the last file status change.
  • device
    On UNIX, the logical disk that the file resides on. On Windows, the drive number of the disk containing the file.
  • group
    The group that owns the program file.
  • inode
    On UNIX, the file system address of the program file. On Windows, this flag has no meaning
  • mode
    The associated security protection mode for the program file.
  • mtime
    The time the program file was last modified.
  • owner
    The user who owns the program file.
  • sha1, sha256, sha384, sha512
    The SHA1, SHA256, SHA384, or SHA512 signature. Digital signature method called Secure Hash Algorithm that could be applied to the program or sensitive files.
  • size
    The size of the program file.
Use the flags, flags+, or flags- parameter with the chres, editres, or newres command to modify the flags in this property.
RAUDIT
Defines the types of access events that 
Privileged Access Manager
records in the audit log. RAUDIT derives its name from
R
esource
AUDIT
. Valid values are:
  • all
    All access requests.
  • success
    Granted access requests.
  • failure
    Denied access requests (default).
  • none
    No access requests.
Privileged Access Manager
 records events on each attempted access to a resource, and does not record whether the access rules were applied directly to the resource, or were applied to a group or class that had the resource as a member.
Use the audit parameter of the chres and chfile commands to modify the audit mode.
SECLABEL
Defines the security label of a user or resource.
The SECLABEL property corresponds to the label[-] parameter of the chres and ch[x]usr commands.
SECLEVEL
Defines the security level of an accessor or resource.
Note:
This property corresponds to the level[-] parameter of the ch[x]usr and chres commands.
UACC
Defines the default access authority for the resource, which indicates the access granted to accessors who are not defined to
Privileged Access Manager
or who do not appear in the ACL of the resource.
Use the defaccess parameter with the chres, editres, or newres command to modify this property.
UNTRUST
Defines whether the resource is untrusted or trusted. If the UNTRUST property is set, accessors cannot use the resource. If the UNTRUST property is not set, the other properties listed in the database for the resource are used to determine accessor's access authority. If a trusted resource is changed in any way, 
Privileged Access Manager
automatically sets the UNTRUST property.
Use the trust[-] parameter with the chres, editres, or newres command to modify this property.
UNTRUSTREASON
(Informational). The reason why the program became untrusted.
UPDATE_TIME
(Informational) Displays the date and time when the record was last modified.
UPDATE_WHO
(Informational) Displays the administrator who performed the update.
WARNING
Specifies whether Warning mode is enabled. When Warning mode is enabled on a resource, all access requests to the resource are granted. If an access request violates an access rule, a record is written to the audit log.