「Asterisk SIP セキュリティ」の版間の差分
(新しいページ: 'AsteriskのSIPのセキュリティを向上させる方法 =大前提= まず第一に用事がない(外からREGISTさせる必要がない)Asteriskはインターネッ...') |
(→iptablesなどソースIPによるフィルタリング) |
||
10行目: | 10行目: | ||
一般的なセキュリティ対策と同様に通す/通さないIPアドレスが明確な場合には効果的な対策のひとつです。<br> | 一般的なセキュリティ対策と同様に通す/通さないIPアドレスが明確な場合には効果的な対策のひとつです。<br> | ||
特定のIPアドレスないしは、レンジからのREGISTERやSIPのセッションしか通さないのであれば、そのIPアドレスに対してのみSIP(5060)とRTP(UDPの10000~20000など)を開きます。<br> | 特定のIPアドレスないしは、レンジからのREGISTERやSIPのセッションしか通さないのであれば、そのIPアドレスに対してのみSIP(5060)とRTP(UDPの10000~20000など)を開きます。<br> | ||
+ | ただしこの方法は「相手」のIPアドレスが明確な場合にのみ使える方法です。<br> | ||
+ | ==SIPのユーザ名/パスワードを、わかりにくくする== | ||
+ | ===パスワードを長くする=== | ||
+ | まず第一にパスワードを長くし、わかりにくい文字列に変更すると総当たりされた場合に、ヒットする確率を下げることができます。 | ||
+ | ===ピア名を長くする=== | ||
+ | サンプルの設定ファイルでは簡素化のために"内線番号=SIPピア名"という形で記述していますが、これは必ずしもイコールである必要はありません。ここをイコールにしている理由は | ||
+ | exten => _2XX,1,Dial(SIP/${EXEN}) | ||
+ | のように内線番号そのままでSIPピアにダイヤルしたいからです。もし、この利便性を捨ててかまわないのであれば、以下のような記述はアリです。 | ||
+ | ---sip.conf--- | ||
+ | [4207f1257d2a12cb] | ||
+ | username=4207f1257d2a12cb | ||
+ | secret=なんちゃら | ||
+ | ・ | ||
+ | ・ | ||
+ | ---extensions.conf | ||
+ | exten => 201,1,Dial(SIP/4207f1257d2a12cb) | ||
+ | 内線番号とSIPのピア名の紐付けを行っているのはextenです。なので、extenの中で正しく記述されていれば、SIPのピア(ユーザ)名は内線番号と一致している必要はありません。 |
2010年5月11日 (火) 22:02時点における版
AsteriskのSIPのセキュリティを向上させる方法
目次
大前提
まず第一に用事がない(外からREGISTさせる必要がない)Asteriskはインターネットから到達可能な所に置かない、つまりインターネットに出さない/開かないのが当然の措置です。一般的な内線網であれば、外部との接続にはゲートウェイ等が用いられるためIPリーチャブルなところにAsteriskを置く必要はありません。
サンプル設定ファイルをそのまま使用してはいけません。サンプル設定ファイルの中身は「誰でも」見られますし、公開されています。つまり攻撃者も同じ情報を入手できるということです。
当たり前の話ですが、外部に対してサーバを開くことの危険性を理解していないのであれば、サーバをインターネット上に出すべきではありません。
総当たり対策
SIPのユーザ名、パスワードを総当たりしてくる攻撃の対策方法。
総当たりで来るので、対策はそこそこ面倒です。
iptablesなどソースIPによるフィルタリング
一般的なセキュリティ対策と同様に通す/通さないIPアドレスが明確な場合には効果的な対策のひとつです。
特定のIPアドレスないしは、レンジからのREGISTERやSIPのセッションしか通さないのであれば、そのIPアドレスに対してのみSIP(5060)とRTP(UDPの10000~20000など)を開きます。
ただしこの方法は「相手」のIPアドレスが明確な場合にのみ使える方法です。
SIPのユーザ名/パスワードを、わかりにくくする
パスワードを長くする
まず第一にパスワードを長くし、わかりにくい文字列に変更すると総当たりされた場合に、ヒットする確率を下げることができます。
ピア名を長くする
サンプルの設定ファイルでは簡素化のために"内線番号=SIPピア名"という形で記述していますが、これは必ずしもイコールである必要はありません。ここをイコールにしている理由は
exten => _2XX,1,Dial(SIP/${EXEN})
のように内線番号そのままでSIPピアにダイヤルしたいからです。もし、この利便性を捨ててかまわないのであれば、以下のような記述はアリです。
---sip.conf--- [4207f1257d2a12cb] username=4207f1257d2a12cb secret=なんちゃら ・ ・ ---extensions.conf exten => 201,1,Dial(SIP/4207f1257d2a12cb)
内線番号とSIPのピア名の紐付けを行っているのはextenです。なので、extenの中で正しく記述されていれば、SIPのピア(ユーザ)名は内線番号と一致している必要はありません。