Yüksek bağlantı noktası numaralarını kullanmak güvenli mi? (yeniden: web hizmetlerini gizlemek)


9

Küçük bir ev ağım var ve güvenlik ihtiyacını rahatlıkla dengelemeye çalışıyorum. Dahili web sunucularını güvenli hale getirmenin en güvenli yolu yalnızca VPN kullanarak bağlanmaktır, ancak bu bir DVR'nin uzak web arayüzünü (örneğin) korumak için aşırıya kaçmış gibi görünmektedir.

Bir uzlaşma olarak, çok büyük port numaraları kullanmak daha iyi olur mu? (ör. 65531'e kadar beş basamak)

Bağlantı noktası tarayıcılarının genellikle yalnızca ilk 10.000 bağlantı noktasını taradığını okudum, bu yüzden çok yüksek bağlantı noktası numaralarını kullanmak biraz daha güvenli.

Bu doğru mu?

Web sunucularını korumanın daha iyi yolları var mı? (ör. uygulamalar için web kılavuzu)


Hayır, bu doğru değil. Geniş bant erişimli modern (hatta masaüstü) çok çekirdekli CPU makineleri, 65535 bağlantı noktasını saniyeler içinde tarayabilir. Ve saldırgan bir DoS kapılarını folyolamak için iki saniyeye kadar boşluk bırakmaya karar verse bile, kimin umrunda, sisteminizi bir günden fazla bırakıyorsunuz, değil mi? Eski bir özdeyiş, diğerlerinin de söylediği gibi, "belirsizliğin yol açtığı güvenlik" dijital dünyada esasen işe yaramaz.
msanford

Yanıtlar:


9

Bağlantı noktası tarayıcılarının genellikle yalnızca ilk 10.000 bağlantı noktasını taradığını okudum, bu yüzden çok yüksek bağlantı noktası numaralarını kullanmak biraz daha güvenli.

Birçok insan buna inanıyor. Yapmıyorum.

Belki biraz daha güvenli, ama fazla değil. Düşük numaralı bağlantı noktaları daha yaygındır, bu nedenle bazı tarayıcılar önce oraya bakar.

Eğer bir kraker olsaydım, önce güvenlik için bu yönteme güvenen insanları yakalamak için önce yüksek portları tarardım. Güvenlik nedeniyle belirsizliğe güvenen insanlar muhtemelen zayıf bir güvenlik anlayışına sahiptir ve diğer güvenlik yöntemlerini kullanmayı unutmaları daha olasıdır. Bu nedenle, bu hizmetler daha savunmasız ve çatlaması daha kolay olabilir.

Bazı tarayıcılar bu inançtan yararlanır ve en üstte başlar ve listeye doğru ilerler. Diğer taramalar tüm aralık boyunca rastgele bağlantı noktaları seçeceğinden, tüm bağlantı noktalarının eşit bir şekilde taranma şansı vardır.

Devam edin ve NMAP kullanarak bunu kendiniz test edin . 1-10.000 bağlantı noktalarına karşı bir nmap taraması çalıştırın ve bir HTTP sunucusu arayın ve 1-65, tüm xxx bağlantı noktalarına karşı tarama yapan bir tarama ile karşılaştırın. Farkın tipik olarak 3-10 dakika olduğunu göreceksiniz. Nessus gibi bir şey kullanarak ayrıntılı bir tarama yaparsam, fark bazen 20-60 dakikadır.

İyi bir kraker hasta bir krakerdir. Bekleyecekler.


1
İlgili tüm güvenlik önlemlerinin uygulandığı varsayılırsa, bağlantı noktası numaralarını gizlemek daha iyi mi yoksa daha kötü mü olurdu? Benim düşüncem, sunucu özellikle hedeflenmemiş olsaydı biraz daha iyi olurdu.
wag2639

2
+1 "İyi bir kraker hasta bir krakerdir. Beklerler."
27san10

@ wag2639 Bir servisin port numarasını değiştirerek ama bir script-kiddie'nin biraz daha iyi bir script bulmasını sağlayarak hiçbir şey yapmıyorsunuz. Her bir bağlantı noktasını tarayan bir IP ve ALSO bağlantı noktası bloğunu savaşla aramak önemsizdir.
27san10

Bir bilgisayar korsanı belirli bir hedefin peşine düşerse, yüksek bağlantı noktası numaralarını taramak için 20 - 60 dakika bekleyebilir. Ancak, savunmasız sistemleri bulmak için yüzlerce veya binlerce IP adresini taramaya çalışıyorlarsa, yüksek bağlantı noktalarını taramayacaklardır. Ayrıca, hedeflemeye başlamadan önce orada bir sistem olduğunu bilmeleri gerekir. Güvenlik duvarı işini yapıyorsa, sistem açık bir bağlantı noktasına rastlayana kadar temelde görünmezdir.
user1751825

3

Tek bağlantı noktası numaralarını kullanmak, uygulamanızı root olmayan bir kullanıcı olarak çalıştırmanıza izin vermediğini bildirmediğiniz sürece hiçbir güvenlik sağlamaz.

Bu tür şeyler anlaşılmaz bir güvenlik olarak düşünülebilir ama aslında güvenlik değildir.


Tam gelişmiş bir VPN kullanmanın başka alternatifleri var mı? Belki ekstra giriş / şifre koruması olan ters web proxy bir tür? (squid bunu yapmaz)
SofaKng

@sofakng: Stunnel: stunnel.org
Maxwell

3

Her iki uçta Linux kullanıyorsanız ssh tüneli de kullanabilirsiniz:

ssh -f -N -L 9090:localhost:9090 user@remote-host

Örneğin, uzak ana bilgisayardaki 9090 numaralı bağlantı noktasını yerel bağlantı noktası 9090'a iletmek için kullandığım şey budur cherokee-adminve diğer web GUI'leri için benzer kurulumlar kullanıyorum. Uygulama yapılandırmasında yalnızca localhost üzerinde çalıştıklarını belirterek uygulamaları bu şekilde koruyabilirsiniz, örn 127.0.0.1. Bu şekilde dışarıdan ulaşılamazlar, ancak onları yönlendirebilirsiniz ssh. man sshBağlantı noktası iletmeyi kullanarak daha fazla seçenek olup olmadığını kontrol edin (sorununuzu tamamen başka bir şekilde çözebilecek X dahil).

Bu, kurulumunuza bağlı olarak ek yazılım yüklemeden / yapılandırmadan hedefinize ulaşmak için uygun bir yol olabilir.


1

Güvenlik duvarınız buna izin veriyorsa, önce kimlik doğrulamasının güvenlik duvarı düzeyinde gerçekleşmesini sağlayabilirsiniz, şifrelerinizin karmaşıklığı yeterliyse, maruz kalan hizmetlerin güvenliğini zorlar. SSL tünellemesini, örneğin stunnel ve karşılıklı kimlik doğrulamasını kullanarak da kullanabilirsiniz .

Daha yüksek bağlantı noktası numaralarını kullanmanın, belirli bir şekilde, IP'nizi tarayan ve bazı istismarları deneyen botlara referans olarak daha güvenli olduğu göz önüne alındığında, ancak birisi gerçekten içeri girmek isterse, daha yüksek bağlantı noktası numaralarını kullanmak daha fazla güvenlik sağlamaz.


Pfsense kullanıyorum ve bazı web hizmetlerimde yerleşik SSL (HTTPS) desteği var. Stunnel kullanmak hala daha iyi mi? Stunnel kullanımı "güvenlik duvarında kimlik doğrulama" düzeyinde mi?
SofaKng

1
"Güvenlik duvarında kimlik doğrulaması" nasıl yapılır?
wag2639

Pfsense'in bu işlevselliğe sahip olup olmadığını bilmiyorum, ancak Junipers yönlendiricilerinde HTTP çevirisi trafiğine erişim vermek için yerel kullanıcıları (hatta RADIUS) kullanabilirsiniz. Stunnel ile ilgili olarak karşılıklı yetkilendirmeyi sertifikalarla birlikte kullanabilirsiniz, stunnel HTTP trafiğini SSL ile çevreleyecek ve yetkilendirmeyi işleyecektir.
Maxwell
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.