Sécuriser son IPBX : empêcher la fraude à la terminaison

Sommaire

  1. La mécanique de la fraude
  2. Par où ils entrent
  3. Neuf mesures qui bloquent l'essentiel
  4. Détecter en moins d'une heure
  5. Que faire pendant l'incident
  6. Ce qu'il faut retenir

Le scénario est toujours le même. Vendredi soir, tout va bien. Lundi matin, l'opérateur a coupé la ligne et présente une facture à cinq chiffres pour 60 heures d'appels vers des destinations dont personne n'a jamais entendu parler. La fraude à la terminaison — toll fraud — ne vise pas votre entreprise en particulier : elle vise tous les IPBX exposés sur Internet, en permanence, automatiquement.

La mécanique de la fraude

Le modèle économique est simple. Le fraudeur contrôle, ou loue, un numéro à revenus partagés dans un pays où la terminaison est facturée très cher. Il lui faut ensuite du trafic vers ce numéro, en quantité et gratuitement : votre trunk SIP fait parfaitement l'affaire. Chaque minute qu'il vous fait payer lui rapporte une commission.

D'où trois caractéristiques constantes :

La facture est due

Le trafic a réellement été acheminé et l'opérateur a réellement payé la terminaison à son propre fournisseur. Sauf geste commercial, le litige se solde rarement en votre faveur : contractuellement, le titulaire du trunk est responsable des appels émis depuis son installation. La prévention coûte beaucoup moins cher que la négociation.

Par où ils entrent

Le balayage SIP

Des robots scannent en continu l'intégralité des plages IP publiques sur le port 5060. Dès qu'un IPBX répond, ils énumèrent les extensions existantes puis testent les mots de passe. Un serveur fraîchement installé reçoit ses premières tentatives d'authentification dans l'heure qui suit sa mise en ligne.

# Extrait typique du journal d'un IPBX exposé
NOTICE[2317] chan_sip.c: Registration from '<sip:1001@203.0.113.10>' failed - Wrong password
NOTICE[2317] chan_sip.c: Registration from '<sip:1002@203.0.113.10>' failed - No matching peer
NOTICE[2317] chan_sip.c: Registration from '<sip:200@203.0.113.10>'  failed - No matching peer

Deux erreurs distinctes — Wrong password et No matching peer — indiquent au robot quelles extensions existent. C'est exactement ce que corrige le paramètre alwaysauthreject, qui renvoie la même réponse dans les deux cas.

Les mots de passe d'extensions

Une extension 1001 dont le mot de passe est 1001, 1234 ou le nom de l'entreprise est trouvée en quelques minutes. C'est, de très loin, la première cause de compromission.

L'interface web d'administration

FreePBX, Issabel ou tout autre panneau laissé accessible publiquement avec un identifiant par défaut donne un accès complet : création d'extensions, modification du plan de numérotation, exécution de commandes. Les mêmes robots scannent aussi les ports 80 et 443.

SSH et le reste du serveur

Une fraude téléphonique s'accompagne fréquemment d'une intrusion plus classique : mot de passe root faible, connexion SSH ouverte au monde entier, puis installation d'un mineur de cryptomonnaie et d'une porte dérobée. La téléphonie n'est alors qu'un revenu parmi d'autres pour l'intrus.

Le plan de numérotation trop permissif

Le cas le plus vicieux ne demande aucun mot de passe : une messagerie vocale ou un SVI qui autorise le transfert vers un numéro externe saisi par l'appelant. Le fraudeur appelle votre numéro public, navigue dans le menu et compose sa destination — sans jamais rien pirater.

Neuf mesures qui bloquent l'essentiel

MesureEffortCe qu'elle empêche
Plafond de dépense chez l'opérateurUn e-mailTransforme une catastrophe en incident
Restriction des préfixes autorisés1 heureRend le trafic frauduleux sans valeur
Mots de passe d'extensions aléatoires1 heureLe balayage par dictionnaire
Filtrage IP du port 50601 heureLa quasi-totalité des attaques
fail2ban actif et vérifié30 minL'énumération et le forçage
Limite d'appels simultanés15 minL'ampleur de la facture
Interface web non exposée15 minLa prise de contrôle complète
Alerte sur volume horaire1 heureLa durée d'exposition
Blocage des transferts externes depuis le SVI30 minLa fraude sans intrusion

Le plafond de dépense : la mesure la plus rentable

Tout opérateur sérieux propose un plafond de crédit, un plafond journalier ou une alerte de consommation. Demandez-le explicitement, à un niveau cohérent avec votre usage réel : si vous consommez 300 € par mois, un plafond quotidien à 100 € limite mécaniquement la casse à un montant absorbable. C'est cinq minutes de travail et cela change l'ordre de grandeur du sinistre.

Restreindre les destinations

La plupart des entreprises appellent trois à cinq pays. Autorisez-les explicitement et refusez tout le reste, côté IPBX et côté opérateur — la double barrière compte, car elle survit à la compromission du serveur.

; Asterisk — n'autoriser que France, Belgique, Maroc et Tunisie
exten => _0[1-9]XXXXXXXX,1,Dial(PJSIP/${EXTEN}@trunk)
exten => _003[23]X.,1,Dial(PJSIP/${EXTEN}@trunk)
exten => _002[12]X.,1,Dial(PJSIP/${EXTEN}@trunk)
exten => _X.,1,NoOp(Destination refusee : ${EXTEN})
 same => n,Hangup(21)

Limiter les appels simultanés

Un plateau de 20 agents n'a jamais besoin de 200 canaux. Fixez la limite au dimensionnement réel majoré d'une marge — le calcul est détaillé dans notre guide du trunk SIP. Une fraude limitée à 10 canaux coûte vingt fois moins cher qu'une fraude à 200.

fail2ban : l'activer ne suffit pas

Le piège classique est un fail2ban qui tourne, écrit dans sa propre base, mais dont les règles ont disparu du pare-feu après un redémarrage ou une mise à jour. Vérifiez que les bannissements existent réellement au niveau du filtrage :

fail2ban-client status asterisk     # ce que fail2ban croit bannir
iptables -L -n | grep -c REJECT     # ce qui est réellement bloqué

Si les deux chiffres divergent nettement, votre protection est décorative. Pensez également à placer vos propres adresses en liste blanche : un plateau entier qui se bannit lui-même après une erreur de mot de passe est un incident fréquent.

Détecter en moins d'une heure

La détection vaut la protection : une fraude repérée en 30 minutes coûte cent fois moins qu'une fraude découverte le lundi matin. Trois alertes suffisent, et elles s'écrivent en quelques lignes :

  1. Volume anormal sur une heure. Comptez les appels sortants de l'heure écoulée ; au-delà d'un seuil calé sur votre pointe habituelle, envoyez une alerte.
  2. Appels hors horaires. Tout appel sortant entre 21 h et 7 h, le week-end ou un jour férié, sur une installation qui n'ouvre pas la nuit, est suspect par nature.
  3. Destination inhabituelle. Le premier appel vers un indicatif jamais composé auparavant mérite un message immédiat.
-- Appels sortants de la dernière heure, par destination
SELECT SUBSTRING(dst,1,5) AS prefixe, COUNT(*) AS appels,
       SUM(billsec) DIV 60 AS minutes
FROM cdr
WHERE calldate > NOW() - INTERVAL 1 HOUR
GROUP BY prefixe
ORDER BY minutes DESC
LIMIT 10;

Branché sur un envoi de message instantané ou un simple e-mail, ce type de requête lancée toutes les quinze minutes constitue le meilleur rapport efficacité/effort de tout le dispositif.

Le test du week-end

Posez-vous une question simple : si la fraude commençait vendredi à 22 h, qui s'en apercevrait, et quand ? Si la réponse est « lundi, en lisant la facture », le sujet n'est pas la sécurité de votre IPBX mais votre supervision.

Que faire pendant l'incident

  1. Couper le trunk au niveau de l'opérateur, pas seulement du serveur : si le serveur est compromis, vos modifications locales peuvent être annulées par l'intrus.
  2. Prévenir l'opérateur immédiatement et par écrit. La rapidité du signalement est le principal argument dans une négociation commerciale ultérieure.
  3. Conserver les traces — CDR, journaux SIP, journaux d'authentification — avant toute réinstallation.
  4. Ne pas se contenter de changer les mots de passe. Si l'intrusion a atteint le système, cherchez les tâches planifiées ajoutées, les clés SSH inconnues, les processus inhabituels. En cas de doute, réinstallez le serveur et restaurez la configuration, pas le système.
  5. Puis appliquer les neuf mesures ci-dessus, dans l'ordre. Un serveur remis en ligne à l'identique est recompromis en quelques jours.

Ce qu'il faut retenir

La fraude à la terminaison n'est pas une attaque ciblée mais un phénomène de fond, industriel et permanent. Deux mesures — un plafond de dépense chez l'opérateur et une liste restreinte de destinations autorisées — suffisent à transformer un sinistre potentiel en incident bénin, et elles prennent moins d'une heure à mettre en place.

Le reste relève de l'hygiène : des mots de passe qui n'en sont pas, un pare-feu qui filtre vraiment, une interface d'administration qui n'est pas publique et une alerte qui réveille quelqu'un. Aucune de ces mesures n'est coûteuse. Leur absence, si.

Un projet de téléphonie à cadrer ?

Trunk SIP, numéros virtuels, terminaison internationale ou plateforme de centre d'appels : parlons de votre volume et de vos destinations.

Demander un devis