MSSQL

이 문서에서는 Microsoft SQL Server를 Google Security Operations SOAR와 통합하는 방법을 안내합니다.

통합 버전: 14.0

시작하기 전에

이 섹션에서는 Kerberos 인증을 사용하여 SQL Server와 함께 작동하도록 Google SecOps 원격 에이전트 (RHEL, CentOS 또는 Docker)를 구성하는 방법을 설명합니다.

Google SecOps 원격 에이전트 구성 (RHEL 또는 CentOS)

SQL Server와 함께 작동하도록 Google SecOps 원격 에이전트 (RHEL 또는 CentOS)를 구성하려면 원격 에이전트 Linux 셸에서 다음 단계를 완료하세요.

  1. /etc/resol.conf 파일에 DNS 서버를 추가합니다. #vi /etc/resolv.conf

  2. CentOS 7용 krb5 패키지를 설치합니다. #yum install krb5-workstation

  3. /etc/krb5.conf 파일을 열고 도메인을 대문자로 된 default_realm로 추가합니다(#vi etc/krb5.conf).

  4. Active Directory와의 연결을 테스트합니다. SQL Server 데이터베이스에 액세스할 수 있는 사용자 사용: #kinit sql_user

  5. 사용자 비밀번호를 입력합니다.

  6. 획득한 티켓을 표시합니다. #klist

  7. 선택사항: kerberos 티켓을 삭제합니다. #kdestroy -A

Microsoft SQL 통합을 사용하여 CentOS에서 원격 에이전트를 만드는 방법에 관한 자세한 내용은 CentOS용 설치 프로그램으로 에이전트 만들기를 참고하세요.

Google SecOps 원격 에이전트 구성 (Docker)

SQL Server와 함께 작동하도록 Google SecOps 원격 에이전트 (Docker)를 구성하려면 원격 에이전트 Linux 셸에서 다음 단계를 완료하세요.

  1. Docker 컨테이너에서 셸을 실행합니다. docker exec -it siemplify /bin/bash

  2. /etc/resol.conf 파일에 도메인 DNS 서버를 추가합니다. #vi /etc/resolv.conf

  3. CentOS 7용 krb5 패키지를 설치합니다. #yum install krb5-workstation

  4. /etc/krb5.conf 파일을 열고 도메인을 대문자로 된 default_realm로 추가합니다(#vi etc/krb5.conf).

  5. Kerberos 티켓을 획득합니다. SQL Server 데이터베이스에 액세스할 수 있는 사용자(#kinit sql_user)를 사용합니다.

  6. 사용자 비밀번호를 입력합니다.

  7. 획득한 티켓을 표시합니다. #klist

  8. 선택사항: kerberos 티켓을 삭제합니다. #kdestroy -A

Docker에서 원격 에이전트를 만드는 방법에 대한 자세한 내용은 Docker로 에이전트 만들기를 참고하세요.

선택사항: 디버깅을 위해 SQL Server 도구 설치

디버깅을 위해 SQL Server 도구를 설치하려면 원격 에이전트 Linux 셸에서 다음 단계를 완료하세요.

  1. Microsoft 저장소 추가: # curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo

  2. SQL Server 도구를 설치합니다. # yum install mssql-tools unixODBC-devel

    바이너리는 /opt/mssql-tools/bin 디렉터리에 설치됩니다.

  3. SQL Server 연결을 테스트합니다. #kinit sql_user

  4. /opt/mssql-tools/bin/sqlcmd -S sqlserver.yourdomain.com -E 명령어를 실행합니다.

Google SecOps와 MSSQL 통합

통합에는 다음 매개변수가 필요합니다.

매개변수 설명
Server Address 필수

SQL Server 인스턴스의 주소입니다.

기본값은 sqlserver.DOMAIN.com입니다.

Username 선택사항

SQL Server 인스턴스의 사용자 이름입니다.

Password 선택사항

사용자 비밀번호입니다.

Port 선택사항

통합에서 사용할 포트입니다.

Windows Authentication 선택사항

선택하면 통합에서 Windows 인증을 사용하여 인증합니다.

기본적으로 선택되지 않습니다.

Use Kerberos Authentication 선택사항

선택하면 통합에서 Kerberos 인증을 사용하여 인증합니다.

기본적으로 선택되지 않습니다.

Kerberos Realm 선택사항

Kerberos 영역 값입니다.

Kerberos Username 선택사항

Kerberos 인증의 사용자 이름입니다.

Kerberos Password 선택사항

Kerberos 인증의 비밀번호입니다.

Verify SSL 선택사항

선택하면 통합에서 SQL Server 연결에 사용되는 SSL 인증서가 유효한지 확인합니다.

기본적으로 선택되어 있습니다.

이 파라미터는 SQL Server용 Microsoft ODBC 드라이버 버전 18에만 적용됩니다. Google SecOps 서버 호스트가 이전 ODBC 드라이버 버전을 실행하는 경우 통합에서 이 매개변수를 무시합니다.

Google SecOps에서 통합을 구성하는 방법에 대한 안내는 통합 구성을 참고하세요.

필요한 경우 이후 단계에서 변경할 수 있습니다. 통합 인스턴스를 구성한 후 플레이북에서 사용할 수 있습니다. 여러 인스턴스 구성 및 지원에 대한 자세한 내용은 다중 인스턴스 지원을 참고하세요.

작업

SQL Server 통합에는 다음 작업이 포함됩니다.

Ping 작업을 사용하여 SQL Server에 대한 연결을 테스트합니다.

이 작업은 모든 항목에서 실행됩니다.

작업 입력

없음

작업 출력

Ping 작업은 다음 출력을 제공합니다.

작업 출력 유형 가용성
케이스 월 연결 사용할 수 없음
케이스 월 링크 사용할 수 없음
케이스 월 테이블 사용할 수 없음
보강 테이블 사용할 수 없음
JSON 결과 사용할 수 없음
출력 메시지 사용할 수 없음
스크립트 결과 사용 가능
스크립트 결과

다음 표에서는 Ping 작업을 사용할 때 스크립트 결과 출력의 값을 설명합니다.

스크립트 결과 이름
is_success True 또는 False

SQL 쿼리 실행

SQL 쿼리 실행 작업을 사용하여 SQL 쿼리를 실행합니다.

이 작업은 모든 항목에서 실행됩니다.

작업 입력

SQL 쿼리 실행 작업에는 다음 매개변수가 필요합니다.

매개변수 설명
Database Name 필수

쿼리를 실행할 데이터베이스 이름입니다.

필수

실행할 쿼리입니다.

기본값은 SELECT * FROM <>입니다.

작업 출력

SQL 쿼리 실행 작업은 다음 출력을 제공합니다.

작업 출력 유형 가용성
케이스 월 연결 사용할 수 없음
케이스 월 링크 사용할 수 없음
케이스 월 테이블 사용할 수 없음
보강 테이블 사용할 수 없음
JSON 결과 사용 가능
출력 메시지 사용할 수 없음
스크립트 결과 사용 가능
JSON 결과

다음은 SQL 쿼리 실행 작업을 사용할 때 수신되는 JSON 결과 출력의 예입니다.

[
    {
        "Name": "Actions Monitor System",
        "Creator": "System",
        "Integration": "Example",
        "VersionId": "VERSION_ID",
        "ModificationTimenixTimeInMs": 1558278307098,
        "Description": "Notifies of all the actions, that have individually failed at least 3 times, in the last 3 hours"
    },{
        "Name": "Jobs Monitor System",
        "Creator": "System",
        "Integration": "Example",
        "VersionId": "VERSION_ID",
        "ModificationTimenixTimeInMs": 1558278307098,
        "Description": "Notifies of all the jobs, that have individually failed at least 3 times, in the last 3 hours"
    }
]
스크립트 결과

다음 표에서는 SQL 쿼리 실행 작업을 사용할 때 스크립트 결과 출력의 값을 설명합니다.

스크립트 결과 이름
is_blocked True 또는 False

도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가로부터 답변을 받으세요.