最大ポート番号は何ですか?


67

一部のLinuxサービスを非標準ポートに設定したいのですが、有効な最大ポート番号は何ですか?

回答:


73

(2 ^ 16)-1、または0-65,535(-1は、ポート0が予約済みで使用できないためです)。(o_O Tyncがポート0を使用できないことを思い出させ、スティーブフォリーがポートの数ではなく最高のポートを要求したことを思い出させたため編集)

しかし、あなたはおそらくこれについて間違った方法で行っています。非標準ポートについて賛否両論する人々がいます。最もカジュアルなスキャナー以外は無関係であり、最新のソフトウェアと適切なファイアウォール技術、強力なパスワードを使用することで、最もカジュアルなスキャナーを寄せ付けないことができます。つまり、セキュリティのベストプラクティスです。


3
間違った答えの場合は-1。65,535を試してください。しかし、非標準ポートに対する/に対する議論についての良い点。
スティーブフォリー

2
この種の決定を強制するセキュリティ/コンプライアンスの人々がいます。事前に決められた高いポートでSMTPサービスを実行して、セキュリティ担当者のオフィスからの嫌がらせを防ぎます。
duffbeer703

1
編集したスティーブ、あなたは正しい。私は自分の番号で間違った質問に答えました:)
マットシモンズ

2
@マット:-1を削除:
スティーブフォリー

1
sshでログインしようとする試みを監視し、複数の試みでIPがブロックされています(標準CPanel VPSソリューション)。毎日見なければならない試行回数を減らすようにしています。ポートスキャンもブロックされるため、その群衆を減らすことができます。私もVPNを検討していますが、ポートを変更する方が簡単な最初のステップになると思われました。
エホセフ

41

1〜65535が使用可能で、1〜1023の範囲のポートが特権ポートです。これらのポートをリッスンするには、アプリケーションをルートとして実行する必要があります。


8

1-65535は正当なTCPポートであり、1-1023が既知のポートサービス用であることは事実です。一時ポートの確立後にサービスが開始されると、独自のサービスでランダムな問題が発生する場合があります。知らないかもしれない人にとっては、一時ポートはリモートエンドポイント(またはそのようなもの)のためにローカルに接続されているポートです。したがって、ポート20001でリッスンするTCPサービスを作成する場合、今日と明日は良いかもしれません。しかし、ある日、サービスが起動して20001にバインドしようとすると、一時ポートとして使用されたために失敗します。解決策があります。サーバーのシステム一時ポート範囲ポリシーを変更するには、管理者または自分自身が必要です。Linuxシステムでは、次の2つの手順で実行されます。

  • 動的に
  • 永久に

両方の手順を実行する必要があります。再起動する予定がない場合は、動的な手順は不要です。範囲を最大40000〜65535に設定するには、次の手順を実行します。

動的

echo 40000 65535 > /proc/sys/net/ipv4/ip_local_port_range

または

sysctl -w net.ipv4.ip_local_port_range="40000 65535"

常設

以下を/etc/sysctl.confに追加します。

net.ipv4.ip_local_port_range = 40000 65535

現在の設定を読み取るか、変更を確認するには:

/sbin/sysctl net.ipv4.ip_local_port_range

出力は次のようになります。

net.ipv4.ip_local_port_range = 9000 65500

サーバーの目的を必ず理解してください。範囲を小さくしすぎると、他の問題が発生する可能性があります。

ハッピーコーディング!(またはあなたがすることは何でも)

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