Asterisk che protegge le password


0

Sto facendo funzionare l'asterisco sul raspberry pi 3 ; quindi, voglio proteggere le password. Qualcuno può rimuovere la scheda SD e le password saranno in chiaro! So di poter crittografare l'intero sistema operativo, ma sarà bello se riuscirò a evitare di farlo poiché devo solo proteggere un file.

Ci sono 3 tipi di chiavi / password che voglio proteggere. Finora sono riuscito a proteggere 2 password dall'albero.

Comunque qui è il mio vecchio sip.conf non protetto:

[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      
; ---------------------------------------------------------

Ed ecco il mio nuovo sip.conf "Protetta":

[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
; ---------------------------------------------------------

Quindi devo proteggere 3 tipi di chiavi / password.

  1. Chiavi del certificato I certificati utilizzati per crittografare le chiamate. Lo proteggo scaricandolo quando il computer si avvia e li mette in memoria ( /dev/shm/ ). Se il computer si spegne, i file andranno persi.

  2. Passwords Ip Phones (peer) Questa è la password utilizzata dai telefoni (peer). Per proteggerli li ho cancellati. Questo articolo spiega come è fatto: https://www.voip-info.org/wiki/view/Asterisk+sip+md5secret

  3. Password del provider (utilizzata per effettuare chiamate in uscita) Non so come proteggere questa password. Ho pensato di spostare la posizione del mio file sip.conf in memoria, ma non è facile. Ciò richiede di spostare tutti i file di configurazione in cui credo.


Una soluzione potrebbe essere quella di aggiungere il sip trunk dinamicamente? C'è un modo per aggiungere sip peer dinamicamente in asterisco senza aggiungerli a sip.conf?
Tono Nam

Sì, puoi usare mysql in tempo reale e la tabella in memoria in mysql.
arheops

Risposte:


0

Rispondendo alla mia domanda:

Ho spostato il file /etc/asterisk/sip.conf creando un collegamento simbolico. 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 quando accedo a /etc/asterisk/sip.conf in realtà accedo a /dev/shm/sip.conf!


Cosa fai quando perdi potere?
Duncan X Simpson
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.