На заметку Мутим FTP сервер по быстренькому

Тема в разделе "Хостинг и настройка серверов", создана пользователем X-Shar, 10 янв 2016.

↑ ↓
  1. X-Shar :)
    X-Shar
    Ответить в чате

    Администрация

    Регистрация:
    03.06.2012
    Сообщения:
    5.805
    Симпатии:
    426
    Пол:
    Мужской
    Репа:
    +959 / 152 / -29
    Jabber:
    Skype:
    ICQ:

    638294628

    i.

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

    Будем считать что нам нужен относительно надёжный сервер и тут сразу отпадают различные бесплатные хостинги типо-там хостингер, бегет и т.д.

    Давайте подумаем что можно сделать:

    1.Заюзать специальные FTP-сервера для беккапов, после заказа будет всё-что нужно, где можно взять:

    1.1.Цена: 1$ в месяц за 5 Гб и каждый последующий 1 Гб будет стоить 0.20$ в месяц.

    1.2.
    Протоколы: FTP, SFTP, SSH (rsync, sshfs), SCP
    Дисковое пространство: 5 GB
    Трафик: Без ограничений
    Порт: 1000 Mbps
    Это минимальный тариф, цена 1$.
    NEW: Сервис хранения данных - Inferno Solutions - Корзина

    1.3.
    То-было Нидерланды, а теперь РФ:
    Backup (хранение резервных копий) - 2 Гига - 30-ть рублей;

    1.4.
    Почти любой хостер даёт, поищите их много...

    2. Арендовать свой VPS, за скромную плату, например 1-5 баксов, сервер поднимается очень легко, пример на Дебиан:

    Код:
    apt-get install proftpd 
    Система загрузит нужные для установки модули с сервера debian и приступит к установке.

    Во время установки в систему будет добавлен пользователь ftp и создана его домашняя директория /home/var.

    Если Вас не устраивает лишняя директория в /home, Вы можете поступить как я, и переместить его домашнюю директорию, например, в /var/ftp. Делается это командами:

    Код:
    # меняем домашнюю директорию пользователя ftp на /var/ftp
    usermod –d /var/ftp ftp
    # копируем файл welcome.msg в нужную директорию
    cp /home/var/welcome.msg /var/ftp
    # удаляем папку из /home и файл
    rm /home/ftp/welcome.msg rmdir /home/ftp 
    Ненужную директорию спрятали, теперь переходим непосредственно к конфигурированию и настройке ProFTPD сервера.
    Открывает для редактирования файл /etc/proftpd/proftpd.conf в помощью любого текстового редактора, например, nano:

    nano /etc/proftpd/proftpd.conf

    Далее я привожу пример файл proftpd.conf с подробными пояснениями:

    #
    # /etc/proftpd/proftpd.conf -- This is a basic ProFTPD configuration file.
    # To really apply changes reload proftpd after modifications.
    #

    # Includes DSO modules
    Include /etc/proftpd/modules.conf

    UseIPv6 on # включаем использование IP version 6
    ServerName "FTP" # имя ftp сервера что угодно
    ServerType standalone # если часто юзают фтп то выбираем то что стоит
    DeferWelcome off

    RootLogin off # запрещаем подключать от пользователя root

    # определять имя хоста клиента по IP адресу (желательно отключать для ускорения доступа)
    UseReverseDNS off
    # использование протокола ident (RFC 1413) для идентификации подслединившегося клиента;
    # рекомендуется отключить, все равно этот протокол никто больше не использует;
    # область действия - основной сервер, Global, VirtualHost
    IdentLookups off

    MultilineRFC2228 on
    DefaultServer on
    ShowSymlinks on

    TimeoutNoTransfer 600
    TimeoutStalled 600
    TimeoutIdle 1200

    DisplayLogin welcome.msg
    DisplayChdir .message true
    ListOptions "-l"

    DenyFilter *.*/

    # Автоматическое удаление недогруженного файла.
    DeleteAbortedStores on

    # директория на которую устанавливается сервер
    # (сейчас указана home директория подлюченного пользователя)
    DefaultRoot ~

    # авторизовывать клиента только если он имеет основной shell из списка /etc/shells;
    # область действия - основной сервер, Global, VirtualHost, Anonymous (ВАЖНО!!!)
    RequireValidShell off

    # Порт сервера
    Port 21

    # PassivePorts 49152 65534 # диапазон для пассивного режима ftp

    # If your host was NATted, this option is useful in order to
    # allow passive tranfers to work. You have to use your public
    # address and opening the passive ports used on your firewall as well.
    # MasqueradeAddress 1.2.3.4


    # DynMasqRefresh 28800


    # максимальное число одновременно запускаемых процессов в режиме standalone
    MaxInstances 30

    # Пользователь и группа от которого работает сервер
    User proftpd
    Group nogroup

    # права с которыми будут создаваться файлы и папки
    Umask 022 022

    # разрешить перезаписывать существующие файлы,
    # область действия - server config, VirtualHost, Anonymous, Directory, Global, .ftpaccess
    AllowOverwrite on

    # держать ли открытыми файлы /etc/passwd и /etc/group во время работы proftpd, включая chroot
    # PersistentPasswd off

    # This is required to use both PAM-based authentication and local passwords
    # AuthOrder mod_auth_pam.c* mod_auth_unix.c

    # UseSendFile off

    # обрабатывать ли сайт ftpusers в котором перечислены пользователи,
    # которым нужно запретить доступ по ftp
    UseFtpUsers on

    TransferLog /var/log/proftpd/xferlog
    SystemLog /var/log/proftpd/proftpd.log


    QuotaEngine off



    Ratios off


    # Delay engine reduces impact of the so-called Timing Attack described in
    # Početna stranica
    # It is on by default.

    DelayEngine on



    ControlsEngine off
    ControlsMaxClients 2
    ControlsLog /var/log/proftpd/controls.log
    ControlsInterval 5
    ControlsSocket /var/run/proftpd/proftpd.sock



    AdminControlsEngine off


    #
    # Подключение файлов конфигурации для авторизиции по разным протоколам
    #
    #Include /etc/proftpd/ldap.conf
    #Include /etc/proftpd/sql.conf

    #
    # Используется для FTPS соединений
    #
    #Include /etc/proftpd/tls.conf

    # Базовая конфигурация и директории для анонимных пользователей

    #
    # User ftp
    # Group nogroup
    # # We want clients to be able to login with "anonymous" as well as "ftp"
    # UserAlias anonymous ftp
    # # Cosmetic changes, all files belongs to ftp user
    # DirFakeUser on ftp
    # DirFakeGroup on ftp
    #
    # RequireValidShell off
    #
    # # Limit the maximum number of anonymous logins
    # MaxClients 10
    #
    # # We want 'welcome.msg' displayed at login, and '.message' displayed
    # # in each newly chdired directory.
    # DisplayLogin welcome.msg
    # DisplayChdir .message
    #
    # # Limit WRITE everywhere in the anonymous chroot
    #
    #
    # DenyAll
    #
    #
    #
    # # Uncomment this if you're brave.
    # #
    # # # Umask 022 is a good standard umask to prevent new files and dirs
    # # # (second parm) from being group and world writable.
    # # Umask 022 022
    # #
    # # DenyAll
    # #
    # #
    # # AllowAll
    # #
    # #
    #
    #

    Подробнее хотел бы пояснить следующих несколько директив: RootLogin, UseFtpUsers, DefaultRoot и RequireValidShell.

    RootLogin – включает/отключает доступ по ftp пользователю root. Рекомендую отключить эту директиву и не использовать доступ от root в целях безопасности, так как по ftp передаются не зашифрованный пароль.
    UseFtpUsers – обрабатывать ли файл ftpusers. В данном файле находится имена пользователей, которым запрещён доступ по ftp. Включаем его на всякий случай.
    DefaultRoot – директория для доступа. Устанавливаем его в «~», то есть при заходе по ftp, пользователь будет попадать в свой домашний каталог и не сможет подняться выше него.
    RequireValidShell – разрешить/запретить авторизовывать клиента только если он имеет основной shell из списка /etc/shells. Лично я, споткнулся именно на этой директиве. Дальше Вы поймёте почему.:)

    Итак, остался последний шаг, а именно добавления своего ftp пользователя в систему. К примеру, мы хотим подключаться по ftp от пользователя “alexey” с паролем “56s4a27e”. Добавляем его в систему. Сразу запрещаем доступ это пользователя к системе через shell и указываем домашнюю директорию /home. Делается это следующей командой:

    Код:
    useradd –home /home –shell /bin/false –group nogroup alexey 
    Когда пользователь добавлен, перезагружаем proftpd сервер, командой:

    /etc/init.d/proftpd restart

    Если перезагрузка сервера прошла успешно, продолжаем дальше. Если же нет, ищем ошибки в файле конфигурации proftpd.conf. Пробуем подключится через любой ftp менеджер, например, через Total Commander используя имя пользователя “alexey” с паролем “56s4a27e”.

    Пара мест где можно арендовать сервера (Есть бесплатный пробный период, или очень дешево), в принципе есть уже даже настроенные, т.е. проделывать всё выше описанное и не надо, а сделать всё в панельке например с GUI и парой кликов:


    3. Поднять свой FTP-сервер на винде, буду благодарен кто напишет манн. как !Очень важно!!!Очень важно!!!Очень важно!!!
     
    • Мне нравится Мне нравится x 1
    • Информативный пост Информативный пост x 1

Поделиться этой страницей