감사 스크립트를 사용하여 IBM QRadar 와 통합하는 Broadcom CA ACF2 구성

IBM QRadar 는 로그 파일 프로토콜을 사용하여 수집되는 Broadcom CA ACF2 설치의 이벤트를 감사하기 위해 스크립트를 사용합니다.

프로시저

  1. IBM® 지원 웹사이트(http://www.ibm.com/support)에서 다음 압축 파일을 다운로드합니다:

    qexacf2_bundled.tar.gz

  2. Linux® 운영 체제에서 다음 파일을 추출하십시오.

    tar -zxvf qexacf2_bundled.tar.gz

    다음 파일이 아카이브에 포함되어 있습니다.
    • QexACF2.JCL.txt - 작업 제어 언어 파일
    • QexACF2.load.trs -압축된 프로그램 라이브러리 ( IBM TRSMAIN 필요)
    • trsmain sample JCL.txt - .trs 파일의 압축을 풀기 위한 TRSMAIN의 작업 제어 언어
  3. 다음 방법을 사용하여 IBM 메인프레임에 파일을 로드하십시오.

    TEXT 프로토콜을 사용하여 샘플 QexACF2_trsmain_JCL.txtQexACF2.JCL.txt 파일을 업로드하십시오.

  4. BINARY 모드 전송을 사용하여 QexACF2.load.trs 파일을 업로드하고 사전 할당된 데이터 세트에 추가하십시오. QexACF2.load.trs 파일은 실행 가능 파일(메인프레임 프로그램 QexACF2)을 포함하는 간결한 파일입니다. 워크스테이션에서 .trs 파일을 업로드할 때 다음 DCB 속성을 사용하여 메인프레임에서 파일을 미리 할당하십시오. DSORG=PS, RECFM=FB, LRECL= 1024, BLKSIZE=6144. 파일 전송 유형은 텍스트가 아닌 2진 모드여야 합니다.
    주: QexACF2 는 TSSUTIL (EARLOUT 데이터) 의 출력을 행별로 읽는 작은 C 메인프레임 프로그램입니다. QexACF2는 이벤트 정보를 포함하는 각 레코드(예: 레코드 디스크립터, 날짜 및 시간)에 헤더를 추가합니다. 이 프로그램은 각 필드를 출력 레코드에 배치하고 후행 공백 문자를 억제하며 파이프 문자로 각 필드를 구분합니다. 이 출력 파일은 QRadar 용으로 형식화되며 공백 억제는 QRadar에 대한 네트워크 트래픽을 줄입니다. 이 프로그램은 CPU나 I/O 디스크 자원을 소비하지 않습니다.
  5. 설치 특정 매개변수에 따라 trsmain sample_JCL.txt 파일을 사용자 정의하십시오.
    예제: 작업 카드, 데이터 세트 이름 지정 규칙, 출력 대상, 보존 기간 및 공간 요구사항.

    trsmain sample_JCL.txt 파일은 IBM 유틸리티 TRSMAIN을 사용하여 QexACF2.load.trs 파일에 저장된 프로그램을 추출합니다.

    QexACF2_trsmain_JCL.txt 파일의 예제에는 다음 정보가 포함되어 있습니다.

    //TRSMAIN JOB (yourvalidjobcard),Q1labs,
    // MSGCLASS=V
    //DEL EXEC PGM=IEFBR14
    //D1 DD DISP=(MOD,DELETE),DSN=<yourhlq>.QEXACF2.LOAD.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>.QEXACF2.LOAD.TRS
    //OUTFILE DD DISP=(NEW,CATLG,DELETE),
    // DSN=<yourhlq>.LOAD,
    // SPACE=(CYL,(10,10,5),RLSE),UNIT=SYSDA
    //

    .trs 입력 파일은 IBM TERSE 형식화된 라이브러리이며 TRSMAIN을 호출하는 JCL을 실행하여 추출됩니다. 이 간결한 파일은 추출될 때 QexACF2 프로그램을 멤버로 갖는 PDS linklib를 작성합니다.

  6. 이 라이브러리에 STEPLIB하거나 LINKLST에 있는 LINKLIB 중 하나로 프로그램 이동을 선택할 수 있습니다. 이 프로그램에는 권한이 필요하지 않습니다.
  7. 업로드한 후 프로그램을 기존 링크 나열 라이브러리에 복사하거나 프로그램을 포함할 라이브러리의 올바른 데이터 세트 이름으로 STEPLIB DD문을 추가하십시오.
  8. QexACF2_jcl.txt 파일은 샘플 JCL을 포함하는 텍스트 파일입니다. 구성에 맞는 작업 카드를 구성해야 합니다.

    QexACF2_jcl.txt 샘플 파일은 다음을 포함합니다.

    //QEXACF2 JOB (T,JXPO,JKSD0093),DEV,NOTIFY=Q1JACK,
    // MSGCLASS=P,
    // REGION=0M
    //*
    //*QEXACF2 JCL VERSION 1.0 OCTOBER, 2010
    //* 
    //************************************************************
    //* Change below dataset names to sites specific datasets names*
    //QEXACF2 JOB (T,JXPO,JKSD0093),DEV,NOTIFY=Q1JACK,
    // MSGCLASS=P,
    // REGION=0M
    //*
    //*QEXACF2 JCL VERSION 1.0 OCTOBER, 2010
    //*
    //************************************************************
    //* Change below dataset names to sites specific datasets names*
    //************************************************************
    //SET1 SET SMFIN='MVS1.SMF.RECORDS(0)',
    // QEXOUT='Q1JACK.QEXACF2.OUTPUT',
    // SMFOUT='Q1JACK.ACF2.DATA'
    //************************************************************
    //* Delete old datasets *
    //************************************************************
    //DEL EXEC PGM=IEFBR14
    //DD1 DD DISP=(MOD,DELETE),DSN=&SMFOUT,
    // UNIT=SYSDA,
    // SPACE=(CYL,(10,10)),
    // DCB=(RECFM=FB,LRECL=80)
    //DD2 DD DISP=(MOD,DELETE),DSN=&QEXOUT,
    // UNIT=SYSDA,
    // SPACE=(CYL,(10,10)),
    // DCB=(RECFM=FB,LRECL=80)
    //*************************************************************
    //* Allocate new dataset *
    //*************************************************************
    //ALLOC EXEC PGM=IEFBR14
    //DD1 DD DISP=(NEW,CATLG),DSN=&QEXOUT,
    // SPACE=(CYL,(100,100)),
    // DCB=(RECFM=VB,LRECL=1028,BLKSIZE=6144)
    //*************************************************************
    //* Execute ACFRPTPP (Report Preprocessor GRO) to extract ACF2*
    //* SMF records *
    //*************************************************************
    //PRESCAN EXEC PGM=ACFRPTPP
    //SYSPRINT DD SYSOUT=*
    //SYSUDUMP DD SYSOUT=*
    //RECMAN1 DD DISP=SHR,DSN=&SMFIN
    //SMFFLT DD DSN=&SMFOUT,SPACE=(CYL,(100,100)),DISP=(,CATLG),
    // DCB=(RECFM=FB,LRECL=8192,BLKSIZE=40960),
    // UNIT=SYSALLDA
    //************************************************************
    //* execute QEXACF2 *
    //************************************************************
    //EXTRACT EXEC PGM=QEXACF2,DYNAMNBR=10,
    // TIME=1440
    //STEPLIB DD DISP=SHR,DSN=Q1JACK.C.LOAD
    //SYSTSIN DD DUMMY
    //SYSTSPRT DD SYSOUT=*
    //SYSPRINT DD SYSOUT=*
    //CFG DD DUMMY
    //ACFIN DD DISP=SHR,DSN=&SMFOUT
    //ACFOUT DD DISP=SHR,DSN=&QEXOUT
    //************************************************************
    //FTP EXEC PGM=FTP,REGION=3800K
    //INPUT DD *
    <IPADDR>
    <USER>
    <PASSWORD>
    PUT '<ACFOUT>' EARL_<THEIPOFTHEMAINFRAMEDEVICE>/<ACFOUT>
    QUIT
    //OUTPUT DD SYSOUT=*
    //SYSPRINT DD SYSOUT=*
    //*
  9. 출력 파일이 작성된 후 출력 파일을 임시 FTP 서버로 전송하는 작업을 스케줄하십시오. 출력 파일이 임시 FTP 서버로 전달됩니다.

    출력을 중간 FTP 서버에 성공적으로 전달하려면 샘플 JCL에서 다음 매개변수를 구성해야 합니다.

    예제:
    //FTP EXEC PGM=FTP,REGION=3800K
    //INPUT DD *
    <IPADDR>
    <USER>
    <PASSWORD>
    PUT '<ACFOUT' EARL_<THEIPOFTHEMAINFRAMEDEVICE>/<ACFOUT>
    QUIT
    //OUTPUT DD SYSOUT=*
    //SYSPRINT DD SYSOUT=*

    여기서,

    <IPADDR> 은 출력 파일을 수신할 임시 FTP 서버의 IP 주소 또는 호스트 이름입니다.

    <USER> 는 임시 FTP 서버에 액세스하는 데 필요한 사용자 이름입니다.

    <PASSWORD> 는 임시 FTP 서버에 액세스하는 데 필요한 비밀번호입니다.

    <THEIPOFTHEINFRAMEDEVICE> 는 출력을 수신하는 메인프레임 또는 임시 FTP 서버의 대상입니다.

    예제:
    PUT 'xxxxxx.xxxxxxx.OUTPUT.C320' /<IP_address>/ACF2/QEXACF2.OUTPUT.C320

    <QEXOUTDSN> 은 임시 FTP 서버에 저장되는 출력 파일의 이름입니다.

    이제 로그 파일 프로토콜을 구성할 준비가 되었습니다.

  10. 스케줄 QRadar - CA ACF2에서 출력 파일을 검색합니다.

    zOS 플랫폼이 FTP, SFTP를 통해 파일을 제공하거나 SCP를 허용하도록 구성된 경우에는 임시 FTP 서버가 필요하지 않으며 QRadar 가 메인프레임에서 직접 출력 파일을 가져올 수 있습니다. 다음 텍스트는 //* 를 사용하여 주석 처리하거나 QexACF2_jcl.txt file에서 삭제해야 합니다.

    //FTP EXEC PGM=FTP,REGION=3800K
    //INPUT DD *
    <IPADDR>
    <USER>
    <PASSWORD>
    PUT '<ACFOUT>' EARL_<THEIPOFTHEMAINFRAMEDEVICE>/<ACFOUT>
    QUIT
    //OUTPUT DD SYSOUT=*
    //SYSPRINT DD SYSOUT=*

다음에 수행할 작업

이제 QRadar에서 로그 소스를 구성할 준비가 되었습니다.