Наш партнер GENESIS HACKSPACE

Хакспейс: Клуб — физическое место, где собираются увлеченные техникой, IT, электроникой, роботами и физикой люди. Первая сеть бесплатных хакспейсов в г.Тверь и области.

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:

Похожие темы

Обзор разделов инструментов Kali Linux 1.1.0. Част... Программ направленных на решение разнообразных задачи в Kali Linux очень много, и хотя они сгруппированы по разделам, глаза всё равно разбегаются, осо...
Metasploit Express — руководство для начинаю... О руководстве Целевая аудитория Структура Условные обозначения Поддержка Поддержка Metasploit Pro и Metasploit Express Поддержка Metasploit Fram...
Сканирование уязвимостей с Nexpose... Перейти к содержанию полного руководства пользователя Metasploit на русском языке. Терминология Nexpose Загрузка и настройка Nexpose Добавление...
War Thunder теперь доступна на Linux!... Массовая многопользовательская онлайн-игра War Thunder MMO официальна запущена на Linux. Ссылка для бесплатного скачивания. War Thunder для Linux пр...
Как включить ssh вход без ввода пароля... Допустим вы пользователь "A" на хосте hostA, и хотите подключиться по ssh к хосту hostB как пользователь "B" без ввода его пароля на хосте hostB. След...