Я использую звездочку на Raspberry Pi 3 ; поэтому я хочу защитить пароли. Кто-то может извлечь SD-карту, и пароли будут в виде простого текста! Я знаю, что могу зашифровать всю ОС, но было бы неплохо, если бы я мог избежать этого, поскольку мне просто нужно защитить один файл.
Есть 3 типа ключей / паролей, которые я хочу защитить. До сих пор мне удалось защитить 2 дерева паролей.
В любом случае вот мой старый sip.conf
незащищенный:
[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
; ---------------------------------------------------------
И вот мой новый sip.conf
"защищен":
[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
; ---------------------------------------------------------
Поэтому я должен защищать 3 типа ключей / паролей.
Ключи сертификатов Сертификаты, используемые для шифрования вызовов. Я защищаю его, загружая его при загрузке компьютера и помещая в память (
/dev/shm/
). Если компьютер выключится, файлы будут потеряны.Пароли IP-телефонов (одноранговые) Это пароль, используемый телефонами (одноранговыми). Чтобы защитить их, я хеширую их. В этой статье объясняется, как это сделать: https://www.voip-info.org/wiki/view/Asterisk+sip+md5secret
Пароли провайдера (используются для исходящих звонков) Я не знаю, как защитить эти пароли. Я думал о перемещении расположения моего файла sip.conf в память, но это не так просто. Это требует, чтобы переместить все файлы конфигурации, я верю.