Haruskah saya menjalankan situs web kecil saya di port 80, 8080, atau 81?

20

Saya menjalankan situs web kecil menggunakan nginx. Karena ada (mungkin) tidak akan ada banyak lalu lintas dalam umur server saya dan untuk menghindari serangan DoS acak, saya mempertimbangkan untuk mengatur server web untuk mendengarkan pada port alternatif alih-alih port 80.

Apakah mendengarkan pada port alternatif (81, 8080, dll.) Sebenarnya mengurangi risiko serangan atau pelanggaran saya? Atau apakah beban untuk mempertahankannya lebih besar daripada manfaatnya? Dalam hal ini, haruskah saya menggunakan port alternatif tersebut untuk layanan web lain jika saya mengaturnya di masa depan?

oldmud0
sumber
4
Mengapa beberapa 'penyerang' akan mengambil risiko untuk (D) melakukan situs web kecil?
Gilles Quenot

Jawaban:

40

Ada dua hal yang perlu dipertimbangkan di sini:

  1. Apakah pengguna Anda ingat untuk menggunakan port non-standar dalam nama? Secara default, port 80 adalah standar dan oleh karena itu Anda tidak perlu mengetiknya di URL. Misalnya, http://superuser.comberjalan pada port 80 dan browser Anda menganggap 80 adalah port yang Anda maksud saat mengetiknya. Ini tidak berbeda dengan mengetik http://superuser.com:80. Jika Anda menjalankan websever Anda pada port 8080, maka pengguna harus mengetik http://superuser.com:8080. Rata-rata pengguna tidak akan mengingat itu.
  2. Apakah menjalankan server web pada port non-standar melindungi Anda dari serangan DoS? Tidak juga. Jika seseorang benar - benar ingin menurunkan situs Anda, menjalankan port yang tidak standar tidak akan menghentikannya. Penyerang akan memindai semua port pada IP Anda dan dengan cepat menemukan bahwa 8080 (atau apa pun yang Anda pilih) terbuka dan menanggapi permintaan HTTP.

Metode seperti mengubah port disebut " Keamanan melalui ketidakjelasan " dan sangat dipertanyakan bahwa kerja ekstra dan ketidaknyamanan memberikan keamanan yang berharga.

Keltari
sumber
6
Saya ingin menambahkan bahwa tidak semua Keamanan melalui Obscurity buruk. Mengubah Administrator default atau Nama pengguna root dianggap praktik yang baik. Namun, hal-hal seperti mengubah port tidak ada gunanya karena hanya ada 32k dan komputer dapat memindai itu dalam hitungan detik.
Keltari
2
Itu tidak menambah keamanan, tetapi itu mencegah bot pemindaian mentah dari memperlambat situs Anda, terutama jika situs memiliki catatan DNS.
Nathan MacInnes
1
Itu benar-benar tergantung pada skala serangan. Menggunakan port non-default dapat membantu menghindari pindaian skala besar tentang / 0 untuk kerentanan server web menggunakan zmap atau nmap. Tapi @Keltari benar, jika Anda adalah target, penyerang akan melakukan pemindaian penuh pada Anda, menentukan port mana yang digunakan server Anda dan kemudian game over, jika Anda rentan ;-).
wi1
@NathanMacInnes dengan teknologi yang tersedia saat ini, saya berasumsi bahwa # bot yang memindai situs kecil dapat diabaikan, dan kerugian dari mengubah port default cukup besar.
ILikeTacos
2
Salah, ini /superuser/, dan beroperasi pada port 443. Situs web yang aman menggunakan 443.
Elliot A.
5

Ya, pengaturan port alternatif sebenarnya mengurangi risiko serangan, karena bot merayapi web untuk menemukan webapp yang cacat biasanya tidak melihat port lain.

Jika seorang penyerang manusia membidik server Anda, akan sangat mudah untuk menemukan port asli tempat nginx mendengarkan (dengan memindai port terbuka).

Menggunakan porta alternatif ini jarang (kecuali proksi atau ... server web alternatif) jadi saya pikir Anda dapat menggunakannya tanpa rasa takut.

Tetapi ingat bahwa menggunakan port pengganti semacam itu akan mencegah pengunjung "default" untuk menemukan situs web Anda, Anda perlu memberi tahu orang (atau menuliskannya di tautan) port yang tepat dengan menggunakan URL seperti http://yourserver.com:81/ . ..

Mickaël
sumber
2

Pertimbangan tambahan (untuk dua yang disediakan oleh Keltari) adalah bahwa menggunakan port non-standar dapat menyebabkan situs web Anda diabaikan oleh perayap web mesin pencari seperti Google, kecuali Anda menentukan sebaliknya.

Jika niat Anda bahwa situs web Anda akan sulit ditemukan untuk semua orang kecuali orang yang Anda berikan tautannya, maka menggunakan port non-standar tampaknya akan menguntungkan, tetapi sebaliknya saya akan menggunakan port standar.

Liang
sumber
1

Tergantung. Apa gunanya untuk "situs kecil"?

  • Jika itu akan digunakan oleh orang lain, saya akan sangat merekomendasikan menggunakan port standar. Seperti disebutkan dalam sebagian besar jawaban, menggunakan port yang tidak standar mensyaratkan bahwa port tersebut ditentukan oleh pengguna (misalnya untuk port 81 -> yoursite.com:81). Jika Anda menggunakan port standar, browser menyimpulkan port dari protokol (http, https). http: // biasanya port 80 dan https: // biasanya port 443, kecuali diganti. Saya sangat merekomendasikan menggunakan port standar. Tentu, Anda BISA menempatkan satu-satunya pintu masuk ke sebuah rumah di halaman belakang, tetapi bagaimana pengunjung tahu itu ada di sana?

  • Jika ini adalah situs pengujian yang hanya digunakan oleh Anda, ada dua hal yang perlu Anda tanyakan pada diri sendiri:

    • Apakah akan dilampirkan ke catatan DNS (nama domain)? (Saya menemukan server saya tanpa referensi DNS jauh lebih tenang dari serangan. CATATAN: tolong jangan menganggap ini lebih aman. Ini bukan; itu hanya membuat penyerang lebih sulit menemukan Anda melalui DNS)
    • Apakah Anda baik-baik saja dengan mengetik port dan / atau IP secara manual?

TL; DR:

  • Digunakan oleh orang lain: gunakan 80/443
  • Pribadi: Terserah Anda
Luke Adams
sumber
0

Anda dapat menjalankan server http pada port apa saja, tetapi akan sulit bagi peselancar Anda, pengguna untuk mengingat port tersebut.

Ini akan mengurangi risiko serangan atau pelanggaran, tetapi ada cara lain juga, seperti mengamankan server Anda dan menjaga server HTTP pada port 80

AMB
sumber