Gibt es in dieser Config Sicherheitslücken?

t3_chris

Neuer User
Mitglied seit
2 Jan 2006
Beiträge
40
Punkte für Reaktionen
0
Punkte
0
Hallo!

Bitte um kurze Info ob in dieser Config Sicherheitslücken bestehen:

- Asterisk Server ist per Internet direkt erreichbar (SIP + IAX2)
- Es gibt drei Kontexte: incoming, outgoing und internal
- Meine internen SIP Telefone registrieren sich in internal
- internal included incoming und outgoing
- alle Durchwahlen sind im incoming definiert
- der IAX2 Trunk (für alle externen = kostenpfilichtigen Verbindungen) befindet sich im Kontext outgoing
- Die SIP Accounts verwenden sichere (=lange + zufällige) Passwörter
- sip.conf und iax.conf haben unter [general] jeweils context=incoming


mfg
Christian
 
t3_chris schrieb:
- sip.conf und iax.conf haben unter [general] jeweils context=incoming

Wenn du so auf Sicherheit bedacht bist, braucht obiger Eintrag einen eigenen Kontext, bei dem direkt auf Zielrufnummern verwiesen wird, da der Anruf ungesichert (weil ungeprüft) reinkommt.

Wenn feste IAX-Verbindungen, z.B. zu einem anderen Asterisk, bestehen, diese auf auth=rsa umstellen.
 
kombjuder schrieb:
Wenn du so auf Sicherheit bedacht bist, braucht obiger Eintrag einen eigenen Kontext, bei dem direkt auf Zielrufnummern verwiesen wird, da der Anruf ungesichert (weil ungeprüft) reinkommt.


Wie meinst du das genau?

Es ist gewünscht dass alle meine Durwahlen (aud dem incoming Kontext) direkt von aussen erreichbar sind.

Es sollen lediglich durch externe Anrufer keine Gebühren enstehen können.

mfg
cr
 
Du solltest trotzdem einen eigenen Kontext dafür machen und erst mal die CallerID so abändern, dass man erkennen kann, dass der Anruf von extern kommt. Sonst kann man nämlich ne beliebige CallerID setzen...
 
t3_chris schrieb:
Wie meinst du das genau?

sip.conf und iax.conf haben unter [general] jeweils context=incoming

Dieses incoming änderst du in einen anderen Namen und legst die entsprechenden Einträge in der sip.conf und der iax.conf an.
Über diesen Eintrag kommen nämlich nur Anrufe herein, die nicht authentifiziert sind. Dafür gibt es drei Gründe:

1. Du hast einen Fehler in deinen Statments
2. Es ruft jemand ohne Authentifizierung an.
2.a Er kennt deine SIP-Adresse und ruft sie direkt an.
2.b Jemand fälscht den Absender und scheitert dann an der Authentifizierung
 
kombjuder schrieb:
sip.conf und iax.conf haben unter [general] jeweils context=incoming

Dieses incoming änderst du in einen anderen Namen und legst die entsprechenden Einträge in der sip.conf und der iax.conf an.

Meinst du wirklich die sip.conf und iax.conf oder die extensions.conf

kombjuder schrieb:
Über diesen Eintrag kommen nämlich nur Anrufe herein, die nicht authentifiziert sind. Dafür gibt es drei Gründe:

1. Du hast einen Fehler in deinen Statments
2. Es ruft jemand ohne Authentifizierung an.
2.a Er kennt deine SIP-Adresse und ruft sie direkt an.
2.b Jemand fälscht den Absender und scheitert dann an der Authentifizierung


Würde es beispielsweise reichen einen neuen Kontext zu erzeugen der folgendes macht:

[untrusted]
exten => _X.,1,SetCallerID("Extern:" ${CALLERID})
exten => _X.,2,Goto(incoming,${EXTEN})

(Ich weiss jetzt nicht ob die Syntax genau passt, aber es geht mir ja nur
ums Prinzip)

Danke für Eure Geduld!

mfg
cr
 
t3_chris schrieb:
Würde es beispielsweise reichen einen neuen Kontext zu erzeugen der folgendes macht:
[...]

Sieht gut aus. So ähnlich mache ich es normalerweise auch.
 
tut mir leid das ich den thread wieder ausgrabe, aber wäre nicht folgende variante eleganter? (weil man nicht bei der callerid herumbasteln muß)

ein context internal

ein context incoming, dort mach ich ein goto zu internal, oder ich lass die calls gleich direkt in internal (je nachdem was man sonst noch so vor hat).

ein context outgoing, der default included.

all jene internen nebenstellen die nach außen dürfen, haben als context outgoing eingestellt, alle anderen eben internal.

alle die von außen kommen, dürfen auch alle internen anrufen, aber nicht nach außen.

oder hab ich da einen denkfehler?

mfg,
michael
 
Wo bitte ist der Unterschied zwischen deiner Idee und dem aktuellen Stand? ;)
 
bei meiner idee brauch ich kein setcallerid, weil ankommende von außen sowieso nicht rauskommen können.

ich habe euren vorschlag so verstanden, das alles von internal raus kann und man daher alles was von außen kommt kennzeichnen muß um es später wieder rausfiltern zu können.

mfg,
michael
 
Servus!

Auch ich war eigentlich der Meinung dass ein Splittung in die besagten Kontexte reicht.

Kann mal jemand ein Beispiel posten wie man von einem Kontext "incoming" (welcher KEINEN
Trunk für Kostenpflichtige Verbindungen hat) in den Kontext "outgoingMeinProvider" ausbrechen könnte?

Schematisch und vereinfacht:

[internal]
include => outgoingMeinProvider
include => incoming

[incoming]
exten => 10,1,Irgendwas()
exten => 11,1,Irgendwas()

[outgoingMeinProvider]
exten => _0.,Dial(IAX2/externTrunkDerAuchWasKostenWird/${EXTEN:1})

Externe Rufe kommen dann auch über IAX2 rein, dieser IAX2 User
subscribt in [incoming]

Interne User subscripen via SIP in [internal], die sollen auch alle mit dem
0-Prefix rauswählen dürfen.

mfg
cr
 
Dann versuchen wir das mit den Contexten mal:

Wir haben in der sip.conf und iax.conf folgende contexte angegeben:

[guest]; hier landet alles ohne Authentifizierung
[ich_darf_raus] ; interne User mit Amtsberechtigung
[ich_darf_nicht_raus] ; interne User ohne Amtsberechtigung
[incomming] ; authentifizierte Anrufe von aussen

extensions.conf
Code:
...

[guest]
exten => s,1,(Dial,die_Sekretaerin)

[ich_darf_raus]
include outgoing
include intern
include Zeitansage
include was weiss ich noch alles
exten => irgendwas

[ich_darf_nicht_raus]
include intern
include verboten
include Zeitansage
include was weiss ich noch alles
exten => irgendwas

[intern]
Hier die Anwahlregeln für die internen Teilnehmer

[incomming]
include intern
Regeln für eingehende Anrufe

[outgoing]
Wahlregeln für gebührenpflichtige Gespräche

[verboten]
Ansage:  externe Anrufe nicht für dich

Nach [outgoing] komme ich nur als zugelassener Anrufer, in diesem Beispiel aus dem Context [ich_darf_raus].

Alles andere landet entweder in incomming oder in intern oder [guest]

Wobei bei mir aus [guest] nach incomming gesprungen wird, weil ich (bis jetzt noch) auch mit anonymen Anrufern rede.
 
kombjuder schrieb:
[guest]; hier landet alles ohne Authentifizierung
[ich_darf_raus] ; interne User mit Amtsberechtigung
[ich_darf_nicht_raus] ; interne User ohne Amtsberechtigung
[incomming] ; authentifizierte Anrufe von aussen

was sind bitte authentifizierte anrufe von aussen?

also ich habe nebenstellen, die sich registrieren können, aber wo ist der unterschied ob sich ein client von innen oder außen registriert?

es gibt authentifizierte user (die eben einen account auf der maschine haben) und nicht authentifizierte user (eben welche, die jemanden der einen account auf der maschine hat erreichen wollen).
diese nicht authentifizierten user kommen in der regel über eine verbindung herein und daher kann ich ja praktischerweise alle die da reinkommen in einen eigenen context schmeissen, von dem aus sie nicht nach außen kommen.

ich verstehe daher nicht, wieso man da irgendwas setzten (kennzeichnen) sollte.

oder verstehich irgendwas einfach nicht?

mfg,
michael
 
prochmi schrieb:
was sind bitte authentifizierte anrufe von aussen?

Anrufe, bei denen geprüft wird ob sie anrufen dürfen.
Das sind in der Regel Anrufe die über deinen Provider vermittelt werden, User mit Account die von extern reinkommen etc.

also ich habe nebenstellen, die sich registrieren können, aber wo ist der unterschied ob sich ein client von innen oder außen registriert?
Da gibt es keinen. Registriert ist Registriert. User ist gesichert und darf anrufen.


diese nicht authentifizierten user kommen in der regel über eine verbindung herein und daher kann ich ja praktischerweise alle die da reinkommen in einen eigenen context schmeissen, von dem aus sie nicht nach außen kommen.
Das ist korrekt.

ich verstehe daher nicht, wieso man da irgendwas setzten (kennzeichnen) sollte.
Du brauchst nichts zu kennzeichnen, sondern nur sicherstellen, das diese Anrufer mit besonderer Vorsicht behandelt werden, weil du nicht weisst, wer sich hinter diesem Anruf verbirgt.

Du wirst deinen Dialplan ausbauen und weitere Funktionen etc einfügen, Rückruf vielleicht. Dann wirst du sicher nur bestimmten Anrufern dieses bieten wollen. Wenn aber alle in einem incomming landen, bekommen auch diese ungeprüften Anrufer diese Recht, denn weil ungeprüft, kann der Anrufer ja behaupten er sei ein berechtigter Anrufer.

Ein nicht authentifizierter Anrufer stellt ein potenzielles Sicherheitsrisiko dar. Wenn du fragst ob dein Dialplan sicher ist muss die Antwort darauf nein sein.

Ob diese Sicherheit für dich erfoderlich ist, musst du entscheiden, denn nur du kennst dein Sicherheitsbedürfnis.
 
Kostenlos!

Statistik des Forums

Themen
247,208
Beiträge
2,263,819
Mitglieder
375,702
Neuestes Mitglied
Tripl3Dud3