SFTP служба обеспечивает безопасный механизм доступа и передачи файлов через туннель SSH. Если вы настраиваете SFTP сервер, доступ к которому будут иметь множество пользователей, то вам нужно настроить защиту не только от внешних угроз для защиты пользователей SFTP, но и для защиты от угроз от легитимных, но (потенциально) злонамеренных пользователей. Это достигается изолированием окружения индивидуальных пользователей SFTP.

В этой инструкции я покажу, как настроить безопасный SFTP сервер на Linux. Это будет достигнуто защитой SFTP сервера от SFTP пользователей и изолированием индивидуальных SFTP пользователей друг от друга. Эту цель можно достичь множеством способов, но я опишу как это сделать способом, основанном на применении MySecureShell.

MySecureShell — это SFTP сервер, основанный на OpenSSH, особенностью его является ряд функций безопасности:

  • Ограничение на ширину канала загрузки/выгрузки для каждого соединения
  • Ограничение на количество одновременных соединений на один аккаунт
  • Сокрытие владельца/группы/прав файла и каталога
  • Сокрытие файлов и каталогов, к которым пользователь не имеет доступа
  • Ограничение на время жизни соединения
  • Chroot для SFTP пользователей в его/её каталоге
  • Отклоняются выгрузки файлов или каталогов, которые соответствуют заданным регулярным выражениям

Установка MySecureShell на Linux

Для большинства популярных дистрибутивов MySecureShell распространяется в виде скомпилированных бинарных файлов. Но не для всех они включены в официальные репозитории.

Для пользователей свежей версии Debian всё просто — ставим из официального репозитория.

Debian 8 (Jessie)

Чтобы включить все функции, нужно установить уидный бит (setuid) для бинарного файла mysecureshell.

В других дистрибутивах мы добавляем новый источник приложений.

Debian 7 (Wheezy)

Импортируем ключи репозитория GPG:

Ну и устанавливаем

CentOS/RedHat

CentOS 6

CentOS 5

Fedora

Ubuntu

Начать нужно с импорта ключей репозитория GPG:

Затем добавляем строки репозитория MySecureShell:

Всё готово для установки MySecureShell:

Установка MySecureShell из бинарных файлов

Установка необходимых зависимостей

Установка зависимостей на Ubuntu или Debian:

Установка зависимостей на CentOS, RHEL или Fedora:

Если всё прошло хорошо, то должно быть что-то вроде этого:

Можно запускать компиляцию:

И, наконец, устанавливаем (с правами root):

Настройка MySecureShell

После установки, проверяем, где наш MySecureShell установлен.

Чтобы управлять пользователями SFTP с MySecureShell, сначала создайте группу Linux, к которой будут принадлежать все пользователи SFTP. Давайте назовём эту группу «sftp».

Следующие команды нужно выполнять от суперпользователя. В зависимости от вашей системы, вы можете делать это через sudo или su —

Затем сконфигурируйте существующих пользователей SFTP (например mial) так, чтобы они принадлежали группе «sftp» и использовали MySecureShell шелл во время входа.

Если вы создаёте нового SFTP «с нуля», то тогда команда должна выглядеть так.

Для изменения дефолтных настроек MySecureShell, отредактируйте его конфигурационный файл, размещённый в /etc/ssh/sftp_config. В конфигурационном файле вы можете определить различные групповые настройки безопасности. Например, для группы Linux «sftp»:

Когда конфигурация завершена, убедитесь, что перезапустили sshd следующим образом.

Для перезапуска sshd на Ubuntu или Debian:

Для перезапуска на CentOS, RHEL или Fedora:

Доступ и управление SFTP сервером

На клиентской стороне, вы можете входить в SFTP сервер следующим образом. Пользователям устанавливается корневой каталог в его собственной домашней папке, и никакие другие директории на сервере не видны для пользователя.

На серверной стороне SFTP вы можете управлять SFTP сервером и его пользователями следующим образом.

Для мониторинга пользователей SFTP, которые в данный момент подключены:

02

Чтобы принудительно отключить определённого пользователя SFTP:

Похожие темы

Новости софта от 17 сентября 2014 года (phpMyAdmin... Обновились все поддерживаемые линейки phpMyAdmin 4.0.10.3, 4.1.14.4 и 4.2.8.1. Обновление минорное и исправляет один единственный баг, который относит...
Установка MongoDB на CentOS (VPS) Самой потрясающей возможностью виртуального частного сервера (VPS), кроме повышенных ресурсов по сравнению с обычным виртуальным хостингом, является...
Metasploit Community — Руководство для начин... Содержание О руководстве Целевая аудитория Структура Условные обозначения Поддержка Поддержка Metasploit Pro и Metasploit Express П...
Новая версия Kali Linux 1.0.9. Запущен веб-сайт ин... Довольно быстро после предыдущего релиза (да практически неожиданно, если не сказать больше — ВНЕЗАПНО) вышла очередная, уже 1.0.9 версия Kali...
Стресс-тест сети: DoS веб-сайта в Kali Linux с Gol... На страницах codeby.net уже говорилось об инструментах DoS, которые могут сильно нагрузить серверы HTTP, чтобы парализовать их работу из-за исчерпан...