Применяется к Advanced Threat Analytics версии 1.8Applies to: Advanced Threat Analytics version 1.8

Устранение неполадок в ATA с помощью базы данных ATATroubleshooting ATA using the ATA database

В качестве своей базы данных ATA использует MongoDB.ATA uses MongoDB as its database. Для взаимодействия с базой данных можно использовать заданную по умолчанию командную строку или инструмент пользовательского интерфейса для выполнения дополнительных задач и устранения неполадок.You can interact with the database using the default command line or using a user interface tool to perform advanced tasks and troubleshooting.

Взаимодействие с базой данныхInteracting with the database

Чтобы отправить запрос в базу данных, проще всего (и это стандартный способ) использовать оболочку Mongo. Сделать это можно так:The default and most basic way to query the database is using the Mongo shell:

  1. Откройте окно командной строки и измените путь к папке Bin службы MongoDB.Open a command line window and change the path to the MongoDB bin folder. По умолчанию задан путь C:\Program Files\Microsoft Advanced Threat Analytics\Center\MongoDB\bin.The default path is: C:\Program Files\Microsoft Advanced Threat Analytics\Center\MongoDB\bin.

  2. Запустите mongo.exe ATA.Run: mongo.exe ATA. Убедитесь, что значение ATA указано прописными буквами.Make sure to type ATA with all capital letters.

Как...How to... СинтаксисSyntax ПримечанияNotes
проверить наличие коллекций в базе данных.Check for collections in the database. show collections Полезно использовать в качестве полной проверки, чтобы убедиться, что трафик записывается в базу данных и что АТА получает сведения о событии 4776.Useful as an end-to-end test to see that traffic is being written to the database and that event 4776 is being received by ATA.
получить сведения о пользователе, компьютере или группе (UniqueEntity). Это, например, могут быть сведения об идентификаторе пользователя.Get the details of a user/computer/group (UniqueEntity), such as user ID. db.UniqueEntity.find({SearchNames: "<name of entity in lower case>"})
найти исходящий трафик проверки подлинности Kerberos с конкретного компьютера в определенный день.Find Kerberos authentication traffic originating from a specific computer on a specific day. db.KerberosAs_<datetime>.find({SourceComputerId: "<Id of the source computer>"}) Чтобы получить <идентификатор исходного компьютера>, выполните запрос к коллекциям UniqueEntity, как показано в примере.To get the <ID of the source computer> you can query the UniqueEntity collections, as shown in the example.

Каждый тип сетевой активности, например проверка подлинности Kerberos, имеет собственную коллекцию для каждой даты в формате UTC.Each network activity type, for example Kerberos authentications, has its own collection per UTC date.
найти исходящий трафик NTLM с конкретного компьютера, имеющего отношение к конкретной учетной записи, в определенный день.Find NTLM traffic originating from a specific computer related to a specific account on a specific day. db.Ntlm_<datetime>.find({SourceComputerId: "<Id of the source computer>", SourceAccountId: "<Id of the account>"}) Чтобы получить <идентификатор исходного компьютера> и <идентификатор учетной записи>, выполните запрос к коллекциям UniqueEntity, как показано в примере.To get the <ID of the source computer> and <ID of the account> you can query the UniqueEntity collections, as shown in the example.

Каждый тип сетевых операций, например проверка подлинности NTLM, имеет собственную коллекцию для каждой даты в формате UTC.Each network activity type, for example NTLM authentications, has its own collection per UTC date.
искать дополнительные свойства, например даты активности учетной записи.Search for advanced properties such as the active dates of an account. db.UniqueEntityProfile.find({UniqueEntityId: "<Id of the account>") Чтобы получить <идентификатор учетной записи>, выполните запрос к коллекциям UniqueEntity, как показано в примере.To get the <ID of the account> you can query the UniqueEntity collections, as shown in the example.
Свойство, отображающее даты активности учетной записи, называется ActiveDates.The property name that shows the dates in which the account has been active is called: "ActiveDates". Например, вам нужно узнать, была ли учетная запись активна как минимум 21 день, так как в этом случае алгоритм машинного обучения для аномального поведения сможет обрабатывать данные из этой учетной записи.For example you may want to know if an account has at least 21 days of activity for the abnormal behavior machine learning algorithm to be able to run on it.
выполнять расширенные изменения конфигурации.Make advanced configuration changes. В этом примере мы изменим размер очереди отправки для всех шлюзов ATA до 10 000.In this example we change the send queue size for all ATA Gateways to 10,000. db.SystemProfile.update( {_t: "GatewaySystemProfile"} ,
{$set:{"Configuration.EntitySenderConfiguration.EntityBatchBlockMaxSize" : "10000"}})
`

Ниже приведен пример кода, в котором используется синтаксис.The following example provides sample code using the syntax provided above. Он предусмотрен для такого сценария — вы анализируете подозрительную активность, зафиксированную 20 октября 2015 года, и хотите узнать больше о действиях NTLM, совершенных в этот день пользователем John Doe:If you are investigating a suspicious activity that occurred on 20/10/2015 and want to learn more about the NTLM activities that "John Doe" performed on that day:

Сначала найдите идентификатор пользователя John Doe.First, find the ID of "John Doe"

db.UniqueEntity.find({Name: "John Doe"})
Запишите его идентификатор, обозначенный значением _id. В нашем примере предположим, что используется идентификатор 123bdd24-b269-h6e1-9c72-7737as875351.Take a note of his ID as indicated by the value of _id For our example, let's assume the ID is 123bdd24-b269-h6e1-9c72-7737as875351
Затем выполните поиск коллекции, в которой ближайшая дата предшествует искомой дате. В нашем примере это 20 октября 2015 г.Then, search for the collection with the closest date that is before the date you are looking for, in our example 20/10/2015.
После этого выполните поиск действий NTLM для учетной записи John Doe:Then, search for John Doe's account NTLM activities:

db.Ntlms_<closest date>.find({SourceAccountId: "123bdd24-b269-h6e1-9c72-7737as875351"})

См. такжеSee Also