Я создал chrooted sftp-папку, следуя инструкциям здесь: http://www.thegeekstuff.com/2012/03/chroot-sftp-setup/
Он работает нормально, моя единственная проблема в том, что, похоже, существует явная уязвимость, которая потенциально может позволить скомпрометировать информацию на сервере, если пользователь, загружающий контент, будет взломан.
В частности, sftp позволяет вам создавать символические ссылки, поэтому, например, если папка размещения скомпрометирована, все, что им нужно сделать, это sftp in, а затем:
sftp> symlink /etc/passwd web/user-list
И если предположить, что web
папка - это корень веб-сайта, затем перейдите в http://example.com/user-list
покажет содержимое / etc / passwd.
Это обеспечивает доступ для чтения к любому файлу в системе в любом месте, к которому пользователь веб-сервера может иметь доступ для чтения - все, что им нужно сделать, это создать символическую ссылку, указывающую на него.
Таким образом, они могли использовать следующее, чтобы получить наши сертификаты и подделать наш сервер:
sftp> symlink /etc/httpd/certs/example.key private-key
sftp> symlink /etc/httpd/certs/example.crt public-cert
Итак, я предполагаю, что мой вопрос: есть ли способ заблокировать это?