Skip to content

Installation de Cywise sous Windows

Objectifs

Déployer Cywise sous Windows en installant les mêmes outils que sous Linux. Et en mettant en place les tâches planifiées qui vont pousser les informations vers Cywise et qui vont mettre à jour les outils et les configurations installés.

Recherches

Sous Linux, la commande pour installer Cywise est :

curl -s "https://app.cywise.io/setup/script?api_token=<token>&server_ip=$(curl -s ipinfo.io | jq -r '.ip')&server_name=$(hostname)" | bash

Pour Windows, nous devons écrire le script en Powershell.

Et pour le télécharger et l'exécuter, faire une commande de ce type :

Invoke-WebRequest -Uri "https://app.cywise.io/setup/windows/script?api_token=<token>" | Invoke-Expression ` Pour récupérer l'IP de la machine, je peux faire :

$server_ip = (Invoke-RestMethod -Uri 'https://ipinfo.io').ip

Pour le nom du serveur, je peux faire :

$server_name = $env:COMPUTERNAME

Le one-liner correspondant :

Invoke-WebRequest -Uri "https://app.cywise.io/setup/script?api_token=<token>&os=windows&server_ip=$((Invoke-RestMethod -Uri 'https://ipinfo.io').ip)&server_name=$($env:COMPUTERNAME)" | Invoke-Expression

Invoke-WebRequest -Uri "https://dev.cywise-ui.myapps.addapps.io/setup/script?api_token=2|MYOr4jMwq3DzTho6TGeh9tLVwtM60obmglTjZFZr732980a6&os=windows&server_ip=$((Invoke-RestMethod -Uri 'https://ipinfo.io').ip)&server_name=$($env:COMPUTERNAME)" | Invoke-Expression

J'ai créé une instance Windows chez Scaleway (poc-cywise-windows2022). J'ai dû utiliser scw pour obtenir le mot de passe de l'administrateur. Je l'ai fait en utilisant l'image Docker. J'ai d'abord fait la commande scw init à qui j'ai dû donner une clé d'API créée dans l'UI de Scaleway.

Puis cette commande, pour récupérer le mot de passe temporaire :

$ docker run -it --rm -v $HOME/.config/scw:/root/.config/scw -v $HOME/.ssh:/root/.ssh scaleway/cli:latest instance server get-rdp-password d46323d9-c0e5-45f5-9cf0-eb8e2ed2c90d zone=fr-par-1 key=/root/.ssh/id_rsa
Username           Administrator
Password           :77_d/qwF?7u;sb
SSHKeyID           6b3a7870-a104-4bee-95ce-26127c69c8a2
SSHKeyDescription  pbrisacier

Utiliser Windows core avec uniquement une ligne de commande Powershell n'est pas pratique du tout pour mettre au point le script d'installation. Je prends donc une deuxième instance Windows mais avec l'UI cette fois. L'instance s'appelle poc-cywise-windows2022-ui.

Puis je récupère son mot de passe temporaire avec :

$ docker run -it --rm -v $HOME/.config/scw:/root/.config/scw -v $HOME/.ssh:/root/.ssh scaleway/cli:latest instance server get-rdp-password 42211967-f12b-449f-b768-8b2b78d8fc71 zone=fr-par-1 key=/root/.ssh/id_rsa
Username           Administrator
Password           1>CbNX%QSaWn"$]
SSHKeyID           6b3a7870-a104-4bee-95ce-26127c69c8a2
SSHKeyDescription  pbrisacier

J'ai changé le mot de passe sur les 2 machines pour mettre mon mot de passe perso à l'aide de la commande :

PS> net user Administrator *

Installer Osquery

https://osquery.readthedocs.io/en/stable/

Je devrais peut-être installer Chocolatey (qui est la méthode conseillée pour installer Osquery). Je peux utiliser cette commande :

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

Voir la doc.