Configuring Broadcom CA Top Secret that uses audit scripts to integrate with IBM QRadar
The Broadcom CA Top Secret DSM collects events and audit transactions on the IBM® mainframe by using the Log File protocol.
Procedure
-
From the IBM support website (http://www.ibm.com/support), download the following compressed
file:
qextops_bundled.tar.gz
-
On a Linux® operating system, extract the file:
tar -zxvf qextops_bundled.tar.gz
The following files are contained in the archive:
- qextops_jcl.txt
- qextopsloadlib.trs
- qextops_trsmain_JCL.txt
-
Load the files onto the IBM mainframe by using any terminal emulator file transfer method.
Upload the sample qextops_trsmain_JCL.txt and qextops_jcl.txt files by using the TEXT protocol.
-
Upload the qextopsloadlib.trs file by using a BINARY mode transfer. The
qextopsloadlib.trs file is a tersed file that contains the executable (the
mainframe program qextops). When you upload the .trs file from a workstation,
preallocate a file on the mainframe with the following DCB attributes: DSORG=PS, RECFM=FB,
LRECL=1024, BLKSIZE=6144. The file transfer type must be binary mode and not text.
Note: Qextops is a small C mainframe program that reads the output of the TSSUTIL (EARLOUT data) line by line. Qextops adds a header to each record that contains event information, for example, record descriptor, the date, and time. The program places each field into the output record, suppresses trailing blank characters, and delimits each field with the pipe character. This output file is formatted for QRadar and the blank suppression reduces network traffic to QRadar. This program does not consume CPU or I/O disk resources.
-
Customize the qextops_trsmain_JCL.txt file according to your
installation-specific requirements.
The qextops_trsmain_JCL.txt file uses the IBM utility TRSMAIN to extract the program that is stored in the qextopsloadlib.trs file.
An example of the qextops_trsmain_JCL.txt file includes:
//TRSMAIN JOB (yourvalidjobcard),Q1labs, // MSGCLASS=V //DEL EXEC PGM=IEFBR14 //D1 DD DISP=(MOD,DELETE),DSN=<yourhlq>.QEXTOPS.TRS // UNIT=SYSDA, // SPACE=(CYL,(10,10)) //TRSMAIN EXEC PGM=TRSMAIN,PARM='UNPACK' //SYSPRINT DD SYSOUT=*,DCB=(LRECL=133,BLKSIZE=12901,RECFM=FBA) //INFILE DD DISP=SHR,DSN=<yourhlq>.QEXTOPS.TRS //OUTFILE DD DISP=(NEW,CATLG,DELETE), // DSN=<yourhlq>.LOAD, // SPACE=(CYL,(10,10,5),RLSE),UNIT=SYSDA //
You must update the file with your installation specific information for parameters, such as, jobcard, data set naming conventions, output destinations, retention periods, and space requirements.
The .trs input file is an IBM TERSE formatted library and is extracted by running the JCL, which calls the TRSMAIN. This tersed file, when extracted, creates a PDS linklib with the qextops program as a member.
- You can STEPLIB to this library or choose to move the program to one of the LINKLIBs that are in the LINKLST. The program does not require authorization.
- Following the upload, copy the program to an existing link listed library or add a STEPLIB DD statement with the correct data set name of the library that contains the program.
-
The qextops_jcl.txt file is a text file that contains a sample
JCL. You must configure the job card to meet your configuration.
The qextops_jcl.txt sample file includes:
//QEXTOPS JOB (T,JXPO,JKSD0093),DEV,NOTIFY=Q1JACK, // MSGCLASS=P, // REGION=0M //* //*QEXTOPS JCL version 1.0 September, 2010 //* //************************************************************* //* Change below dataset names to sites specific datasets names* //************************************************************ //SET1 SET TSSOUT='Q1JACK.EARLOUT.ALL', // EARLOUT='Q1JACK.QEXTOPS.PROGRAM.OUTPUT' //************************************************************ //* Delete old datasets * //************************************************************//
DEL EXEC PGM=IEFBR14 //DD1 DD DISP=(MOD,DELETE),DSN=&TSSOUT, // UNIT=SYSDA, // SPACE=(CYL,(10,10)), // DCB=(RECFM=FB,LRECL=80) //DD2 DD DISP=(MOD,DELETE),DSN=&EARLOUT, // UNIT=SYSDA, // SPACE=(CYL,(10,10)), // DCB=(RECFM=FB,LRECL=80) //************************************************************ //* Allocate new dataset * //************************************************************ //ALLOC EXEC PGM=IEFBR14 //DD1 DD DISP=(NEW,CATLG),DSN=&EARLOUT, // SPACE=(CYL,(100,100)), // DCB=(RECFM=VB,LRECL=1028,BLKSIZE=6144) //************************************************************ //* Execute Top Secret TSSUTIL utility to extract smf records* //************************************************************ //REPORT EXEC PGM=TSSUTIL //SMFIN DD DISP=SHR,DSN=&SMFIN1 //SMFIN1 DD DISP=SHR,DSN=&SMFIN2 //UTILOUT DD DSN=&UTILOUT, // DISP=(,CATLG),UNIT=SYSDA,SPACE=(CYL,(50,10),RLSE), // DCB=(RECFM=FB,LRECL=133,BLKSIZE=0) //EARLOUT DD DSN=&TSSOUT, // DISP=(NEW,CATLG),UNIT=SYSDA, // SPACE=(CYL,(200,100),RLSE), // DCB=(RECFM=VB,LRECL=456,BLKSIZE=27816) //UTILIN DD * NOLEGEND REPORT EVENT(ALL) END /* //************************************************************ //EXTRACT EXEC PGM=QEXTOPS,DYNAMNBR=10, // TIME=1440 //STEPLIB DD DISP=SHR,DSN=Q1JACK.C.LOAD //SYSTSIN DD DUMMY //SYSTSPRT DD SYSOUT=* //SYSPRINT DD SYSOUT=* //CFG DD DUMMY //EARLIN DD DISP=SHR,DSN=&TSSOUT //EARLOUT DD DISP=SHR,DSN=&EARLOUT //************************************************************ //FTP EXEC PGM=FTP,REGION=3800K //INPUT DD * <IPADDR> <USER> <PASSWORD> PUT '<EARLOUT>' EARL_<THEIPOFTHEMAINFRAMEDEVICE>/<QUIT //OUTPUT DD SYSOUT=* //SYSPRINT DD SYSOUT=*
-
After the output file is created, schedule a job to a transfer the output file to an interim
FTP server. The output file is forwarded to an interim FTP server.
You must configure the following parameters in the sample JCL to successfully forward the output to an interim FTP server:
Example://FTP EXEC PGM=FTP,REGION=3800K //INPUT DD * <IPADDR> <USER> <PASSWORD> PUT '<EARLOUT>' EARL_<THEIPOFTHEMAINFRAMEDEVICE>/<EARLOUT> QUIT //OUTPUT DD SYSOUT=* //SYSPRINT DD SYSOUT=*
Where:
<IPADDR> is the IP address or host name of the interim FTP server to receive the output file.
<USER> is the user name that is needed to access the interim FTP server.
<PASSWORD> is the password that is needed to access the interim FTP server.
<THEIPOFTHEMAINFRAMEDEVICE> is the destination of the mainframe or interim FTP server that receives the output.
Example:PUT 'xxxxxx.xxxxxxx.OUTPUT.C320' /<IP_address>/CA/QEXTOPS.OUTPUT.C320
<QEXOUTDSN> is the name of the output file that is saved to the interim FTP server.
You are now ready to configure the Log File protocol.
-
Schedule QRadar to
collect the output file from CA Top Secret.
If the zOS platform is configured to serve files through FTP, SFTP, or allow SCP, then no interim FTP server is needed and QRadar can pull the output file directly from the mainframe. The following text must be commented out using
//*
or deleted from the qextops_jcl.txt file://FTP EXEC PGM=FTP,REGION=3800K //INPUT DD * <IPADDR> <USER> <PASSWORD> PUT '<EARLOUT>' EARL_<THEIPOFTHEMAINFRAMEDEVICE>/<EARLOUT> QUIT //OUTPUT DD SYSOUT=* //SYSPRINT DD SYSOUT=*