Comment vérifier la validité d’un certificat

openssl x509 -in <nom du cert>.crt -noout -enddate

Comment voir si un certificat est révoqué ou pas

#supposons que le répertoire qui contient les certificats est /etc/openvpn/easy-rsa/keys
cat /etc/openvpn/easy-rsa/keys/index.txt
# Ou si on veut être plus précis dans la recherche
cat /etc/openvpn/easy-rsa/keys/index.txt | grep <nom du cert.>

V = Actif et R = Révoqué

Que faire quand votre CA (ca.crt) est expiré

Si votre certificat CA est expiré, il faut en générer un nouveau et le signer avec la clé CA.key existante. (Par défaut il est valide 10 ans, mais ici on va mettre un peu plus 😀 .)

openssl x509 -in ca.crt -days 36500 -out ca_new.crt -signkey ca.key

ca.crt est l’ancien certificat, ca_new.crt est le nouveau fraîchement généré, et le ca.key est la clé (qui ne changera pas pour ne pas devoir régénérer les certificats clients)

Nous pouvons tester notre nouveau certificat CA avec un certificat client :

openssl verify -CAfile ca_new.crt client.crt
client.crt: OK

On fait un backup de l’ancien certificat CA et on applique le nouveau

mv ca.crt ca.crt.old
mv ca_new.crt ca.crt

Maintenant, il faut distribuer et remplacer le nouveau ca.crt chez les clients.

Pensez aussi à vérifier la date d’expiration des certificats serveur et clients (voir ci-dessus).

Si vous y avez pensé tôt assez, pour éviter les surprises vous pouvez mettre les deux CA dans le même fichier.

Si les certificats clients sont expirés il faut recréer ceux qui sont expirés (via build-key).
Si c’est le certificat du serveur qui est expiré, il faut sauvegarder l’ancien et générer un nouveau (via build-key-server).

Comment voir qui est connecté actuellement au VPN

Tout d’abord, dans votre fichier de configuration du serveur il faut déclarer le fichier status.

...
status /tmp/openvpn-status.log
...

Il suffit d’afficher le contenu de ce fichier

cat /tmp/openvpn-status.log
# Ou bien avec un rafraîchissement automatique
watch cat /tmp/openvpn-status.log

 

Voici un script init.d pour lancer Mumble comme un service via les binaires.

#!/bin/bash
# myapp daemon
# chkconfig: 345 20 80
# description: myapp daemon
# processname: myapp

DAEMON_PATH="/root/mumble" #CHANGEME

DAEMON=murmur.x86 
DAEMONOPTS=""
RUNAS=matt #CHANGEME

NAME=Mumble
DESC="Mumble !!!"
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

case "$1" in
start)
	printf "%-50s" "Starting $NAME..."
	
	su -c "$DAEMON_PATH/$DAEMON" $RUNAS
	sleep 3
	PID=`pidof $DAEMON`
	#echo "Saving PID" $PID " to " $PIDFILE
        if [ -z $PID ]; then
            printf "%s\n" "Fail"
        else
            echo $PID > $PIDFILE
            printf "%s\n" "Ok"
        fi
;;
status)
        printf "%-50s" "Checking $NAME..."
        if [ -f $PIDFILE ]; then
            PID=`cat $PIDFILE`
            if [ -z "`pidof $DAEMON`" ]; then
                printf "%s\n" "Process dead but pidfile exists"
            else
                echo "Running"
            fi
        else
            printf "%s\n" "Service not running"
        fi
;;
stop)
        printf "%-50s" "Stopping $NAME"
            PID=`cat $PIDFILE`
            cd $DAEMON_PATH
        if [ -f $PIDFILE ]; then
            kill -15 $PID
            printf "%s\n" "Ok"
            rm -f $PIDFILE
        else
            printf "%s\n" "pidfile not found"
        fi
;;

restart)
  	$0 stop
  	$0 start
;;

*)
        echo "Usage: $0 {status|start|stop|restart}"
        exit 1
esac

Voici des exemples d’utilisation

service mumble stop
service mumble start
service mumble restart
service mumble status

Découvrez ici comment installer un serveur Mumble

Nous allons voir ici comment installer un serveur Mumble (Murmur) sous Linux.

Je vais ici expliquer comment installer le service via les binaires (et non pas avec un dépôt).

Installation

Nous devons commencer par télécharger la dernière version du serveur sur le site officiel (Choisissez Static Linux Server et de préférence stable release).

cd /root
wget http....

Une fois l’archive téléchargée sur votre serveur, il faut l’extraire.

tar xjvf murmur-static_*.tar.bz2

On peut à présent supprimer l’archive, elle ne nous sert plus.

rm *.tar.bz2

On va renommer le dossier pour plus de confort.

mv murmur-static_* mumble

Configuration

À présent, nous allons pouvoir éditer le fichier de configuration de Mumble : murmur.ini

nano mumble/murmur.ini

Voici les lignes intéressantes :

  • Garder les logs du serveur :
logfile=/home/matt/mumble/murmur.log
  • Le message de bienvenue
welcometext="<br />Bienvenue sur le serveur Mumble <br /> <b>matt.niloo.fr</b>"
  • Le port d’écoute du serveur
port=64738 # c'est le port par défaut
  • Définir un mot de passe pour rejoindre le serveur
serverpassword=
  • Définit la bande passante maximale qui est autorisée par les clients (en bps)
bandwidth=72000
  • Nombre maximal de clients que le serveur peut accueillir
users=25

Firewall

Si vous utilisez iptables, il faudra autoriser les connexions UDP et TCP en trafic entrant vers le port du serveur.

 iptables -A INPUT -p tcp --dport 64738 -j ACCEPT
 iptables -A INPUT -p udp --dport 64738 -j ACCEPT

Premier démarrage

Nous sommes toujours dans le répertoire mumble, on peut procéder au premier démarrage afin de définir le mot de passe SuperUser.

./murmur.x86 -supw MonSuperMotDePasse

Changez le mot de passe, bien sûr 😀

On peut maintenant lancer le service manuellement :

./murmur.x86 -ini murmur.ini

NB : Le fichier murmur.ini doit se trouver au même endroit que l’exécutable murmur.x86.

Pour lancer le service en mode debug (uniquement si vous rencontrez des problèmes) :

./murmur.x86 -ini murmur.ini -v -fg

Pour le lancer comme un vrai service : rendez-vous ici pour savoir comment gérer le daemon via un script.