Forum Linux.debian/ubuntu Coturn : Problème de droits

Posté par  . Licence CC By‑SA.
Étiquettes :
0
17
juil.
2022

Bonjour,

Sous Debian Bullseye, j'ai relu et adapté tout le fichier de configuration de coturn.

J'ai baissé le niveau de securité à no-auth pour écarter un problème d'authentification.

Je pense que le restant des problèmes peuvent être du aux droits que possède le paquet coturn sur le système debian.

Coturn est lancé avec l'utilisateur et le groupe turnserver.

J'identifie deux problèmes aujourd'hui.

1-Le besoin de chmod 704 sur la clef privée lié au nom de domaine

2-Impossibilité de créer un socket

Comment faire pour gérer autrement les droits de coturn comme pour nginx pour le problème N°1 qui pourrait résoudre le problème numéro 2 de création de socket ?

Merci d'avance pour vos suggestions.

LOGS DE COTURN

10740: : session 007000000000000005: realm <turn.domain.fr> user <>: incoming packet BINDING processed, success
10740: : session 007000000000000006: realm <turn.domain.fr> user <>: incoming packet BINDING processed, success
10740: : session 004000000000000026: realm <turn.domain.fr> user <>: incoming packet BINDING processed, success
10740: : session 003000000000000004: realm <turn.domain.fr> user <>: incoming packet BINDING processed, success
10740: : session 005000000000000006: realm <turn.domain.fr> user <>: incoming packet BINDING processed, success
10740: : session 007000000000000006: realm <turn.domain.fr> user <>: incoming packet message processed, **error 401: Unauthorized**
10740: : session 004000000000000026: realm <turn.domain.fr> user <>: incoming packet message processed, **error 401: Unauthorized**
10740: : session 007000000000000005: realm <turn.domain.fr> user <>: incoming packet message processed, **error 401: Unauthorized**
10740: : session 003000000000000004: realm <turn.domain.fr> user <>: incoming packet message processed, **error 401: Unauthorized**
10740: : session 005000000000000006: realm <turn.domain.fr> user <>: incoming packet message processed, **error 401: Unauthorized**
10740: : IPv4. Local relay addr: 192.168.1.30:49159
10740: : session 004000000000000026: new, realm=<turn.domain.fr>, username=<1581585515>, lifetime=600
10740: : session 004000000000000026: realm <turn.domain.fr> user <1581585515>: incoming packet ALLOCATE processed, success
10740: : IPv4. Local relay addr: 192.168.1.30:49153
10740: : session 007000000000000006: new, realm=<turn.domain.fr>, username=<1581585515>, lifetime=600
10740: : session 007000000000000006: realm <turn.domain.fr> user <1581585515>: incoming packet ALLOCATE processed, success
10740: : **Trying to bind fd 114 to <192.168.1.30:49157>: errno=98**
10740: : IPv4. Local relay addr: 192.168.1.30:49155
10740: : session 003000000000000004: new, realm=<turn.domain.fr>, username=<1581585515>, lifetime=600
10740: : session 003000000000000004: realm <turn.domain.fr> user <1581585515>: incoming packet ALLOCATE processed, success
10740: : IPv4. Local relay addr: 192.168.1.30:49152
10740: : IPv4. Local relay addr: 192.168.1.30:49156
10740: : session 007000000000000005: new, realm=<turn.domain.fr>, username=<1581585515>, lifetime=600
10740: : session 007000000000000005: realm <turn.domain.fr> user <1581585515>: incoming packet ALLOCATE processed, success
10740: : session 005000000000000006: new, realm=<turn.domain.fr>, username=<1581585515>, lifetime=600
10740: : session 005000000000000006: realm <turn.domain.fr> user <1581585515>: incoming packet ALLOCATE processed, success
10740: : session 005000000000000007: realm <turn.domain.fr> user <>: incoming packet BINDING processed, success
10740: : session 004000000000000027: realm <turn.domain.fr> user <>: incoming packet BINDING processed, success
10740: : session 007000000000000007: realm <turn.domain.fr> user <>: incoming packet BINDING processed, success
10740: : session 002000000000000030: realm <turn.domain.fr> user <>: incoming packet BINDING processed, success

10821: : Trying to bind fd 121 to <192.168.1.30:49157>: errno=98
10821: : Trying to bind fd 121 to <192.168.1.30:49157>: errno=98
10821: : Trying to bind fd 121 to <192.168.1.30:49157>: errno=98
10821: : Trying to bind fd 121 to <192.168.1.30:49157>: errno=98
10821: : create_relay_ioa_sockets: no available ports 3
10821: : session 006000000000000011: realm <turn.domain.fr> user <165462897>: incoming packet ALLOCATE processed, **error 508: Cannot create socket**
10821: : session 006000000000000011: realm <turn.domain.fr> user <165462897>: incoming packet message processed, **error 508: Cannot create socket**
10821: : Trying to bind fd 121 to <192.168.1.30:49157>: errno=98
10821: : Trying to bind fd 121 to <192.168.1.30:49157>: errno=98

LA CONF COTURN

##################################
## INFO PROCESSUS COTURN DEBIAN ##
##################################

# TBD
**proc-user=turnserver
proc-group=turnserver**
# PID
#pidfile="/var/run/turnserver.pid"

##################################
########### LOG COTURN ###########
##################################

#normal/moderate verbose mode
verbose 

#extra verbose mode
#Verbose

no-stdout-log
log-file=/var/log/coturn/turn.log
new-log-timestamp-format "%FT%T%z"

##################################
### RESEAU : DOMAINE PORT IP  ####
##################################

realm=turn.domain.fr
server-name=turn.domain.fr

# TURN PORTS
listening-port=3478
tls-listening-port=5349

# STUN RFC 5780 support # (STUN extension specs, NAT behavior discovery)
alt-listening-port=3479
alt-tls-listening-port=5350

# Certificats
cert=/etc/letsencrypt/live/turn.domain.fr/cert.pem
pkey=/etc/letsencrypt/live/turn.domain.fr/privkey.pem

#Quelle adresse IP autoriser ?
listening-ip=0.0.0.0

#Besoin d'external-ip pour passer le NAT ?
#external-ip=<EXTERNAL_IP>/<INERNAL_IP>

#Obligé de mettre tout cette plage pour relay endpoints ?
min-port=49152
max-port=49160

#relay-ip=IP ? par defaut, l'IP du device (smartphone)

##################################
## AUTHENTIFICATION UTILISATEUR ##
##################################

#Autorise l'accès sans restriction d'utilisateur
# = par default, autorise anonymouse access
no-auth

SYSTEMD DE COTURN

cat /lib/systemd/system/coturn.service
[Unit]
Description=coTURN STUN/TURN Server
Documentation=man:coturn(1) man:turnadmin(1) man:turnserver(1)
After=network.target

[Service]
**User=turnserver
Group=turnserver**
Type=notify
ExecStart=/usr/bin/turnserver -c /etc/turnserver.conf --pidfile=
Restart=on-failure
InaccessibleDirectories=/home
PrivateTmp=yes

[Install]
WantedBy=multi-user.target
  • # Le contexte serait cool

    Posté par  . Évalué à 1.

    Je ne vois pas d'erreur dans le journal concernant un problème de droit sur le fichier Clef. Dans tout les cas, autoriser la lecture pour le monde entier n'est pas judicieux.

    Quand on fait une recherche sur l'erreur 98, j'obtiens : "[Errno 98] Address already in use".
    Tu n'aurais pas quelque chose sur ce port ?
    lsof -i :49157

    PS : le contexte aide aussi.

    • [^] # Re: Le contexte serait cool

      Posté par  . Évalué à 1. Dernière modification le 17 juillet 2022 à 21:49.

      Effectivement, rspamd tourne sur ce port !

      Qu'entend-tu par le contexte ?

      • [^] # Re: Le contexte serait cool

        Posté par  . Évalué à 3.

        il te faut donc deja soit arreter rspamd, soit le configurer pour utiliser un autre port

        ou demander à coturn d'utiliser un autre port

      • [^] # Re: Le contexte serait cool

        Posté par  . Évalué à 2.

        Contexte = expliquer ce que tu veux faire.
        La partie sur le certificat est peu comme un cheveu sur la soupe.

        • [^] # Re: Le contexte serait cool

          Posté par  . Évalué à 1.

          Au final, j'ai ajouté,

          external=IP_PUBLIQUE/IP_INTERNE

          Et effectivement, j'ai pris la plage la plus grande pour les ports.

          Mais il faut que je change le port de rspam.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.