デフォルトのポート番号を変更すると、実際にセキュリティが向上しますか?


69

私は、プライベートアプリケーション(イントラネット、プライベートデータベース、部外者が使用しないものなど)には異なるポート番号を使用する必要があるというアドバイスを見てきました。

セキュリティを改善できると完全に確信しているわけではありません。

  1. ポートスキャナーが存在する
  2. アプリケーションが脆弱である場合、ポート番号に関係なくそのまま残ります。

私は何かを見逃したか、自分の質問に答えましたか?


30
私がやったことの1つは、ハニーポットとして特定のデフォルトポート(たとえば、SSHポート22)を使用することです。これらのポートに接続しようとするユーザーは、完全にブロックされxます。ポートスキャンに対して効果的であることが証明されています。もちろん、これはセキュリティツールボックスの1つのツールにすぎません。
ベルミンフェルナンデス

あいまいを通じてセキュリティに関する一般的な質問はここに頼まれる:security.stackexchange.com/questions/2430/...
トニー・マイヤー

まあそれは「スクリプトを書く子供たち」の障害かもしれない
ルーカスマドン

1
@BelminFernandez、「セキュリティツールボックス内の1つのツール」?いいえ、これはサーバーの負荷(パフォーマンス)を減らすためのものであり、単なる幻想以外にセキュリティとは関係ありません。セキュリティに関しては、サーバーが既に強力である場合は完全に不要であり、サーバーが脆弱である場合は、それ以上安全ではありません。
パセリエ

@Pacerier、努力と焦点はより強固なセキュリティプラクティスの実装にあるべきだと合意した。ただし、両方ができない理由はありません。
ベルミンフェルナンデス

回答:


68

ターゲットを絞った攻撃に対する深刻な防御策はありません。サーバーがターゲットにされている場合、あなたが言うように、彼らはあなたをポートスキャンし、あなたのドアがどこにあるかを見つけます。

ただし、SSHをデフォルトポートの22から移動すると、非標的型およびアマチュアスクリプトのキディタイプ攻撃の一部が阻止されます。これらは、スクリプトを使用してIPアドレスの大きなブロックを一度にポートスキャンし、特にポート22が開いているかどうかを確認するためにスクリプトを使用する比較的洗練されていないユーザーです。等)。マシンがスキャン対象のIPブロックにあり、ポート22でSSHを実行していない場合、マシンは応答しないため、このスクリプトキディが攻撃するマシンのリストに表示されません。エルゴ、このタイプの日和見攻撃に対してのみ提供される低レベルのセキュリティがあります。

例として、時間があれば、サーバーにログダイブし(SSHがポート22にあると仮定)、可能な限り失敗したすべての固有のSSH試行を引き出します。次に、そのポートからSSHを移動し、しばらく待ってから、再度ログダイビングに進みます。間違いなくより少ない攻撃を見つけるでしょう。

以前はパブリックWebサーバーでFail2Banを実行していましたが、SSHをポート22から移動したときは本当に明らかでした。日和見攻撃を大幅に削減しました。


3
同意した。SSHを非標準ポートに移動する実験を行ったときに、非常によく似た低下が見られました。幸いなことに、パスワード認証が無効になっている場合、それは実際には問題ではありません。
EEAA

3
ここまでのベストアンサー。それはすべて攻撃者にかかっています。私はかつて、スキャンしている子供からゼロデイ攻撃を受けたシステムの管理を手伝いました。おそらく、ファイアウォールでIISが公開されていないため、MS-RDPでした。ホストはRDPポートの変更(管理ホスティング)を許可しないため、基本的にIDS / IPSフィルタリングの新しいパターンに取り組んでいる間、そこに座っていなければなりませんでした。ただし、一部のMS製品よりもセキュリティの問題が少ないと思われるSSHなどのより確立されたサーバーにはあまり役に立たないかもしれませんが。
マット・モルナー

9
間違いなく同意します。セキュリティはすべてレイヤーに関するものであり、持っているほど安全性が高くなります。これは弱いレイヤーかもしれませんが、それでもレイヤーです。それだけに依存していない限り、セキュリティを強化することしかできません。
ポールクルーン

1
ポート22からSSHを移動するもう1つのポイントは、Fail2Banが貴重なCPU時間を消費することがあるため、大量のSSHとサービスが試行されることです。ラインハードウェア上では無視できますが、一部の古いサーバーではCPUスパイクが発生する場合があります。CPU時間、メモリ、帯域幅は他のものに使用できます。
-artifex

Server 2003のRDPでも同じことを行いました。イベントビューアーで失敗した認証エントリの量を大幅に削減しました。
モシェ

43

ログをきれいに保つことは非常に役立ちます。

sshdがポート33201で実行されているのに失敗した試行が表示された場合、その人物があなたをターゲットにしていると安全に想定できます。登録ユーザーのIPなどと相互参照するなど)。

デフォルトのポートを使用する場合、誰かがあなたを攻撃しているのか、それともランダムスキャンを実行しているランダムバカなのかを知ることは不可能です。


8
素晴らしい区別
ZJR

3
1これは私が今まで聞いた、これまで私を誘惑するでしょう唯一のことは、そうするようにポート番号変更のための最高の引数である
squillman

2
+1これは素晴らしい点です。ターゲットを絞った脅威は、ランダムプローブよりもはるかに危険です(適切なセキュリティがある場合、スクリプトキディは簡単なターゲットに移動します)。標的となる攻撃者は、特定の脆弱性やパスワードパターンについてさらに詳しく知っている場合があります。これは、ポート22上のスパムの群れの外に、これらの攻撃を認識できるようにするには良いことだ
スティーブンT.スナイダー

1
これは誤りです。非標準のSSHポートでのスキャンにより、少なくとも1台のサーバーが侵害されるのを見てきました。攻撃者が他のポートもスキャンできないという固有の理由はありません。
スベンスルートウィグ

真@SvenSlootwegは、特に、コンピュータがより速く、より安くなって、65535倍長いを取っスキャンは、もはやはるかに長く、それ以上。
-Pacerier

28

いいえ、そうではありません。あんまり。これを表す用語は、セキュリティによるセキュリティであり、信頼できる方法ではありません。あなたは両方の点で正しいです。

隠すことによるセキュリティは、最高の状態でちょうどいくつかの点で、彼らが見つけることを知ってデフォルトポートを探して回るカジュアルな試みを阻止します誰かオープンフロントドアを残しました。ただし、デフォルトポートの変更に直面する深刻な脅威がある場合、最初の攻撃の速度はせいぜい遅くなりますが、すでに指摘したことにより、ほんのわずかです。

ポートを適切に設定したままにしてください。ただし、適切なファイアウォール、認証、ACLなどでポートをロックダウンする適切な予防措置を講じてください。


17
私の謙虚な意見では、(強力な)パスワードと暗号化を不明瞭さによるセキュリティの概念に投影することは少しストレッチです
...-squillman

5
英字と数字の全範囲で8文字のみを使用する(特殊文字も許可しない)場合、可能な組み合わせの数は62 ^ 8(218,340,105,584,896)です。65535は、ポートスキャンディテクタを使用している場合でも、それと同じ世界にありません。注意してください、私は弱いパスワードを割引しています。
-squillman

3
繰り返しますが、「非標準ポートがセキュリティ装置全体であるかのようではありません」。少しでも役立ちます。他に何もないとしても、SSHを探している人にドアをたたきつけ始めるためにサーバーが表示されないようにするのは10秒の調整です。
-ceejayoz

8
えー 私の本では、非標準ポートを追跡する価値はありません。私は誰にも同意しないことに同意します...ポートを変更する以外にさらなる対策を追加することは確かに方程式の一部であり、私はむしろパズルのそれらの部分に物事を任せたいです。
squillman 2011

6
私が見たものから、非標準ポートはかなり標準になりました。SSHの場合は2222、HTTPの場合は1080、8080、81、82、8088。そうでなければ、それはあまりにもあいまいになり、あなたはサービスがポート7201であるのだろうか、なぜあなたは7102でのSSHに接続することはできません
BillThor

13

それはわずかなレベルのあいまいさですが、ハッキングへの道の速度を大幅に上げることはありません。その特定のサービスと通信するすべてのものが異なるポートについて通知される必要があるため、長期をサポートするのは難しい構成です。

むかしむかし、ネットワークワームは1つのポートのみをスキャンする傾向があったため、ネットワークワームを回避するために良い考えでした。ただし、急速に増加するワームの時代は過ぎ去りました。


2
難しい設定とサポートの問題の場合は+1。ドアを固定するために費やすことができる時間を無駄にします(家のどこに置いたかを探す必要はありません)。
マッケ

12

他の人が指摘しているように、ポート番号を変更してもセキュリティはあまりありません。

ポート番号を変更すると、実際にはセキュリティに悪影響を与える可能性があることを付け加えます。

次の単純化されたシナリオを想像してください。クラッカーは100個のホストをスキャンします。これらのホストの99個には、これらの標準ポートで利用可能なサービスがあります。

Port    Service
22      SSH
80      HTTP
443     HTTPS

しかし、システムの所有者がサービスを難読化しようとしたため、群衆から目立つホストが1人います。

Port    Service
2222    SSH
10080   HTTP
10443   HTTPS

さて、これはクラッカーにとって興味深いかもしれません。なぜなら、スキャンは次の2つのことを示唆しているからです。

  1. ホストの所有者がシステムのポート番号を隠そうとしています。おそらく、所有者は、システムに何か価値があると考えています。これは、従来のシステムではない場合があります。
  2. システムを保護するために間違った方法を選択しました。管理者はポートの難読化を信じて間違いを犯しました。これは、彼らが経験の浅い管理者である可能性があることを示しています。おそらく、彼らは適切なファイアウォールまたは適切なIDSの代わりにポート難読化を使用しました。彼らは他のセキュリティミスも犯した可能性があり、追加のセキュリティ攻撃に対して脆弱かもしれません。もう少し詳しく調べてみましょうか?

クラッカーの場合、標準ポートで標準サービスを実行している99のホストのいずれか、またはポートの難読化を使用しているこの1つのホストを選択しますか?


14
経験から教えられない限り、私は99人のホストを見ます。ポートを移動する人は、私に尋ねると、おそらくパッチを当ててセキュリティを確保する可能性が高くなります。
ceejayoz

4
目立った1つのホストを見て、PFYが「ポート番号を変更すると、私は無敵だ!」ただし、rootパスワードは「password」に設定されています。
アンドリュー

3
@Ceejayoz、完全に同意します。私は2222でSSHを実行していますが、セキュリティ上の価値はありませんが、スクリプトキディを減らすことができます。私も彼らが私を無視する可能性が高いと考えており、ポートを変更することに悩まされ、おそらく他の手段も取ったでしょう。明らかにそれは...すべてデフォルトの設定ではありません
クリス・S

1
誰もが私の意見に同意するとは限らないことを理解しています。しかし、私の経験では、ポート難読化を使用する多くのシステム所有者がいましたが、いくつかの重大なセキュリティ脆弱性が公開された後にOpenSSHを更新しない、または共有大学システムからの暗号化されていないSSHキーを使用するなどのミスを犯しますこれらのシステムはジューシーなターゲットでした。
ステファンLasiewski

3
拡張により、非標準のポートに移行すると、スクリプトのキディを思いとどまらせる可能性が高くなりますが、経験豊富なハッカーを誘惑する可能性も高くなります。どちらが質問を頼みます:あなたはどちらにターゲットを絞ることを恐れていますか?
11年

9

少なくとも部分的には一般的な傾向に逆らうつもりです。

独自に、別のポートに変更すると、検索中に数秒かかる場合があります。したがって、実際には何も得られません。ただし、非標準ポートの使用とアンチポートスキャン対策を組み合わせると、セキュリティを大幅に向上させることができます。

私のシステムに適用される状況は次のとおりです。非パブリックサービスは非標準ポートで実行されます。指定された時間内に単一の送信元アドレスから3つ以上のポートに接続しようとすると、成功したかどうかにかかわらず、その送信元からのすべてのトラフィックがドロップされます。

このシステムを破るには、運(ブロックされる前に適切なポートを押す)または他の手段をトリガーする分散スキャン、または気づかれて対処される非常に長い時間が必要です。


これを、標的型攻撃に関するAndreas Boniniのポイントと組み合わせてください。これは、代替ポートを使用することの強力な論拠です。
ジバンアマラ14年

5

私の意見では、アプリケーションが実行されるポートを移動しても、セキュリティはまったく向上しません-単に同じアプリケーションが(同じ長所と短所を使用して)異なるポートで実行されるためです。アプリケーションに脆弱性があり、リッスンするポートを別のポートに移動しても、脆弱性に対処できません。さらに悪いことに、自動化されたスキャンによって絶えず攻撃されていないため、弱点に対処しないよう積極的に奨励しています。それは実際に解決されるべき問題である本当の問題を隠します。

いくつかの例:

  • 「ログをクリーンアップします」-次に、ログの処理方法に問題があります。
  • 「接続オーバーヘッドを削減します」-オーバーヘッドは重要ではない(ほとんどのスキャンと同様)か、上流で何らかのフィルタリング/サービス拒否の軽減が必要
  • 「アプリケーションの露出を減らします」-アプリケーションが自動化されたスキャンと悪用に耐えられない場合、アプリケーションは深刻なセキュリティ上の欠陥に対処する必要があります(つまり、パッチを当ててください!)。

実際の問題は管理上の問題です。人々は、SSHが22、MSSQLが1433などになると予想しています。これらを移動することは、もう1つの複雑さの層であり、必要なドキュメントです。ネットワークに座って、物事がどこに移動したかを把握するためだけにnmapを使用する必要があるのは非常に迷惑です。セキュリティへの追加はせいぜい一時的なものであり、欠点は取るに足らないものではありません。しないでください。本当の問題を修正してください。


2

TCPサーバーのポート範囲のエントロピーが16ビットしかないため、あまりセキュリティをもたらさないことは正しいですが、次の2つの理由でそれを行うことができます。

  • 他の人がすでに言っているように:多数のログインを試みる侵入者は、ログファイルを乱雑にすることができます(単一のIPからの辞書攻撃がfail2banでブロックされる場合でも)。
  • SSHは、秘密鍵を交換して安全なトンネルを作成するために公開鍵暗号を必要とします(これは、通常の条件下では頻繁に行う必要のない高価な操作です)。繰り返されるSSH接続はCPUパワーを浪費する可能性があります

注:サーバーポートを変更する必要があると言っているわけではありません。ポート番号を変更する合理的な理由(IMO)を説明しています。

それを行う場合、他のすべての管理者またはユーザーに、これがセキュリティ機能と見なされるべきではなく、使用されているポート番号は秘密ではなく、これをセキュリティ機能として説明していることを明確にする必要があると思います真のセキュリティをもたらすことは、許容可能な動作とは見なされません。


ログファイルは、適切なフィルターで簡単に整理できます。ログの削減によるサーバーのパフォーマンスについて話しているのであれば、セキュリティについてはもう話していません。パフォーマンスはまったく別のトピックです。
Pacerier

ディスクの過剰使用によりコンピューターが使用できなくなったときではありません。
-curiousguy

はい、これはパフォーマンスの問題です。パフォーマンスも間違いなく重要ですが、この特定のスレッドはセキュリティのみについて具体的に説明しています。(このスレッドの目的のために、あなたがGoogleサイズであることを想像してください。Googleは実際に分析および/または販売目的でそれらのデータを必要としています。)
Pacerier

1

代替ポートでsshdを実行すると、潜在的なセキュリティ上の利点があるという仮説的な状況を見ることができます。これは、実行中のsshdソフトウェアで、ささいに悪用されたリモートの脆弱性が発見されたシナリオです。このようなシナリオでは、代替ポートでsshdを実行すると、ランダムなドライブバイターゲットになる必要がないだけの余分な時間が与えられる可能性があります。

私自身は、プライベートマシンの代替ポートでsshdを実行していますが、これは主に/var/log/auth.logの乱雑さを抑えるために便利です。マルチユーザーシステムでは、上記の小さなセキュリティ上の利点が、標準パーツにsshdが見つからないことに起因する余分な面倒の十分な理由であるとは考えていません。


このシナリオは、すべての管理者が、この「余分な時間」で絶対に昼食などに行く余裕がない場合にのみ有効になります。
Pacerier

1

セキュリティがわずかに向上します。そのため、攻撃者は開いているポートを見つけたため、ポートで実行されているものを解決する必要があります。設定ファイルにアクセスできない(まだ:-))彼は、ポート12345がhttp、sshd、または他の1000の一般的なサービスのいずれかを実行しているかどうかわからないため、何が実行されるのかを真剣に判断するために余分な作業を行う必要がありますそれを攻撃します。

また、他のポスターが指摘したように、ポート22にログインしようとする試みは、無知なスクリプトキディ、ゾンビトロイの木馬、またはIPアドレスを誤って入力した本物のユーザーである可能性があります。ポート12345にログインしようとすると、本物のユーザーまたは深刻な攻撃者であることがほぼ確実になります。

もう1つの戦略は、いくつかの「ハニートラップ」ポートを持つことです。本物のユーザーはこれらのポート番号を知らないため、接続の試みはすべて悪意があると見なされる必要があり、問題のIPアドレスを自動的にブロック/報告できます。

別のポート番号を使用すると、システムが確実に安全になる特別なケースがあります。ネットワークがWebサーバなどの公共サービスを実行しているだけでなく、唯一のWebサーバー内部での使用を実行している場合は、絶対に別のポート番号で実行されているとことにより、任意の外部からのアクセスをブロックすることができ、ブロッキングこのポートから任意の外部アクセスを。


〜0.1%のセキュリティの増加と関連するセキュリティの減少を比較検討する必要があり、ユースケースとコンテキストに応じてセキュリティの総損失が発生する可能性があります。
Pacerier

0

それ自体ではありません。ただし、特定のアプリケーション(たとえば、SQL Server)にデフォルトポートを使用しないと、基本的に攻撃者はポートをスキャンすることになります。この動作は、ファイアウォールまたはその他の監視メトリックによって検出され、攻撃者のIPがブロックされます。また、使用している単純なツールまたはコマンドスクリプトがマシン上のSQLサーバーインスタンスを見つけられない場合は、平均的な「スクリプトキディ」が抑止される可能性が高くなります(ツールはデフォルトポートのみをチェックするため)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.