Server security (fr)
From AssaultCube
| | Čeština | Deutsch | English | Español | Français | Italiano | Lietuvių | Português |
Contents |
General
Il est simple de gérer un serveur basique, mais si vous prévoyez de gérer un serveur à long terme, vous devriez considérer certains aspects de la sécurité informatique. Certains des objectifs à se fixer sont:
- Lancer un serveur grâce à un compte sans aucun privilège. Cela permet de réduire l'accès des applications aux fichier systèmes locaux
- Lancer un serveur de manière à ce qu'aucune session interactive ne soit requise. Cela permet de s'assurer que le serveur puisse fonctionner indépendamment de toute session utilisateur.
- Lancer un serveur dans un 'enclos sécurisé'. Cela isole le serveur ( son processus en fait ) pour minimiser sa capacité à affecter la machine locale.
Les sections qui suivent expliquent comment mettre en oeuvre ces mesures sur les différentes plateformes. Nous supposerons par le suite que vous savez comment administrer un serveur par des opérations basiques, telles la crétion d'un compte utilisateur.
Microsoft Windows
Cette section couvre les différentes plateformes Windows suivantes:
- Windows Server 2000
- Windows Server 2003
- Windows XP Professional Edition
- Windows XP Professional x64 Edition
- Windows XP Media Center Edition 2005
Malheureusement, il manque encore certains services indispensables concernant Windows XP Home Edition, donc vous ne pourrez gérer un serveur ( en tant que service ) sous XP Home.
Faire fonctionner un serveur en tant que service
Créer un service propre à un serveur AssaultCube est un bon moyen d'assurer les objectifs 1. et 2. : cela permet de gérer le serveur avec un utilisateur "qualifié" et laisse le serveur tourner sans aucun session.
Allez dans Menu Démarrer > Exécuter > lusrmgr.msc pour accéder aux Utilisateurs et Groupes Locaux.
- Créer un nouvel utilisateur pour le serveur, un compte local appelé ACserver.
- Supprimer le compte du groupe Utilisateurs.
- Créer un nouveau groupe pour le serveur, par exemple Gameservers and ajoutez-y le compte ACserver.
- Etablissez les permissions des fichiers systèmes, comme décrites ci dessous. Pour ajouter l'onglet Security dans les propriétés du fichier, allez dans
Poste de travail > Options > Options des fichiers... > Affichage et décochez la case tout en bas de la liste Utiliser le partage de fichier simple (Recommandé).
- Interdisez la permission d'écriture sur le disque principal (C:\)
- Autorisez la permission d'éxecution sur le dossier \bin_win32
- Autorisez la permission d'éxecution sur le fichier \assaultcube_server.bat
- Autorisez la permission de lecture sur le fichier \config\maprot.cfg
Linux/Unix
Pour une sécurité maximale - sur une machine vous avez un controle de type root ( administrateur ET root ) - vous devriez créer un utilisateur dédié sans adhésion de groupe ( excepté bien sur son propre groupe ). Si vous le pouvez, vous devriez utiliser quelques chroots. chown et chmod les fichiers appropriés .. soit accessibles uniquement par l'utilisateur en tant que gérant et groupe chown -R acs:acs * (si votre utilisateur est acs) ou bien en faisant confiance à votre équipe d'administrateurs - faites bien attention aux fichiers logs (chmod 600) avec config/serverpwd.cfg. Lancez le serveur dans une screen-session. Il y a aussi bon nombre de moyens pour garder votre serveur fonctionnel au cas où ce dernier planterait sans avoir à interagir manuellement avec la machine. Une des méthodes les plus directes est d'avoir un script comme celui ci dessous qui relance le serveur périodiquement - vous pouvez jeter un oeil à cron.
#!/bin/sh
ACdir="/usr/local/games/AC"
ACpsi=`ps aux | grep "bin_unix.\+_server" | grep -v grep | awk '{print $2,$3,$4,$8,$11}'`
ACpid=`echo "$ACpsi"|awk '{print $1}'`
ACstat=`echo "$ACpsi"|awk '{print $4}'`
# you might even want to check $ACstat doesn't contain "Z" .. as in zombie
if [ -z "$ACpid" ]; then
echo "Aucun serveur AssaultCube lance, redemarrage immediat."
cd "$ACdir"
# lance la screen session:
/usr/local/bin/my_screen_session_for_an_AC_server
# ou alors essayez ceci:
#nohup ./server.sh &
echo ""
fi
Certains utilisateurs expérimentés devraient meme jeter un oeil à infoport pour vérifier la capacité de réponse et/ou le status du jeu - nous vous laissons cela à titre d'exercice ;-)
Originally translated by ironzorg

