Назад | Перейти на главную страницу

Обеспечение безопасности файловой системы для безопасного SFTP-сервера

Это может показаться не вопросом развития, но по сути так оно и есть. Позвольте мне объяснить, как это сделать. Наша основная цель в разработке - страницы с динамическим контентом. Некоторые из наших клиентов просили нас предоставить им место на наших серверах (которое они платят) для их старого статического контента. Мы используем для этого, предоставляя клиенту учетную запись ftp для другого домена. (например, домен клиента - customer.com, но они получали доступ к своему статическому контенту через otherdomain.com/customerstatic).

Теперь мы хотим повысить безопасность, предоставляя клиентам учетные записи sftp на их серверах Linux. Я использую openssh / sftp-server в своей среде оболочки, поэтому они не могут входить в систему или выполнять команды.

Проблема в том, что по своей природе многие файлы файловой системы по умолчанию (drwxr-xr-x), что означает, что любой пользователь сможет читать содержимое каталога и, возможно, некоторые файлы. Я не думаю, что изменение всей файловой системы на -rwxr-x - x является разумным шагом, так как я не знаю, сколько системных файлов потребуют этого разрешения на чтение.

Кто-нибудь уже сталкивался с этой проблемой в прошлом. Если да, не могли бы вы осветить путь?

Спасибо

SFTP по своей природе небезопасен; впускать их во всю файловую систему. Ознакомьтесь с этим, чтобы узнать, как включить доступ SFTP на chroot base, который заблокирует каталоги, к которым они могут получить доступ, скажем, их домашние каталоги или куда вы хотите их загрузить.

В Linux я бы обратил внимание на эту часть (настройка / etc / ssh / sshd_config):

  Match Group sftponly
         ChrootDirectory %h
         ForceCommand internal-sftp 
         AllowTcpForwarding no

Это означает, что любой пользователь группы sftponly будет ограничен доступом к своим домашним каталогам.

См. Ссылку для получения дополнительной информации, а также прочтите справочную страницу sshd_config. Надеюсь, это поможет.

Когда вы говорите «Многие файловые системы имеют по умолчанию 755 разрешений», это фактически означает по умолчанию маска установлено на 022. Вы можете изменить это значение по умолчанию (для новых файлов), установив umask на 027, что сделает разрешения по умолчанию 750, или установите umask на 007, что сделает разрешения по умолчанию 770.

Это может быть интересно - http://sublimation.org/scponly/wiki/index.php/Main_Page

Позволяет вам ограничить некоторых пользователей только scp - а также, при необходимости, chroot'ом для них.

Вы можете подумать о настройке сервера OpenVZ, а затем создать отдельный небольшой ftp / sftp-контейнер виртуальной машины для каждой компании. Это разделяет их всех, и как только вы освоите OpenVZ, он действительно пригодится для подобных мелочей.