연습 - 보안 및 클라우드용 Microsoft Defender 관리
이 연습에서는 클라우드용 Microsoft Defender를 사용하도록 설정되었는지 확인하고, 이전 단원에서 언급한 각 기능의 특징 중 일부를 살펴보겠습니다.
클라우드용 Microsoft Defender 구성
Azure Portal에서 Azure SQL Database 논리 서버로 이동합니다.
왼쪽 창의 보안 아래에서 클라우드용 Microsoft Defender를 선택합니다. 활성화 상태 근처의 구성 링크를 선택합니다.
Azure SQL Database 논리 서버에 대한 선택 사항을 검토합니다. 동일한 창에 취약성 평가 및 Advanced Threat Protection에 대한 정보가 있습니다.
이 스토리지 계정은 Azure SQL Database 배포 스크립트의 일부분으로 배포되었습니다. 주간 반복 검사의 결과를 수신하고자 하는 경우 옵션을 검토하고 메일 주소를 추가합니다. 관리자 및 구독 소유자에게도 이메일 알림 보내기를 선택 취소합니다.
취약성 평가 검사를 수신하는 사용자를 구성할 수 있는 것처럼 Advanced Threat Protection 경고를 수신하는 사용자를 구성할 수 있습니다. 샌드박스 구독에서는 구독 수준 메일 설정을 지정할 수 있는 액세스 권한이 없으므로 Azure Security Center에서 구독의 메일 설정에 연락처 세부 정보를 추가할 수 없습니다.
모든 설정을 업데이트한 후 저장을 선택합니다.
이러한 설정을 구성하여 이 작업의 다른 단계 중 일부를 완료할 수 있습니다. 취약성 평가 및 Advanced Threat Protection에 대한 자세한 내용은 나중에 알아봅니다.
데이터 검색 및 분류
Azure Portal에서
AdventureWorks
데이터베이스로 돌아갑니다. 왼쪽 창의 보안에서 데이터 검색 및 분류를 선택합니다.데이터베이스에서 중요한 데이터의 검색, 분류, 레이블 지정, 보고를 위한 고급 기능을 제공하는 데이터 검색 및 분류를 검토합니다.
이 마법사 유형의 보기는 SSMS(SQL Server Management Studio)를 통해 현재 SQL Server의 데이터 검색 및 분류 도구와 유사하지만 동일하지는 않습니다. SSMS 마법사 사용은 Azure SQL Database에서 지원되지 않습니다. Azure Portal을 사용하여 비슷한 기능을 수행할 수 있으며, 이는 Azure SQL Database에서 지원됩니다.
모든 배포 옵션에서 Transact-SQL을 사용하여 열 분류를 추가 또는 삭제하고 분류를 검색할 수 있습니다.
분류 탭을 선택합니다.
데이터 검색 및 분류는 테이블의 열 이름을 기반으로 잠재적으로 중요한 데이터를 식별하려고 시도합니다. 제안된 테이블 중 일부를 검토하고 모두 선택>선택한 권장 사항 적용을 선택합니다.
메뉴의 왼쪽 위에서 저장을 선택합니다.
마지막으로 개요 탭을 선택하여 개요 대시보드를 보고 추가한 분류를 검토합니다.
취약성 평가
보안 아래에서 클라우드용 Microsoft Defender 설정을 선택하여
AdventureWorks
데이터베이스에 대한 클라우드용 Microsoft Defender 대시보드를 확인합니다.취약성 평가 기능 검토를 시작하려면 취약성 평가 결과에서 취약성 평가 추가 결과 확인을 선택합니다.
최신 취약성 평가 결과를 얻으려면 검사를 선택합니다. 이 프로세스는 몇 분 정도 걸리며, 취약성 평가는 Azure SQL Database 논리 서버의 모든 데이터베이스를 검사합니다.
결과 보기는 정확하지는 않지만 여기에 표시된 것과 비슷해야 합니다.
모든 보안 위험에는 위험 수준(높음, 중간 또는 낮음)과 추가 정보가 있습니다. 시행되는 규칙은 인터넷 보안 센터에서 제공하는 벤치마크를 기준으로 합니다. 결과 탭에서 취약성을 선택합니다. 다음 이미지에 표시된 것과 유사한 세부 정보 보기를 얻으려면 예제에서 보안 확인 ID VA2065를 선택합니다. 상태 및 기타 제공되는 정보를 검토합니다.
참고
VA2065가 실패하지 않는 경우 실패한 보안 검사에 따라 나중에 유사한 연습을 수행할 수 있습니다.
이 이미지에서 취약성 평가는 설정된 방화벽 규칙의 기준 구성을 제안합니다. 기준이 생기면 모든 변경 사항을 모니터링 및 평가할 수 있습니다.
보안 검사에 따라 대체 보기와 권장 사항이 제공됩니다. 제공된 정보를 검토합니다. 이 보안 검사의 경우 모든 결과를 기준으로 추가 단추를 선택한 다음 예를 선택하여 기준을 설정할 수 있습니다. 기준이 마련되었으므로 이후 스캔에서 결과가 기준과 다른 경우 이 보안 검사는 실패합니다. 오른쪽 위에 있는 X를 선택하여 특정 규칙의 창을 닫습니다.
이 예제에서는 스캔을 선택하고 VA2065가 성공한 보안 검사로 표시되는 것을 확인하여 또 다른 스캔을 완료할 수 있습니다.
앞서 통과한 보안 검사를 선택하면 구성한 기준을 볼 수 있을 것입니다. 향후 변경 사항이 있을 경우 취약성 평가 검사는 이를 감지하며 보안 검사에 실패하게 됩니다.
Advanced Threat Protection
오른쪽 위에 있는 X를 선택하여 취약성 평가 창을 닫고 데이터베이스용 클라우드용 Microsoft Defender 대시보드로 돌아갑니다. 보안 인시던트 및 경고에서 항목을 볼 수 없습니다. 이는 Advanced Threat Protection에서 문제가 검색되지 않았음을 의미합니다. Advanced Threat Protection은 비정상적이며 잠재적으로 유해할 수 있는 데이터베이스 액세스 또는 악용 시도를 나타내는 비정상적인 활동을 탐지합니다.
이 단계에서는 보안 경고가 표시되지 않을 것입니다. 다음 단계에서는 Advanced Threat Protection의 결과를 검토할 수 있도록 경고를 트리거하는 테스트를 실행합니다.
Advanced Threat Protection을 사용하면 다음 중 하나가 발생하는 것으로 의심되는 경우 위협을 식별하고 경고를 표시할 수 있습니다.
- SQL 삽입
- SQL 삽입 취약성
- 데이터 반출
- 안전하지 않은 작업
- 무차별 암호 대입 공격
- 비정상적인 클라이언트 로그인
이 섹션에서는 SQL 삽입 경고가 어떻게 SSMS를 통해 트리거될 수 있는지 알아봅니다. SQL 삽입 경고는 SSMS와 같은 표준 도구가 아닌 사용자가 작성한 애플리케이션을 위한 것입니다. 따라서 SSMS를 통해 SQL 삽입에 대한 테스트로 경고를 트리거하려면 애플리케이션 이름(SQL Server 또는 Azure SQL에 연결하는 클라이언트에 대한 연결 속성)을 “설정”해야 합니다.
이 섹션의 전체 환경을 가져오려면 이 연습의 첫 번째 부분에서 Advanced Threat Protection 경고에 대해 입력한 메일 주소에 액세스할 수 있어야 합니다(샌드박스에서는 할 수 없음). 업데이트가 필요한 경우 먼저 수행하세요.
SSMS에서 파일>새로 만들기>데이터베이스 엔진 쿼리를 선택하여 새 연결을 사용하는 쿼리를 만듭니다.
기본 로그인 창에서, 늘 하던 대로 SQL 인증을 사용하여 AdventureWorks에 로그인합니다. 연결하기 전에 옵션>>>연결 속성을 선택합니다. 데이터베이스에 연결 옵션에 AdventureWorks를 입력합니다.
추가 연결 매개 변수 탭을 선택하고 텍스트 상자에 다음 연결 문자열을 삽입합니다.
Application Name=webappname
연결을 선택합니다.
새 쿼리 창에서 다음 쿼리를 붙여넣은 다음, 실행을 선택합니다.
SELECT * FROM sys.databases WHERE database_id like '' or 1 = 1 --' and family = 'test1';
몇 분 이내에 메일 설정을 구성할 수 있는 경우(샌드박스에서는 할 수 없음) 다음과 유사한 메일 메시지가 표시됩니다.
Azure Portal에서 AdventureWorks 데이터베이스로 이동합니다. 왼쪽 창의 보안 아래에서 클라우드용 Microsoft Defender를 선택합니다.
보안 인시던트 및 경고 아래에서 클라우드용 Defender의 다른 리소스에 대한 추가 경고 보기를 선택합니다.
이제 전체 보안 경고를 볼 수 있습니다.
좀 더 구체적인 경고를 표시하고 조사 단계를 수신하려면 잠재적 SQL 삽입을 선택합니다.
정리 단계로, SSMS의 모든 쿼리 편집기를 닫고 모든 연결을 제거하여 다음 연습에서 실수로 추가 경고를 트리거하지 않도록 하는 것이 좋습니다.
이 단원에서는 Azure SQL Database에 대한 보안 기능 일부를 구성하고 적용하는 방법을 학습했습니다. 다음 단원에서는 엔드투엔드 시나리오로 다양한 보안 기능을 결합하여 지금까지 배운 내용을 확장합니다.