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

  1. No website de suporte IBM (http://www.ibm.com/support), faça download do arquivo compactado a seguir:

    qextops_bundled.tar.gz

  2. 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
  3. 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.

  4. 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.
  5. 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.

  6. É 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.
  7. 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.
  8. 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=*
  9. 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.

  10. 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=*

O que fazer a seguir

Agora você está pronto para configurar a origem de log no QRadar