アスタリスクサーバーが侵害されました。先週末、アジア諸国にいくつかの電話がかけられました。
ネットワーク構成を改善したとはいえ、侵入がどのように行われたかを確認したいので、アスタリスクのログファイルに手がかりがあると思います。
しかし、デフォルトのアスタリスクに基づいて、何を探すべきかわかりません。
これが、2006年から継続的に運用されているAsteriskサーバーを保護する方法です。
必要なサービスのためだけにインバウンドポートを開きます。 (RTPストリームに対して広い範囲を開く必要がありますが、通常、そのポート範囲内では何もリッスンしないため、これは通常問題にはなりません。)
22/tcp
ssh(もちろん管理用)4520/udp
DUNDi(DUNDiを使用している場合)4569/tcp
IAX2(IAXを使用している場合)5060/udp
SIP登録10000-20000/udp
RTP-メディアトランスポート16384-16482
のみを使用してください。可能であれば、SIPクライアントが接続できるIPアドレスの範囲を制限します。これがオフィスに展開されている場合は、ポート5060への接続を場所内のIPアドレスに制限します。自分の管理下にないインターネットアドレスからの接続を受け入れる必要がある場合は、国固有のIPアドレス範囲をブロックすることを検討してください。
SIP内線番号をユーザー名として使用しないでください。SIPクライアントがサポートしている場合は、代わりにすべての名前を付けてください。
すべてのSIP拡張子に強力なパスワードを設定します。これは明らかなはずですが、常にそうであるとは限りません。
前の質問 に添付されたログを読んだところ、ユーザー名1
で定義されたSIP拡張子、秘密が付いている)があることがわかりました。攻撃者が最初の試みでそれを正しく理解したことは非常に簡単に推測できます。拡張機能にはおそらく秘密がまったく定義されていませんでした。
alwaysauthreject=yes
でsip.conf
を使用します。これにより、攻撃者はブルートフォースを介してSIP拡張機能が存在するかどうかを判断できなくなります。
allowguest=no
でsip.conf
を使用します。これにより、認証されていないクライアントが電話をかけるのを防ぎます。
UNIXユーザー、データベース、およびFreePBXなどの管理フロントエンドのallデフォルトパスワードを変更します。
bindaddr = 127.0.0.1
にmanager.conf
を設定して、Asterisk管理インターフェイスが世界に公開されないようにします。
Fail2banをインストールします。 2回失敗した後にブロックするように構成しましたが、正しくログインに失敗しないようにすべてのデバイスを完全に制御できる場合は、1回失敗した後にブロックするように設定できます。
国際電話をかける必要がない場合は、SIPトランキングプロバイダーにその機能を無効にしてもらいます。また、そのような通話をルーティングしないようにアスタリスクサーバーを構成することもできます。
これは基本をカバーするはずであり、ほとんどの部分であなたをトラブルから守ります。異常なサービスを展開したり、独自のカスタム構成を作成したりする場合は、それらを保護するために追加の作業が必要になる場合があります。
しばらく前に同様の問題が発生しました。マイケルハンプトンの答えに加えて。これを修正した3つのこと。
1)インストール fail2ban 。これは、ログファイルをスキャンしてパスワードの失敗の試みを探します。多すぎると、IPがファイアウォールで保護されます。アスタリスクだけでなく、SSHや必要なサービスでも機能します。
2)許可したい/許可したくない国のIPをホワイトリストまたはブラックリストに登録します。例えばSIP中国からのアクセスを許可しますか? nirsoft からIPリストを取得できます
3)アップストリームプロバイダーにトランキングまたはペアリングしている場合は、1日あたりのクレジット制限を取得できるかどうかを確認してください。これにより、最初の2つのいずれかが失敗した場合に、それらから受け取る請求書のサイズが制限されます。また、問題を検出した場合は、少なくとも、実際に手に負えなくなる前に購入してください。
私は他の回答によってリストされた提案に「良い監視」を追加します。システムを監視します(ログをチェックするための推奨タイトルはlogwatchまたはlogcheckです)。利用可能なアスタリスクレポートツール(タイトルはわかりませんが アスタリスクモニタリングの項目にはいくつかあります )を見て、アップストリームテレフォニープロバイダーがユーザーの使用を監視し、通話コストの計画外の増加について警告できるかどうかを確認します。
PBXをセットアップするときに考慮する必要があるセキュリティには、次の4つのタイプがあります。
1。境界このタイプのセキュリティは通常、ファイアウォールで適用されます(PBXでは適用されません)。ほとんどのファイアウォールは、SIP/IAX/RTP/etcパケットをPBXにルーティングするだけです。したがって、実際には保護を行いません(ただし、少なくともSSH/telnet/etc接続をブロックできます)。最初の(受け入れられた)回答は、iptablesを使用してホスト上(PBX)ルールを参照します。これはお勧めできません。攻撃者が境界保護を超えないようにしてください。攻撃者/ハッカー/詐欺師は境界でブロックされるべきであることを知ってください。
2。アスタリスク構成これは今日の常識であり、ほとんどの構成ジェネレーターはすでにこれを処理します。ただし、Asteriskを直接使用している場合は、複雑なデバイス名と複雑なシークレットを使用してください。ゲストアクセスを無効にし(allowguest)、攻撃者に意味のある失敗応答を許可しない(alwaysauthreject)。同様に、(アスタリスクの)ダイヤルコマンドに注意してください。間違ったパラメーターを使用すると、発信者がフックをフラッシュして外線にダイヤルする可能性があります。すべてのパスワードをデフォルトから変更し、Asteriskをrootで実行させないでください。構成ジェネレーターを使用する場合は、そこでもデフォルトのパスワードを変更してください。
3。ハッキング検出(侵入検知)fail2banのようなツールは簡単です(実際、Digiumはユーザーにfail2banをファイアウォール/セキュリティデバイスとして使用しないように警告しています)。とは言うものの、もしあなたが本当に何もセットアップするスキルを持っていないのなら、fail2banは何もないよりはましです。ほとんどの人が気付いていないのは、fail2banは、IPを禁止する前に、ダイヤル/登録の試行を検出して拒否することをAsteriskに完全に依存しているということです。したがって、攻撃によってこれらのアスタリスクエラーが発生しない場合、fail2banは何もしません。 (同様に、fail2banを使用すると、ファイアウォールではなく、PBXで攻撃者をブロックします)。
さて、本当のハッキングについて。攻撃者が不正な形式のSIPパケットを使用しているかどうかは、どのようにしてわかりますか?その場合は、 "snort" またはその他のSIPパケットアナライザー。IPまたはVPNIPの場合、攻撃者が大きなサブネットをローテーションしている場合はどうなりますか?検出ツールがそれを追跡できることを確認してください。ジオフェンシングに基づいてIPをブロックするのはどうですか?高度なファイアウォールはこれを実行できます。 "pfsense" のようなソースファイアウォールと "SecAst" のような独自のAsteriskセキュリティシステム。
構成ジェネレーター(例:FreePBX)のセキュリティ履歴は不十分であり、特にエンドユーザーGUIへのエクスプロイトを取り巻くものです。 HTTP GUIをインターネットに公開することを選択した場合は、 "tripwire" などのホストベースのハッキング検出をインストールすることをお勧めします。
4。不正検出深刻なハッカーはパケットを傍受し、電話自体をハッキングして有効な資格情報を盗みます。有効な資格情報を持つハッカーをどのように阻止しますか? SIPチャネルを追跡するためのオープンソースツールがいくつかあります。これらのチャネルを使用して、ソースごとにチャネル数を検出する(独自の検出スクリプトを作成する)か、 などの商用製品を使用できます。 " SecAst " は、ダイヤリングの速度、1秒あたりのコールセットアップの数を追跡します(詐欺師は、内線/ IP /トランクがシャットダウンされる前に、有料詐欺の資格情報を悪用しようと競争するため)。
料金詐欺でよくあることですが、特定のDIDとの間の疑わしい数の通話を検出するのはどうでしょうか。 "SecAst" のようなツールはそれらを追跡し、詐欺に使用されることがわかっている電話番号と比較することさえできます(攻撃者がチャネルの総音量を低く抑えている場合でも)。
#3と同様に、ユーザーが明確に定義された地理的領域で操作している場合は、有効な資格情報を持っていてもジオフェンス拡張機能を使用できます。 "pfsense" のようないくつかのオープンソースファイアウォールや "SecAst" のようなシスコおよび独自のAsteriskセキュリティシステムと同様に、高度なファイアウォールがこれを行うことができます。 )。
要約したがって、要約すると、PBXを保護するために実行できることと実行すべきことがたくさんあります。妥当なレベルのセキュリティを実現できるオープンソース製品を上記にリストしました(スキルが十分な場合)。また、通常は上記のすべてを処理する独自のツールについても触れましたが、それらを使用するにはいくらかのお金を費やす必要があります。ただし、最初の$ 400,000の電話料金を請求した後、安いということは後で高くなることに気付くかもしれません(Google $ 400,000の電話料金のAstriconを使用すると、意味がわかります)