top of page

Construisons un serveur TAK. (Version 5.0)

Dernière mise à jour : 10 févr.

Traduit et adapté d'après le travail colossal de JR à mytecknet

tak.gov atak android team awareness kit tactical application

Ce guide est là pour vous accompagner dans la mise en place et la familiarisation avec l'installation et la configuration d'un serveur TAK. Nous allons passer en revue les différentes étapes pour installer le matériel fourni par le TAK Products Center sur TAK.gov.


Ce guide se concentrera uniquement sur une version de l'installation basée sur Ubuntu 22.04 / Raspberry Pi OS (64bit) et via une installation manuelle pour un serveur unique : Un seul serveur exécutant le cœur du serveur TAK (messagerie, API, plugins et base de données) : recommandé pour moins de 500 utilisateurs.


Pour d'autres supports d'installation comme CentOS Linux 7, Rocky Linux 8, Red Hat Enterprise Linux (RHEL) 8, vous pouvez consulter le tutoriel en anglais sur la page de mytecknet.


Si vous êtes déjà à l'aise avec l'environnement Linux, cette tâche devrait être relativement simple. Cependant, si vous débutez avec Linux, prenez le temps de lire attentivement les étapes à l'avance. Cela vous aidera à comprendre le processus, car travailler dans le Terminal via ligne de commande peut parfois être délicat, surtout si vous n'êtes pas attentif au répertoire et à la session dans lesquels vous vous trouvez. Il est facile de s'y perdre et de se retrouver un peu confus si vous ne faites pas attention.


Ne vous inquiétez pas, nous y arriverons ensemble.


En général, le client TAK n'a pas besoin d'un serveur si tous vos clients se trouvent dans le même sous-réseau. La raison en est que les clients TAK utilisent la multidiffusion (multicast) pour découvrir les clients dans le sous-réseau. Pensez à votre réseau local derrière votre routeur fourni par votre fournisseur de services Internet. Tous les clients dans ce réseau peuvent voir et partager des informations sur le réseau. Pour communiquer en dehors de ce réseau, ils passent par le routeur pour les connecter aux réseaux externes. C'est un peu plus détaillé que cela ; néanmoins, ça vous donne une idée. Le serveur TAK agit comme le routeur pour connecter les clients entre-eux. Faites le test: si tous vos équipements équipés TAK sont connectés sur le même réseau wifi, vous pouvez communiquer entre les équipements sans configuration supplémentaire. Le but du serveur est de vous permettre de faire la même chose en dehors de votre réseau local.


AVERTISSEMENT: Ce tutoriel n'a pas pour vocation de remplacer le guide de configuration fourni par tak.gov, mais de le rendre plus accessible aux débutants et aux personnes qui ne sont pas à l'aise avec l'anglais.

De plus, je ne suis pas expert Linux, la traduction risque donc de ne pas être parfaite pour les fins connaisseurs. Néanmoins, les commandes fournies vous permettront de procéder à l'installation du serveur dans de bonnes conditions. Si vous constatez des erreurs n'hésitez pas à me faire remonter l'information afin que je les corrige pour en faire bénéficier tous les lecteurs.

Les images utilisées ne représentent pas forcément avec exactitude l'expérience que vous aurez, elles servent surtout à avoir une vision globale des procédés et à vous rassurer dans votre construction du serveur.


Commençons!


Pré-requis:


  • Une application de double-authentification comme Google Authenticator qui vous permettra d'accéder à tak.gov

  • Créer un compte sur tak.gov

  • Une machine Linux (physique ou virtuelle) avec au minimum 4 coeurs, 8GB de RAM et 40GB de stockage, utilisant Ubuntu 22.04 ou Raspberry Pi OS, CONFIGURÉE EN ANGLAIS (une machine configurée en français risque de provoquer des erreurs dans les chemins de dossiers lors de l'installation. Si vous être à l'aise avec Linux vous pouvez utiliser une machine en français mais pensez à vérifier que les commandes que vous utilisez soient compatibles)

  • Créer un utilisateur "tak" en plus de votre utilisateur habituel et l'ajouter au groupe des "sudoers"

  • Ma méthode préférée pour le transfert des fichiers nécessaires reste Google Drive pour une question de facilité, il vous faudra donc avoir un compte Drive pour transférer les certificats entre votre machine Linux et les clients TAK que vous souhaiterez connecter au serveur

  • un compte ChatGPT peut être un plus: si vous avez des erreurs pendant l'installation, copiez-collez les erreurs dans ChatGPT pour obtenir des renseignements spécifiques et les corrections possibles.

  • IMPORTANT: Votre serveur nécessite une adresse IP FIXE. Cette option se négocie avec votre fournisseur d'accès internet, c'est une option parfois gratuite, parfois payante. Si vous ne souhaitez pas passer par votre FAI pour obtenir cette IP fixe, vous pouvez utiliser un DynDNS, ou un VPN comme Zerotier. Il faut cependant prendre en compte le fait que l'utilisation d'un VPN peut limiter les options de votre serveur, notamment si vous souhaitez intégrer des flux vidéos. J'ai personnellement choisi l'option du DynDNS.

  • Vous aurez également besoin de vos identifiants de connexion au panneau administrateur de votre routeur. L'accès aux paramètres de votre box internet sera nécessaire pour effectuer les redirections de ports. Cette pratique expose votre réseau à des risques de sécurité, je ne détaillerai donc pas cette étape et je vous invite à effectuer un travail de recherche pour comprendre les risques. Sachez toutefois que sans la redirection de ports, votre routeur risque de bloquer les connexions extérieures vers votre serveur.



 


Pour commencer, vous devrez modifier les limites du module d'authentification pluggable Linux définies dans le fichier /etc/security/limits.conf. Dans ce fichier, vous devez augmenter le nombre de descripteurs de fichiers autorisés dans la limite par utilisateur pour les fichiers ouverts afin de prendre en charge les threads Java. Vous allez configurer les limites souples (remplaçables par l'utilisateur) et dures (remplaçables par root) dans ce fichier. Vous pouvez éditer le fichier en utilisant un éditeur de texte en ligne de commande (vi/vim, ou nano) ou une commande à une seule ligne. Pour la commande unique:

echo -e "*      soft      nofile      32768\n*      hard      nofile      32768\n" | sudo tee --append /etc/security/limits.conf

Pour vérifier la bonne exécution de la commande, tapez :

sudo tail -n 15 /etc/security/limits.conf

Vous devriez voir un résultat proche de ceci:






 

Si vous ne souhaitez pas utiliser la commande unique:


Pour éditer en utilisant vi ou vim, tapez :


sudo vi /etc/security/limits.conf. 

Pour utiliser nano, tapez :


sudo nano /etc/security/limits.conf. 

Certaines distributions Linux ne sont pas préinstallées avec Nano et il peut être nécessaire de l'installer avant d'exécuter la commande. Pour ça, tapez la commande:


sudo apt install nano -y

Lorsque vous utilisez la commande sudo, on vous demandera d'entrer votre mot de passe pour élever les privilèges. Une fois l'éditeur ouvert, faites défiler vers le bas jusqu'à la fin du fichier /etc/security/limits.conf et insérez les lignes suivantes :

*       soft    nofile    32768
*       hard    nofile    32768

Une fois terminé, quittez l'éditeur en vous assurant d'enregistrer vos modifications.


Pour vérifier la bonne exécution de la commande, tapez :

sudo tail -n 15 /etc/security/limits.conf

Vous devriez voir un résultat proche de ceci:





 


Installation de PostgreSQL and PostGIS


Vous devez également ajouter les dépôts PostgreSQL et PostGIS. Cela installera la version appropriée telle que spécifiée dans les pré-requis.


sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

wget -O- https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/postgresql.org.gpg > /dev/null

Une fois que nous avons terminé toutes ces étapes, nous devons mettre à jour notre base de données de dépôts avec les changements récents.


sudo apt update -y



 


Installation de Java OpenJDK 17


Enfin, installez la version appropriée de Java OpenJDK conforme à la version requise spécifiée dans les pré-requis:


sudo apt install openjdk-17-jre




Maintenant que la machine est prête, passons à l'installation du serveur lui-même.


Cette section traitera de l'installation du serveur TAK en utilisant les fichiers d'installation (.deb) fournis par le site Web TAK.gov. En raison du déploiement continu du serveur TAK et de ses versions, ce guide suppose que vous installerez la dernière version disponible. Attention donc à ce que les lignes de commande correspondent à la version que vous téléchargez sur le site TAK.



Rendez vous sur tak.gov et connectez-vous à l'aide de vos identifiants et de votre code à usage unique fourni par votre application d'authentification. Cliquez sur l'onglet "products" puis "takserver".

Sélectionnez la version takserver 5.0.0 et téléchargez les fichiers suivants en faisant bien attention à la dénomination du fichier, et j'insiste là-dessus, prenez bien le temps de trouver les bons fichiers:

  • takserver-public-gpg.key

  • Ubuntu and Raspberry pi DEB_POLICY.POL

  • TAKSERVER_5.0-RELEASE34_ALL.DEB


Mettez tous les fichiers dans le dossier /HOME/


Installez l'utilitaire debsig-verify:

sudo apt install debsig-verify

Ouvrez le fichier deb_policy.pol et récupérez l'ID (par exemple 039FCDA2D8907527) pour exécuter les commandes suivantes en modifiant l'ID afin de vérifier les ressources deb du serveur TAK:

 sudo mkdir /usr/share/debsig/keyrings/039FCDA2D8907527
 sudo mkdir /etc/debsig/policies/039FCDA2D8907527
 sudo touch /usr/share/debsig/keyrings/039FCDA2D8907527/debsig.gpg
 sudo gpg --no-default-keyring --keyring/usr/share/debsig/keyrings/039FCDA2D8907527/debsig.gpg --import takserver-public-gpg.key
 sudo cp deb_policy.pol /etc/debsig/policies/039FCDA2D8907527/debsig.pol
 debsig-verify -v takserver-5.0-RELEASE34_all.deb

En cas d'erreur, notamment à cause d'un placement de fichier dans un dossier, n'hésitez pas à remonter les erreurs dans chatGPT pour trouver la solution.


Si tout se passe bien vous devriez avoir un résultat proche de ceci:


debsig: Verified package from 'TAK Product Center' (TAK Server Release)


 

INSTALLATION DU SERVEUR


sudo apt install ./takserver_5.0-RELEASE34_all.deb -y



La prochaine étape consiste à créer l'infrastructure de clés publiques. Cela vous permettra de créer des certificats serveur et client auto-signés pour permettre des communications sécurisées entre le client et le serveur.


Attention : À partir de ce point, chaque fois que vous modifiez quelque chose dans le répertoire /opt/tak, vous passerez à l'utilisateur tak.


Configuration de base


Cette section établira votre autorité de certification (CA) root et intermédiaire, le certificat serveur et un certificat client administrateur. La séquence et l'exécution de cette tâche sont très importantes dans l'environnement PKI. En créant les CA, vous établissez une chaîne de confiance.


Avant de créer le premier CA dans votre environnement, vous devez modifier le contenu du fichier cert-metadata.sh pour créer les informations de certificat pour votre environnement. Il aura besoin de votre pays, de votre état, de votre ville, de votre organisation et de votre unité organisationnelle. De plus, dans ce fichier, nous pouvons modifier le mot de passe de certificat par défaut. Pour modifier ce fichier, nous devons passer à l'utilisateur tak en utilisant la commande :


sudo su tak

Naviguez jusqu'au dossier /opt/tak/certs et lancez la modification du fichier cert-metadata.sh

cd /opt/tak/certs
sudo nano cert-metadata.sh

contenu du fichier cert-metadata.sh :


Vous devez remplacer les valeurs par celles correspondant à votre organisation ou à votre environnement. Assurez-vous de modifier les valeurs de COUNTRY, STATE, CITY, ORGANIZATION et ORGANIZATIONAL_UNIT pour qu'elles correspondent à votre situation. De plus, si nécessaire, vous pouvez modifier les mots de passe CAPASS et PASS selon vos besoins. Notez que CAPASS s'appliquera uniquement à notre autorité de certification (CA), tandis que PASS s'appliquera à toute autre demande de certificat.

Vous pouvez laisser les champs sans les remplir en ne mettant que "XX".


Remarque : Lorsque vous utilisez des espaces pour STATE, CITY, ORGANIZATION ou ORGANIZATIONAL_UNIT, les valeurs doivent être encloses avec des guillemets.


Exemple :

STATE="New York"

CITY="New York City"


Une fois les modifications apportées, enregistrez le fichier. (ctrl X ; Y ; Entrée)





 

CERTIFICATS


Création de l'autorité de certification root


Pour créer l'autorité de certification root auto-signée, nous utiliserons la commande makeRootCa.sh. Optionnellement, nous pouvons passer l'option --ca-name pour établir le nom commun de notre certificat en une seule commande ; sinon, nous serons invités à saisir un nom pour notre CA.


# Créez l'autorité de certification root
./makeRootCa.sh

# ou
./makeRootCa.sh --ca-name <CAcommonName>

# EXEMPLE
# ./makeRootCa.sh --ca-name TAK-ROOT-CA-01

exemples :

ou




Création de l'autorité de certification intermédiaire


L'autorité de certification intermédiaire va agir au nom de votre autorité de certification root et va signer et délivrer des certificats à vos clients. Pour créer l'autorité de certification intermédiaire, vous devez utiliser le script makeCert.sh avec l'option ca pour indiquer au script que vous allons créer une CA et la définir comme votre autorité de signature et de délivrance.


# Créez l'autorité de certification intermédiaire
./makeCert.sh ca

# ou
./makeCert.sh ca <CAcommonName>

# EXEMPLE
# ./makeCert.sh ca TAK-ID-CA-01


à la question " Do you want me to move the files around so that future server and client certificates are signed by this new CA? [Y/N] " tapez "Y" puisque c'est ce que vous souhaitez faire.



Après avoir créé votre environnement PKI, vous devez créer votre certificat de serveur pour démarrer votre serveur. Ce certificat public sera ce que vos clients valideront lorsqu'ils se connecteront. Encore une fois, utilisez le script makeCert.sh ; cependant, cette fois utilisez l'option server. Ce modèle de CA inclut à la fois l'authentification client et l'authentification serveur dans les propriétés étendues de la clé. Vous utiliserez le <commonName> de votre certificat comme "takserver", car c'est le fichier par défaut référencé dans la configuration principale.


# Créez votre certificat serveur
./makeCert.sh server <commonName>

# EXEMPLE
# ./makeCert.sh server takserver



Optionnellement, au lieu d'utiliser "takserver" comme nom commun de votre serveur, vous pouvez le remplacer par l'adresse IP de votre serveur TAK. L'IP doit être l'adresse à laquelle les clients se connecteront, donc en général l'IP publique de votre routeur, l'adresse fournie par votre VPN ou l'adresse DynDNS.


# Créez votre certificat serveur
./makeCert.sh server <commonName>

# EXEMPLE
# ./makeCert.sh server 192.168.178.188


Si vous avez choisir de remplacer le nom de takserver, qui est le nom par défaut, par l'adresse IP de votre serveur, vous devez mettre à jour le fichier CoreConfig.example.xml pour qu'il corresponde à ce nouveau nom de fichier.


# Utilisez sed pour remplacer "takserver" par l'adresse IP de votre serveur.
sed -i 's/takserver/<TAKserverIPaddress>/g' /opt/tak CoreConfig.example.xml

# EXEMPLE
# sed -i 's/takserver/192.168.178.188/g' /opt/tak/CoreConfig.example.xml



Modification de la configuration principale


À ce stade, vous avez créé la configuration de base pour démarrer votre serveur TAK. Pour résumer, vous avez créé à la fois votre autorité de certification root et intermédiaire, puis votre certificat de serveur. Ensuite, vous devez modifier le fichier CoreConfig.example.xml, qui contient la configuration de base de votre serveur TAK. Une fois que vous démarrez le serveur TAK, ce fichier créera le CoreConfig.xml, qui est la configuration active que votre serveur TAK utilisera pour toutes les opérations. En éditant CoreConfig.example.xml, vous vous assurez d'avoir la même configuration de base même si vous supprimez accidentellement CoreConfig.xml ou apportez une modification et que votre serveur TAK ne parvient pas à démarrer. Dans CoreConfig.example.xml, vous devez changer la valeur par défaut stockée pour votre CA de l'autorité de certification root à votre autorité de certification intermédiaire nouvellement créée.


Cela fait deux choses : ça permet à votre serveur TAK de démarrer correctement, car le serveur TAK est essentiellement un client de lui-même et, à ce titre, doit faire confiance à celui qui a signé le certificat. De plus, votre serveur va délivrer des certificats clients et doit faire confiance aux clients eux-mêmes via la chaîne de CA de confiance. C'est connu sous le nom de "keystore client" et nous avons ensuite notre "truststore serveur". Pour modifier votre CoreConfig.example.xml avec votre nouvelle CA, vous utiliserez la commande sed qui vous permet de filtrer et de modifier du texte.


# Modifiez le truststore-root par défaut avec votre nouveau truststore-<CACommonName>.
sed -i 's/truststore-root/truststore-<CACommonName>/g' /opt/tak/CoreConfig.example.xml

# EXEMPLE avec notre configuration actuelle
sed -i 's/truststore-root/truststore-TAK-ID-CA-01/g' /opt/tak/CoreConfig.example.xml

Pour valider votre modification, utilisez la commande "cat" pour afficher le contenu et "grep" pour faire correspondre le modèle de truststore-TAK-ID-CA-01.


cat /opt/tak/CoreConfig.example.xml | grep truststore-




 


Démarrer le serveur TAK


Vous avez complété les étapes minimales pour configurer votre serveur TAK.

Pour démarrer votre serveur, vous devez quitter la session de l'utilisateur tak dans laquelle vous vous trouvez et revenir à votre compte normal. Une fois de retour dans notre session utilisateur normale, vous devez d'abord activer le service takserver.service puis le démarrer. Activer le service permet à votre serveur TAK de démarrer automatiquement après chaque démarrage du système Linux.


exit
sudo systemctl enable takserver.service
sudo systemctl start takserver.service


Pour vérifier que votre serveur est démarré, vous allez consulter les logs . Ils sont stockés dans le répertoire /opt/tak/logs/. Le journal que nous recherchons est le takserver-messaging.log ; ça peut prendre un certain temps pour que ce journal soit créé - vérifiez périodiquement. Une fois qu'il est créé, nous surveillerons le contenu du journal pour inspecter les erreurs.


ls -l /opt/tak/logs/
tail -f /opt/tak/logs/takserver-messaging.log


Dans le journal, nous recherchons quelques messages au minimum :


  • INFO c.b.marti.nio.netty.NioNettyBuilder - Successfully Started Netty Server for TlsServerInitializer on Port 8089 with watermark WriteBufferWaterMark(low: 2048, high: 4096)

  • Ceci nous indique que le serveur d'écoute client-serveur est démarré et qu'il accepte les clients.

  • INFO com.bbn.marti.nio.server.NioServer - Server started

  • Ceci nous indique que les services ont démarré

  • INFO com.bbn.marti.util.VersionBean - TAK Server version 5.0-RELEASE-29-HEAD

  • Cela nous indique quelle version est en cours d'exécution et que tous les services ont démarré.



 

Si vous êtes arrivé à cette étape et que tout fonctionne sans erreur, vous pouvez vous féliciter et faire une pause.


 

Création du certificat administrateur


Votre serveur est lancé, maintenant vous devez pouvoir l'administrer. Pour ce faire, nous devons créer un compte administrateur. La meilleure et la plus sécurisée façon de le faire est de créer un certificat client et de le configurer pour l'administration. Pour créer notre certificat administratif, nous devons revenir à l'utilisateur tak et changer de répertoire vers le répertoire des certificats pour exécuter à nouveau la commande makeCert.sh. Une fois là-bas, nous utiliserons

./makeCert.sh client webadmin pour créer notre certificat client en premier.


sudo su tak
cd /opt/tak/certs
./makeCert.sh client <commonName>

# EXEMPLE
# ./makeCert.sh client webadmin


Après avoir créé le certificat client webadmin, nous devons l'assigner à notre administrateur du serveur TAK. Cela nécessite l'utilisation de l'outil UserManager.jar situé dans le répertoire /opt/tak/utils/.


java -jar /opt/tak/utils/UserManager.jar certmod -A /opt/tak/certs/files/<commonName>.pem

# EXEMPLE
# java -jar /opt/tak/utils/UserManager.jar certmod -A /opt/tak/certs/files/webadmin.pem



Maintenant que nous avons créé notre certificat administrateur, nous devons le déplacer afin de pouvoir le copier et l'installer sur notre poste de travail administratif pour gérer le serveur TAK à distance. Tout d'abord, nous devons sortir de la session de l'utilisateur tak et revenir au répertoire principal de notre utilisateur Linux.

Une fois que c'est fait, nous allons copier le certificat administrateur et modifier les autorisations pour pouvoir envoyer le fichier de Linux vers notre poste de travail en utilisant Google Drive.


# Quittez la session utilisateur tak
exit

# Si nécessaire, revenez vers le répertoire principal de notre utilisateur Linux.
cd ~

# Déplacez le certificat administratif vers notre répertoire principal.
sudo cp -v /opt/tak/certs/files/webadmin.p12 .

# Modifiez la propriété du certificat administratif pour qu'elle appartienne à notre utilisateur Linux.
sudo chown -R <userName>:<userGroup> /home/<username>

# EXEMPLE
# sudo chown -R takadmin:takadmin /home/takadmin

Passé cette étape, vous pouvez accéder au fichier webadmin.p12.

Ouvrez Google Drive et importez le fichier dans votre Drive pour y accéder depuis un autre ordinateur qui servira à administrer votre serveur. Plus tard nous verrons comment importer le certificat dans votre navigateur pour accéder au panneau de configuration du serveur à distance.



 

Paramétrage du pare-feu de votre serveur


Pour accepter les connexions vers notre serveur TAK, nous devons modifier le pare-feu de l'hôte du serveur. Par défaut, nous voulons nous assurer d'accepter les connexions sécurisées via TLS établies par notre environnement PKI.

Voici une liste non exhaustive, mais par défaut, ce sont les ports utilisés pour les communications sécurisées :












TCP/S = TLS/SSL TCP

NOTE : Sauf indication contraire, la plupart des connexions utilisent un port source aléatoire vers la destination cible plutôt qu'un mappage 1:1. Un exemple est un client se connectant à TCP/8089, ce qui laisse le client utiliser un port appelé port éphémère avec un port de destination de TCP/8089 vers le serveur.


Dans la plupart des installations d'Ubuntu/Raspberry Pi OS, le pare-feu n'est pas activé ou installé. Pour vérifier, nous pouvons exécuter la commande ufw status. Si la commande n'est pas trouvée, nous devrons installer le pare-feu.


# Vérifiez le statut du pare-feu Uncomplicated Firewall (UFW)
sudo ufw status

# Installez UFW s'il ne l'est pas
sudo apt install ufw -y


Avec ufw installé, nous devons configurer les ports minimum requis pour les communications client-serveur : TCP 8089 et 8443.


# Vérifiez le statut du pare-feu Uncomplicated Firewall (UFW)
sudo ufw status

# Bloquez toutes les connexions entrantes, autorisez toutes les connexions sortantes
sudo ufw default deny incoming
sudo ufw default allow outgoing

# Autorisez les connexions SSH
sudo ufw allow ssh

# Autoriser les ports TAK pour les communications client-serveur
sudo ufw allow 8089/tcp
sudo ufw allow 8443/tcp

# Activez UFW
sudo ufw enable


Après avoir modifié le pare-feu, vous pouvez maintenant essayer d'accéder au tableau de bord Marti avec votre certificat administratif.



 


Le tableau de bord administratif



Maintenant, nous sommes prêts à accéder à notre serveur TAK et à commencer à l'administrer. Pour accéder au tableau de bord administratif Marti du serveur TAK, nous devons copier notre certificat administratif de Linux vers notre poste de travail. Si vous avez bien importé le fichier webadmin.p12 dans Google Drive, vous pouvez le télécharger sur l'ordinateur que vous servira à accéder au tableau de bord. Placez le certificat dans un dossier que vous saurez retrouver facilement.


En fonction de votre navigateur, la manière d'installer ce certificat administratif peut varier. La plupart des navigateurs utilisent le truststore du système d'exploitation sous-jacent, tandis que Firefox dispose d'un truststore interne en dehors du truststore hérité du système d'exploitation.


Mozilla Firefox


Ouvrez le navigateur et accédez à la page des paramètres. Cliquez sur Vie privée et Sécurité puis faites défiler jusqu'aux certificats




Cliquez sur "afficher les certificats" puis sur "importer". Sélectionnez le fichier webadmin.p12. Entrez le mot de passe du certificat lorsqu'on vous le demande - par défaut, il s'agit de atakatak - sinon, il s'agit du mot de passe modifié dans le fichier

cert-metadata.sh lors de la configuration.


Une fois que le certificat a été importé avec succès, cliquez sur l'onglet Autorités et recherchez le nom de l'organisation saisi dans le fichier cert-metadata.sh. Cliquez sur chacune de vos autorités de certification et cliquez sur Modifier la confiance.





Sous Modifier les paramètres de confiance du certificat CA, cliquez sur la case à cocher à côté de Ce certificat peut identifier les sites web. Cela nous permettra à l'avenir de faire confiance à notre autorité de certification auto-signée.


Après avoir terminé cette étape, cliquez sur OK pour fermer le gestionnaire de certificats. Dans la barre d'URL, tentez d'accéder au tableau de bord Marti en allant à https://<takserverIP>:8443/Marti.





Étant donné que vous accédez au serveur TAK en utilisant l'adresse IP et non le nom commun que vous avez utilisé lors de la création de notre certificat de serveur (ex: "takserver", vous obtiendrez un message d'erreur. Cela est dû au fait que le nom commun du certificat du serveur est "takserver" et que notre client s'attend à se connecter à "takserver" et non à une adresse IP. Dans Firefox, vous pouvez cliquer sur Avancé puis Accepter le risque et continuer pour tenter d'accéder à notre serveur. NOTE: Si vous n'arrivez pas à accéder au tableau de bord avec l'adresse IP publique et que vous êtes sur le même réseau local que votre serveur, essayez avec l'IP privée. De même, si vous utilisez un DDNS, essayez avec l'adresse DDNS ou l'IP privée selon que ça fonctionne ou non.


Si vous avez effectué toutes les étapes correctement, vous devriez être invités à vous authentifier sur votre serveur avec votre certificat. Si c'est le cas, cliquez sur OK pour vous connecter.




Après une connexion réussie, vous êtes dirigés vers le tableau de bord des métriques, par défaut.


NOTE IMPORTANTE: Si vous êtes dirigés vers WebTAK, laissez cet ordinateur en l'état et retournez sur le terminal hôte du serveur puis éxécutez la commande suivante:

sudo java -jar /opt/tak/utils/UserManager.jar certmod -A /opt/tak/certs/files/admin.pem

Vous devriez maintenant pouvoir actualiser la page pour accéder au tableau de bord Marti. En cas d'échec, redémarrez le système hôte du serveur et réessayez.





Autres navigateurs


Dans Windows, la plupart des navigateurs hériteront du truststore du système d'exploitation hôte. Pour importer le certificat administratif dans Windows, vous pouvez double-cliquer dessus pour ouvrir l'Assistant d'importation de certificat. Par défaut, l'emplacement du magasin sera l'Utilisateur actuel à votre premier prompt. Conservez les valeurs par défaut et cliquez sur Suivant aux deux prochains prompts. Lorsque vous êtes invité à entrer le mot de passe de votre certificat, saisissez atakatak ou le mot de passe défini dans le cert-metadata.sh lors de la configuration. Lorsqu'on vous demande de spécifier un magasin de certificats, sélectionnez Placer tous les certificats dans le magasin suivant et cliquez sur Parcourir. Sélectionnez Personnel dans la liste des magasins de certificats disponibles. Cliquez sur Suivant pour importer notre certificat dans notre truststore hôte.











Une fois que notre certificat a été importé, nous pouvons vérifier le certificat dans le Gestionnaire de certificats (certmgr.msc) sous le dossier Personnel, Certificats.









De plus, nous devons déplacer notre CA dans notre truststore Autorités de certification root de confiance > Certificats pour faire confiance à notre CA dans notre système d'exploitation. Si vous avez créé votre certificat takserver en utilisant l'adresse IP de votre serveur TAK, cela corrigera également cette erreur dans le navigateur : NET::ERR_CERT_AUTHORITY_INVALID. Pour déplacer les certificats CA, sélectionnez-les tous les deux, puis sélectionnez couper et collez-les dans Autorités de certification racines de confiance > Certificats.





Lorsque vous collez les certificats CA, vous pouvez voir l'avertissement de sécurité suivant. Cliquez sur Oui pour installer chaque certificat.



Microsoft Edge et Chrome lisent les certificats à partir du truststore actuel de l'utilisateur sous-jacent. Dans la barre d'URL, tentez d'accéder au tableau de bord Marti en allant à https://<takserver>:8443/Marti. Étant donné que vous accédez au serveur TAK en utilisant l'adresse IP et non le nom commun que vous avez utilisé lors de la création de votre certificat de serveur, vous obtiendrez cette erreur. C'est dû au fait que le nom commun du certificat du serveur est takserver et que notre client s'attend à se connecter à takserver et non à une adresse IP. Cliquez sur Avancé et cliquez sur "Continuer" pour tenter d'accéder au serveur TAK.




Si vous avez effectué toutes les étapes correctement, vous devriez être invités à vous authentifier sur votre serveur avec votre certificat. Si c'est le cas, cliquez sur OK pour vous connecter.




Après une connexion réussie, nous sommes dirigés vers le tableau de bord des métriques, par défaut.


NOTE IMPORTANTE: Si vous êtes dirigés vers WebTAK, laissez cet ordinateur en l'état et retournez sur le terminal hôte du serveur puis éxécutez la commande suivante:

sudo java -jar /opt/tak/utils/UserManager.jar certmod -A /opt/tak/certs/files/admin.pem



Je n'aborderai pas les autres OS mais vous pouvez consulter la page de mytecknet pour plus d'informations.



Votre serveur est maintenant en actif, en ligne, et prêt à servir. Il vous faut maintenant permettre aux utilisateurs d'accéder au serveur.



 


Gérer les utilisateurs et les groupes



Il s'agit de la tâche la plus courante que nous, en tant qu'administrateurs, devrons effectuer. Nous devons comprendre que nous avons deux méthodes pour gérer nos utilisateurs et groupes. Nous avons le makeCert.sh et UserManager.jar que nous avons déjà utilisés, et l'autre méthode consiste à utiliser le tableau de bord Gérer les utilisateurs.


Avec makeCert.sh, nous créons des certificats qui sont générés manuellement, suivis de UserManager.jar plaçant ce certificat dans un groupe.


L'autre méthode consiste à utiliser un système de délivrance automatique des certificats aux clients.


Méthode manuelle:


Pour générer des certificats en utilisant cette méthode, nous suivrons la même séquence que celle utilisée pour créer le certificat administrateur. Pour créer un certificat client, nous devons d'abord accéder à l'utilisateur tak et naviguer vers le répertoire /opt/tak/certs/.


# Basculez sur la session utilisateur tak
sudo su tak

# Naviguer vers le dossier des certificats
cd /opt/tak/certs

Une fois dans ce répertoire, nous utiliserons le script makeCert.sh pour créer un autre certificat client. La syntaxe de base pour cette tâche est ./makeCert.sh client <nomdutilisateur>.


# Créez un certificat client 
./makeCert.sh client <commonName>

# EXEMPLE
./makeCert.sh client wintak

Une fois notre certificat créé, nous devons utiliser UserManager.jar pour nous permettre de le gérer dans le tableau de bord web Marti. Cette fois, notre syntaxe sera java -jar /opt/tak/utils/UserManager.jar certmod -g <groupe> /opt/tak/certs/files/<nomcommun>. Ci-dessous, nous allons ajouter le client wintak au groupe ANON.

# Ajoutez le client au groupe __ANON__
java -jar /opt/tak/utils/UserManager.jar certmod -g __ANON__ /opt/tak/certs/files/<commonName>

# EXEMPLE
# java -jar /opt/tak/utils/UserManager.jar certmod -g __ANON__ /opt/tak/certs/files/wintak.pem


Ici se termine la création de base d'un certificat utilisateur de façon manuelle; cependant, nous devons le copier dans notre répertoire personnel afin de pouvoir le déplacer vers notre poste de travail administratif. De plus, nous allons copier un fichier supplémentaire qui est le fichier de certificat public de notre serveur TAK. Si vous avez suivi les exemples, cela devrait être truststore-TAK-ID-CA-01.



# Quittez la session tak 
exit

# Revenez au répertoire personnel.
cd ~

# Copiez le certificat client et le certificat d'autorité CA
sudo cp -v /opt/tak/certs/files/wintak.p12 .
sudo cp -v /opt/tak/certs/files/truststore-TAK-ID-CA-01.p12 .

# Restaurez la propriété sur notre répertoire personnel.
sudo chown -R takadmin:takadmin /home/takadmin


Les 2 fichiers sont maintenant disponibles, vous pouvez les importer dans Google Drive et les fournir au client concerné par le certificat. Vous pouvez créer un certificat unique par client (exemple: un EUD = un certificat) ou créer un certificat générique pour un groupe d'utilisateurs (exemple: équipe bleue = un certificat)




L'inscription à la délivrance automatique des certificats:


Ce processus implique de modifier certaines configurations dans notre serveur TAK pour émettre des certificats aux clients lors d'une authentification réussie. Pour notre source d'authentification, nous utiliserons le serveur TAK pour stocker les informations d'identification de nos clients. Pour commencer la configuration, nous devons déterminer qui est notre autorité de signature et sélectionner un fichier truststore approprié.


# Identifier notre autorité de signature
ls -l /opt/tak/certs/files/*-signing.jks


Ensuite, ouvrez le tableau de bord Marti et accédez à Configuration > Security and Authentification. Sous Security Configuration, sélectionnez Edit Security. Cochez Enable Certificate Enrollment et parmi les options, cliquez sur TAK Server CA. Entrez les informations de configuration suivantes :


  • Signing Keystore File = certs/files/<CACommonName>-signing.jks

  • Signing Keystore Password = par défaut atakatak ou le mot de passe que vous avez défini dans le fichier cert-metadata.sh

  • Validity Days = Entrez le nombre de jours pendant lesquels le certificats délivré sera valide. Passé ce délai, le client devra re-entrer ses indentifiants pour demander un nouveau certificat.




Après avoir vérifié les modifications de configuration, cliquez sur Submit pour appliquer immédiatement les changements. Ca permet d'ajouter de nouveaux éléments dans notre fichier CoreConfig.xml identifiés par le bloc certificateSigning.

Nous pouvons voir ce changement ci-dessous. Dans ce bloc, nous identifions le CA souhaité comme étant le serveur TAK. Sous nameEntries, les valeurs par défaut pour Organisation et Unité organisationnelle sont TAK. Cela signifie que le sujet du certificat aurait OU=TAK, O=TAK. Rappelez-vous que dans notre

cert-metadata.sh, nous avons également attribué ces valeurs. Pour maintenir une certaine cohérence dans notre environnement, nous voudrons peut-être modifier ces valeurs. Pour changer ces valeurs, nous devrons modifier directement le fichier CoreConfig.xml en tant qu'utilisateur tak, et après avoir apporté nos modifications, nous devons redémarrer le service takserver.



Pour faire ces modifications:


# Entrez dans la session tak
sudo su tak

# Allez dans le dossier tak
cd /opt/tak

# Editez le fichier CoreConfig.xml
sudo nano CoreConfig.xml

Dans le fichier CoreConfig.xml, utilisez les touches fléchées pour descendre jusqu'au début de l'élément certificateSigning.


Remplacez les champs TAK dans le nameEntry comme souhaité. Vous pouvez ajouter des nameEntry supplémentaires pour OU selon vos besoins pour correspondre à votre environnement. Dans l'exemple ci-dessous, les certificats seront émis en tant que CN=XXX,OU=TAK,OU=Utilisateurs,O=myTecknet.


<certificateSigning CA="TAKServer">
    <certificateConfig>
        <nameEntries>
            <nameEntry name="O" value="myTeckNet"/>
            <nameEntry name="OU" value="TAK"/>
            <nameEntry name="OU" value="Users"/>
        </nameEntries>
    </certificateConfig>
    <TAKServerCAConfig keystore="JKS" keystoreFile="certs/files/TAK-ID-CA-01-signing.jks" keystorePass="atakatak" validityDays="30" signatureAlg="SHA256WithRSA"/>
</certificateSigning>

Une valeur supplémentaire importante que nous devons ajouter est CAkey et CAcertificate à l'élément TAKServerCAConfig. Le CAkey et CAcertificate nécessitent le chemin complet vers le CA ; sinon, la liste de révocation des certificats (CRL) ne sera pas mise à jour ultérieurement. Remplacez CAcommonName par le nom commun du CA configuré utilisé dans la commande makeCert.sh ca <CAcommonName>.


# Ajoutez les valeurs CAkey et CAcertificate pour prendre en charge les révocations de certificats.
<TAKServerCAConfig keystore="JKS" keystoreFile="certs/files/TAK-ID-CA-01-signing.jks" keystorePass="atakatak" validityDays="30" signatureAlg="SHA256WithRSA" CAkey="/opt/tak/certs/files/<CAcommonName>" CAcertificate="/opt/tak/certs/files/<CAcommonName>"/>

# EXEMPLE
# <TAKServerCAConfig keystore="JKS" keystoreFile="certs/files/TAK-ID-CA-01-signing.jks" keystorePass="atakatak" validityDays="30" signatureAlg="SHA256WithRSA" CAkey="/opt/tak/certs/files/TAK-ID-CA-01" CAcertificate="/opt/tak/certs/files/TAK-ID-CA-01"/>



Enfin, pour activer la vérification des certificats révoqués, nous devons ajouter l'attribut x509checkRevocation="true" à notre élément <auth> dans le fichier CoreConfig.xml. Ces valeurs ne sont pas ajoutées automatiquement lors de la configuration de l'auto-inscription des certificats et jouent un rôle clé dans la révocation des certificats, comme expliqué ultérieurement.



Après avoir apporté nos modifications et les avoir enregistrées, nous devrions vérifier que notre fichier CoreConfig.xml est valide. Pour ce faire, nous pouvons exécuter le script ./validateConfig.sh depuis le répertoire /opt/tak/.





NOTE : validateConfig.sh est un outil très peu utilisé dans de nombreux déploiements TAK. Lorsque des modifications sont apportées directement au fichier CoreConfig.xml, il est recommandé d'exécuter cette commande avant de redémarrer le service takserver.service pour éviter des dépannages inutiles.


Si le CoreConfig est valide, redémarrez le service takserver.service et surveillez le journal pour vous assurer que le takserver a démarré correctement.


# Quittez la session tak
exit

# Redémarrez le takserver.service
sudo systemctl restart takserver.service

# Vérifiez les logs à la recherche d'erreurs
tail -f /opt/tak/logs/takserver-messaging.log





Inscrire des clients


Avec la configuration de l'inscription aux certificats, la prochaine étape consiste à commencer à gérer les utilisateurs. Cela se fera via l'interface de gestion des utilisateurs dans le menu Administrative du tableau de bord Marti.

Vous pouvez commencer par créer un groupe dans la partie de droite. Pour créer un utilisateur/client, cliquez sur Add User et remplissez les informations de Nom d'utilisateur, Mot de passe et placez le groupe selon les besoins. Une fois terminé, cliquez sur Create New User pour créer et appliquer les modifications.


NOTE: En attendant la traduction d'un article du même auteur sur la gestion des groupes et des utilisateurs, retrouvez la version originale de mytecknet ici.





Le processus d'inscription des certificats est communiqué au serveur TAK via le port TCP 8446. Ce port n'est pas activé par défaut et doit être ajouté manuellement.Ccela s'exécute en utilisant ufw.


# Autorisez 8446/TCP - Certificate Enrollment Port
sudo ufw allow 8446/tcp

# Vérifiez le status de ufw
sudo ufw status


Pour que le client s'inscrive au processus de délivrance du certificat, nous devons installer le certificat d'autorité de certification du serveur TAK (Install Certificate Authority) et fournir les identifiants de l'utilisateur. De plus, nous devons cocher les deux cases suivantes: Enroll for Client Certificate  et Use Authentication. Entrez le nom d'utilisateur et le mot de passe, puis cliquez sur OK. Si vous y êtes de nouveau invité, saisissez à nouveau les identifiants.

Le nom d'utilisateur et le mot de passe sont ceux que vous avez renseignés pendant la création de l'utilisateur dans le tableau de bord Marti.


exemple avec wintak:


En bas, une barre de progression indiquera l'état jusqu'à ce qu'un certificat soit généré et délivré au client.




Après l'inscription réussie, les certificats clients peuvent être répertoriés sous la rubrique Administrative > Client Certificates





Révoquer un certificat


Révoquer un certificat est utilisé lorsque nous voulons empêcher l'accès à un client avant la date d'expiration du certificat ou lorsque le client n'a plus besoin d'accès. Pour révoquer un certificat, nous avons besoin de connaître certaines informations sur le certificat : quel est le nom commun du certificat, qui a signé le certificat et la clé privée associée à l'autorité de certification signataire. Pour déterminer cela, nous pouvons afficher le contenu du certificat que nous souhaitons révoquer en utilisant la commande openssl. La syntaxe de base pour notre commande est :


openssl x509 -text -in /opt/tak/certs/files/<commonName>.pem | grep -Eo "Issuer:.+"

Attention: Les étapes suivantes sont destinées aux certificats créés à l'aide de la commande client makeCert.sh.



# Déterminer l'autorité de certification signataire du certificat.
openssl x509 -text -in /opt/tak/certs/files/<commonName>.pem | grep -Eo "Issuer:.+"

# EXEMPLE
# openssl x509 -text -in /opt/tak/certs/files/revokedClient.pem | grep -Eo "Issuer:.+"


Nous constatons que l'autorité de certification TAK-ID-CA-01 est celle qui a signé notre certificat à révoquer. Maintenant que nous le savons, nous pouvons le révoquer. Notre première étape consiste à passer à l'utilisateur tak et à naviguer vers le répertoire des certificats - /opt/tak/certs/. Ensuite, nous allons exécuter la commande revokeCert.sh. La syntaxe de base pour cette commande est :


./revokeCert.sh <pathtoCert> <pathtoCAKey> <pathtoCA>

Note : L'étape précédente n'est pas nécessaire car les scripts de certificats du serveur TAK facilitent l'utilisation de la même commande pour révoquer les certificats sans avoir à effectuer l'étape de découverte de l'autorité ayant délivré le certificat. Il est bon de connaître ces étapes au cas où votre configuration d'environnement diffère de l'installation de base


# Changez pour l'utilisateur tak
sudo su tak

# Basculez dans le dossier des certificats
cd /opt/tak/certs

# Revoquez le certificat ciblé
./revokeCert.sh /opt/tak/certs/files/<commonName> /opt/tak/certs/files/ca-do-not-share /opt/tak/certs/files/cat

# EXEMPLE
./revokeCert.sh /opt/tak/certs/files/revokedClient /opt/tak/certs/files/ca-do-not-share /opt/tak/certs/files/ca


Après avoir révoqué notre certificat, nous pouvons vouloir consulter la liste de révocation des certificats (CRL) pour vérifier que notre certificat révoqué y figure.


Interface utilisateur de certificat client


Si vous avez configuré le serveur TAK pour l'autoenrôlement des certificats, vous pouvez révoquer les certificats clients à partir de l'interface utilisateur des certificats clients. Lorsque vous cliquez sur un certificat à révoquer, vous recevrez un avertissement concernant le redémarrage du service TAK Server pour mettre à jour la liste de révocation des certificats (CRL).






Lorsque le certificat est révoqué, le client commencera à se connecter et à se déconnecter de manière cyclique. Lorsque nous inspectons les journaux dans takserver-messaging.log Nous avons les éléments suivants pour nous informer qu'un certificat révoqué a tenté de se connecter et a été refusé :


  • 2024-01-17-20:26:27.758 [epollEventLoopGroup-4-1] ERROR c.b.m.nio.codec.impls.X509AuthCodec - X509 auth exception info: CN: myTeckNet. Message: Attempt to use revoked certificate : OU=TAK,O=TAK,CN=myTeckNet com.bbn.marti.remote.exception.RevokedException: Attempt to use revoked certificate : OU=TAK,O=TAK,CN=myTeckNet at com.bbn.marti.groups.X509Authenticator.auth(X509Authenticator.java:134) ...

  • 2024-01-17-20:26:27.760 [epollEventLoopGroup-4-1] ERROR c.b.m.nio.codec.impls.X509AuthCodec - TakException in doTlsAuth Attempt to use revoked certificate : OU=TAK,O=TAK,CN=myTeckNet com.bbn.marti.remote.exception.RevokedException: Attempt to use revoked certificate : OU=TAK,O=TAK,CN=myTeckNet at com.bbn.marti.groups.X509Authenticator.auth(X509Authenticator.java:134)


De plus, vous constaterez que le serveur TAK tente d'ajouter l'abonnement du client, puis le supprime immédiatement, en incrémentant l'ID tls à chaque fois.


  • 2024-01-17-20:45:07.106 [epollEventLoopGroup-4-2] INFO c.b.m.s.DistributedSubscriptionManager - Added Subscription: id=tls:19 source=192.168.178.177

  • 2024-01-17-20:45:07.108 [takserver-scheduled-1] INFO c.b.m.s.DistributedSubscriptionManager - Removed Subscription: tls:19



Liste de révocation de certificats


Pour afficher le contenu de cette liste de révocation (CRL), vous pouvez utiliser OpenSSL. Exécutez la commande suivante :

openssl crl -in <pathtoCRL> -inform PEM -text -noout

Attention : Les étapes suivantes sont destinées aux certificats créés à l'aide de la commande client makeCert.sh.



# Afficher le contenu du fichier CRL.
openssl -crl -in /opt/tak/certs/files/ca.crl -inform PEM -text -noout



Croisez la référence du numéro de série de notre certificat révoqué avec la liste des certificats révoqués. Si vous disposez d'une longue liste de certificats révoqués, utilisez la commande grep pour rechercher le numéro de série de votre certificat révoqué.


# Consultez le contenu du fichier CRL
openssl -crl -in /opt/tak/certs/files/ca.crl -inform PEM -text -noout

# Recherchez un certificat révoqué dans la liste
openssl -crl -in /opt/tak/certs/files/ca.crl -inform PEM -text -noout | grep <revokedSN>

# EXEMPLE
# openssl -crl -in /opt/tak/certs/files/ca.crl -inform PEM -text -noout | grep 241D

Après avoir révoqué notre certificat et fait la vérification, nous devons publier ce certificat révoqué sur notre serveur TAK. Pour ce faire, nous devons ajouter une ligne à notre configuration avant la fin de l'élément de sécurité dans le fichier CoreConfig.xml pour pointer vers le fichier CRL.


# Basculez sur la session tak
sudo su tak

# Naviguez vers le dossier tak
cd /opt/tak

# Editez CoreConfig.xml
sudo nano CoreConfig.xml

À l'intérieur du fichier CoreConfig.xml, nous devons rechercher cet élément et le modifier.




À la fin de l'élément tls, nous devons supprimer le / après l'attribut keymanager="SunX509 pour rompre l'élément tls. Sur une nouvelle ligne, ajoutez :

<crl _name="TAKServer CA" crlFile="certs/files/ca.crl"/></tls>

Remplacez ca.crl par le nom de notre autorité de certification émettrice CAcommonName. Indice : il s'agit du même CAcommonName utilisé dans la commande makeCert.sh ca <CAcommonName>.


# élément CRL 
<crl _name="TAKServer CA" crlFile="certs/files/ca.crl"/>

# EXEMPLE
# <crl _name="TAKServer CA" crlFile="certs/files/TAK-ID-CA-01.crl"/>


Révisez et enregistrez les modifications pour les écrire dans le fichier CoreConfig.xml. Exécutez validateConfig.sh pour vous assurer que votre CoreConfig.xml est correct. Si tout est validé, quittez tak, redémarrez le service takserver.service et surveillez les journaux pour détecter d'éventuelles erreurs.





Maintenant vous avez une compréhension générale de la gestion de vos certificats clients.


Note : Si un client n'a plus besoin d'accès, la procédure consiste à révoquer le certificat, puis à supprimer le compte utilisateur pour empêcher les futures tentatives d'authentification.



 

Mettre à jour le serveur TAK


Pour mettre à jour le serveur TAK lorsqu'une nouvelle version est publiée, commencez par transférer la mise à jour vers le serveur TAK, puis exécutez la commande d'installation :


sudo apt install ./takserver-5.0-RELEASEx_all.deb


Une fois la mise à jour terminée, nous devons recharger le gestionnaire de services, suivi du redémarrage du service takserver.service.


# Redémarrez le gestionnaire de services
sudo systemctl daemon-reload

# Redémarrez le serveur TAK
sudo systemctl restart takserver



# Vérifiez les logs à la recherche d'erreurs
sudo tail -f /opt/tak/logs/takserver-messaging.log



Ceci termine la mise à jour du serveur TAK.



 

Connecter les clients TAK


Maintenant que tout est en route, voyons comment permettre aux utilisateurs d'accéder au serveur.


Une connexion client standard nécessite le certificat CA public du serveur TAK ainsi qu'un certificat client délivré pour des connexions sécurisées utilisant le protocole SSL sur le port TCP 8089. Le port supplémentaire 8443 est le port API sécurisé pour la communication client-serveur permettant les mises à jour de configuration. Lorsque l'autoenrôlement des certificats est utilisé, la demande de certificat client est envoyée aux ports TCP 8446 et 8443 avant d'établir la connexion sur le port 8089.


Note : Les ports répertoriés sont les ports par défaut et les connexions standard. L'utilisation de ports non standard nécessite une configuration supplémentaire et n'est pas couverte dans ce guide.




WinTAK


  • Lancez l'application WinTAK et suivez les procédures de premier démarrage.

  • Une fois terminé, sélectionnez le menu hamburger (≡) en haut à gauche et sélectionnez Settings > Network Preferences > Manage Server Connections

  • Cliquez sur Add Item pour ajouter une nouvelle connexion de serveur. Vous pouvez aussi cliquer sur le nuage rouge en bas à droite, votre icône d'état du réseau TAK.

  • Ajoutez une description sous Description, comme le service ou l'unité.

  • Gardez SSL sous Protocol et saisissez les informations du serveur TAK sous Host Address. Host Address peut accepter une adresse IP, un nom de domaine complet ou un hostname DDNS.

  • Gardez les informations de port sur 8089, c'est notre port de connexion client-serveur par défaut.

  • Sous Certificates, cliquez sur Install Certificate Authority pour installer le truststore du certificat public du serveur TAK. Par exemple, il s'agit du truststore-TAK-ID-CA-01.p12 que nous avons téléchargé précédemment.

  • Cliquez sur Install Client Certificate et sélectionnez notre certificat client à installer. Par exemple, il s'agit de wintak.p12 que nous avons téléchargé précédemment.

  • Une fois que nous avons saisi toutes les informations requises, nous pouvons cliquer sur OK et nous devrions voir que nous sommes connectés à notre serveur TAK.


Souvenez vous que les mots de passe à entrer sont par défaut atakatak, ou ceux que vous avez choisis pendant la création des certificats.





ATAK (Android)


Lancez ATAK. Si c'est la première fois que vous exécutez l'application, suivez les invites de configuration initiale.

  • Une fois terminé, sélectionnez le menu hamburger (≡) en haut à gauche, puis choisissez Settings > Network Preferences > Network Connection Preferences > Manage Server Connections

  • Cliquez sur (⋮) et sélectionnez Add pour créer une nouvelle connexion de serveur TAK.

  • Ajoutez une description sous Description, comme le service ou l'unité.

  • Saisissez les informations du serveur TAK sous Host Address. Host Address peut accepter une adresse IP, un nom de domaine complet ou un hostname DDNS.

  • Cochez la case Advanced Options

  • Gardez SSL et port 8089

  • Décochez Use default TLS/SSL Certificates

  • Cliquez sur Import Trust Store pour installer le truststore du certificat public du serveur TAK. Par exemple, il s'agit du truststore-TAK-ID-CA-01.p12 que nous avons téléchargé précédemment.

  • Cliquez sur Import Client Certificate et sélectionnez notre certificat client à installer. Par exemple, il s'agit de wintak.p12 que nous avons téléchargé précédemment.

  • Une fois que nous avons saisi toutes les informations requises, nous pouvons cliquer sur OK et nous devrions voir que nous sommes connectés à notre serveur TAK.







Souvenez vous que les mots de passe à entrer sont par défaut atakatak, ou ceux que vous avez choisis pendant la création des certificats.



iTAK (iOS)


L'intégration d'iTAK à un serveur TAK fonctionne selon l'une des trois méthodes suivantes :


  • Se connecter avec des identifiants C'est similaire à la connexion rapide d'ATAK qui nécessite que le serveur TAK utilise un certificat signé publiquement que l'iPhone approuve. Un certificat privé tiers peut fonctionner tant qu'il est stocké dans le magasin de certificats de l'iPhone.

  • Téléchager le package serveur C'est le plus courant dans les environnements qui n'ont pas de serveur TAK accessible au public. Il nécessite que l'appareil iTAK ait accès à un package de données spécifiquement conçu pour iTAK.

  • Scanner un code QR C'est similaire à la connexion avec des identifiants et nécessite que le code QR contienne l'adresse du serveur TAK.


Tutoriel de mytecknet pour la création des packages serveur iTAK


Dans ce guide, nous utiliserons un package de données iTAK créé à l'aide du guide disponible ci-dessus.


Avec iTAK ouvert, sélectionnez Settings (⚙️) > Network > Servers. En bas de la fenêtre de dialogue Servers, il y a un signe plus (➕) pour ajouter un serveur TAK.




Sélectionnez Upload Server Package, et parcourez les dossiers de l'appareil iTAK pour le package de données du serveur TAK. Une fois que vous avez sélectionné le package de données du serveur TAK cible, la connexion au serveur sera automatiquement importée. Si configuré correctement, à la fois le serveur TAK et le chemin d'accès au serveur TAK, le client affichera "Connected".




Depuis le tableau de bord administratif de Marti, cliquez sur le menu hamburger (≡), sélectionnez Monitoring > Client Dashboard et vérifiez le client connecté. Sous la colonne TAK Client, nous pouvons voir qu'iTAK est connecté avec les informations associées.






Note personnelle: L'utilisation d'iOS n'est vraiment pas optimale et de nombreux utilisateurs rapportent des difficultés à l'utilisation. ATAK signifie Android Team Awareness Kit (ou Android Tactical Assault Kit mais à notre époque ça dérange pas mal de monde). Android donc, pas iOS.

Faites vous une fleur, achetez un EUD Android.


Le mot de la fin:


Ce guide est restreint à certaines configurations et est adapté à l'usage personnel que j'en ai fait, je n'ai donc pas retranscrit l'intégralité du tutoriel original de mytecknet. Si vous souhaitez avoir plus d'informations sur des usages non mentionnés dans ce guide, je vous invite à consulter la version complète sur https://mytecknet.com/lets-build-a-tak-server/


Bon courage et bonne utilisation. Stay safe.