Udostępnij za pośrednictwem


Ediscovery PST export – coleta de dados e análise para troubleshooting

By: Caio Ribeiro César

Ediscovery é o processo de search&hold do Office 365. Utilizado por administradores de Exchange, Skype e Sharepoint e também muitas vezes por times de Compliance.

Já discutimos anteriormente alguns métodos de ediscovery search via Protection Center. Desta vez, vamos discutir o pst export tool do portal, mais especificamente o processo que habilita o trace mode para a análise e troubleshooting.

Inicialmente, criamos o InPlace Hold:

ed1

Assim que o Hold for criado (com as customizações necessárias para cada administrador), utilizamos a ferramenta de pst export – para exportar os dados filtrados pelo search.

ed2

 

ed3

Assim que o export tool é iniciado, podemos ver uma nova página rapidamente aberta no browser e então a ferramenta inicia o procedimento:

ed4 ed5 ed6

Neste caso, os dados foram exportados com sucesso. Podemos validar na pasta de destino:

1)     Caioc-Hold.config: Informações do batch de export.

Application launched from: https://r1.res.office365.com/ecp/15.1.534.18/exporttool/microsoft.exchange.ediscovery.exporttool.application?reqId=1467816999873\&name=Caioc-Hold\&ews=https://outlook.office365.com/ews/Exchange.asmx

Export Name: Caioc-Hold

Last Export Time: 7/6/2016 11:56:46 AM

Include Duplicates: True

Include Unsearchable Items: true (disabled because the search query was empty.)

Search Query: size>=0

Source Mailboxes:

caioc@c4iocesar.onmicrosoft.com

2)     Caioc-Hold-07.06.2016-1156AM1.resultslog: Log detalhado de mensagens migradas. Neste caso, um arquivo csv com 149 linhas – cada um              para uma mensagem da mailbox.

3)     Caioc-Hold-Caio Cesar-07.06.2016-1156AM.pst: dados exportados da mailbox.

How to: Analisando falha no export com informações de config.

Criamos um novo search, com um filtro aplicado para emails com um time range de Janeiro 2016-Julho 2016. Ao exportar os dados via pst export tool, recebemos o erro http401:

---------------------------

eDiscovery PST Export Tool

---------------------------

Export failed with error type: 'Unauthorized'. Details: The request failed with HTTP status 401: Unauthorized.

---------------------------

OK

---------------------------

Ao entrar na pasta de destino, podemos abrir o arquivo de configuração e então copiar a URL do request específico desta migração:

https://r1.res.office365.com/ecp/15.1.534.18/exporttool/microsoft.exchange.ediscovery.exporttool.application?reqId=1467817973866\&name=DateRange\&ews=https://outlook.office365.com/ews/Exchange.asmx

E então alteramos esta URL, para que o trace seja coletado:

https://r1.res.office365.com/ecp/15.1.534.18/exporttool/microsoft.exchange.ediscovery.exporttool.application?reqId=1467817973866\&name=DateRange\&ews=https://outlook.office365.com/ews/Exchange.asmx ?trace=1

Em uma nova sessão de browser, enviamos a URL acima (contendo o string de ?trace=1). Um novo export é gerado, porém desta vez podemos localizar um arquivo “trace.log” na pasta de destino.

[7/6/2016 2:35:59 PM][Information]: Calling CredentialHandler.RequestCredential for https://outlook.office365.com/ews/Exchange.asmx

[7/6/2016 2:35:59 PM][Information]: Inside CredentialHandler.RequestCredential: Reading credential from system credential store.

[7/6/2016 2:35:59 PM][Information]: Inside CredentialHandler.RequestCredential: Prompting for credential.

[7/6/2016 2:36:13 PM][Information]: Calling CredentialHandler.InvalidateCredential for https://outlook.office365.com/ews/Exchange.asmx

[7/6/2016 2:36:13 PM][Information]: Calling CredentialHandler.RequestCredential for https://outlook.office365.com/ews/Exchange.asmx

[7/6/2016 2:36:13 PM][Information]: Inside CredentialHandler.RequestCredential: Reading credential from system credential store.

[7/6/2016 2:36:13 PM][Information]: Inside CredentialHandler.RequestCredential: Prompting for credential.

[7/6/2016 2:36:20 PM][Information]: Calling CredentialHandler.InvalidateCredential for https://outlook.office365.com/ews/Exchange.asmx

[7/6/2016 2:36:20 PM][Information]: Calling CredentialHandler.RequestCredential for https://outlook.office365.com/ews/Exchange.asmx

[7/6/2016 2:36:20 PM][Information]: Inside CredentialHandler.RequestCredential: Reading credential from system credential store.

[7/6/2016 2:36:20 PM][Information]: Inside CredentialHandler.RequestCredential: Prompting for credential.

[7/6/2016 2:36:27 PM][Information]: Calling CredentialHandler.InvalidateCredential for https://outlook.office365.com/ews/Exchange.asmx

[7/6/2016 2:36:27 PM][Information]: Calling CredentialHandler.RequestCredential for https://outlook.office365.com/ews/Exchange.asmx

[7/6/2016 2:36:27 PM][Information]: Inside CredentialHandler.RequestCredential: Reading credential from system credential store.

[7/6/2016 2:36:27 PM][Information]: Inside CredentialHandler.RequestCredential: Prompting for credential.

[7/6/2016 2:36:33 PM][Information]: Calling CredentialHandler.InvalidateCredential for https://outlook.office365.com/ews/Exchange.asmx

[7/6/2016 2:36:33 PM][Information]: Calling CredentialHandler.RequestCredential for https://outlook.office365.com/ews/Exchange.asmx

[7/6/2016 2:36:33 PM][Information]: Inside CredentialHandler.RequestCredential: Reading credential from system credential store.

[7/6/2016 2:36:33 PM][Information]: Inside CredentialHandler.RequestCredential: Prompting for credential.

trace.log

Neste arquivo verbose, podemos entender que o request de credential foi efetuado 6 vezes, sem sucesso.

Isto pode significar um 3rd party no meio desta conexão (ou problemas de senha). Ao coletar um fiddler trace, podemos confirmar que propositalmente meu proxy server estava negando a autenticação da comunicação:

POST https://outlook.office365.com/ews/Exchange.asmx HTTP/1.1 User-Agent: Exchange\15.01.0534.018\EDiscovery\EWS\S=EX&R=0&BI=636034151641878997&SID=d7efce94-a2d9-4fb6-a3b3-08c7e69441b9&RT=636034151641878997 client-request-id: 39100b5c-ea80-4e7b-a217-ff1775cb316f return-client-request-id: true Content-Type: text/xml; charset=utf-8 SOAPAction: "https://schemas.microsoft.com/exchange/services/2006/messages/SearchMailboxes" Host: outlook.office365.com Content-Length: 1244 Expect: 100-continue Connection: Keep-Alive HTTP/1.1 401 Unauthorized X-Powered-By: ASP.NET WWW-Authenticate: Basic Realm="" Date: Wed, 06 Jul 2016 15:19:26 GMT Content-Length: 0

Em alguns cenários, o export falha com um erro genérico, porém o arquivo de configuração não é gerado pela ferramenta - dificultando a coleta de dados.

Iniciamos o fiddler antes do export de dados. Desta maneira podemos coletar o ID do request sem a necessidade do arquivo de configuração:

ed7

Neste caso, o ID de request é “1467815524174”, sendo então a URL de trace:

https://r1.res.office365.com/ecp/15.1.534.18/exporttool/microsoft.exchange.ediscovery.exporttool.application?reqId=**1467815524174**\&name=Caioc-Hold\&ews=https://outlook.office365.com/ews/Exchange.asmx ?trace=1