Berapa nomor port maksimum?

67

Saya ingin mengatur beberapa layanan linux ke port non-standar - apa nomor port valid tertinggi?

Yehosef
sumber

Jawaban:

73

(2 ^ 16) -1, atau 0-65.535 (-1 adalah karena port 0 dicadangkan dan tidak tersedia). (diedit karena o_O Tync mengingatkan saya bahwa kami tidak dapat menggunakan port 0, dan Steve Folly mengingatkan saya bahwa Anda meminta port tertinggi, bukan jumlah port)

Tapi Anda mungkin salah tentang hal ini. Ada orang yang berdebat untuk dan menentang port non-standar. Saya katakan itu tidak relevan kecuali untuk pemindai yang paling kasual, dan pemindai yang paling biasa dapat dihindari dengan menggunakan perangkat lunak terkini dan teknik firewall yang tepat, bersama dengan kata sandi yang kuat. Dengan kata lain, praktik keamanan terbaik.

Matt Simmons
sumber
3
-1 untuk jawaban yang salah. Coba 65.535. Tapi poin bagus tentang argumen untuk / terhadap port non-standar.
Steve Folly
2
Ada orang-orang keamanan / kepatuhan yang memaksa keputusan semacam ini. Kami menjalankan layanan SMTP pada pelabuhan tinggi yang telah ditentukan untuk melindungi kami dari kantor petugas keamanan yang mengganggu kami.
duffbeer703
1
Steve, diedit, dan Anda benar. Saya menjawab pertanyaan yang salah dengan nomor saya :)
Matt Simmons
2
@Matt: dihapus -1 :-)
Steve Folly
1
Saya memantau upaya masuk dengan ssh dan beberapa upaya IP diblokir (solusi VPS CPanel standar). Saya hanya berusaha mengurangi jumlah upaya yang harus saya perhatikan setiap hari. Pemindaian port juga diblokir sehingga harus mengurangi kerumunan itu. Saya juga mempertimbangkan VPN, tetapi tampaknya mengubah port akan menjadi langkah pertama yang lebih mudah.
Yehosef
41

1-65535 tersedia, dan port dalam kisaran 1-1023 adalah yang istimewa : aplikasi perlu dijalankan sebagai root untuk mendengarkan port ini.

kolypto
sumber
8

Meskipun 1-65535 adalah port TCP yang sah dan memang benar bahwa 1-1023 adalah untuk layanan port yang terkenal. Anda dapat mengalami masalah acak dengan layanan Anda sendiri jika layanan tersebut dimulai setelah porta sesaat dibuat. Bagi mereka yang mungkin tidak tahu, porta fana adalah porta yang terhubung secara lokal untuk titik akhir jarak jauh (atau sesuatu dengan efek seperti itu). Jadi jika Anda menulis layanan TCP yang mendengarkan pada port 20001. Anda mungkin baik hari ini ... dan besok. Tetapi suatu hari layanan Anda mungkin mulai dan mencoba untuk mengikat ke 20001 dan itu akan gagal karena dianggap sebagai porta sesaat. Ada solusinya. Anda harus memiliki admin Anda, atau diri Anda sendiri, mengubah kebijakan rentang port ephemeral sistem di server Anda. Pada sistem linux, ini dilakukan dalam dua langkah:

  • Secara dinamis
  • Secara permanen

Kedua langkah harus diambil, tidak berguna Anda berencana untuk reboot, dalam hal ini langkah Dinamis tidak diperlukan. Untuk mengatur rentang Anda hingga 40000 melalui 65535 lakukan hal berikut:

Dinamis

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

atau

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

Permanen

Tambahkan yang berikut ini ke /etc/sysctl.conf:

net.ipv4.ip_local_port_range = 40000 65535

Untuk membaca pengaturan saat ini atau untuk mengkonfirmasi perubahan:

/sbin/sysctl net.ipv4.ip_local_port_range

Outputnya akan seperti ini:

net.ipv4.ip_local_port_range = 9000 65500

Pastikan Anda memahami tujuan server Anda. Mengurangi rentang terlalu banyak dapat menyebabkan masalah lain.

Selamat Coding! (atau apa pun yang Anda lakukan)

Stephen Mathews
sumber