web-dev-qa-db-ja.com

小さなWebサイトをポート80、8080、または81で実行する必要がありますか。

私はnginxを使って小さなウェブサイトを運営しています。私のサーバーの寿命には大量のトラフィックはありませんし、ランダムなDoS攻撃を避けるために、Webサーバーをポート80ではなく代替ポートで待機するように設定することを検討しています。

代替ポート(81、8080など)で待機することで、実際に攻撃や侵害の危険性が軽減されますか?それともそれを維持する負担は利益を上回っていますか?その場合、将来設定する場合に備えて、それらの代替ポートを他のWebサービスに使用する必要がありますか?

21
oldmud0

ここで考慮すべきことが2つあります。

  1. ユーザーは名前に標準以外のポートを使用するのを忘れないでしょうか。デフォルトでは、ポート80が標準であるため、URLに入力する必要はありません。たとえば、http://superuser.comはポート80で実行され、ブラウザは80を入力時に使用するポートと見なします。http://superuser.com:80を入力するのと同じことです。 Webサーバーをポート8080で実行している場合、ユーザーを入力してhttp://superuser.com:8080を入力します。平均的なユーザーはおそらくそれを覚えていないでしょう。
  2. 標準以外のポートでWebサーバーを実行すると、DoS攻撃からあなたを保護できますか?あんまり。誰かが本当にあなたのサイトを停止させたかったとしても、非標準のポートで実行してもそれらが止まることはありません。攻撃者はあなたのIP上の全てのポートをスキャンし、8080(あるいはあなたが選んだものは何でも)が開いておりHTTP要求に応答していることをすぐに見つけるでしょう。

ポートを変更するような方法は " 曖昧さによるセキュリティ "と呼ばれ、余分な作業と不便が貴重なセキュリティを提供することは非常に疑問です。

39
Keltari

はい、代わりのポートを設定することで実際に攻撃のリスクが軽減されます。欠陥のあるWebアプリケーションを見つけるためにWebをクロールしているボットは通常他のポートを見ていないからです。

人間の攻撃者があなたのサーバーを狙っているなら、(開いているポートをスキャンすることによって)nginxが待機している実際のポートを見つけるのは本当に簡単です。

これらの代替ポートを使用することはめったにありません(プロキシや...代替Webサーバーを除く)ので、私はあなたがそれを恐れることなく使用できると思います。

しかし、そのような代替ポートを使用すると、「デフォルト」の訪問者があなたのウェブサイトを見つけるのを妨げるので、 httpのようなURLを使って正しいポートを知らせる必要があるでしょう。 //yourserver.com:81 / ...

5
Mickaël

(Keltariが提供する2つの)追加の考慮事項は、標準以外のポートを使用すると、特に指定しない限り、Googleのような検索エンジンWebクローラによってWebサイトが見落とされる可能性があることです。

もしあなたがあなたのウェブサイトがあなたがリンクを提供している人々を除いてみんなにとって見つけるのが難しいというあなたの意図であるならば、非標準ポートを使用することは有利であるように思われるでしょう。

2
Liang

場合によります。 「小さなサイト」の用途は何ですか?

  • それが他の人々によって使われることになるならば、私は強く標準ポートを使うことを勧めます。ほとんどの回答で述べたように、非標準のポートを使用するには、ユーザーがポートを指定する必要があります(例:ポート81 - > yoursite.comの場合)。 81)。標準ポートを使用している場合、ブラウザはプロトコル(http、https)からポートを推測します。オーバーライドされない限り、http://は通常ポート80、https://は通常ポート443です。標準ポートの使用を強くお勧めします。確かに、あなたは裏庭の家への唯一の入り口を置くことができます、しかし訪問者はそれがそこにあることをどのように知るでしょうか?

  • それがあなただけが使っているテストサイトであるならば、あなた自身に尋ねるべき2つのことがあります:

    • DNSレコード(ドメイン名)に添付されますか? (DNSを参照していないサーバーは、攻撃的により静かになります。注:これをより安全なものとは考えないでください。そうではなく、攻撃者がDNSを介してユーザーを見つけるのが難しくなります)。
    • 手動でポートやIPを入力しても問題ありませんか。

TL; DR:

  • 他の人々が使用する:80/443を使う
  • プライベート:あなた次第
1
Luke Adams

あなたはどんなポートでもhttpサーバを走らせることができます、しかしそれはあなたのサーファーにとって、ポートを覚えているのは難しいでしょう。

攻撃や侵害の危険性を減らすことができますが、他の方法もあります。たとえば、サーバーを保護してHTTPサーバーをポート80に保つなどです。

0
AMB