Vsftpd'nin chroot_local_user neden güvensiz?


20

Benim VPS bir vsftpd kurma ve kullanıcıların ftp ana dizini bırakmasına izin istemiyorum. Anonim değil local_user ftp kullanıyorum, bu yüzden ekledim:

chroot_local_user = EVET

Birçok forum gönderisinde okudum, bu güvensiz.

  1. Bu neden güvensiz?
  2. VPS'ime de katılmak için ssh kullandığımdan emin değilseniz, bu kullanıcıları sshd'den kilitleyebilirim, değil mi?
  3. Bu vsftpd davranışını gerçekleştirmek için başka bir seçenek var mı? (Sistemimdeki "dünya" için tüm klasör / dosyalardaki okuma izinlerini kaldırmak istemiyorum)

Yanıtlar:


20

Aradığınız cevap için VSFTPD'nin SSS bölümüne bakın. Aşağıda, sorunuza cevap vereceğini düşündüğüm önemli alıntı var.

S) Yardım edin! "Chroot_local_user" seçeneğinde bahsedilen güvenlik etkileri nelerdir?

A) Öncelikle, diğer ftp cinlerinin aynı sonuçlara sahip olduğuna dikkat edin. Bu genel bir sorundur. Sorun çok şiddetli değil, ama bu: Bazı kişiler tam kabuk erişimine sahip olduğu güvenilmeyen FTP kullanıcı hesaplarına sahiptir. Bu hesaplar da dosya yükleyebilirse, küçük bir risk vardır. Kötü bir kullanıcı artık ana dizini olan dosya sistemi kökünü denetleyebilir. Ftp arka plan programı bazı yapılandırma dosyasının okunmasına neden olabilir - örn. / Etc / some_file. Chroot () ile bu dosya artık kullanıcının denetimindedir. vsftpd bu alanda dikkatli. Ancak, sistemin libc yerel ayar yapılandırma dosyalarını veya diğer ayarları açmak isteyebilir ...


Bunun için teşekkürler, hepsini bilmiyordum. Bir şey öğrendim! +1
Yanick Girouard

4
Aslında bu SSS'yi okuduktan sonra buraya geldim çünkü bu endişe verici ifadeyi anlamıyorum: "ftp arka plan programı bazı yapılandırma dosyasının okunmasına neden olabilir - örn. / Etc / some_file. Chroot () ile bu dosya şu an kontrol altında Kullanıcı.". Muhtemelen bu sadece vsftpdbir güvenlik açığı (à la buffer overflow) olsaydı olurdu ??? Nasıl çalışıyor mu vsftpddaha büyük olasılıkla bu senaryoyu yapmak evlerine dir chroot'ed kullanıcılarla? Lütfen açıklayın ...
sxc731

4

Sorun hem yerel hesapları kullanamazsınız hem de bu hesapları kabuk girişinden devre dışı bırakamazsınız. Giriş kabuklarını / bin / nologin olarak ayarlarsanız, vsftpd ile giriş yapmanıza izin vermez.

Daha iyi ve daha güvenli bir FTP arka plan programı Pure-ftpd olacaktır. Bakın, EPEL deposundan erişilebilir ve sanal kullanıcılar oluşturmanıza izin verir. Sunucu, kullanıcıların giriş klasörleri için tüm izinleri ayarlamak üzere ortak bir kullanıcı / grup kullanır ve sanal kullanıcılar izinlerle başa çıkmak için oturum açtığında bu kullanıcıya "eşleştirir". Bu daha güvenli ve openssh giriş güvenliği ile uğraşmanıza gerek yok.

Pure-ftpd ayrıca kotalar, oranlar ve bunun gibi birçok özelliği de destekler. Vsftpd'den çok daha iyi.

Aşağıda, kurulumu ve temel bir sanal kullanıcıyı nasıl yapılandıracağınızla ilgili basit bir eğitim verilmektedir: http://blog.namran.net/2011/05/04/how-to-setup-virtual-ftp-server-using-pure-ftpd- içinde centos /

Tam dokümanı okursanız (ki bunu yapmanız gerekir), sanal kullanıcıyı oluştururken -d anahtarının söz konusu kullanıcı için o dizine otomatik kroot olduğunu bilirsiniz.


Ben AllowUsers user1 user2ftp_user1 ssh ile giriş izin vermez sshd_config, direktif kullanın , hala kullanıcı ftp_user1 ftp ile giriş yapabiliyor. Bu yüzden amaçlandığı gibi çalışıyor, ama yine de asıl sorum açık, neden güvensiz?
p1100i

4
Evet olacak! Sadece "kabuk olmayan" ı / etc / shell'e eklemeniz yeterlidir. Birçok sistemde / etc / shell'de / bin / false veya / bin / nologin bulunur. Kabuk oradaysa, vsftpd gerçekten chroot_local_user etkinken oturum açmanıza izin verir.
Frands Hansen

1
O zaman düzeltilmiş duruyorum. Gösterdiğiniz için teşekkürler!
Yanick Girouard
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.