Настройка sftp ubuntu 14

Обновлено: 04.07.2024

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

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

3 января стартует курс «SQL-injection Master» © от команды The Codeby

За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

Запись на курс до 10 января. Подробнее .

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

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

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

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

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

Debian 8 (Jessie)

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

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

Debian 7 (Wheezy)

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

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

CentOS/RedHat

Fedora

Ubuntu

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

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

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

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

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

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

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

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

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

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

Настройка MySecureShell

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

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

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

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

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

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

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

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

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

02

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

1 декабря стартует зимний поток курса " Тестирование Веб-Приложений на проникновение " от команды codeby . Общая теория, подготовка рабочего окружения, пассивный фаззинг и фингерпринт, активный фаззинг, уязвимости, пост-эксплуатация, инструментальные средства, Social Engeneering и многое другое. На курс можно записаться до 10 декабря включительно. Подробнее .

3 thoughts to “Как установить безопасный SFTP сервер в Linux”

Спасибо за материал, наконец то нашел что надо.
И верстка у вас в блоге ползет, у меня монитор 1280, страница по ширине чуть ли не в два раза больше получается, неудобно читать.
В скриптах где то проблема, js отключаешь тогда нормально в ширину вписывается.

Здорово, что понравился сайт !
С версткой все в порядке. После Вашего замечания все исправили. Наслаждайтесь 🙂

Здравствуйте. Очень полезная статься. Единственное что хотелось бы еще узнать это почему может не работать секция virtualhost и параметр CreateHome??


Sftp (SSH или Secure file transfer protocol). Вместо того чтобы использовать VSFTPD можно использовать SFTP, Sftp является единственным безопасным способом для передачи/отправки по сравнению с VSFTPD. Sftp выполняет все операции по зашифрованному SSH соединению. Если пользователь разрешил доступ только к своим файлам без доступа SSH, то можно создать CHROOT для пользователя.

Я для примера, возьму готовый мой сервер на CentOS 7 и покажу как можно настроить sFTP на нем. По мере необходимости, я буду дополнять данную статью настройками для других Unix/Linux ОС.

Данные на котором будет тестироваться sFTP:

Можно проверить следующими командами:

CentOS 7/ RedHat 7:

Создание группы (group) для SFTP

Для начала, обновим ОС:

PS: Если не установлен SSH на сервере ( у меня он уже установлен), то нужно установить следующий пакет:

Во-первых, необходимо создать группу для SFTP:

Устанавливаем ему пароль:

Затем, вносим созданного пользователя в созданную SFTP группу:

Так делать не стоит! Потому что, данный пользователь получит SSH доступ на сервер, а нам нужно только дать данному юзеру sFTP доступ, по этому, делаем следующее:

Если вы собираетесь использовать FTP и SFTP на том же самом сервере, вы должны следовать шагам что выше при создании пользователей. Для существующих пользователей, необходимо выполнить условия ниже:

Настройка Sftp

Отредактируем sshd_config для настройки SFTP:

Ищем строку ( у меня это 147-148) и комментируем следующую строку:

И заменяем на следующую строку:

Добавьте следующие строки в конец файла:

Перезапускаем службу ssh демона:

Проверяем SFTP соединение:

И проверяем не разрешено ssh соединение для пользователя:

Выше мы можете видеть что пользователь sftp_user_1 определен только SFTP, он не может получить доступ к SSH.

Вот готовый скрипт:

Добавить комментарий Отменить ответ

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

Для быстрого доступа к FTP вы можете использовать SFTP.
Для подключения вводите следующие данные:
Хост: sftp://<ip_адрес_vds_сервера>
Имя пользователя: root
пароль: <пароль_от_root>
порт: 22
Учитывайте то, что файлы загруженные через sftp будут загружены от пользователя root и будут недоступны другим пользователям, если таковые имеются в вашей операционной системе.
Если нужно загрузить файлы от других пользователей, то рекомендуем настроить ProFTPD, инструкция ниже.


В данной статье будет описан процесс установки FTP сервера ProFTPd на базе Debian 8. Статья подходит так же и для Debian 7, Debian 9, Ubuntu 12.04, Ubuntu 14.04 и Ubuntu 16.04.

Содержание

Шаг 1 - Установка сервера ProFTPd

Первым делом необходимо обновить список доступных для установки пакетов в OS:

Теперь можно установить ProFTPd:

На требование о подтверждении установки нажимаем Y и отправляем кнопкой ENTER.

Для Debian и Ubuntu 12.04 / 14.04


Для Ubuntu 16.04

В появившемся окне с выбором настройки (изображение 2) выберите standalone и нажмите "ENTER".


После этого FTP сервер ProFTPd будет установлен и появится возможность подключаться к серверу через FTP, используя данные ранее созданных пользователей

Шаг 2 - Настройка сервера ProFTPd

Для того, чтобы каждый пользователь, после подключения через FTP, попадал автоматически в свою домашнюю директорию и не мог выйти выше нее, необходимо изменить параметр DefaultRoot.
Введите:

И найдите строки:

Если Вам при попытке открыть конфиг с помощью редактора nano высветилась ошибка:

Установите редактор nano командой:

Шаг 3 - Создание пользователей с доступом через FTP

По-умолчанию, созданные командой adduser пользователи будут иметь возможность подключения через FTP к серверу и просматривать файлы своей домашней директории.
Если Вы хотите создать пользователя без возможности авторизации через SSH, используйте команду:

Ключ -d указывает на каталог, к которому необходимо выдать доступ.
Вам необходимо вместо DIRECTORY подставить абсолютный путь до директории. Вместо LOGIN логин создаваемого пользователя.
Чтобы пользователь смог подключиться, необходимо в доступные в системе шеллы добавить /sbin/nologin командой:


Для установки или изменения пароля пользователя используйте команду:

Вместо LOGIN пропишите логин пользователя, для которого меняете пароль.
Вам будет преложено ввести новый пароль и повторить его для подтверждения.


В этом руководстве мы покажем вам, как подключиться к серверам SFTP в Ubuntu, а также как настроить собственный сервер для размещения. Для начала убедитесь, что вы используете последнюю версию Ubuntu для настольных ПК, серверов или ОС на основе Ubuntu.

Настройте SFTP в Ubuntu

Если вы планируете подключиться к SFTP-серверу на своем ПК с Ubuntu, вам необходимо настроить SSH-сервер на удаленном сервере Ubuntu или удаленном ПК с Ubuntu, чтобы вы могли получить к нему доступ. К счастью, настроить SSH-сервер в Ubuntu невероятно просто.

Для начала откройте окно терминала на рабочем столе Ubuntu. Вы можете запустить окно терминала, нажав Ctrl + Alt + T на клавиатуре. Или найдите «Терминал» в меню приложения Ubuntu и запустите его таким образом.

В открытом окне терминала используйте команду apt install, чтобы установить пакет «openssh-server». После установки этот пакет настроит и настроит SSH-сервер, а также SFTP, к которому вы можете получить удаленный доступ.

Когда сервер OpenSSH запущен и работает на удаленном компьютере, вы можете выполнить быстрый тест, чтобы убедиться, что вы можете подключиться к нему. Для этого запустите ssh your-username @ localhost на машине с SSH-сервером. Вы должны использовать свой пароль для входа в систему.

Подключение к SFTP через командную строку

Чтобы подключиться к серверу SFTP с помощью командной строки в Ubuntu, начните с запуска окна терминала. Затем, в открытом окне терминала, используйте команду sftp для подключения к вашему SSH-серверу.

Для подключения укажите имя пользователя на удаленном компьютере, а также его IP-адрес. Например, если удаленный сервер Ubuntu или ПК Ubuntu, на котором размещен SSH-сервер, имеет IP-адрес «192.168.1.203», используйте его в качестве имени хоста.

После подключения вы можете запустить команду ls, чтобы просмотреть, что находится на удаленном сервере.

Чтобы загрузить что-либо с удаленного сервера в домашний каталог, укажите имя файла на удаленном сервере SFTP и используйте команду get.

Нужно что-то загрузить на удаленный SFTP-сервер? Используйте команду put. Он загрузит любой файл на удаленный SFTP-сервер в вашу локальную домашнюю папку (/ home / USERNAME /).

Проверь это - Как добавить изображение водяного знака на экран в Windows 10

Для начала запустите на рабочем столе файловый менеджер Ubuntu. Когда он открыт, найдите кнопку «Другие места» и щелкните по ней. Когда вы нажмете эту кнопку, вы попадете в область «Другие места».


Внутри «Другие места» найдите текстовое поле «Подключиться к серверу» и щелкните его мышью. Затем введите адрес сервера. Например:

После ввода IP-адреса (или имени хоста) в поле нажмите кнопку «Подключиться». Когда вы нажимаете эту кнопку, появляется всплывающее окно. Затем введите свое имя пользователя и пароль, затем снова нажмите «Подключиться».


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

Подключение к SFTP с помощью Filezilla в Ubuntu

Сначала необходимо установить приложение, чтобы подключиться к серверу SFTP с помощью Filezilla в Ubuntu. Затем откройте окно терминала на рабочем столе Ubuntu и используйте команду ниже, чтобы установить приложение.

Как только программа будет установлена ​​в вашей системе, запустите ее. Затем найдите поле хоста и введите приведенный ниже код.

Проверь это - Как найти калории, сожженные при ходьбе по iPhone


Отсюда вы можете загружать и скачивать файлы на свой SFTP-сервер из Ubuntu. Если вы хотите загрузить файл, вот что нужно сделать. Сначала щелкните правой кнопкой мыши нужный файл в правом столбце. Затем выберите вариант «Загрузить» для загрузки.

Вы также можете загружать файлы из Ubuntu с помощью Filezilla. Для этого щелкните правой кнопкой мыши файл в левом столбце. Затем нажмите кнопку «Загрузить». Это отправит файл на сервер SFTP.

Читайте также: