0

私は自分のSIPサーバー(アスタリスク)を実行しています。どうやら私のsipサーバーでは、最初にREGISTERを実行せずにINVITEを実行できます。これは私のサーバーへの多くの失敗した攻撃につながります。正常に登録されたクライアントからのINVITEリクエストのみを許可する方法はありますか?アスタリスクまたはiptablesを介して?

4

4 に答える 4

1

sip.confでallowguestパラメーターをnoに変更する必要があります。

アスタリスクのセキュリティに関するその他のヒントについては、以下のリンクを確認してください。

http://blogs.digium.com/2009/03/28/sip-security/

于 2012-09-11T11:32:19.950 に答える
0

これまでの私の調査によると、REGISTERは、アスタリスクがINVITESに到達または転送するためだけのものであり、INVITEリクエストを認証するためのものではありません。INVITEが来ると、アスタリスクは指定されたユーザー名をチェックしようとし、それが有効な場合は、407(認証が必要)をクライアントに送り返します。次に、クライアントは応答にパスワード(暗号化)を挿入し、INVITE2をサーバーに送信します。これで、サーバーがユーザーを認証し、資格情報が一致すると、呼び出しの確立に進みます。

結論:INVITEはREGISTERとは関係がないため、REGISTEREDクライアントのみにINVITEの送信を制限するという私の考えは不可能です。

回避策として、独自のスクリプトを作成しました。ソースはhttps://github.com/naidu/JailMeにあります

于 2012-09-16T20:53:59.237 に答える
0

ハッキングされたときにすぐにお金を払う実際のセッションボーダーコントローラーを考えてみましょう。ただし、「十分に良い」オプションが必要な場合は、以下をお読みください。

パケットで特定の文字列を検索する「string」と呼ばれるiptablesモジュールがあります。SIPの場合、任意のアドレスからの最初のパケットに「REGISTER」が表示されると予想されるため、これを-m state --state NEWまたは類似のものと組み合わせます。その後、接続追跡が開いたままになるように、キープアライブを実行する必要があります(通常、AsteriskはOPTIONSを送信しますが、空のUDPを送信することもできます)。クライアントがNATの背後にある場合に備えて、とにかくそれが必要です。

iptablesは登録が成功したかどうかを判断できないため、これは理想的な解決策ではありませんが、少なくとも他の人が登録を試みるように主張することはできます。以下にリンクされている回答の1つは、iptablesでの文字列モジュールの使用を示しています。

https://security.stackexchange.com/questions/31957/test-firewall-rules-linux

また、ダイヤルプランにAGIスクリプトを追加して、IPアドレスと内線が登録されているかどうかを確認し、追加のチェックを行うこともできます。INVITEが同じソースIPからのものであることを確認してください。

于 2017-02-25T10:10:12.670 に答える
-1

Fail2Banは、不要なトラフィックをブロックする簡単な方法です。fail2banは、失敗した試行のシステムログをチェックします。リモートIPからの指定された時間内に失敗した試行が多すぎる(定義されたしきい値を超えている)場合、Fail2Panはそれを攻撃と見なし、iptablesにそのIPアドレスを追加して、そこからのあらゆるタイプのトラフィックをブロックします。 。次のリンクが役立ちます

http://www.voip-info.org/wiki/view/Fail2Ban+(with+iptables)+And+Asterisk

http://www.markinthedark.nl/news/ubuntu-linux-unix/70-configure-fail2ban-for-asterisk-centos-5.html

于 2012-09-12T14:51:39.573 に答える