Installation de TeamSpeak 3 sur CentOs 8

La nouvelle version de CentOs est sortie depuis peu, il s’agit de la première version de CentOs qui utilise le Kernel version 4 de Linux. 

La nouvelle version de CentOs apporte plusieurs améliorations qui risquent d’aider aux performances d’un serveur TeamSpeak comme la mise à niveau des interfaces réseau (maintenant à la version 4.18), l’amélioration des différents composants de sécurité (comme OpenSSL et le remplacement de iptables par nftables). Cependant, je ne vais pas m’attarder à toutes les nouveautés de CentOs8 mais plutôt à l’installation de TeamSpeak sur le nouvel OS.

Je vais tout de même prendre quelque ligne pour vanter les mérites de TeamSpeak pour ceux qui ne connaissent pas très bien l’application. Il s’agit d’un logiciel qui permet à plusieurs personnes d’effectuer des communications téléphoniques entre eux en temps réel (VOIP – Voice Over Internet Protocol).

TeamSpeak cible principalement la clientèle « gamers », mais compte tenu de sa grande flexibilité, il a également réussi à percer d’autre marché, jusqu’à prendre une petite part du marché de Skype.

Selon nous, l’avantage numéro un d’un système comme TeamSpeak est que nous pouvons tous avoir notre propre serveur TeamSpeak et ainsi nous assurer que nos communications ne sont pas automatiquement filtrées où vérifiées par une tierce partie (comme Skype).

Préparation du serveur

Pour ce tutoriel, je vais assumer que vous avez déjà un serveur CentOs8 en main avec les accès nécessaires pour y accéder en ligne de commande, si vous n’en avez pas, nous offrons des serveurs pouvant faire fonctionner TeamSpeak.  Comme dans tout serveur, la première étape est de vous assurer d’avoir les dernières mises à jour d’installées. Pour installer les mises à jour, effectuez cette commande :

dnf update
CentOs8 dnf update

Une fois le serveur à jour, vous devez appliquer un minimum de sécurité. Cette section est facultative, mais très fortement recommandée.


Premièrement, nous allons désactiver le mode « SELinux » dans le serveur et nous allons le remplacer avec une suite de sécurité. Ouvrez le ficher de configuration de « SELinux » puis changez la ligne « SELINUX=enforcing » pour « SELINUX=disabled » et sauvegardez.

vi /etc/selinux/config
CentOs8 selinux

Note: Si vous n’avez jamais utilisé l’éditeur de fichier « VI » dans un serveur Linux, en voici les bases. Pour pouvoir modifier un fichier, commencez par taper le caractère « i » (le texte « — INSERT –» va apparaitre au bas de l’écran). Par la suite, effectuez les modifications désirées. Dans ce cas-ci; changez le numéro de port. Une fois les modifications terminées, appuyez sur la touche « ESC » pour arrêter le mode d’édition. Pour sauvegarder, entrez le caractère « : », celui-ci vous permet d’entrer une commande. Ensuite, tapez les lettres « wq » et la touche entrée (le « w » signifie « write » et le « q » « quit »).

Pour que le changement soit effectif, il faut redémarrer le serveur.

reboot

Une fois le redémarrage du serveur terminé, il faut changer le port de connexion SSH.

Par défaut, le service SSH d’un serveur est sur le port numéro 22. Donc par le fait même, la majorité des pirates vont tenter d’exploiter ce port. Heureusement, il est très simple de change le port par défaut sur un serveur Linux. Commencez par ouvrir le fichier de configuration du service SSH (situé à : /etc/ssh/sshd_config)

vi /etc/ssh/sshd_config

Vous devriez voir le contenu du fichier comme suit :

CentOs8 sshd_config

Il vous faut remplacer le numéro de port sur la ligne qui est en dessous du curseur, représenté sur l’image ci-haut. Pour ce tutoriel, je vais changer le port 22 pour le port 22322. Important : n’oubliez pas d’enlever le symbole de dièse au début de la ligne, sinon le changement ne sera pas pris en compte.

Tout serveur digne de ce nom doit avoir un pare-feu pour le protéger de différentes attaques. Nous allons installer le pare-feu de ConfigServer. Ce dernier est très flexible et la configuration est simple à modifier.  Avant l’installation il faudra cependant installer quelque dépendance (Perl, tar et wget) pour que ce dernier puisse fonctionner. Faites avec la commande suivante :

dnf -y install wget tar perl perl-libwww-perl net-tools perl-LWP-Protocol-https sendmail bind-utils bzip2

On peut maintenant procéder à l’installation du pare-feu avec les commandes suivantes :

cd /usr/src
rm -fv csf.tgz
wget https://download.configserver.com/csf.tgz
tar -xzf csf.tgz
cd csf
sh install.sh
cd ~
rm -rf /usr/src/csf

Le pare-feu s’installera dans le répertoire « /etc/csf/ ». C’est à cet endroit que nous allons pouvoir modifier sa configuration.

Commençons par ouvrir le fichier de configuration.

vi /etc/csf/csf.conf
CentOs8 csf Config

Le fichier de configuration est relativement volumineux, mais il est très bien documenté. Je vais décrire les options que je conseille de changer à l’intérieur de la configuration. Afin de simplifier la recherche, je vais indiquer sur quelle ligne est située la valeur à changer (dans l’outil « vi », on peut afficher les numéros de ligne avec la commande « :set number »).

  • Ligne 11 : Changer la valeur de TESTING de 1 à 0.
  • Ligne 69 : Changer la valeur de RESTRICT_SYSLOG de 0 à30.
  • Ligne 139 : C’est ici qu’on définit les ports TCP disponibles pour accéder au serveur, nous allons ajouter les ports de TeamSpeak ainsi que le nouveau port SSH (important de placer le même port que vous avez choisi dans la configuration du service SSH). Donc, changer la valeur de TCP_IN à « 20,21,53,80,443,9987,10011,22322,30033 ».
  • Ligne 142 : Maintenant on peut changer les ports TCP sortants du serveur (TCP_OUT). Placer les ports suivants : « 20,21,53,80,443,9987,10011,22322,30033 ».
  • Ligne 145 : Pour les ports UDP entrants (UDP_IN), nous devons ajouter le port de TeamSpeak (9987).  Placer les ports suivants : « 20,21,53,9987 ».
  • Ligne 149 : Pour les ports UDP sortants (UDP_OUT), on va également ajouter les ports de TeamSpeak. Placer les ports suivants : « 20,21,53,113,123,9987 ».

Une fois les changements effectués, on va redémarrer le service SSH pour qu’il prenne en compte le nouveau port puis activer et redémarrer le pare-feu pour que les nouvelles règles soient effectives.

systemctl restart sshd
csf -e
csf -r

À ce point, vous serez déconnecté du serveur, car le port 22, celui que vous avez surement utilisé pour vous connecter, est maintenant désactivé par le pare-feu. Il faudra vous reconnecter avec le nouveau port. (dans ce tutoriel nous avons utilisé le port 22322).

Voilà, nous avons maintenant un serveur un peu plus sécuritaire et prêt à l’installation de TeamSpeak. Pour encore plus de sécurité, je conseille de désactiver les connexions par mot de passe au serveur et de simplement utiliser une clé SSH.

Installation de TeamSpeak

Nous sommes maintenant rendus à la pièce de résistance, l’installation de Teamspeak sur le serveur CentOs8.

TeamSpeak requiert quelque dépendance comme Perl, net-tools, etc. Ces dernières ont déjà toutes été installées lorsque nous avons installé le pare-feu donc on peut déjà passer à l’étape suivante. Nous allons créer un utilisateur dans CentOs8 qui sera utilisé par l’application Teamspeak.

adduser teamspeak -d /opt/teamspeak

Maintenant nous allons télécharger, extraire et déplacer l’application TeamSpeak dans le serveur.

wget https://files.teamspeak-services.com/releases/server/3.10.2/teamspeak3-server_linux_amd64-3.10.2.tar.bz2
tar xvf teamspeak3-server_linux_amd64-3.10.2.tar.bz2
mv teamspeak3-server_linux_amd64/* /opt/teamspeak/

Maintenant que nos fichiers pour TeamSpeak sont au bon endroit dans le serveur, nous pouvons effacer les fichiers d’installation.

rm -rf /root/teamspeak3-server_linux_amd64*

Pour utiliser les serveurs TeamSpeak, nous devons accepter la licence d’utilisation. Lisez attentivement la licence d’utilisation avant de l’accepter.

vi /opt/teamspeak/LICENSE

Ensuite, créez un fichier vide pour confirmer que vous acceptez les conditions de la licence.

touch /opt/teamspeak/.ts3server_license_accepted

Finalement, on doit changer le propriétaire des fichiers de TeamSpeak pour qu’ils appartiennent à l’utilisateur que nous avons créé plus tôt.

chown -R teamspeak: /opt/teamspeak

Pour faciliter l’utilisation de TeamSpeak, nous allons créer un service dans CentOs8 avec l’utilisation de « systemd ». Le service est simplement un fichier texte indiquant au système comment démarrer et arrêter TeamSpeak. Donc, commençons par créer un fichier pour le service.

vi /lib/systemd/system/teamspeak.service

Dans le fichier, copier et coller les instructions suivantes :

[Unit]
Description=Team Speak 3 Server
After=network.target
[Service]
WorkingDirectory=/opt/teamspeak/
User=teamspeak
Group=teamspeak
Type=forking
ExecStart=/opt/teamspeak/ts3server_startscript.sh start inifile=ts3server.ini
ExecStop=/opt/teamspeak/ts3server_startscript.sh stop
PIDFile=/opt/teamspeak/ts3server.pid
RestartSec=15
Restart=always
[Install]
WantedBy=multi-user.target

Maintenant on doit demander à CentOs8 de regarder s’il y a des nouveaux services dans le système pour qu’il puisse les prendre en considération.

systemctl --system daemon-reload

Finalement on va démarrer le serveur TeamSpeak et également s’assurer qu’il démarre automatiquement à chaque fois que nous redémarrons le serveur.

systemctl start teamspeak
systemctl enable teamspeak

Pour s’assurer que TeamSpeak est bien démarré, on peut vérifier le statut du service.

systemctl status teamspeak

Un service fonctionnel devrait donner un résultat comme ceci :

La dernière étape consiste à trouver la clé privilège pour être en mesure de se connecter à notre serveur TeamSpeak à partir d’une application. En vérifiant les dernières entrées dans les fichiers journaux, nous pouvons facilement récupérer la clé. La commande suivante affichera à l’écran le contenu des fichiers journaux.

cat /opt/teamspeak/logs/*

Vous devriez voir un résultat similaire à celui-ci :

CentOs8 TeamSpeack Log

Dans les dernières lignes nous pouvons facilement voir la clé privilège qui vous permettra de vous connecter à votre serveur TeamSpeak.

J’espère que ce tutoriel vous a été utile! Il ne vous reste plus qu’à télécharger les applications clients de Teamspeak pour vous connecter avec vos amis et votre famille.


Si vous avez aimé ce didacticiel, vous pouvez également trouver utile un des articles suivants :