web-dev-qa-db-ja.com

Shodanによる発見からインターネット接続デバイスをどのように保護できますか?

安全でないインターネットに接続されたデバイスを見つけてアクセスを許可する検索エンジンであるShodanについて、多くの話題が寄せられています この最近のCNNの記事

Shodanは24時間365日稼働し、毎月約5億台の接続されているデバイスとサービスに関する情報を収集しています。

初段を検索するだけで見つかるのは驚きです。無数の信号機、防犯カメラ、ホームオートメーションデバイス、暖房システムがインターネットに接続されており、簡単に見つけることができます。

初段検索者は、ウォーターパーク、ガソリンスタンド、ホテルのワインクーラー、火葬場の制御システムを発見しました。サイバーセキュリティの研究者達は、Shodanを使用することにより、原子力発電所と粒子加速サイクロトロンのコマンドと制御システムさえ見つけました。

Shodanがこれをすべて見つけることができること、そしてShodanを恐ろしくするのは、これらのデバイスに組み込まれているセキュリティがほとんどないことです。 [...]

「デフォルトのパスワード」をすばやく検索すると、ユーザー名として「admin」を使用し、パスワードとして「1234」を使用する無数のプリンター、サーバー、システム制御デバイスが明らかになります。さらに多くの接続されたシステムは、資格情報をまったく必要としません-それらに接続するためのWebブラウザのみが必要です。

これらのデバイスの一部は表面上安全に保護されているように思えますが、パスワードなどは明白で、変更されていないため、実際には安全ではありませんデフォルト設定から。

Shodanのようなクローラーがデバイスにアクセスできないようにするために(「普通の」人または専門家として)どのようにすればよいですか? Shodanのようなものによって発見のリスクを軽減する他の方法はありますか?

95
Aarthi

Shodanは、次のように機能する公開されているマシンを参照しています。

Speak Friend and Enter

しないでください。

編集:類推が関連しています! Shodanはマシンに接続し、「バナー」を要求します。これは、「入力するには、このデフォルトのパスワードを使用してください:1234」というように、一般に公開されているテキストです。ドアの前に巨大なイカをガードとして設置するという単純な方法(比喩的にはファイアウォール)でドアをノックするのを避けたいかもしれませんが、実際には、デフォルト以外のパスワードを設定する方がはるかに安全です。

89
Tom Leek

Shodanプロジェクトはかなりクールですが、その核心は大きなhonkin nmapデータベースにすぎません。このプロジェクトには、定期的にインターネットをスキャンしてデータベースに結果を公開するスキャナーがあります。そのデータベースが検索対象です。彼らは標準の検出ルーチンを使用しているので、通常のスキャンで使用する保護によって、ここで保護されます。

  1. ファイアウォールを適切に構成します。 -これは、提供するサービスについて、できる限りそれらを制限することを意味します。 Webアプリケーションを使用するマーケティング担当者が5人しかいない場合は、世界中で使用する必要はありません。マーケティングが使用するアドレス空間を見つけ出し、それらだけに開放してください。 (リモートアクセスソリューションを許可することもできますが、それはあなた次第です)。
  2. バナーをクリーンアップします。 -多くのバナーは、デフォルトで、情報の塊を与えます。たとえば、デフォルトでは、Apache httpdはそれがどのバージョンであるか、どのOSが実行されているか、どのモジュールが有効になっているかなどを通知します。これは実際にはかなり不要です。 Apache httpdには情報を少なくするための設定がありますが、詳細はホストしているサービスによって異なります。
  3. ファイアウォールを静かにブロックさせます。デフォルトでは、多くのファイアウォールがパケットをドロップすると、管理上禁止されたICMP宛先を送信します。これはスキャナーに何かがそのポートに存在することを知らせます、それをヒットすることは許可されません。ステルス、サイレント、またはその他のモードをオンにすることにより、接続はスキャナー側でタイムアウトします。彼らにとって、これはホストが存在しないようにも見えます。
62
Scott Pack

ほとんどのホームユーザーにとって、インターネットに接続している唯一のデバイスはルーターです。

では、ルータをShodanのようなものからどのように保護しますか?

  • まず、デフォルトのパスワードを変更します。 IPスキャンツール(Angry IPスキャナーは私が試したものです)を装備している人なら誰でも、関連するIP範囲を入力して、沼地の標準admin/admin ログインする。このアクセス権がある場合、彼らは何ができますか?
    • 彼らはあなたのブロードバンド接続のパスワードを取得することができます(そして場合によってはあなたの帯域幅を盗み始めます)
    • 彼らはポート転送を設定し、あなたのコンピュータ/デバイスに到達することができます。
    • 彼らはあなたのDNSサーバーを変更し、あなたのブラウジングをWebサイトの悪意のあるクローンにリダイレクトすることができます。サイトがSSLを使用していない限り、これが発生していることを知ることはできません。サイトのSSLだけでは不十分な場合があることに注意してください-ほとんどの人は、お気に入りのhttpsサイトのhttpバージョンが提供されていても気付かないでしょう。
    • 彼らはちょうどあなたのルーターを台無しにすることができます
  • もう1つのことは、リモート管理を無効にすることです( Linksysルーターの例 )。これにより、ルーターの構成ページが外部に公開されないため、ブルートフォースを試みても侵入できません。 (さらに、ポート転送がない限り、IPスキャンに表示されません)。このオプションをオンにしたい場合があることに注意してください-ものをテストするとき、私はそれを短い間オンにしました。しかし、通常、それを維持することに害はありません。
  • ポート転送ルールを確認してください。上記の2つを修正しても、転送されたポートはコンピュータへの直接接続に変換されます。ほとんどの場合、転送ポートはありません。あなたがゲーマーなら、ゲーム固有のポートがいくつかあるかもしれません。 (通常、ポートは他のいくつかのサービスに干渉しないように選択されています)ポート21、22、3389に転送しないことを確認します。その場合は、ssh/ftp/remoteデスクトップのパスワードが安全であること(またはssh/ftp/rdpが無効になっていること)を確認してください。おそらくマシンを引き継ぐ簡単な方法を提供する他のいくつかのポートがありますが、私はOTOHを考えることができません。

コンピューターで、ファイアウォールを確認します。物事を壊すことなく、それをできるだけ制限的にしてください。

特にホームシステムでShodanを停止するには、ポイント1または2のみが必要です。ただし、Shodanはルーター接続をさらに分析するために簡単に改善できるため、残りをリストしました。

40
Manishearth

つまり、簡単に言えば、一般に利用可能なサービス(たとえば、一般的なインターネット)を提供している場合は、サービスにアクセスできる必要があるため、shodanなどの検索エンジンがそれを見つけられ、すべてのshodanが公開情報をインデックスに登録します。

できることは、アクセシブルなサービスからバナーを削除し、デフォルトの資格情報などを確実に削除することで、shodanが検出する情報を最小限に抑えることです(標準のセキュリティの良い習慣)。

また、実行しているサービスがインターネット全体からアクセスできる必要がない場合(つまり、一部の人だけがアクセスできる必要がある場合)、ファイアウォールを使用してサービスに到達できるソースIPアドレスを制限することも効果的な保護策です。初段などで発見。

もう1つの理論的な保護(これは悪いアプローチですが、完全を期すために言及します)は、shodanが使用するIPアドレス範囲を見つけた場合、具体的にブロックしてみることです。

初段を「怖い」と思わせるリスクは、デフォルト設定でインターネット上に配置されたシステムが非常に多く、セキュリティをほとんど考慮していないことです。残念ながら、この状態でシステムをインターネット上に配置する人々は、特にshodanをブロックするなどのアクションを実行するのに十分なセキュリティを認識している可能性は低いです...

もう1つ言及する必要があるのは、shodanのようなものをブロックしても、昨年発生した Internet Census プロジェクトのようなものに対しては役に立たないということです。これは、インターネット全体をスキャンするために多数の侵害されたシステムを使用していました。プロジェクトの出力は急流として利用可能であり、私は多くの研究者や攻撃者が現在、攻撃するもの(彼らが見つける可能性が高い)のデータを調べていることを望んでいます。

15
Rory McCune

セキュリティで保護されていないインターネット接続デバイスを見つけてアクセスを許可する検索エンジン。

初段の本当の問題は、これらのデバイスがそもそもなぜインターネットに接続されているのかということです。これは、デフォルトの設定情報を変更する必要があるわけではありません。しかし、プリンタを世界中からアクセス可能にしておくのは、ばかげたことです。

この種のことに対して使用できるセキュリティ対策があります-リモートワーカー用のVPNとファイアウォール。これは企業の資産であるため、ユーザーが実際に企業のネットワークに接続する際には、すべての制限を課す必要があります。そうしないと、ネットワーク上のデバイスに誰がログインしているかわからなくなります。デバイスをファイアウォールの背後に置き、ユーザーにログインしてもらいます。

次に、2番目の失敗に-これはかなり明白です-これらのデフォルトを変更します。ほとんどの組織には、資産に関する何らかの管理ポリシーがあり、特にネットワークに接続する場合は、組織へのログイン資格情報の管理を含める必要があります。デバイスは安全に構成する必要があります。

製造元によって導入されたいくつかのバグのためにデバイスを安全に構成することができない場合、エンジンはそれを公開することによって私たちに好意を示しています-これにより、これらの会社に問題を修正するよう圧力がかかります。

最後に、サーバーから情報を非表示にすることができます(私の意見ではそうする必要があります)。 Apacheバージョン文字列。これは、適切なセキュリティ構成と入念に更新されたソフトウェアを言い訳したり置き換えたりすることはありませんが、システムに関するすべてを攻撃者に知らせる理由はありません。

12
user2213

パブリックIPで公開したいサービスが他の世界にはないようにしたい場合は、 ポートノッキング を使用して、デバイスを一般的なポートスキャンから非表示にできます。ノックする方法を知っている誰かにVPN接続せずにアクセスできるようにする。職場から時々アクセスしたいホームWebカメラがいくつかありますが、職場のファイアウォールでは、ホームファイアウォールへのVPNを開始できません。

したがって、ホームファイアウォールの3つのポートを「ノック」すると、ノッキングIPからカメラへの接続が可能になります。

ポートノッキングは、yourネットワークに侵入することを決定した誰かからの非常に弱いセキュリティです。ノックは簡単に傍受されるためです(ノックは、プレーンテキストで送信されるパスワードです)。 、しかし攻撃者がポートノッキングが使用されていることを攻撃者が知っていたとしても、ポートをブルートフォースにすることはほぼ不可能です-3つのランダムポートは約48ビット相当のパスワードエントロピーを与えるので、ランダムハッカーからかなり安全です。 VPNはすべてを暗号化するため、より安全です。

また、IPレベルで機能するため、仕事用のIPアドレスからポートのロックを解除すると、同じIPアドレスを共有しているので、仕事用の全員がアクセスできます。 (これらは、DMZの外のカメラです。私は通常、犬のチェックに使用するので、職場で誰かがそれらを見て心配することはあまりありませんが、全体を望んでいません。それらを見る世界)

ここにポートノッキングの賛否両論についての多くの情報があります:


コメンターは、48ビットのエントロピーはそれほど多くないことに言及しています。これは、攻撃者がハッシュを取得できれば、オフライン攻撃を実行して1秒間に数百万または数兆の組み合わせをテストできるパスワードのようなものに当てはまります。ただし、ポートをノックするブルートフォース攻撃はネットワーク遅延と帯域幅の制約によって制限されるため、48ビットは依然としてかなりのエントロピーです。パスワードのブルートフォースを成功させるには、平均してN/2を推測する必要があります。この場合、N = 2 ^ 48なので、N/2 = 2 ^ 47になります。

それぞれの推測は、3つのSynパケットを送信して3つのポートをノックすることを意味します。したがって、SYNパケットを60バイトとすると、2 ^ 47 * 3 * 60 = 2.5 x 10 ^ 16バイトまたは22ペタバイトを送信する必要があります。

15メガビットの家庭用インターネット接続を使用した場合、それだけのデータを送信するには510年かかります。

ネットワークレイテンシは無視されます。ノックを送信し、すぐに1ミリ秒のレイテンシでノックをテストできる場合(通常、ホームネットワークからISPのネットワークの最初のホップまでの実際のpingレイテンシは13ミリ秒です)、2時間がかかります。 ^ 47ミリ秒、つまり総当たりで4,000年。

そしてもちろん、これはすべて、ポートノックデーモンがあなたを無視する前、または何かが私の受信帯域幅をすべて消費していることに気づく前に、無制限に推測できることを前提としています(私のISPは確かに気づき、私を抑制します)

また、ノックが成功したかどうかを確認すると、チェックするポートがわからない場合にそれ自体でエントロピーが追加されることも無視されます。私のカメラは、いくつかの明白でないポートでリッスンするため、さらに16ビット程度のエントロピーを広告します。

だから、私が言ったように、ポートノッキングは簡単に盗聴できるので弱いセキュリティですが、簡単にブルートフォースされることはありません。

4
Johnny

デバイスが安全であることを確認し、必要がない場合はデバイスの存在を宣伝しないでください。 Gibson researchの ShieldsUp などのサービスを使用すると、パブリックインターネットからのサービスに応答するポートがネットワーク接続にあるかどうかを簡単に確認できます。

必要のないものがある場合は、サービスを無効にし、ルーターのポートをブロックします。サービスが必要な場合は、簡単に悪用されないように適切に保護されていることを確認してください。要求に応答する必要のある公に直面しているサービスがポートスキャンによって発見されるという事実についてできることはあまりありません。それを回避しようとすることは、単に通りをドライブして看板を見ることができるときに、あなたの店がどこにあるかを知らないようにすることと同じようなものです。

サインを降ろして(バナーの削除、デフォルトのポートの変更など)、誰かがストアの機能(サービスの内容)を認識しにくくすることはできますが、実際にその事実を隠すことはできません。敷地内の建物(港のサービス)。

2
AJ Henderson

初段スキャンから保護するために提供できる最高の防御は、他のスキャンと同じです。

  • ソフトウェア、HIPS、ファイアウォールを適切に構成する
  • 念頭に置いてコンテナー内で実行するサーバーを構築します(つまり、bsd jails/linuxコンテナー/ windowsサンドボックス)。
  • サーバーでソフトウェアの脆弱なバージョンが実行されていないことを確認します
  • 不正な接続のレート制限(つまり、小さなウィンドウで急上昇する、人間以外が開始した接続)
  • ソフトウェアが提供するサーバーバナーを排除する
  • 最後に、すべての不正なIPアドレスをNullルーティングします。つまり、初段からRBLにリストされているものです。

明白な答えは、最新のセキュリティパッチで動作する最初の最新のセキュリティスイートと適切に構成されたソフトウェアです。これは最近の一般的な規範ではありますが、トーチでシステムをオオカミに投げ出すことと同じです。すべてのセキュリティ(実世界と仮想世界の歴史全体)は、レイヤーに基づいて構築されています。

環境をサンドボックスのような環境で実行するようにシステムを構築した場合、何か問題が発生した場合は、問題が発生する前に作業バージョンにロールバックし、そこから問題点を分析できます。これには、悪意のあるかどうかにかかわらず、何らかの理由でバグが発生した場合に、すぐに稼働バージョンにプッシュバックでき、ダウンタイムがないという俊敏なサーバーであるという利点もあります。

バナーやその他の識別特性を単に制限して排除するだけでは、サーバーを列挙したり、情報収集の第一段階である情報を収集したりすることが難しくなります。

最後に、RBLのヌルルーティングと使用は、既知のマルウェア/ボットネットノード、悪意のある/悪意のあるユーザー、およびshodanなどのHacking-as-a-Serviceサイトなどのよく知られている不正なIPアドレスを隔離するのに役立ちます。

これらのルールを守れば、サーバーにサイトを設定する前に「野蛮人」をすでに倒しているため、インターネットはもはや怖い場所ではありません。

1
Dwight Spencer