FTP'ye bazı güvenli alternatifler nelerdir? [kapalı]


22

Bu Hacker News hikayesi tamamen FTP'nin dezavantajları ile ilgili. FTP kurmamın tek nedeni kolay olması.

Biliyorum ve scpzaten kullanıyorum, ancak bazen dosyaları sshsunucuma erişmesine izin vermeden birisiyle paylaşmak istiyorum . Dosyaları yükleyebilmelerini ve indirebilmelerini istiyorum, ancak başka hiçbir şey yapmamasını ve onları tek bir dizine sınırlandırmak istiyorum. Ayrıca bağlantılarının şifrelenmesini istiyorum ssh.

FTP'ye bu kriterleri karşılayan alternatifler nelerdir?


2
Sen kullanabilirsiniz scp olmadan ssh bkz: serverfault.com/questions/354615/allow-sftp-but-disallow-ssh
Taş

1
Bu makaleyi okumakla uğraşmayacağım ama FTP'nin kapalı bir ağda (bodrumdaki sunuculardan / bodrumdaki sunuculardan) kullanılmak üzere tasarlandığını hatırlamakta fayda var, bu yüzden güvenlik hiç bir zaman dikkate alınmadı. Herkese açık ağlarda hala kullanımda olması şaşırtıcı.
John Gardeniers,

1
Bazıları ftp'nin hiç tasarlanmadığını, ancak çeşitli insanlar tarafından hayal edilen İyi Fikirler aracılığıyla gelişti ve erişim kontrolü kilitli kapılar ve kızgın bakışlarla gerçekleştiğinde, kapalılık, ağlar için gözlenebilir bir özellik haline gelmeden çok önce dosya aktarımı için yazılım yarattı.
Eroen

Yanıtlar:


7

Proftpd, dosya aktarma amacıyla kullanıcıları sshd'den tamamen ayırmanıza izin veren yerleşik bir sftp sunucusuna sahiptir. Bunları daha da izole etmek için tamamen ayrı bir passwd dosyası kullanacak şekilde ayarlayabilirsiniz (aslında / etc / passwd dosyasında bir kullanıcı yoksa, ssh ile bir sisteme giriş yapmak ve chroot'u kırmak zordur. .)

proftpd ayrıca sftp kullanıcısını kolayca dizine ayırmanızı ve izole etmenizi sağlar.

Böyle bir şey yaparız:

LoadModule mod_sftp.c

<VirtualHost 10.1.1.217>

    ServerName  "ftp.example.com"

    # from http://www.proftpd.org/docs/howto/NAT.html
    MasqueradeAddress   1.2.3.4
    PassivePorts 27001 27050

    UseSendfile off

    ExtendedLog         /var/log/proftpd/access.log WRITE,READ default
    ExtendedLog         /var/log/proftpd/auth.log AUTH auth

    AuthUserFile /etc/proftpd/AuthUsersFile
    AuthOrder           mod_auth_file.c 

    <IfModule mod_sftp.c>
        Port 10022
    SFTPAuthorizedUserKeys file:/etc/proftpd/ssh_authorized_keys/%u
        SFTPEngine On
        SFTPLog /var/log/proftpd/sftp.log
        SFTPHostKey /etc/ssh/proftpd-ssh_host_rsa_key
        SFTPHostKey /etc/ssh/proftpd-ssh_host_dsa_key
        MaxLoginAttempts 6
    </IfModule>
</VirtualHost>


3

Ben kullanacağı WebDav sunucu etkin bir https! Kimlik doğrulama daha sonra standart http yetkilendirme şemasına dayanır. Bir rehber apache bulunabilir ile webdav kurmak için buraya o zaman https'nin arkasında bu kaynağın koymak sadece gerekli olduğu ve burada ben nasıl yapılacağını güzel bir açıklama buldum o .


Burada kullanılan dil göz önüne alındığında, en azından makalenin İngilizce versiyonuna link vermiş olabilirsiniz.
John Gardeniers,

haha üzgünüm bu hatayı fark etmedi. Düzeltdiğiniz için teşekkürler!
Ocak'taki

1

“Serbest” i şart olarak belirtmediniz, ben de Masslogic Transit paketini grupbilimsel olarak atacağım. Muhtemelen çoğu insan için biraz overkill ve fiyat aralığının dışında, ancak özellik paketi acayip fantastik bir şey değil. İkinci bir Mass Transit sunucusu edinin ve otomasyonu aydınlatın; bazı dosyaları çok hızlı bir şekilde taşıyorsunuz.


0

Sen kurulum yapabilirsiniz sftpthat use sshbenzer bir modda ftp.

Makinenizde bazı kullanıcılar oluşturabilirsiniz (bir veya daha fazla, her kullanıcının birbirlerinin dosyalarına erişmesinin uygun olup olmadığına bağlıdır), onlara kabuk / bin / false ve chroother kullanıcıya bu dosyaların bulunduğu bir dizine yerleştirdi.


0

Etkin tls şifrelemeli saf ftpd kullanabilirsiniz. Yapılandırma çok basit, yapılandırma dosyasında şifreleme uncomment TLS seçeneğini etkinleştirmek için (sadece bir satır :)), istemcilerinizi ftps ile bağlanacak şekilde yapılandırın. (Tüm ftp istemcilerinin ftps desteklemediğini hatırlamanız gerekir).


-1

Kullanıcı için giriş kabuğu olarak rsync ayarlayarak girişlere izin vermeden ssh üzerinden rsync ile indirme ve indirme işlemlerini etkinleştirebilirsiniz. Bu, sertifika girişlerini, şifrelemeyi ve standart dosya sistemi izinlerini çalıştırırken, kabuk hesaplarını etkinleştirirken (hesap bir kabuğa sahip olmayacak, ancak rsync =)) ssh'nin tüm hedeflerini mümkün kılar.


Ve bu nasıl daha güvenli olabilir? Yine de
temizleyin

Bu, nasıl kurduğunuza bağlı. Ortak yol (bunu yaptığım tek yol) ssh kullanmak ve rsync'i giriş kabuğu olarak ayarlamak veya (root erişimi için) komuta özgü ssh certs.
Eroen,

1
Rsync, bir servisi çalıştırırken (cevabınızı tavsiye ettiğiniz gibi) şifrelemesi yoktur. Elbette, rsync + ssh ile durum böyle değil. Anlamınızı daha net hale getirmek için cevabınızı düzenleyebilirsiniz.
AÇAA

Değişiklikler oldu (birinin yukarıdaki yorumları kötü şekilde uydurması durumunda).
Eroen

Her ne kadar istenmediyse de, FTP ve FTP benzeri protokoller için kullanımı kolay çok sayıda arabirim olmasına rağmen, şahsen rsync için bir tane bilmiyorum. Amaçlanan kullanıcılar teknik değilse, bu bir sorun olabilir.
John Gardeniers,
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.