Asterisk Security (Zusammenfassung)

Neuigkeiten in Bezug auf Asterisk und SRTP/TLS

Gibt es mittlerweile Neuigkeiten in Bezug auf Asterisk und die Unterstützung von SRTP & TLS?
Hat jemand schon einen Asterisk (z.B. zusammen mit SNOM-Phones oder Ninja-Softphones) zum Laufen gebracht?
Gibt es dazu irgendwo eine genaue Anleitung?

Irgendwie findet man dazu nur widersprüchliche Aussagen und nirgendwo eine definitive Anleitung wie das exakt einzurichten ist.

Ich hoffe ihr könnt mir hier weiterhelfen!
 
Gibt es mittlerweile Neuigkeiten in Bezug auf Asterisk und die Unterstützung von SRTP & TLS?
Hat jemand schon einen Asterisk (z.B. zusammen mit SNOM-Phones oder Ninja-Softphones) zum Laufen gebracht?

SIP/TLS mit Asterisk 1.6.2.0-rc2 und Snom 3X0 (7.3.26) Telefonen funktioniert. Alternativ etwa auch OpenStage (V1 R5.7.0) Telefone. Spezielle SIP/TLS Probleme im Asterisk werden derzeit noch gefixed, aber dies wird in 1.6.2.0 vermutlich alles behoben sein.

SRTP ist bisher nur im SRTP Branch verfügbar. Gespräche vom Asterisk zum Snom funktionieren mit Verschlüsselung, aber die andere Richtung macht Probleme.

Stefan
 
So, habe mich nun auch komplett durch diesen nun schon fast 4 Jahre alten Thread gelesen.

Im Großen und Ganzen muss ich sagen, dass alles das was hier an Problemen und vermeintlichen Lösungen dirkutiert wurde auch hier bei mir genauso oder ähnlich reproduziert werden konnte bzw. wurde.

Wir haben neben openSER und Asterisk auch mehrere Snom 360 und OpenStage Telefone zur Verfügung. Leider sind wir bis zuletzt auch immer wieder daran gescheitert die Telefone vernünftig verschlüsselt an Asterisk/SER anzumelden.

Wegen der Marktmacht von Asterisk und dem Ende von openSER haben wir uns von letzterem verabschiedet...

@pi4tel:
Hast du mir evtl. mal einen Link oder Tipp bzgl. deiner Aussage, dass du Snom 3X0 mit Asterisk 1.6.2.0-rc2 am laufen hast? Ich wäre für jeden Hinweis sehr dankbar!
 
TLS Kommunikation zwischen SNOM 370 und Asterisk 1.6.2

SIP/TLS mit Asterisk 1.6.2.0-rc2 und Snom 3X0 (7.3.26) Telefonen funktioniert. Alternativ etwa auch OpenStage (V1 R5.7.0) Telefone. Spezielle SIP/TLS Probleme im Asterisk werden derzeit noch gefixed, aber dies wird in 1.6.2.0 vermutlich alles behoben sein.

SRTP ist bisher nur im SRTP Branch verfügbar. Gespräche vom Asterisk zum Snom funktionieren mit Verschlüsselung, aber die andere Richtung macht Probleme.

Stefan

Hallo zusammen, bin gerade an dem Thema dran. Versuche in einem Projekt für meine Hochschule verschlüsselte IP-Telefonie zu realisieren. Habe zwar viele Informationen im Internet gefunden, die teilweise veraltet oder gar widersprüchlich sind, kann aber meinen Snom370 nicht mit Asterisk 1.6.2 über TLS kommunizieren lassen. Also was ich bis jetzt gemacht habe:

Technische Daten:
Debian 5.0.3 (auf dem letzten Zustand)
OpenSSL 0.9.8g (Version vom 19 Oct 2007)
Asterisk 1.6.2 (zurzeit die letzte Version)
Snom 370/7.3.30 (ebenso letztes Firmware Update)

Eine „normale“ (UDP oder TCP) Anmeldung findet ohne Probleme statt. „Hello World“ funktioniert einwandfrei. Doch jegliche Versuche über TLS anzumelden schlagen fehl. Hier meine Konfiguration:

Sip.conf

Code:
[general]
context=default            ; Standard-Rahmen fuer eingehende Anrufe

udpbinaddr=0.0.0.0:5060        ; Von welchen Adressen die UDP - Anfragen kommen duerfen, hier alle

tcpenable=yes            ; TLS lauft nur auf TCP, also TCP einschalten
tcpbindaddr=0.0.0.0:5060        ; Von welchen Adressen die TCP - Anfragen kommen duerfen, hier alle

tlsenable=yes            ; TLS einschalten
tlsbindaddr=0.0.0.0:5061        ; Von welchen Adressen die TLS-Anfragen kommen duerfen, hier alle

tlscertfile=/ect/asterisk/cert/asteriskcert.pem        ; Pfad zum Zertifikat vom Asterisk, WICHTIG: nur *.pem Dateien!
tlscafile=/etc/asterisk/cert/cacert.pem            ; Pfad zum zertifikat von CA
tlscadir=/usr/lib/ssl/certs/                ; Pfad zum Ordner mit CA Zertifikaten
tlsdontverifyserver=no            ; Mit "yes" wird der CA Zertificat aus "tlscafile" nicht ueberpruefft
tlscipher = TLSv1, SSLv3, SSLv2        ; Welche Verschlueselungsversionen sollen unterstuetzt werden

videosupport=no        ; Kein Video-Support
canreinvite=yes        ; Versucht die Datenuebertragung direkt zwischen Teilnehmer laufen zu lassen.

;
; Parameter der Telefone/User einstellen, (User Configuration)

[phone](!)            ; Diese Parameter gelten fuer alle Telefone die als "phone" bezeichnet werden
type=friend            ; friend - kann anruffen un angerufen werden
host=dynamic            ; dynamische IP-Adresse des Users
context=default            ; Vorerst default weil die User noch nicht in in Gruppen unterteilt werden
transport=tcp,tls            ; TLS-Uebertragung an Telefonen einschalten

[125](phone)                ; Snom-Telefon sip:[email protected]
secret=125



Extensions.conf

Code:
[default]

; Extension 1001 - Test-Zwecke, interne Echo-Funktion von Asterisk

exten => 1001,1,Answer()
exten => 1001,2,Playback(hello-world)
exten => 1001,3,Hangup()

; ENDE:  Extension 1001 - Test-Zwecke, interne Echo-Funktion von Asterisk


; SNOM-SIP-Telefon, [email protected],
; Asterisk ist unter 141.47.75.188 zu erreichen
;

exten => 125,1,Dial(SIP/125)



Snom

Code:
Registrar:    eit-tk-pc08.FH-Pforzheim.DE
Outbound Proxy:    sip:eit-tk-pc08.FH-Pforzheim.DE:5061;transport=tls

Zertifikate von CA und Asterisk wurden ebenso aufs Telefon portiert. Hier gleich eine Frage: Eigentlich will Snom *.cer Dateien, unterstützt diese aber nicht. Hat stattdessen *.pem Dateien angenommen. Ist es richtig so?


Zertifikate wurden mittels OpenSSL an dem gleichen Linux-Rechner erstellt auf dem Asterisk lauft. Hier kurze Zusammenfassung der Befehle (vielleicht braucht es jemand):
Code:
openssl req -new -x509 -newkey rsa:2048 -keyout cakey.pem -out cacert.pem -days 3650
openssl genrsa -out asteriskkey.pem -aes128 2048 -days 3650
openssl rsa -in asteriskkey.pem -out asteriskkey.pem
openssl req -new -key asteriskkey.pem -out req.pem –nodes
openssl ca -in req.pem -notext -out asteriskcert.pem
openssl x509 -outform der -in cacert.pem -out cacert.cer
openssl x509 -outform der -in asteriskcert.pem -out asteriskcert.cer

ssldump an der Linux Maschine Zeigt gar nichts an. Wireshark zeigt nur eine „leere“ TLS – Kommunikation an, d.H. TLS- Pakete haben keinen Inhalt.

Hier SIP-Prtokollierung vom Snom: Darauf bekommt der nie eine Antwort. Diese Registrierungs-Versuche bleiben „ungehört“
Code:
Sent to tls:141.47.75.188:5061 at 7/1/2010 11:47:12:052 (755 bytes):
REGISTER sip:eit-tk-pc08.FH-Pforzheim.DE SIP/2.0
Via: SIP/2.0/TLS 141.47.75.25:3463;branch=z9hG4bK-scqmnivx4rtv;rport
From: "125" <sip:[email protected]>;tag=wjglthpnxt
To: "125" <sip:[email protected]>
Call-ID: 3c26702b555b-wk4i1wczww8w
CSeq: 5 REGISTER
Max-Forwards: 70
Contact: <sip:[email protected]:3463;transport=tls;line=ajsqcty0>;reg-id=1;q=1.0;+sip.instance="<urn:uuid:031f9a62-af04-4184-811d-6ed507902499>";audio;mobility="fixed";duplex="full";description="snom370";actor="principal";events="dialog";methods="INVITE,ACK,CANCEL,BYE,REFER,OPTIONS,NOTIFY,SUBSCRIBE,PRACK,MESSAGE,INFO"
User-Agent: snom370/7.3.30
Supported: gruu
Allow-Events: dialog
X-Real-IP: 141.47.75.25
Expires: 3600
Content-Length: 0

Daher meine Frage an die Gurus die es schon geschafft haben. Was mache ich falsch?
Bedanke mich im Zuvor für eure Gedanken.

Dennis
 
Hallo,

Ich hab mich da grad selber vor Weihnachten wieder durchgewühlt. Ich hab SRTP erfolgreich zum laufen gebracht.

Asterisk Sourcen hab ich folgende:
Code:
svn checkout svn.digium.com/svn/asterisk/team/group/srtp srtp

Dafür wird noch libsrtp benötigt:
Code:
http://srtp.sf.net

Die configs am asterisk gehören so erweitert:
extensions.conf
Code:
exten => _5XXXX,1,Set(_SIP_SRTP_SDES=1)
exten => _5XXXX,n,Set(_SIPSRTP=enable)
exten => _5XXXX,n,Set(_SIPSRTP_CRYPTO=enable)
exten => _5XXXX,n,Set(__CALLEXTEN=${EXTEN})
exten => _5XXXX,n,Dial(SIP/${EXTEN},30,t)
exten => _5XXXX,n,Hangup()

WICHTIG
Bei mir funktioniert das alles NUR mit Snom FW 7.3.7 (Snom 320 und 360). Mit der aktuellen FW 7.3.30 wird das Gespräch sofort nach dem connect beendet.

Bei den Telefonen gehören folgende Optionen gesetzt:
Code:
Einrichtung->Identität X ->RTP:
RTP Verschlüsselung: Ein
SRTP Auth-tag: AES-32
RTP/SAVP: Verbindlich

Damit krieg ich verschlüsselte Gespräche zusammen. (mit Wireshark nachprüfen und über Voip Calls -> Play weisses Rauschen anhören)

Leider hatte ich mit SIPS kein Glück : / Dabei wurd bei mir der SSL Aufbau immer unterbrochen. Der Client (Telefon) meldete nur Fehler. kA warum. Liegt aber villeicht an dem srtp Branch. Habs nur mit dem probiert, nicht mit 1.6.2

Chris...
 
@-KeX-, danke für die schnelle Antwort. Aber wenn das Thema richtig verstanden habe, bleibt bei Ihnen die Anmeldung des Telefons am Asterisk unverschlüsselt? Denn SRTP schützt nur das Gespräch an sich, nicht die Anmeldung.
 
Hallo,

Genau, stimmt. Bei mir war jetzt hauptsächlich SRTP gefordert, nicht SIPS. In meiner Diplomarbeit (vor 4 Jahren) beschäftigte ich mich schon damit (siehe weiter oben in diesem Thread). Damals verwendet ich einen OpenSER und einen Asterisk auf einem Server. OpenSER als SIP Gateway über TLS und Asterisk als Media GW mit SRTP. Damit war dann alles verschlüsselt. Aber das ist eine mühsame Angelegenehit ...

Chris...
 
Snom

Code:
Registrar:    eit-tk-pc08.FH-Pforzheim.DE
Outbound Proxy:    sip:eit-tk-pc08.FH-Pforzheim.DE:5061;transport=tls


Beim Registrar sollte auch Port und Transport Angabe stehen. Das "sip:" beim Proxy ist zumindest nicht erforderlich.

Ich weiss nicht, ob es hier eine Rollle spielt, aber in der Asterisk sip.conf sollte stets "pedantic=yes" gesetzt sein.

Zeigt der Asterisk sip trace etwas an?

Stefan
 
[GELÖST] Asterisk 1.6.2 + Snom 7.3.30

Snom

Code:
Registrar:    eit-tk-pc08.FH-Pforzheim.DE
Outbound Proxy:    sip:eit-tk-pc08.FH-Pforzheim.DE:5061;transport=tls


Beim Registrar sollte auch Port und Transport Angabe stehen. Das "sip:" beim Proxy ist zumindest nicht erforderlich.

Ich weiss nicht, ob es hier eine Rollle spielt, aber in der Asterisk sip.conf sollte stets "pedantic=yes" gesetzt sein.

Zeigt der Asterisk sip trace etwas an?

Stefan

Hallo Stefan,
die Eingabe von "sip:" beim Outbandproxy ist wirklich nicht erforderlich es funktioniert mit und und ohne der ;)

Verschlüsselung hat jetzt aber schon geklappt!! :rock:
Das Problem lag im Zertifikat selbst. Ja gut nicht in dem Zertifikat, sondern am Asterisk. Asterisk erwartet den privaten Schlüssel im Zertifikat. Das heist, dass man den Schlüssel einfach mit in das Zertifikat kopieren muss, dan wird es vom Asterisk angenohmen. Datei asteriskcert.pem sieht dan so aus:
Code:
-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIVICATE-----
...
-----END CERTIFICATE-----
Da Asterisk zufor beim starten den Zertifikat gar nich angenohmen hat, hat er auch gar nicht auf TLS reagiert.
Also: Asterisk 1.6.2 + Snom 370/7.3.30 kommunizieren jetzt TLS/SSL. :)
Und ssldump zeigt eienen schönen runden Handshake an :)

Dennis

P.S.: pedantic=yes ; ist eben so optional ;)
 
Zuletzt bearbeitet:
wie sicher ist die TLS verschlüsselung?!

Hi!
Ich habe mich gefragt in wieweit die TLS Verschlüsselung überhaupt sicher ist. Kann ein man-in-the middle attack vor dem Verbindungsaufbau das Zertifikat fälschen und doch die Verbindung in echtzeit entschlüsseln?!


Tamer
 
Zum heutigen Stand der Technik nicht.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.