Saya memiliki jaringan rumah kecil dan saya mencoba menyeimbangkan kebutuhan akan keamanan dengan kenyamanan. Cara teraman untuk mengamankan server web internal adalah dengan hanya terhubung menggunakan VPN, tetapi ini tampaknya terlalu sulit untuk melindungi antarmuka web jarak jauh DVR (misalnya).
Sebagai kompromi, apakah lebih baik menggunakan nomor port yang sangat besar? (mis. lima digit hingga 65531)
Saya telah membaca bahwa port scanner biasanya hanya memindai 10.000 port pertama sehingga menggunakan nomor port yang sangat tinggi sedikit lebih aman.
Apakah ini benar?
Adakah cara yang lebih baik untuk melindungi server web? (mis. gui web untuk aplikasi)
security
server-security
ports
SofaKng
sumber
sumber
Jawaban:
Banyak orang percaya ini. Bukan saya.
Mungkin sedikit lebih aman, tetapi tidak banyak. Port bernomor rendah lebih umum, sehingga beberapa pemindai akan melihat lebih dulu.
Jika saya seorang cracker, saya akan memindai port tinggi terlebih dahulu, hanya untuk menangkap orang-orang yang mengandalkan metode ini untuk keamanan. Orang-orang yang mengandalkan keamanan-melalui-ketidakjelasan mungkin memiliki pemahaman yang buruk tentang keamanan, dan lebih cenderung lupa untuk menggunakan metode keamanan lainnya. Karena itu, layanan tersebut mungkin lebih rentan, dan lebih mudah retak.
Beberapa pemindai mengeksploitasi kepercayaan ini, dan mulai dari atas dan merobohkan daftar. Pemindaian lain akan memilih port acak di seluruh rentang, sehingga semua port memiliki peluang yang sama untuk dipindai.
Silakan dan uji sendiri ini menggunakan NMAP . Jalankan pemindaian nmap terhadap port 1-10.000 dan cari server HTTP, dan bandingkan dengan pemindaian yang memindai semua port 1-65, xxx. Anda akan melihat bahwa perbedaannya biasanya 3-10 menit. Jika saya melakukan pemindaian terperinci menggunakan sesuatu seperti Nessus, perbedaannya kadang-kadang 20-60 menit.
Kerupuk yang baik adalah kerupuk pasien. Mereka akan menunggu.
sumber
Menggunakan nomor port ganjil sama sekali bukan keamanan, kecuali jika Anda menggunakan fakta bahwa itu memungkinkan Anda untuk menjalankan aplikasi Anda sebagai pengguna non-root.
Hal semacam ini dapat dianggap sebagai keamanan oleh ketidakjelasan tetapi sebenarnya bukan keamanan.
sumber
Anda juga dapat menggunakan ssh tunnel jika Anda menggunakan Linux di kedua ujungnya:
ssh -f -N -L 9090:localhost:9090 user@remote-host
Sebagai contoh, itulah yang saya gunakan untuk meneruskan port 9090 pada host jarak jauh ke port lokal 9090
cherokee-admin
saya, dan saya menggunakan pengaturan serupa untuk GUI web lainnya. Anda dapat melindungi aplikasi dengan cara ini dengan menentukan konfigurasi aplikasi yang dijalankan di localhost, yaitu pada127.0.0.1
. Dengan cara ini mereka tidak dapat dijangkau dari luar, tetapi Anda dapat meneruskannyassh
. Periksaman ssh
opsi lainnya menggunakan penerusan port (termasuk X, yang mungkin menyelesaikan masalah Anda dengan cara lain sama sekali.)Ini mungkin cara yang cocok untuk mencapai tujuan Anda tanpa menginstal / mengkonfigurasi perangkat lunak tambahan, tergantung pada pengaturan Anda.
sumber
Jika firewall Anda mengizinkannya, Anda dapat membuat otentikasi terjadi terlebih dahulu di tingkat firewall, jika kompleksitas kata sandi Anda cukup bagus, yang seharusnya menegakkan keamanan layanan yang diekspos. Anda juga dapat menggunakan penerowongan SSL menggunakan misalnya stunnel dan mutual auth.
Mempertimbangkan fakta bahwa menggunakan nomor port yang lebih tinggi lebih aman, dengan cara tertentu, mungkin mengacu pada bot yang memindai IP Anda dan mencoba beberapa eksploitasi, tetapi jika seseorang benar-benar ingin menerobos masuk, menggunakan nomor port yang lebih tinggi tidak akan memberikan peningkatan keamanan.
sumber