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,
PAM Server Control
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 withinPAM Server Control.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.
- ACLDefines 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:
- AccessorDefines an accessor.
- AccessDefines the access authority that the accessor has to the resource.
- BLOCKRUNSpecifies 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.
- CATEGORYDefines one or more security categories that are assigned to a user or a resource.
- COMMENTDefines additional information that you want to include in the record.PAM Server Controldoes not use this information for authorization.Limit:255 characters.
- CREATE_TIME(Informational) Displays the date and time when the record was created.
- DAYTIMEDefines 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.
- GROUPSDefines 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.
- AccessDefines 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.
PAM Server Control
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:
- AccessorDefines an accessor.
- ProgramDefines a reference to a record in the PROGRAM class, either specifically or by wildcard pattern matching.
- AccessDefines 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. PAM Server Control
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
PAM Server Control
.The Watchdog automatically verifies the information that is stored in this property. If it is changed,
PAM Server Control
defines the program as untrusted.You can select any of the following flags to
exclude
the associated information from this verification process:- crcThe cyclic redundancy check and MD5 signature.
- ctime(UNIX only) The time of the last file status change.
- deviceOn UNIX, the logical disk that the file resides on. On Windows, the drive number of the disk containing the file.
- groupThe group that owns the program file.
- inodeOn UNIX, the file system address of the program file. On Windows, this flag has no meaning
- modeThe associated security protection mode for the program file.
- mtimeThe time the program file was last modified.
- ownerThe user who owns the program file.
- sha1, sha256, sha384, sha512The SHA1, SHA256, SHA384, or SHA512 signature. Digital signature method called Secure Hash Algorithm that could be applied to the program or sensitive files.
- sizeThe 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
PAM Server Control
records in the audit log. RAUDIT derives its name from R
esource AUDIT
. Valid values are:- allAll access requests.
- successGranted access requests.
- failureDenied access requests (default).
- noneNo access requests.
PAM Server Control
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
PAM Server Control
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,
PAM Server Control
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.