
Ich verwende Asterisk auf demHimbeer-Pi 3; deshalb möchte ich die Passwörter schützen. Jemand kann die SD-Karte entfernen und die Passwörter sind im Klartext! Ich weiß, dass ich das gesamte Betriebssystem verschlüsseln kann, aber es wäre schön, wenn ich das vermeiden könnte, da ich nur eine Datei schützen muss.
Es gibt3Arten von Schlüsseln/Passwörtern, die ich schützen möchte. Bisher konnte ich 2 Passwörter aus dem Baum schützen.
Wie auch immer, hier ist meine alte sip.conf
ungeschützte Version:
[general]
keepalive=30
bindport=5060
... etc
; Allow tls !
tlsenable=yes
tlsbindaddr=0.0.0.0
tlscertfile=/keys/asterisk.pem ; <---- 1st key unprotected
tlscafile=/keys/ca.crt
tlscipher=ALL
tlsclientmethod=tlsv1
; Peers info ---------------------------------------------
[user1]
secret=somePassword ; < -------- 2nd key unprotected
type=peer
... etc
[user2]
... etc.. ; more unprotected keys
; ----------------------------------------------------------
; elastic sip trunks used to make outbound calls -----------
[Trunk-Provider-1] ;
type=peer
host=someProvider.com
secret=plainTextPassword ; <------------ 3rd password unprotected
username=foo
; ---------------------------------------------------------
Und hier ist mein neuer sip.conf
"geschützter":
[general]
keepalive=30
bindport=5060
... etc
; Allow tls !
tlsenable=yes
tlsbindaddr=0.0.0.0
tlscertfile=/dev/shm/keys/asterisk.pem ; <---- 1st key located on memory (/dev/shm/)
tlscafile=/dev/shm/keys/ca.crt ; same thing. File is on memory and NOT on disk.
tlscipher=ALL
tlsclientmethod=tlsv1
; Peers info ---------------------------------------------
[user1]
md5secret=4a8e71480c5b1ef0a5d502a8eb98576 ; < -------- 2nd key hashed (protected)
type=peer
... etc
[user2]
... etc.. ; more hashed keys
; ----------------------------------------------------------
; elastic sip trunks used to make outbound calls -----------
[Trunk-Provider-1] ;
type=peer
host=omeProvider.com
secret=password-Of-Provider ; <------------ 3rd password I do not know how to protect this :/ ?
username=foo
; ---------------------------------------------------------
Ich muss also drei Arten von Schlüsseln/Passwörtern schützen.
Zertifikatsschlüssel Die Zertifikate, die zum Verschlüsseln von Anrufen verwendet werden. Ich schütze sie, indem ich sie beim Hochfahren des Computers herunterlade und im Speicher platziere (
/dev/shm/
). Wenn der Computer ausgeschaltet wird, gehen die Dateien verloren.Passwörter für IP-Telefone (Peers) Dies sind die Passwörter, die von Telefonen (Peers) verwendet werden. Um sie zu schützen, hashe ich sie. Dieser Artikel erklärt, wie das geht:https://www.voip-info.org/wiki/view/Asterisk+sip+md5secret
Passwörter des Anbieters (für ausgehende Anrufe) Ich weiß nicht, wie ich diese Passwörter schützen soll. Ich habe darüber nachgedacht, den Speicherort meiner sip.conf-Datei in den Speicher zu verschieben, aber das ist nicht einfach. Ich glaube, dazu müsste man alle Konfigurationsdateien verschieben.
Antwort1
Beantwortung meiner eigenen Frage:
Ich habe die Datei /etc/asterisk/sip.conf verschoben, indem ich einen symbolischen Link erstellt habe. https://stackoverflow.com/a/1951752/637142
# 1. Delete /etc/asterisk/sip.conf we do not want that file on disk. It contains passwords!
rm /etc/asterisk/sip.conf
# 2. create sip.conf on memory (/dev/shm/sip.conf)
touch /dev/shm/sip.conf
... add configuration and passwords... to that file
# 3. Trick asterisk by placing a symbolic link.
# Point file /etc/asterisk/sip.conf ---> /dev/shm/sip.conf
ln -s /dev/shm/sip.conf /etc/asterisk/sip.conf
Nein, wenn ich auf /etc/asterisk/sip.conf zugreife, greife ich in Wirklichkeit auf /dev/shm/sip.conf zu!