Freie Bahn für Tele­fonie: Deak­ti­vieren des “VoIP-ALG” einer Fortigate-Firewall

Voice-over-IP-Kommunikation über das Proto­koll SIP stellt beson­dere Anfor­de­rungen an die einge­setzte Peri­meter-Fire­wall: SIP besitzt die Eigen­schaft, auf Appli­ka­ti­ons­ebene eine Aushand­lung von layer4-5-Infor­ma­tionen vorzu­nehmen. Die beiden VoIP-Endpunkte handeln über die SIP-Proto­koll­er­wei­te­rung SDP (“Session Descrip­tion Protocol”) direkt unter­ein­ander aus, über welche IP-Adressen und mit welchen UDP-Ports VoIP-Medi­en­daten versendet oder empfangen werden. In einem völlig trans­pa­renten Netz ergibt dieser Mecha­nismus durchaus Sinn. Sobald sich jedoch Fire­walls mit NAT-Mecha­nismen im Pfad befinden, funk­tio­niert dies nicht mehr ohne weiteres, da die Fire­walls im NAT-Prozess IP- und Port-Infor­ma­tionen in den IP-Paketen verändern.
Fire­wall-Hersteller moderner Next-Genera­tion-Fire­walls - wie beispiels­weise die von NETHINKS einge­setzten Fire­walls des Herstel­lers Fortinet - haben zur Lösung dieses Problems soge­nannte “Appli­ca­tion Layer Gate­ways” oder kurz “ALGs” einge­führt. Das SIP-ALG klinkt sich auf Appli­ka­ti­ons­ebene in die SDP-Kommunikation zwischen zwei VoIP-Endstellen ein und verän­dert die SDP-Infor­ma­tionen so, dass sie mit der eigenen NAT-Daten­bank korre­spon­dieren. Somit soll dem SIP-Gateway im öffent­li­chen Internet eine Gegen­stelle präsen­tiert werden, die auch trans­pa­rent mit einer öffent­li­chen IP-Adresse erreichbar ist. Leider zeigt sich in der Praxis, dass dieser Mecha­nismus oft fehler­an­fällig ist und zu Problemen wie einsei­tiger Sprach­über­tra­gung führt. Der von NETHINKS einge­setzte NT/Communication Server besitzt von Haus aus Funk­tionen, um die Kommunikation über NAT-Grenzen hinweg zu ermög­li­chen. Wir schalten daher grund­sätz­lich die VoIP-ALG-Funk­tionen auf Fire­walls von Fortinet ab.

So werden die VoIP-Funk­tionen einer Forti­gate-Fire­wall deaktiviert

Zum Deak­ti­vieren jegli­cher VoIP-Funktionalität auf einer Fire­wall von Fortinet bedarf es mehrerer Schritte.
1. Deak­ti­vieren des Session Helpers:
Hierzu muss der in der Konfi­gu­ra­tion enthal­tene Session-Helper von der Fire­wall gelöscht werden. Über den Konfi­gu­ra­ti­ons­modus bewegt man sich hierzu in den Bereich der Session-Helper und loka­li­siert die ID des SIP-Session-Helpers.
config system session-helper
show

In der nun erschei­nenden Liste findet man einen Config-Block, der in etwa wie folgt aussieht:
edit 13
set name sip
set protocol 17
set port 5060

Der Session-Helper in diesem Bespiel ist also der Eintrag “13”, wobei hier auch eine belie­bige andere Nummer erscheinen kann. Dieser Eintrag muss nun gelöscht werden. Dies geschieht einfach aus der momen­tanen posi­tion mit dem Befehl
delete 13
Dabei ist zu beachten, dass die ID des zu löschenden Eintrags, hier “13”, mit dem Eintrag in der Konfi­gu­ra­tion korre­spon­dieren muss.
2. Deak­ti­vieren des VoIP-Profils
Fortinet-Fire­walls besitzen ein VoIP-Profil, über das die Geräte auf spezi­elle Nach­richten auf Appli­ka­ti­ons­ebene reagieren können. Unsere Empfeh­lung: Auch dieses Profil sollte deak­ti­viert werden.
config voip profile
edit default
config sip
set rtp disable

3. Deak­ti­vieren des SIP-ALGs und des SIP-Helpers
Um das eigent­liche SIP ALG zu deak­ti­vieren, führt man folgende Schritte aus:
config system settings
set sip-helper disable
set sip-nat-trace disable
set default-voip-alg-mode kernel-helper-based

4. Fire­wall rebooten
Um diese Konfi­gu­ra­tion zu akti­vieren, sollte das Gerät neu gestartet werden.
Mit diesem Vorgehen haben wir unseren SIP-Commu­ni­ca­tion-Server bereits über hundert Mal erfolg­reich mit Hilfe einer Fortinet-Fire­wall mit einen öffent­li­chen SIP-Uplink inte­griert. Auch die Kommunikation zwischen den beliebten IP-Tele­fonen von snom und unseren gehos­teten TK-Anlagen funk­tio­niert in dieser Konfi­gu­ra­tion absolut stabil und verläss­lich. Natür­lich ist dieses Vorgehen nicht allge­mein­gültig; das SIP-ALG hat in diversen Szena­rien durchaus eine Daseins­be­rech­ti­gung. In Verbin­dung mit dem NT/Communication Server ist die Deak­ti­vie­rung des Fortinet-SIP-ALGs jedoch letzt­end­lich die stabilste Konfiguration.
Haben Sie Fragen zu Lösungen aus dem Hause NETHINKS? Spre­chen Sie uns an - wir beraten Sie gern!
Bild: © ahasoft – Fotolia.com

2 Gedanken zu „Freie Bahn für Tele­fonie: Deak­ti­vieren des “VoIP-ALG” einer Fortigate-Firewall“

  1. Hallo,
    vielen Dank für die hilf­reiche Anlei­tung. Eine Korrektur:
    set default-voip-alg-mode kernel-helper based
    Dieser Cli Command muss zwischen helper und based auch einen Binde­strich haben sonst kommt eine Fehlermeldung.
    Viele Grüsse Andy

    Antworten

Schreibe einen Kommentar

Cookie Einstellungen
Diese Website verwendet Cookies, um die bestmögliche Funktionalität zu gewährleisten. Mehr lesen

Akzeptiere alle Cookies Speichern