Configurando o Broadcom CA Top Secret que usa scripts de auditoria para integrar com IBM QRadar
O DSM Broadcom CA Top Secret coleta eventos e transações de auditoria no mainframe IBM® usando o protocolo Arquivo de log.
Procedimento
- No website de suporte IBM (http://www.ibm.com/support), faça download do arquivo compactado a seguir:
qextops_bundled.tar.gz
- Em um sistema operacional Linux® , extraia o arquivo:
tar -zxvf qextops_bundled.tar.gz
Os arquivos a seguir estão contidos no archive:
- qextops_jcl.txt
- qextopsloadlib.trs
- qextops_trsmain_JCL.txt
- Carregar os arquivos sobre o mainframe IBM usando qualquer método de transferência de arquivos de emulador de terminal.
Faça upload dos arquivos de amostra qextops_trsmain_JCL.txt e qextops_jcl.txt usando o protocolo TEXT.
- Faça O Upload do arquivo qextopsloadlib.trs usando uma transferência de modo BINARY. O arquivo qextopsloadlib.trs é um arquivo tersed que contém o executável (o programa de mainframe qextops). Ao fazer upload do arquivo .trs de uma estação de trabalho,
pré-aloque um arquivo no mainframe com os seguintes atributos DCB: DSORG=PS, RECFM=FB,
LRECL=1024, BLKSIZE=6144. O tipo de transferência de arquivo deve ser o modo binário e
não texto.Nota: Qextops é um pequeno programa de mainframe C que lê a saída da linha TSSUTIL (EARLOUT data) por linha. O Qextops inclui um cabeçalho para cada registro que contém informações de evento, por exemplo, descritor de registro, a data e hora. O programa coloca cada campo no registro de saída, suprime os caracteres de rastreio de espaço em branco e delimita cada campo com o caractere de barra vertical. Esse arquivo de saída é formatado para QRadar e a supressão de espaços em branco reduz o tráfego de rede para QRadar. Esse programa não consome recursos de disco da CPU ou de E/S.
- Customize o arquivo qextops_trsmain_JCL.txt de acordo com os seus requisitos específicos de instalação.
O arquivo qextops_trsmain_JCL.txt usa o utilitário IBM TRSMAIN para extrair o programa que está armazenado no arquivo qextopsloadlib.trs .
Um exemplo do arquivo qextops_trsmain_JCL.txt inclui:
//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 //Deve-se atualizar o arquivo com as informações específicas da instalação para parâmetros como cartão de tarefa, convenções de nomenclatura de conjunto de dados, destinos de saída, períodos de retenção e requisitos de espaço.
O arquivo de entrada .trs é uma biblioteca formatada pelo IBM TERSE e é extraído executando a JCL, que chama o TRSMAIN. Esse arquivo tersed, quando extraído, cria um linklib de PDS com o programa qextops como um membro.
- É possível STEPLIB para essa biblioteca ou optar por mover o programa para um dos LINKLIBs que estão no LINKLST. O programa não requer autorização.
- Após o upload, copie o programa em uma biblioteca listada de link existente ou inclua uma instrução STEPLIB DD com o nome do conjunto de dados correto da biblioteca que contém o programa.
- O arquivo qextops_jcl.txt é um arquivo de texto que contém uma JCL de amostra. Deve-se configurar o cartão de tarefa para atender à sua configuração.
O arquivo de amostra qextops_jcl.txt inclui:
//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=* - Após o arquivo de saída ser criado, planeje uma tarefa para transferir o arquivo de saída para um servidor FTP provisório. O arquivo de saída
é encaminhado para um servidor FTP provisório.
Deve-se configurar os parâmetros a seguir na JCL de amostra para encaminhar com êxito a saída para um servidor FTP provisório:
Exemplo://FTP EXEC PGM=FTP,REGION=3800K //INPUT DD * <IPADDR> <USER> <PASSWORD> PUT '<EARLOUT>' EARL_<THEIPOFTHEMAINFRAMEDEVICE>/<EARLOUT> QUIT //OUTPUT DD SYSOUT=* //SYSPRINT DD SYSOUT=*Em que:
<IPADDR> é o endereço IP ou nome do host do servidor FTP provisório para receber o arquivo de saída.
<USER> é o nome de usuário que é necessário para acessar o servidor FTP provisório.
<PASSWORD> é a senha que é necessária para acessar o servidor FTP provisório.
<THEIPOFTHEMAINFRAMEDEVICE> é o destino do servidor de mainframe ou FTP provisório que recebe a saída.
Exemplo:PUT 'xxxxxx.xxxxxxx.OUTPUT.C320' /<IP_address>/CA/QEXTOPS.OUTPUT.C320<QEXOUTDSN> é o nome do arquivo de saída que é salvo para o servidor FTP interino.
Agora você está pronto para configurar o protocolo de Arquivo de log.
- Planejamento QRadar para coletar o arquivo de saída do CA Top Secret.
Se a plataforma zOS for configurada para entregar arquivos por meio de FTP, SFTP, ou permitir SCP, nenhum servidor FTP provisório será necessário e o QRadar poderá puxar o arquivo de saída diretamente do mainframe O texto a seguir deve ser comentado usando
//*ou excluído do 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=*