Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este documento descreve a funcionalidade Atualização de Informações de Segurança Offline do Microsoft Defender para Ponto de Extremidade no macOS.
Esta funcionalidade permite que uma organização utilize um servidor de alojamento local (referido como um servidor de espelho neste documento) para atualizar as informações de segurança (referidas neste documento como definições ou assinaturas) em pontos finais macOS que tenham ou não exposição à Internet.
Um servidor espelho é qualquer servidor no ambiente do cliente que se pode ligar à cloud da Microsoft para transferir as assinaturas. Outros pontos finais do macOS extraem as assinaturas do servidor espelho num intervalo predefinido.
Principais benefícios
A sua equipa de segurança pode controlar e gerir a frequência das transferências de assinaturas para o servidor local e a frequência com que os pontos finais extraem assinaturas do servidor local.
Tem uma camada adicional de proteção e controlo, uma vez que as assinaturas transferidas podem ser testadas num dispositivo de teste antes de serem propagadas para toda a frota.
Precisa de menos largura de banda de rede, uma vez que apenas um servidor local consulta a microsoft cloud para obter as assinaturas mais recentes em nome de toda a sua frota.
O servidor espelho pode executar o Windows, Mac ou Linux e não tem de instalar o Defender para Endpoint nesse servidor.
Obtém a proteção antivírus mais atualizada, porque as assinaturas são sempre transferidas juntamente com o motor antivírus compatível mais recente.
As versões mais antigas das assinaturas (n-1) são movidas para uma pasta de cópia de segurança no servidor espelho em cada iteração. Se existir um problema com as atualizações mais recentes, pode solicitar a versão de assinatura n-1 da pasta de cópia de segurança para os seus dispositivos.
No caso raro de a atualização offline falhar, pode configurar uma opção de contingência para obter atualizações online a partir da cloud da Microsoft.
Como funciona a atualização de informações de segurança offline
As organizações precisam de configurar um servidor espelho, que é um servidor Web/NFS local acessível pela cloud da Microsoft.
As assinaturas são transferidas da cloud da Microsoft para este servidor espelho ao executar um script com o cron job/task scheduler no servidor local.
Os pontos finais do macOS que executam o Defender para Endpoint extraem as assinaturas transferidas deste servidor espelho num intervalo de tempo definido pelo utilizador.
As assinaturas extraídas para os pontos finais do macOS a partir do servidor local são primeiro verificadas antes de serem carregadas para o motor antivírus.
Para acionar e configurar o processo de atualização, atualize o ficheiro json de configuração gerida nos pontos finais do macOS.
A status da atualização pode ser vista na CLI do mdatp.
O fluxo de processo para transferir atualizações de informações de segurança para o servidor espelho é ilustrado no diagrama seguinte.
O fluxo de processo para atualizações de informações de segurança no ponto final do macOS é ilustrado no diagrama seguinte.
O servidor espelho pode executar qualquer um dos seguintes sistemas operativos:
- Linux (qualquer sabor)
- Windows (qualquer versão)
- Mac (qualquer versão)
Pré-requisitos
A versão 101.25012.0003 ou posterior do Defender para Endpoint tem de ser instalada nos pontos finais do macOS.
Os pontos finais do macOS têm de ter conectividade ao servidor espelho.
O ponto final do macOS tem de estar a executar qualquer uma das distribuições suportadas pelo Defender para Endpoint.
O servidor espelho pode ser um servidor HTTP/HTTPS ou um servidor de partilha de rede, por exemplo, um servidor NFS.
O servidor espelho tem de ter acesso aos seguintes URLs:
https://github.com/microsoft/mdatp-xplat.githttps://go.microsoft.com/fwlink/?linkid=2144709
O servidor espelho deve suportar o bash ou o PowerShell.
São necessárias as seguintes especificações mínimas do sistema para o servidor espelho:
Núcleo da CPU RAM Disco gratuito Trocar 2 núcleos (Preferencial 4 Núcleos) 1 GB Min (4 GB Preferenciais) 2 GB Dependente do Sistema Observação
Esta configuração pode variar consoante o número de pedidos que são servidos e a carga que cada servidor tem de processar.
Configurar o servidor espelho
Observação
A gestão e propriedade do servidor espelho reside apenas no cliente, uma vez que reside no ambiente privado do cliente.
Qualquer servidor HTTP pode ser utilizado como um servidor espelho. O servidor espelho não precisa de ter o Defender para Endpoint instalado.
Embora a gestão e a propriedade do servidor espelho estejam exclusivamente no cliente, esta secção apresenta dois scripts Bash de exemplo que demonstram como utilizar o Python 3 e o Caddy para configurar um servidor de ficheiros HTTP básico no macOS. Estes scripts são fornecidos apenas para fins de ilustração e devem ser adaptados às suas necessidades e ambiente específicos.
-
python_http_server.sh: utiliza o módulo de servidor HTTP incorporado do Python 3 para servir ficheiros de um diretório especificado. -
caddy_http_server.sh: instala e configura o servidor Web da Caddy para servir ficheiros a partir de um diretório especificado.
Para marcar que o serviço está configurado corretamente depois de configurar o servidor, navegue para "https://localhost:8080".
Para casos de produção ou utilização avançada, veja a documentação oficial de cada servidor:
Reveja e adapte sempre os scripts ao seu ambiente e requisitos de segurança.
Script de exemplo: Configurar um servidor de ficheiros HTTP básico no macOS com o Python 3
#!/bin/bash
# python_http_server.sh
# Starts a simple HTTP server using Python 3
# Check for Python 3
if ! command -v python3 &> /dev/null; then
echo "Python 3 is not installed. Please install it first."
exit 1
fi
PORT=8080
FOLDER="."
if [ ! -z "$1" ]; then
PORT=$1
fi
if [ ! -z "$2" ]; then
FOLDER=$2
fi
echo "Starting Python HTTP server on port $PORT (localhost only), serving folder: $FOLDER..."
python3 -m http.server "$PORT" --bind 127.0.0.1 --directory "$FOLDER"
Script de exemplo: configurar um servidor de ficheiros HTTP básico no macOS com o Caddy
#!/bin/bash
# caddy_http_server.sh
# Installs and configures Caddy HTTP server on macOS
PORT=8080
FOLDER="."
if [ ! -z "$1" ]; then
PORT=$1
fi
if [ ! -z "$2" ]; then
FOLDER=$2
fi
check_homebrew() {
if ! command -v brew &> /dev/null; then
echo "Homebrew is required to install Caddy."
read -p "Would you like to install Homebrew? (y/n): " install_brew
if [[ "$install_brew" =~ ^[Yy]$ ]]; then
echo "Installing Homebrew..."
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
export PATH="/opt/homebrew/bin:$PATH"
else
echo "Please install Caddy manually and restart this script."
exit 1
fi
fi
}
install_caddy() {
if ! brew list caddy &> /dev/null; then
echo "Installing Caddy via Homebrew..."
brew install caddy
else
echo "Caddy is already installed."
fi
}
# Check for Caddy
if ! command -v caddy &> /dev/null; then
echo "Caddy is not installed."
check_homebrew
install_caddy
else
echo "Caddy is already installed."
fi
# Create a simple Caddyfile
cat <<EOL > Caddyfile
localhost:${PORT} {
root * ${FOLDER}
file_server browse
}
EOL
echo "Caddyfile created. Starting Caddy server on port $PORT..."
caddy run --config ./Caddyfile
Obter o script do transferidor de informações de segurança offline
A Microsoft aloja um script do transferidor de informações de segurança offline no seguinte repositório do GitHub: https://github.com/microsoft/mdatp-xplat.
Execute os seguintes passos para obter o script do downloader:
Opção 1: Clonar o repositório (preferencial)
Instale o git no servidor espelho.
Navegue para o diretório onde pretende clonar o repositório.
Execute o comando: git clone https://github.com/microsoft/mdatp-xplat.git
Opção 2: Transferir o ficheiro zip
Transfira o ficheiro zip do repositório: https://github.com/microsoft/mdatp-xplat/archive/refs/heads/master.zip.
Copie o ficheiro zip para a pasta onde pretende manter o script.
Extraia a pasta zipada.
Observação
Agende uma tarefa cron ou uma tarefa iniciada para manter o ficheiro zip repositório/transferido atualizado para a versão mais recente em intervalos regulares.
Depois de clonar o repositório ou transferir o ficheiro zipado, a estrutura do diretório local deve ser a seguinte:
user@vm:~/mdatp-xplat$ tree linux/definition_downloader/
linux/definition_downloader/
├── README.md
├── settings.json
├── settings.ps1
├── xplat_offline_updates_download.ps1
└── xplat_offline_updates_download.sh
0 directories, 5 files
Observação
Percorra o ficheiro README.md para compreender detalhadamente como utilizar o script.
O ficheiro settings.json consiste em algumas variáveis que o utilizador pode configurar para determinar o resultado da execução do script.
| Nome do Campo | Valor | Descrição |
|---|---|---|
downloadFolder |
string | Mapeia para a localização para onde o script transfere os ficheiros. |
downloadLinuxUpdates |
bool | Quando definido como true, o script transfere as atualizações específicas do Linux para o downloadFolder. |
logFilePath |
string | Configura os registos de diagnóstico numa determinada pasta. Este ficheiro pode ser partilhado com a Microsoft para depurar o script, caso existam problemas. |
downloadMacUpdates |
bool | O script transfere as atualizações específicas do Mac para o downloadFolder. |
downloadPreviewUpdates |
bool | Transfere a versão de pré-visualização das atualizações disponíveis para o SO específico. |
backupPreviousUpdates |
bool | Permite que o script copie a atualização anterior na _back pasta e as novas atualizações são transferidas para downloadFolder. |
Executar o script do transferidor de informações de segurança offline
Para executar manualmente o script do transferidor, configure os parâmetros no ficheiro settings.json de acordo com a descrição na secção anterior e utilize um dos seguintes comandos com base no SO do servidor espelho:
Bash:
./xplat_offline_updates_download.sh
PowerShell:
./xplat_offline_updates_download.ps1
Observação
Agende uma tarefa cron ou uma tarefa iniciada para executar este script para transferir as atualizações de informações de segurança mais recentes para o servidor de espelho em intervalos regulares.
Alojar as atualizações de informações de segurança offline no servidor espelho
Depois de o script ser executado, as assinaturas mais recentes são transferidas para a pasta configurada no ficheiro de settings.json (updates.zip).
Assim que o zip de assinaturas for transferido, o servidor espelho pode ser utilizado para alojá-lo. O servidor espelho pode ser alojado com qualquer um dos servidores de partilha http/HTTPS/rede.
Depois de alojado, copie o caminho absoluto do servidor alojado (até ao diretório arch_*).
Por exemplo, se o script for executado com downloadFolder=/tmp/wdav-updatee o servidor HTTP (www.example.server.com:8000) estiver a alojar o caminho /tmp/wdav-update, o URI correspondente será: www.example.server.com:8000/mac/production/.
Também podemos utilizar o caminho absoluto do diretório (ponto de montagem local/remoto) como /tmp/wdav-update/mac/production.
Assim que o servidor espelho estiver configurado, temos de propagar este URL para os pontos finais do Mac como no offlineDefinitionUpdateUrl na Configuração Gerida, conforme descrito na secção seguinte.
Configurar os pontos finais
Utilize o seguinte exemplo mdatp_managed.json ficheiro e atualize os parâmetros de acordo com a configuração e, em seguida, copie o ficheiro para a localização /etc/opt/microsoft/mdatp/managed/mdatp_managed.json.
{
"cloudService": {
"automaticDefinitionUpdateEnabled": true,
"definitionUpdatesInterval": 1202
},
"antivirusEngine": {
"offlineDefinitionUpdateUrl": "http://172.22.199.67:8000/mac/production/",
"offlineDefintionUpdateFallbackToCloud":false,
"offlineDefinitionUpdate": "enabled"
},
"features": {
"offlineDefinitionUpdateVerifySig": "enabled"
}
}
| Nome do Campo | Valores | Comentários |
|---|---|---|
automaticDefinitionUpdateEnabled |
true/false |
Determina o comportamento do Defender para Endpoint ao tentar efetuar atualizações automaticamente, é ativado ou desativado, respetivamente. |
definitionUpdatesInterval |
numérico | Tempo de intervalo entre cada atualização automática de assinaturas (em segundos). |
offlineDefinitionUpdateUrl |
string | Valor do URL gerado como parte da configuração do servidor espelho. Isto pode ser em termos do URL do servidor remoto ou de um diretório (ponto de montagem local/remoto). |
offlineDefinitionUpdate |
enabled/disabled |
Quando definida como enabled, a funcionalidade "atualização de informações de segurança offline" está ativada e vice-versa. |
offlineDefinitionUpdateFallbackToCloud |
true/false |
Determine a abordagem de atualização de informações de segurança do Defender para Endpoint quando o "servidor espelho offline" não conseguir cumprir o pedido de atualização. Se estiver definida como true, a atualização será repetida através da cloud da Microsoft quando a "atualização de informações de segurança offline" falhou; caso contrário, vice-versa. |
offlineDefinitionUpdateVerifySig |
enabled/disabled |
Quando definidas como enabled, as definições transferidas são verificadas nos pontos finais; caso contrário, vice-versa. |
Verificar a configuração
Para testar se as definições são aplicadas corretamente nos pontos finais do macOS, execute o seguinte comando:
mdatp health --details definitions
Uma saída de exemplo teria um aspeto semelhante ao seguinte fragmento de código:
user@vm:~$ mdatp health --details definitions
automatic_definition_update_enabled : true [managed]
definitions_updated : Mar 14, 2024 at 12:13:17 PM
definitions_updated_minutes_ago : 2
definitions_version : "1.407.417.0"
definitions_status : "up_to_date"
definitions_update_source_uri : "https://go.microsoft.com/fwlink/?linkid=2144709"
definitions_update_fail_reason : ""
offline_definition_url_configured : "http://172.XX.XXX.XX:8000/mac/production/" [managed]
offline_definition_update : "enabled" [managed]
offline_definition_update_verify_sig : "enabled"
offline_definition_update_fallback_to_cloud : false[managed]
Acionar as atualizações de informações de segurança offline
Atualização automática
Se os campos
automaticDefinitionUpdateEnabledeoffline_definition_updateno json gerido estiverem definidos comotrue, as "atualizações de informações de segurança offline" são acionadas automaticamente em intervalos periódicos.Por predefinição, este intervalo periódico é de 8 horas. Pode ser configurado ao definir o
definitionUpdatesIntervalparâmetro no json gerido.Atualização Manual
Para acionar a "atualização de informações de segurança offline" manualmente para transferir as assinaturas do servidor espelho nos pontos finais do Mac, execute o seguinte comando:
mdatp definitions update
Verificar status de atualização
Depois de acionar a "atualização de informações de segurança offline" através do método automático ou manual, verifique se a atualização foi efetuada com êxito ao executar o comando: mdatp health --details --definitions.
Verifique os seguintes campos:
user@vm:~$ mdatp health --details definitions
...
definitions_status : "up_to_date"
...
definitions_update_fail_reason : ""
...
Etapas comuns de solução de problemas
Verifique a status da funcionalidade "atualização de informações de segurança offline" com o seguinte comando:
mdatp health --details definitionsEste comando fornece uma mensagem amigável na secção definitions_update_fail_reason .
Verifique se
offline_definition_updateeoffline_definition_update_verify_sigestão ativados.Verifique se
definitions_update_source_urié igual aoffline_definition_url_configured.-
definitions_update_source_urié a origem de onde as assinaturas foram transferidas. -
offline_definition_url_configuredé a origem de onde as assinaturas devem ser transferidas, a mencionada no ficheiro de configuração gerida.
-
Experimente executar o teste de conectividade para marcar se espelho servidor estiver acessível a partir do anfitrião:
mdatp connectivity testTente acionar uma atualização manual com o seguinte comando:
mdatp definitions update