
私はアスタリスクを実行していますラズベリーパイ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 種類のキー/パスワードを保護する必要があります。
証明書キー 通話を暗号化するために使用される証明書。コンピュータの起動時にダウンロードしてメモリ (
/dev/shm/
) に配置することで保護します。コンピュータの電源を切ると、ファイルは失われます。IP 電話のパスワード (ピア) これは電話(ピア)が使用するパスワードです。これらを保護するためにハッシュ化します。この記事ではその方法について説明しています。https://www.voip-info.org/wiki/view/Asterisk+sip+md5secret
プロバイダーのパスワード(発信通話に使用) このパスワードを保護する方法がわかりません。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 にアクセスします。