Neden tek bir oturum için bir web sitesinde birden fazla IP adresine izin vermeliyim?


18

Umarım sorum bu sitenin kapsamıyla eşleşir.

Bir CMS geliştiriyorum . Şu anda oturum açmış kullanıcılarım oturum için IP adreslerine kilitlenmiş durumda. Ne yazık ki kullanıcı tabanımın küçük bir kısmı sürekli olarak iki veya daha fazla IP adresi arasında atlıyor. Çoğu muhtemelen yük dengeleyicileri kullanır. Teknik olarak, kullanıcı oturumlarını bir IP adresine kilitlemek gerekli değildir. Web sitemdeki tek bir sayfa isteği için müşterilerin birden fazla IP adresi arasında geçiş yapmasını beklemiyordum.

Şimdi merak ediyorum, müşterilerimin bir sayfa isteği için IP adresleri arasında sürekli olarak atlamalarına izin verme riskleri nelerdir (örneğin, CSS dosyaları xxx.xxx.xxx.xxx tarafından istenir ve JavaScript dosyaları yyy.yyy.yyy tarafından istenir. yyy)? Genelde buna izin vermeli veya yasaklamalıyım?


39
IP'leri atlamak için yük dengeleyicilerine bile ihtiyacınız yok. Metroda telefonunuza bağlanın, tren seyahat ederken her birkaç dakikada bir farklı bir IP alabilirsiniz ve daha sonra telefonunuz bir varış noktasında WiFi'ye geçtiğinde.
whatsisname

13
Ayrıca konumlar arasında hareket eden dizüstü bilgisayarlar için (örneğin, ev> iş> starbucks). Ayrıca: IPv6 rastgele adresleri (IPv6 SLAAC gizlilik uzantıları).
marcelm

sezgisel olarak, ben istemciden farklı kaynak Ips atlama "zaman zaman" daha bir şey olsaydı sorunlara neden beklenir.
Tom H

1
Eğer siz kontrol etmek veya sizin bilgisine sahip bir ağda kurulacak bir webapp geliştiriyoruz olabilir Birden IP'leri kullanıcıların mutlaka beri ne olacak değildir bu durumda" demek mümkün olabilir çünkü güvenlik için bunu yapmaya karar buna WS'lerinden erişebilirsiniz ve aralarında IP'lerini değiştirebilecek yük dengeleyicileri veya başka şeyler yoktur "... bu durumda WS'leri her zaman aynı olana (ya da her birkaç ayda bir
değişebilir

1
@TomH Hayır, webapps'lerin büyük çoğunluğu IP adresinizi umursamıyor, yeni bir TCP bağlantısı üzerinden bir HTTP isteğinde aynı çerezleri kabul edecekler. Sadece çılgın ve kötü tasarlanmış bok oturumunuzu bir IP veya bağlantıya kilitler.
Navin

Yanıtlar:


35

kullanıcı tabanımın küçük bir kısmı sürekli olarak iki veya daha fazla IP adresi arasında atlıyor.

Nedenler

Kullanıcılarınızın anonimleştirme hizmetini kullanarak gerçek IP adreslerini etkin bir şekilde saklamaya çalışmadığını varsayarsak ...:

Gördüğüm çoğu kurumsal örnek, daha büyük şirketler ve bazı ISS'lerin her biri farklı bir harici IP adresine sahip bir proxy sunucu kümesi kullanmasından kaynaklanıyor ve kullanıcı istekleri bu küme üzerinden dengeleniyor.

Dual Stack kullanıcılarının IPv4 ve IPv6 üzerinden istekte bulunduğunu ve sonraki istekler için iki RFC 8305 protokolü arasında geçiş yaptığını görebilirsiniz .

Diğer senaryo, bir Wi-Fi erişim noktasının en uç noktasında olduğum ve cihazımın Wi-Fi ve hücresel veri arasında "rastgele" geçiş yapmasıdır.

Çözümler

İlk senaryoda, bu tür bir IP adresini "güvenlik" i yalnızca ilk üç okteti göz önünde bulundurarak oturumlarınızda tutmaktan ödün verebilirsiniz;

İkinci ve üçüncü senaryoda, alakasız sağlayıcılardan bile tamamen farklı istemci IP adresleri göreceksiniz.

Oturumlarınızı belirli bir IP adresine bağlamayın; bu, kullanıcı deneyimini bozma olasılığı, gerçek gelişmiş güvenlik sağlamaktan daha olasıdır.


27
Artık kimse tam da bu nedenlerle oturumları IP adreslerine bağlamıyor.
Michael Hampton

33
ASLA oturumları IP adreslerine bağlamayın, 80'ler bitti! İnternet Servis Sağlayıcım, tarayıcımın deli gibi atladığı telefonuma eksiksiz / 64 ağ sağlıyor .
bjoster

6
Tüm bunlara ek olarak, Çok Yollu TCP giderek yaygınlaşmaktadır.
Can Poyrazoğlu

3
CMS'nizi teknik kullanıcılar için yapıyorsanız, giriş sayfasında "bu oturumu yalnızca ip (xxx.yyy.zzz.iii) ile sınırlandır" onay kutusunu
koyabilirsiniz

6
@bjoster, IPv6 gizlilik uzantıları nedeniyle, adres değiştirmeye devam ediyor, böylece web siteleri sizi yalnızca
IP'nizle izleyemez

9

Şimdi merak ediyorum, müşterilerimin bir sayfa isteği için IP adresleri arasında sürekli olarak atlamalarına izin verme riskleri nelerdir (örneğin, CSS dosyaları xxx.xxx.xxx.xxx tarafından istenir ve JavaScript dosyaları yyy.yyy.yyy tarafından istenir. yyy)? Genelde buna izin vermeli veya yasaklamalıyım?

Birincil risk, oturumu ele geçiren kötü niyetli bir kullanıcıdır. Bir veya daha az sayıda IP adresine kilitleyebiliyorsanız, tamamen farklı IP adreslerinden gelen kullanıcıların oturumu ele geçirmesini engelleyebilirsiniz.

Sorun, bazı kullanıcıların bunu meşru bir şekilde yapmasıdır. Yük dengeli bir proxy kullanıyor olsunlar veya iki kablosuz erişim noktasının (veya her ne olursa olsun) kenarlarında olsunlar, birden çok IP adresi kullanırlar. Yani bu kullanıcılar için izin vermek zorundasınız. Ayrıca, hangi kullanıcıların birden fazla IP adresinden istedikleri dışında, birden çok IP adresi gerektirdiğini söylemek zor.

Bunun etkisini azaltmanın bir yolu HTTPS kullanmaktır. Daha sonra kötü niyetli aktör, oturum çerezinin yanı sıra güvenli katmandan da ödün vermek için bir yol bulmalıdır. Güvenli olmayan bir bağlantı üzerinden, kötü niyetli aktör yalnızca bir oturum çerezinden ödün vermek için ağ denetimini kullanabilir. Ancak HTTPS üzerinden, aynı kötü niyetli aktörün konuşmanın sonlarından birine erişmesi gerekiyor. Kötü niyetli aktör buna sahipse, farklı bir IP kullanmak gerekli değildir.

TL; DR : genellikle aynı kullanıcı için farklı IP adreslerinden gelen isteklere izin vermelisiniz. Bunun olabilmesinin meşru nedenleri var. Bu sömürü sınıfından korumak için HTTPS kullanın.


4

müşterilerimin bir sayfa isteği için sürekli olarak IP adresleri arasında geçiş yapmalarına izin verme riskleri nelerdir?

Güvenlik açısından sıfır risk.

Şimdi, pratik açıdan. Bu, güvenlik veya DoS koruması için belirli algoritma türlerini kullanamayacağınız anlamına gelir .

Kullanıcı isteklerini kısıtlamanın basit bir yolu IP adresine göre izlemektir. Bunun uygulama sunucunuzla etkileşim kurması gerekmediğinden, bunu yapmak için hizmetleri daha düşük düzeylerde kullanabilirsiniz. Apache'nin mod_evasive gibi yazılımlar bunu yapar. Yine de bu teknikleri kullanabilirsiniz, ancak kullanıcı değiştiren IP adresleri etkinliklerini azaltacaktır. Daha sonra, kullanıcılar yine de IP adreslerini değiştirecekler, böylece bu teknikler hiçbir zaman gerçekten etkili olmamıştı.

İlgili, ancak farklı bir kullanım örneği, başarısız oturum açma girişimlerini kısıtlıyor. Bu, kaba kuvvet parola tahminini önlemek içindir. Ancak yine de, kullanıcılar IP adreslerini değiştirirse yapabileceğiniz hiçbir şey yoktur. Gerçekten ciddi bir bilgisayar korsanı kendi makinelerini bile kullanmazdı. Bir botnette biraz zaman satın alır (veya daha önce enfekte olmuş botnet'i kullanır) ve 10.000 kişinin PC'si (IP adresleri) aracılığıyla hizmetinize bağlanır. Bu gerçekten kullanıcının IP adresini sınırlamakla ilgili değildir, çünkü giriş öncesi olduğundan, akılda tutulması gereken bir şeydir.


1

Kullanıcının yeni bir IP adresine geçmesinin birkaç nedeni vardır.

  1. IPv6 gizlilik uzantıları, günümüzde birçok IPv6 istemcisi lan üzerindeki / 64 içinde atlayacak.
  2. Yük dengeli proxy'ler, istemcilerin isteği, her biri ayrı bir IP ile birkaç proxy'den birine yönlendirilir.
  3. NAT havuzlarında, nat nat birden fazla IP adresi ile yapılandırılır ve havuzdan isteğe bağlı olarak istemci TCP bağlantılarına IP / port kombinasyonları atar.
  4. Kullanıcı, günümüzde telefonlarda olduğu gibi farklı ağlar veya bir ağın parçaları arasında hareket ediyor.
  5. Çift yığın kullanıcıları IPv4 ve IPv6 arasında atlama yapabilir.

Şimdi merak ediyorum, bir sayfa isteği için müşterilerimin sürekli IP'ler arasında geçiş yapmasına izin verme riskleri neler?

İstemci oturumlarını IP'lere kilitlemenin avantajı, oturum çalma saldırılarını zorlaştırmasıdır. Bir saldırganın istemcilerin çerezlerini çalmasına izin veren ancak istemcinin IP adresinden sunucunuza bağlantı yapmasına izin vermeyen bir mekanizması varsa, IP kilidi bunların oturumu çalmasını engeller.

Dezavantajı, söyledikleri gibi, oturumlarını açık bir nedenden dolayı geçersiz kılan bazı kullanıcılar için kırılmaya neden olacaktır.

Günümüzde çoğu site, kırılmanın bu tür kilitlemenin avantajlarından daha ağır bastığını düşünmektedir.

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.