Once a session has been established using AT-TLS to do end to end TLS encryption, you can use netstat to display information about the session, and what configuration is being used. It feels slightly incomplete, in that some of the data I expected is not available.
- Which rules are being used? I cannot see how to get this directly.
- What sessions are using a port – and display their TTLSPolicy information
- From the clientid for a session, display TTLS information, cipher spec, and level of TLS
- Display keyring, certificate and other host related information
- Which AT-TLS groups are being used?
What sessions are using a Port? – and display TTLSPolicy information
tso netstat all (port 1414
You can use other filter statements, using port 1414 was easy to specify.
This displays the high level TTLS information, see the blue text below
EZZ2350I MVS TCP/IP NETSTAT CS V2R4 TCPIP Name: TCPIP 16:40:39 EZZ2550I Client Name: CSQ9CHIN Client Id: 000000BB EZZ2551I Local Socket: 10.1.1.2..1414 Foreign Socket: 10.1.0.2..51844 EZZ2577I BytesIn: 0000002248 BytesOut: 0000002076 EZZ2574I SegmentsIn: 0000000020 SegmentsOut: 0000000014 EZZ2536I StartDate: 05/31/2022 StartTime: 16:31:54 EZZ2552I Last Touched: 16:36:57 State: Establsh EZZ2553I RcvNxt: 0626077759 SndNxt: 3598815082 EZZ2554I ClientRcvNxt: 0626076574 ClientSndNxt: 3598812426 EZZ2555I InitRcvSeqNum: 0626074325 InitSndSeqNum: 3598810349 EZZ2556I CongestionWindow: 0000018720 SlowStartThreshold: 0000065535 EZZ2557I IncomingWindowNum: 0626208746 OutgoingWindowNum: 3598877418 EZZ2558I SndWl1: 0626077759 SndWl2: 3598815082 EZZ2559I SndWnd: 0000062336 MaxSndWnd: 0000064256 EZZ2560I SndUna: 3598815082 rtt_seq: 3598814997 EZZ2561I MaximumSegmentSize: 0000001440 DSField: 00 EZZ2563I Round-trip information: EZZ2564I Smooth trip time: 7.000 SmoothTripVariance: 19.000 EZZ2565I ReXmt: 0000000000 ReXmtCount: 0000000000 EZZ2572I DupACKs: 0000000000 RcvWnd: 0000130987 EZZ2566I SockOpt: 88 TcpTimer: 00 EZZ2567I TcpSig: 04 TcpSel: 40 EZZ2568I TcpDet: E4 TcpPol: 00 EZZ2593I TcpPrf: 89 TcpPrf2: 20 EZZ2593I TcpPrf3: 00 EZZ2593I DelayAck: Yes EZZ2537I QOSPolicy: No EZZ2545I TTLSPolicy: Yes EZZ2546I TTLSRule: REMOTE-TO-CSQ1 EZZ2547I TTLSGrpAction: CSQ1-GROUP-ACTION EZZ2548I TTLSEnvAction: CSQ1-INBOUND-ENVIRONMENT-ACTION EZZ2542I RoutingPolicy: No EZZ2570I ReceiveBufferSize: 0000065536 SendBufferSize: 0000065536 EZZ2538I ReceiveDataQueued: 0000000000 EZZ2539I SendDataQueued: 0000000000 EZZ2611I SendStalled: No EZZ2609I Ancillary Input Queue: N/A ...
From the clientid (connection id) display any TTLS information
From the netstat allconn (port 1414 command, you get each session, and its clientid (see above for clientid 000000BB).
From the tso netstat allconn (port 1414 command, you get one line per session with the connection ID and remote IP address and port.
EZZ2350I MVS TCP/IP NETSTAT CS V2R4 TCPIP Name: TCPIP 16:55:18 EZZ2585I User Id Conn Local Socket Foreign Socket State EZZ2586I ------- ---- ------------ -------------- ----- EZZ2587I CSQ9CHIN 000000BB 10.1.1.2..1414 10.1.0.2..51844 Establsh EZZ2587I CSQ9CHIN 00000022 0.0.0.0..1414 0.0.0.0..0 Listen
Issue the command to display the TTLS information details about connection.
tso netstat ttls conn 000000BB detail
MVS TCP/IP NETSTAT CS V2R4 TCPIP Name: TCPIP ConnID: 000000bb JobName: CSQ9CHIN LocalSocket: 10.1.1.2..1414 RemoteSocket: 10.1.0.2..53230 SecLevel: TLS Version 1.2 Cipher: 003C TLS_RSA_WITH_AES_128_CBC_SHA256 KeyShare: N/A CertUserID: N/A MapType: Primary FIPS140: Off SessionID: 01010018 0A010002 CFEE0000 00000000 00000000 00000000 62970B05 00000001 SIDReuseReq: Off TTLSRule: REMOTE-TO-CSQ1 Priority: 1 LocalAddr: All LocalPort: 1414 RemoteAddr: All RemotePort: All JobName: CSQ9CHIN Direction: Inbound TTLSGrpAction: CSQ1-GROUP-ACTION GroupID: 00000007 TTLSEnabled: On CtraceClearText: Off Trace: 2 SyslogFacility: Daemon SecondaryMap: Off FIPS140: Off
TTLSEnvAction: CSQ1-INBOUND-ENVIRONMENT-ACTION HandshakeRole: Server SuiteBProfile: Off MiddleBoxCompatMode: Off Keyring: START1/MQRING V3CipherSuites: 003C TLS_RSA_WITH_AES_128_CBC_SHA256 Trace: 255 SSLV2: Off SSLV3: Off TLSV1: Off TLSV1.1: Off TLSV1.2: On TLSV1.3: On ResetCipherTimer: 0 ApplicationControlled: Off HandshakeTimeout: 10 CertificateLabel: ZZZZ SecondaryMap: Off TruncatedHMAC: Off ClientMaxSSLFragment: Off ServerMaxSSLFragment: Off ClientHandshakeSNI: Off ServerHandshakeSNI: Off ClientECurves: 0021 secp224r1 0023 secp256r1 0024 secp384r1 0025 secp521r1 0019 secp192r1 0029 X25519 ClientKeyShareGroups: 0023 secp256r1 ServerKeyShareGroups: 0023 secp256r1 0024 secp384r1 0025 secp521r1 0029 X25519 0030 X448 SignaturePairs: 0601 TLS_SIGALG_SHA512_WITH_RSA 0603 TLS_SIGALG_SHA512_WITH_ECDSA 0501 TLS_SIGALG_SHA384_WITH_RSA 0503 TLS_SIGALG_SHA384_WITH_ECDSA 0401 TLS_SIGALG_SHA256_WITH_RSA 0403 TLS_SIGALG_SHA256_WITH_ECDSA 0402 TLS_SIGALG_SHA256_WITH_DSA 0301 TLS_SIGALG_SHA224_WITH_RSA 0303 TLS_SIGALG_SHA224_WITH_ECDSA 0302 TLS_SIGALG_SHA224_WITH_DSA 0201 TLS_SIGALG_SHA1_WITH_RSA 0203 TLS_SIGALG_SHA1_WITH_ECDSA 0202 TLS_SIGALG_SHA1_WITH_DSA 0806 TLS_SIGALG_SHA512_WITH_RSASSA_PSS 0805 TLS_SIGALG_SHA384_WITH_RSASSA_PSS 0804 TLS_SIGALG_SHA256_WITH_RSASSA_PSS ClientAuthType: Required CertValidationMode: Any Renegotiation: Default RenegotiationIndicator: Optional RenegotiationCertCheck: Off 3DesKeyCheck: Off ClientEDHGroupSize: Legacy ServerEDHGroupSize: Legacy PeerMinCertVersion: Any PeerMinDHKeySize: 1024 PeerMinDsaKeySize: 1024 PeerMinECCKeySize: 192 PeerMinRsaKeySize: 1024 ServerScsv: Off GSK_V3_SESSION_TIMEOUT: 86400 GSK_V3_SIDCACHE_SIZE: 512 GSK_SESSION_TICKET_CLIENT_ENABLE: On GSK_SESSION_TICKET_CLIENT_MAXSIZE: 8192 GSK_SESSION_TICKET_SERVER_ENABLE: On GSK_SESSION_TICKET_SERVER_ALGORITHM: AESCBC128 GSK_SESSION_TICKET_SERVER_COUNT: 2 GSK_SESSION_TICKET_SERVER_TIMEOUT: 300 GSK_SESSION_TICKET_SERVER_KEY_REFRESH: 300 HttpCdpEnable: Off HttpCdpProxyServerPort: 80 HttpCdpResponseTimeout: 15 HttpCdpMaxResponseSize: 204800 HttpCdpCacheSize: 32 HttpCdpCacheEntryMaxsize: 0 OcspAiaEnable: Off OcspProxyServerPort: 80 OcspRetrieveViaGet: Off OcspUrlPriority: On OcspRequestSigalg: 0401 TLS_SIGALG_SHA256_WITH_RSA OcspClientCacheSize: 256 OcspCliCacheEntryMaxsize: 0 OcspNonceGenEnable: Off OcspNonceCheckEnable: Off OcspNonceSize: 8 OcspResponseTimeout: 15 OcspMaxResponseSize: 20480 OcspServerStapling: Off
Which AT-TLS groups are being used?
I didn’t find this information very useful. It isn’t clear what a group is. The doc says
Use the TTLSGroupAction statement to specify parameters for a Language Environment process required to support secure connections. The TTLSGroupAction statement indicates whether a selected connection should use AT-TLS security.
tso netstat ttls group
tso netstat ttls
MVS TCP/IP NETSTAT CS V2R4 TCPIP Name: TCPIP TTLSGrpAction Group ID Conns ---------------------------------------- ----------------- ----- CSQ1-GROUP-ACTION 0000003F 1 GrpActOff 00000040 0 GrpActOn 00000041 0 GA1 00000042 0
tso netstat ttls group detail
MVS TCP/IP NETSTAT CS V2R4 TCPIP Name: TCPIP TTLSGrpAction: CSQ1-GROUP-ACTION GroupID: 0000003F Tasks: 4 GroupConns: 1 WorkQElements: 0 SyslogQElements: 0 Env: CSQ1-INBOUND-ENVIRONMENT-ACTION EnvConns: 1 TTLSGrpAction: GrpActOff GroupID: 00000040 Tasks: 4 GroupConns: 0 WorkQElements: 0 SyslogQElements: 0 TTLSGrpAction: GrpActOn GroupID: 00000041 Tasks: 4 GroupConns: 0 WorkQElements: 0 SyslogQElements: 0 TTLSGrpAction: GA1 GroupID: 00000042 Tasks: 4 GroupConns: 0 WorkQElements: 0 SyslogQElements: 0
One thought on “Netstat, TTLS and AT-TLS”