Local user access control to TCP/IP resources using SAF

You can use System Authorization Facility (SAF) to control which z/OS® users can access specific TCP/IP resources, which protects against unauthorized user access to these resources.

You define SAF resource profiles in the SERVAUTH class to control access to the TCP/IP resources. After you define a SAF resource profile, a local user can access the associated TCP/IP resource if their user ID has at least READ access to the resource.

z/OS Communication Server programs call SAF to determine which users have access to protected resources. The user's credentials, a resource name, and a requested level of access (READ, UPDATE, and so on) are provided to SAF. SAF has three defined return codes:

0
Permit
4
No decision
8
Deny

The following situations can result in a no-decision return code from SAF:

When SAF returns a no-decision return code, the resource manager decides whether to allow access. The No SAF decision column in Table 1 indicates the action that the resource manager takes for each resource.

Table 1 summarizes the SERVAUTH resource names that are used by TCP/IP.

Table 1. SERVAUTH resource names used by TCP/IP
Function Description No SAF decision SERVAUTH resource name
Start of changeLOGSTR in any SAF logging (SMF type 80 records for RACF®)End of change
Broadcast access control Provides ability to control whether an application is permitted to set the SO_BROADCAST socket option needed to send broadcast datagrams Permit EZB.SOCKOPT.sysname.tcpname.SO_BROADCAST
Start of changeTCPIP SOCKOPT ACCESS CHECKEnd of change
CIM provider access control Provides ability to restrict access to CIM data Deny EZB.CIMPROV.sysname.tcpname
Start of changeTCPIP CIM PROVIDER CHECKEnd of change
DCAS server access control Controls ability to access DCAS server based on SAF user ID associated with TLS-authenticated X.509 client certificate Permit EZA.DCAS.cvtsysname

Start of changeDCAS SAFCERT CHECK FOR USER certuserEnd of change

Start of changeorEnd of change

Start of changeTCPIP EZACDRAU AUTH CHECK FOR EZA.DCAS.cvtsysnameEnd of change

Fast Response Cache Accelerator (FRCA) Access Control Provides ability of user to create FRCA cache (FRCA used by web servers for caching static web pages in the stack) Deny, see result 1 EZB.FRCAACCESS.sysname.tcpname
Start of changeTCPIP FRCA ACCESS CHECKEnd of change
FTP server access control Controls ability to access FTP server based on SAF user ID used to log in Permit EZB.FTP.sysname.Start of changeftpdaemonnameEnd of change.PORTxxxxx
Start of change(none)End of change
FTP SITE command control Provides ability to restrict usage of SITE DUMP and DEBUG commands (commands generate large amount of output) Permit EZB.FTP.sysname.Start of changeftpdaemonnameEnd of change.SITE.DUMP

EZB.FTP.sysname.ftpdaemonname.SITE.DEBUG

Start of change(none)End of change
FTP z/OS UNIX file system access control Provides ability to generally restrict FTP user access to the z/OS UNIX file system Permit EZB.FTP.sysname.ftpdaemonname.ACCESS.HFS
Start of change(none)End of change
ipsec command access control Provides ability to control ipsec command usage Deny EZB.IPSECCMD.sysname.tcpname.command_type

EZB.IPSECCMD.sysname.DMD_GLOBAL.command_type

Start of changeTCPIP EZACDRAU AUTH CHECK FOR EZB.IPSECCMD.sysname.tcpname.command_typeEnd of change

Start of changeorEnd of change

Start of changeTCPIP EZACDRAU AUTH CHECK FOR EZB.IPSECCMD.sysname.DMD_GLOBAL.command_typeEnd of change

IPSec network management interface (NMI) access control for control requests (local) Controls whether a user can issue NMI control requests to the local IKE daemon to manage IP filtering and IPSec function (for example, activate and deactivate requests) pertaining to a local TCP/IP stack Deny EZB.NETMGMT.sysname.tcpname.IPSEC.CONTROL
Start of changeTCPIP EZACDRAU AUTH CHECK FOR EZB.NETMGMT.sysname.tcpname.IPSEC.CONTROLEnd of change
IPSec NMI access control for display requests (local) Controls whether a user can issue NMI monitoring requests to the local IKE daemon to retrieve IP filtering and IPSec monitoring data pertaining to a local TCP/IP stack Deny EZB.NETMGMT.sysname.tcpname.IPSEC.DISPLAY
Start of changeTCPIP EZACDRAU AUTH CHECK FOR EZB.NETMGMT.sysname.tcpname.IPSEC.DISPLAYEnd of change
IPSec NMI and ipsec command access control Controls whether a user can issue:
  • NMI requests to display IKE daemon NSS client information
  • The ipsec command with the -w option to display IKE daemon NSS IPSec client information
Deny EZB.NETMGMT.sysname.sysname.IKED.DISPLAY
Start of changeTCPIP EZACDRAU AUTH CHECK FOR EZB.NETMGMT.sysname.sysname.IKED.DISPLAYEnd of change
IPSec NMI and ipsec command access control for control requests (remote) Controls whether a user can issue:
  • NMI management requests to the NSS server that pertain to an NSS client (for example, activate and deactivate requests)
  • The ipsec command with the -z option to perform a management action to an NSS IPSec client (for example, to activate and deactivate options)
Deny EZB.NETMGMT.sysname.clientname.IPSEC.CONTROL
Start of changeTCPIP EZACDRAU AUTH CHECK FOR EZB.NETMGMT.sysname.clientname.IPSEC.CONTROLEnd of change
IPSec NMI and ipsec command access control for display requests (remote) Controls whether a user can issue:
  • NMI monitoring requests to the NSS server that pertain to an NSS client (that is, get requests)
  • The ipsec command with the -z option to display options for an NSS IPSec client
Deny EZB.NETMGMT.sysname.clientname.IPSEC.DISPLAY
Start of changeTCPIP EZACDRAU AUTH CHECK FOR EZB.NETMGMT.sysname.clientname.IPSEC.DISPLAYEnd of change
IPv6 Advanced Socket API access control Provides ability to control whether an application is permitted to set IPv6 advanced socket API options:

IPv6_NEXTHOP

IPv6_TCLASS

IPv6_RTHDR

IPV6_HOPOPTS

IPV6_DSPOPTS

IPV6_RTHDRDSTOPT

IPV6_PKTINFO

IPV6_HOPLIMIT

Deny, see result 2 EZB.SOCKOPT.sysname.tcpname.IPV6_NEXTHOP

EZB.SOCKOPT.sysname.tcpname.IPV6_TCLASS

EZB.SOCKOPT.sysname.tcpname.IPV6_RTHDR

EZB.SOCKOPT.sysname.tcpname.IPV6_HOPOPTS

EZB.SOCKOPT.sysname.tcpname.IPV6_DSTOPTS

EZB.SOCKOPT.sysname.tcpname.IPV6_RTHDRDSTOPTS

EZB.SOCKOPT.sysname.tcpname.IPV6_PKTINFO

EZB.SOCKOPT.sysname.tcpname.IPV6_HOPLIMIT

Start of changeTCPIP SOCKOPT ACCESS CHECKEnd of change
Netstat command access control Provides ability to restrict Netstat usage Permit, see result 3 EZB.NETSTAT.sysname.tcpname.netstat_option
Start of changeTCPIP EZACDNET AUTH CHECK FOR EZB.NETSTAT.sysname.tcpname.netstat_optionEnd of change
Network security services (NSS) NMI and command access control Controls whether a user can issue:
  • NMI requests to display connections to the NSS server
  • The ipsec command with the -x option to display NSS IPSec client connections to the NSS server
  • The nssctl command to display NSS client connections to the NSS server.
Deny EZB.NETMGMT.sysname.sysname.NSS.DISPLAY
Start of changeTCPIP EZACDRAU AUTH CHECK FOR EZB.NETMGMT.sysname.sysname.NSS.DISPLAYEnd of change
NSS server access control Controls whether an NSS IPSec client can register with the NSS server for the NSS IPSec certificate service Deny EZB.NSS.sysname.clientname.IPSEC.CERT
Start of changeTCPIP EZACDRAU AUTH CHECK FOR EZB.NSS.sysname.clientname.IPSEC.CERTEnd of change
NSS server access control Controls whether an NSS IPSec client can register with the NSS server for the NSS IPSec remote management service Deny EZB.NSS.sysname.clientname.IPSEC.NETMGMT
Start of changeTCPIP EZACDRAU AUTH CHECK FOR EZB.NSS.sysname.clientname.IPSEC.NETMGMTEnd of change
NSS server access control Controls whether an NSS XMLAppliance client can register with the NSS server for the XMLAppliance SAFAccess service. Deny EZB.NSS.sysname.clientname.XMLAPPLIANCE.SAFACCESS
Start of changeTCPIP EZACDRAU AUTH CHECK FOR EZB.NSS.sysname.clientname.XMLAPPLIANCE.SAFACCESSEnd of change
NSS server access control Controls whether an NSS XMLAppliance client can register with the NSS server for the XMLAppliance certificate service. Deny EZB.NSS.sysname.clientname.XMLAPPLIANCE.CERT
Start of changeTCPIP EZACDRAU AUTH CHECK FOR EZB.NSS.sysname.clientname.XMLAPPLIANCE.CERTEnd of change
NSS server access control Controls whether an NSS XMLAppliance client can register with the NSS server for the XMLAppliance private key service. Deny EZB.NSS.sysname.clientname.XMLAPPLIANCE.PRIVKEY
Start of changeTCPIP EZACDRAU AUTH CHECK FOR EZB.NSS.sysname.clientname.XMLAPPLIANCE.PRIVKEYEnd of change
NSS server certificate access control Controls whether an NSS client can access a CERTAUTH certificate on the key ring of the NSS server Deny EZB.NSSCERT.sysname.mappedlabelname.CERTAUTH
Start of changeTCPIP EZACDRAU AUTH CHECK FOR EZB.NSSCERT.sysname.mappedlabelname.CERTAUTHEnd of change
NSS server certificate access control Controls whether an NSS client can access a PERSONAL or SITE certificate on the key ring of the NSS server Deny EZB.NSSCERT.sysname.mappedlabelname.HOST
Start of changeTCPIP EZACDRAU AUTH CHECK FOR EZB.NSSCERT.sysname.mappedlabelname.HOSTEnd of change
NSS server private key access control Controls whether an NSS XMLAppliance client can access the private key for a certificate on the key ring of the NSS server Deny EZB.NSSCERT.sysname.mappedlabelname.PRIVKEY
Start of changeTCPIP EZACDRAU AUTH CHECK FOR EZB.NSSCERT.sysname.mappedlabelname.PRIVKEYEnd of change
OSM access control Controls ability to access the intranode management network using OSM interfaces Deny EZB.OSM.sysname.tcpname
Start of changeTCPIP OSM ACCESS CHECKEnd of change
Partner information ioctl access control Controls whether an application can use the SIOCGPARTNERINFO ioctl to obtain partner security credentials within a sysplex or subplex over a trusted TCP connection Deny EZB.IOCTL.sysname.tcpprocname.PARTNERINFO
Start of changeSIOCGPARTNERINFOEnd of change
Policy Agent command control Provides ability to restrict pasearch command, IKE daemon, policy clients, and nslapm2 usage by type Deny EZB.PAGENT.sysname.image.ptype
Start of changeTCPIP EZACDRAU AUTH CHECK FOR EZB.PAGENT.sysname.image.Start of changeptypeEnd of changeEnd of change
Real-time application-controlled TCP/IP trace NMI access control - Open request Controls whether an application can invoke the NMI to open a trace; intended for network management applications Deny EZB.TRCCTL.sysname.tcpname.OPEN
Start of changeTCPIP NETWORK MANAGEMENTEnd of change
Real-time application-controlled TCP/IP trace NMI access control - Set filters Controls whether an application can invoke the NMI to set filters for packet trace; intended for network management applications Deny EZB.TRCCTL.sysname.tcpname.PKTTRACE
Start of changeTCPIP NETWORK MANAGEMENTEnd of change
Real-time application-controlled TCP/IP trace NMI access control - Set filters Controls whether an application can request IPSec cleartext data on a packet trace filter Deny EZB.TRCSEC.sysname.tcpname.IPSEC
Start of changeTCPIP NETWORK MANAGEMENTEnd of change
Real-time application-controlled TCP/IP trace NMI access control - Set filters Controls whether an application can invoke the NMI to set filters for data trace; intended for network management applications Deny EZB.TRCCTL.sysname.tcpname.DATTRACE
Start of changeTCPIP NETWORK MANAGEMENTEnd of change
Real-time application-controlled TCP/IP trace NMI access control - Set filters Controls whether an application can request AT-TLS cleartext data on a data trace filter Deny EZB.TRCSEC.sysname.tcpname.ATTLS
Start of changeTCPIP NETWORK MANAGEMENTEnd of change
Real-time OSAENTA information service access control Provides ability to restrict access to select real-time OSAENTA packet trace records accessible using the OSAENTA information service; intended for network management applications Deny, see result 4 EZB.NETMGMT.sysname.tcpname.SYSTCPOT
Start of changeTCPIP NETWORK MANAGEMENTEnd of change
Real-time SMF information service access control Provides ability to restrict access to select real-time SMF records accessible using the SMF information service; intended for network management applications Deny, see result 4 EZB.NETMGMT.sysname.tcpname.SYSTCPSM
Start of changeTCPIP NETWORK MANAGEMENTEnd of change
Real-time TCP connection information service access control Provides ability to restrict access to the TCP connection information using TCP connection information service; intended for network management applications Deny, see result 4 EZB.NETMGMT.sysname.tcpname.SYSTCPCN
Start of changeTCPIP NETWORK MANAGEMENTEnd of change
Real-time TCP/IP packet trace service access control Provides ability to restrict access to select real-time packet trace records accessible using the TCP/IP packet trace service; intended for network management applications Deny, see result 4 EZB.NETMGMT.sysname.tcpname.SYSTCPDA
Start of changeTCPIP NETWORK MANAGEMENTEnd of change
Start of changerpcbind access controlEnd of change Start of changeProvides ability to control whether an applications is permitted to register and unregister its port with rpcbind.End of change Start of changeDenyEnd of change Start of changeEZB.RPCBIND.sysname.rpcbindname.REGISTRY End of change
Start of changeStart of change(none)End of changeEnd of change
SNMP agent control Provides control over usage of SNMP subagents that connect to the SNMP agent by using a TCP connection Permit EZB.SNMPAGENT.sysname.tcpname
Start of changeTCPIP EZACDRAU AUTH CHECK FOR EZB.SNMPAGENT.sysname.tcpnameEnd of change
TCP/IP local port access control Controls user ability to bind to a non-ephemeral TCP or UDP port Deny EZB.PORTACCESS.sysname.tcpname.port_safname
Start of changeTCPIP PORT ACCESS CHECK PORT portnumEnd of change
TCP/IP netaccess access control Controls local user inbound and outbound access to network resources, and local user access to local IP address when explicitly binding to local interface (or using job-specific or destination-specific source IP addresses) Deny EZB.NETACCESS.sysname.tcpname.zonename
Start of changeTCPIP NETWORK ACCESS CHECK ipaddressEnd of change
TCP/IP stack access control Controls user ability to open a socket and get host name or host ID Permit EZB.STACKACCESS.sysname.tcpname
Start of changeTCPIP STACK ACCESS CHECKEnd of change
TCP/IP stack initialization access control Controls ability of applications to open a socket before AT-TLS policy is loaded into the TCP/IP stack Deny EZB.INITSTACK.sysname.tcpname
Start of changeTCPIP INIT STACK ACCESS CHECKEnd of change
Start of changeTN3270E Telnet server access controlEnd of change Start of changeControls ability to access TN3270E Telnet server based on SAF user ID associated with TLS-authenticated X.509 client certificateEnd of change Start of changeDenyEnd of change Start of changeEZB.TN3270.sysname.tn3270name.PORTxxxxxEnd of change
Start of changeStart of changeTN3270 SAFCERT CHECK FOR USER userid PORT portnum ON tn3270nameEnd of changeEnd of change
VIPARANGE access control for any VIPA range (bind) Controls whether an application can create a DVIPA by binding to a DVIPA that is specified by any VIPARANGE statement Permit EZB.BINDDVIPARANGE.sysname.tcpname
Start of changeTCPIP BINDDVIPA ACCESS CHECKEnd of change
VIPARANGE access control for any VIPA range (MODDVIPA and ioctl) Provides access control for all VIPARANGE statements, and controls whether a user or application can perform the following tasks:
  • Create a dynamic VIPA (DVIPA) that is specified by any VIPARANGE statement, using the SIOCSVIPA ioctl call, the SIOCSVIPA6 ioctl call, or the MODDVIPA utility
  • Delete a DVIPA that was created using this profile and the SIOCSVIPA ioctl call, the SIOCSVIPA6 ioctl call, or the MODDVIPA utility
Deny, see result 5 EZB.MODDVIPA.sysname.tcpname
Start of changeTCPIP MODDVIPA or SIOCSVIPA(6) ACCESS CHECKEnd of change
VIPARANGE access control for a specific VIPA range (bind) Controls whether an application can create an application-specific DVIPA, by binding to a DVIPA that is specified by a VIPARANGE statement that includes the SAF parameter with the same value for resname. Deny EZB.BINDDVIPARANGE.sysname.tcpname.resname
Start of changeTCPIP BINDDVIPA SAF ACCESS CHECKEnd of change
VIPARANGE access control for a specific VIPA range (MODDVIPA and ioctl) Provides access control for a specific VIPARANGE statement that includes the SAF parameter with the same value for resname, and controls whether a user or application can perform the following tasks:
  • Create an application-specific DVIPA that is specified by a specific VIPARANGE statement, using the SIOCSVIPA ioctl call, the SIOCSVIPA6 ioctl call, or the MODDVIPA utility
  • Delete a DVIPA that was created using this profile and the SIOCSVIPA ioctl call, the SIOCSVIPA6 ioctl call, or the MODDVIPA utility
Deny EZB.MODDVIPA.sysname.tcpname.resname
Start of changeTCPIP MODDVIPA or SIOCSVIPA(6) SAF ACCESS CHECKEnd of change
Results:
  1. Deny, unless the user ID is a WLM user or is a UNIX System Services superuser.
  2. Deny, unless the user ID is APF authorized or is a UNIX System Services superuser.
  3. Permit, except for the DROP option, when access is denied.
  4. Deny, unless the user ID is a UNIX System Services superuser or has READ access to BPX.SUPERUSER.
  5. Deny, unless the user ID is APF authorized and is a UNIX System Services superuser.