• Уменьшение отступа

    Обратная связь

    (info@ru-sfera.pw)

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


X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 068
Репутация
8 174
i.jpg


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

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

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

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



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


1.3.
То-было Нидерланды, а теперь РФ:
- 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
#
# 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 и парой кликов:



Список VPS с бесплатным периодом:

Бесплатный VPS:

Дешёвый хостинг с защитой от ддос:

3. Поднять свой FTP-сервер на винде, буду благодарен кто напишет манн. как !Очень важно!!!Очень важно!!!Очень важно!!!
 
Верх Низ