パスワードを保護するアスタリスク

パスワードを保護するアスタリスク

私はアスタリスクを実行していますラズベリーパイ3; したがって、パスワードを保護したいのです。誰かが SD カードを取り外すと、パスワードはプレーン テキストになります。OS 全体を暗号化できることはわかっていますが、保護する必要があるのは 1 つのファイルだけなので、それを回避できればよいと思います。

がある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 種類のキー/パスワードを保護する必要があります。

  1. 証明書キー 通話を暗号化するために使用される証明書。コンピュータの起動時にダウンロードしてメモリ ( /dev/shm/) に配置することで保護します。コンピュータの電源を切ると、ファイルは失われます。

  2. IP 電話のパスワード (ピア) これは電話(ピア)が使用するパスワードです。これらを保護するためにハッシュ化します。この記事ではその方法について説明しています。https://www.voip-info.org/wiki/view/Asterisk+sip+md5secret

  3. プロバイダーのパスワード(発信通話に使用) このパスワードを保護する方法がわかりません。sip.conf ファイルの場所をメモリに移動することも考えましたが、簡単ではありません。すべての構成ファイルを移動する必要があると思います。

答え1

私自身の質問に答えます:

シンボリックリンクを作成して、ファイル /etc/asterisk/sip.conf を移動しました。 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

いいえ、/etc/asterisk/sip.conf にアクセスすると、実際には /dev/shm/sip.conf にアクセスします。

関連情報