
Estoy ejecutando un asterisco en elframbuesa pi 3; por lo tanto, quiero proteger las contraseñas. ¡Alguien puede quitar la tarjeta SD y las contraseñas estarán en texto sin formato! Sé que puedo cifrar todo el sistema operativo, pero sería bueno evitar hacerlo ya que solo tengo que proteger un archivo.
Hay3tipos de claves/contraseñas que quiero proteger. Hasta ahora he logrado proteger 2 contraseñas del árbol.
De todos modos aquí está mi viejo sip.conf
desprotegido:
[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
; ---------------------------------------------------------
Y aquí está mi nuevo sip.conf
"protegido":
[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
; ---------------------------------------------------------
Entonces tengo que proteger 3 tipos de claves/contraseñas.
Claves de certificado Los certificados utilizados para cifrar las llamadas. Lo protejo descargándolo cuando la computadora arranca y colocándolos en la memoria (
/dev/shm/
). Si la computadora se apaga los archivos se perderán.Contraseñas de teléfonos IP (pares) Esta es la contraseña utilizada por los teléfonos (pares). Para protegerlos les hago picadillo. Este artículo explica cómo se hace eso:https://www.voip-info.org/wiki/view/Asterisk+sip+md5secret
Contraseñas del proveedor (utilizadas para realizar llamadas salientes) No sé cómo proteger estas contraseñas. Pensé en mover la ubicación de mi archivo sip.conf a la memoria, pero no es fácil. Eso requiere mover todos los archivos de configuración, creo.
Respuesta1
Respondiendo a mi propia pregunta:
Moví el archivo /etc/asterisk/sip.conf creando un enlace simbólico. 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
No, cuando accedo a /etc/asterisk/sip.conf, en realidad estoy accediendo a /dev/shm/sip.conf.