Из выше перечисленных ресурсов наиболее интересными являются две последних категории, которые, как правило, оформлены в виде FTP-архивов.
2.0. Gene 6 BulletproofFTPServer
BPFTP Сервер – это FTP-сервер, который полностью соответствует спецификации RFC-959, а также имеет множество других опций, таких как:
· поддержка скачивания/закачивания;
· просмотр активности сервера в реальном времени;
· бан (автоматический запрет доступа для определённого IP адреса);
· инициированный отказ определенным пользователям;
· коэффициент обмена файлами;
· установка квот на количество пользователей и скорость скачивания/закачивания данных;
· менеджер событий;
· генератор статистики в реальном времени;
· рейтинг пользователей ТОР10;
· виртуальные директории;
· чат.
Если вы хотите иметь полный контроль над пользователями вашего сервера, то эта программа для вас.
Эта программа протестирована под Win9x\NT\W2K\XP. Существуют также версии по *nix системы.
BPFTP Сервер предлагает опции для полного контроля, который вы хотели бы иметь над вашими пользователями, такие как:
· Real time взаимодействие;
· Real time администрирование;
· Real time «шпион»;
· Real time статус аккаунтов ваших пользователей;
· Real time мониторинг подключенных пользователей.
В верхней части окна находятся так называемые Hotkeys, они же «горячие кнопки». Т.е. кнопки быстрого доступа к нужным функциям программы. Здесь находятся такие функции как:
· старт/остановка FTP-сервера;
· доступ к настройкам программы;
· настройка событий на действия;
· доступ к списку пользователей и групп пользователей;
· доступ к статистической информации.
В окне отображается информация в текстовом виде о текущих соединениях и действиях подключённых пользователей.
В нижней части окна программы находится следующая информация:
· количество подключённых пользователей;
· статус FTP-сервера, а также информация о том, какой порт открыт для доступа IP-адресов на сервер;
· скорость передачи информации (в байтах/сек);
· краткая информация о последнем действий пользователя FTP-сервера.
2.2. Общие настройки программы
В данном окне настройки программы настраиваются общие функции. Такие как:
· название FTP-сервера;
· максимальное количество пользователей сервера, которые могут находится на сервере в одно время;
· загрузочные опции сервера, которые активируется вместе с запуском ОС;
· назначение порта, на котором будет прослушиваться фтп.
В данных настройках настраиваются опциональные возможности программы. Такие важные настройки как:
· возможность ограничения доступа к директории и поддиректориям, где расположен FTP-сервер;
· шифрование паролей эккаунтов пользователей;
· ограничение проверки эккаунта пользователя и его пароля до n-раз, затем автоматическая установка его в бан либо просто выкидывание с сервера;
· настройка ограничения доступа с IP-адресов.
В данном окне настраиваются технические возможности программы, оптимизирующие быстродействие её и системы в целом. Это такие настройки как:
· настройка принимающего буфера (в байтах), полезно для медленных или загруженных сетевых решений;
· основное предназначение сервера (закачивание/скачивание, только скачивание, только закачивание);
· приоритет FTP-сервера в общем списке процессов ОС;
· блокирование передачи с сервера на сервер;
· анти-хаммеринг система (слишком частые попытки зайти на сервер без каких-либо на то причин).
Данные настройки позволяют оптимизировать кэширующие способности программы. Это позволяет хранить FTP-серверу в памяти список директорий, к которым осуществлялся доступ, в течение заданного времени, что увеличивает реакцию доступа к ним, если в течение заданного времени были ещё попытки получить доступ к директориям, находящимся в оперативной памяти компьютера.
Данное окно позволяет настроить периодичность обновления статистики, тип собираемой статистики, а так же, для каких пользователей собирать статистику.
Эта опция полезна тем, что наглядно видно загрузку сервера и наиболее популярные ресурсы, что позволяет оптимизировать время работы сервера и более точно настроить кэширующие свойства программы (п. 2.5).
В данных настройках настраиваются такие функции как:
· старт/остановка FTP-сервера по расписанию;
· выполнение стандартных системных функций ОС по расписанию;
· слежение за динамическим изменением определённых IP-адресов.
Последнее позволяет пользователям с динамическим IP-адресом находится в базе пользователей без каких-либо ограничений. BulletproofFTP-сервер сам будет отслеживать изменение IP-адреса и прописывать его в базе, как дополнительный для данного пользователя.
Данные опции позволяют настроить мульти IP-адреса (пользователи могут иметь одинаковые логины и пароли на разных «виртуальных» FTP-серверах), а также визуализацию программы (отображение иконки активности сервера в systemtray, отображение статуса передачи файла, автоматическая проверка обновлений программы, удаление файлов в корзину ОС или непосредственно в DEV\NULL (физическое удаление)).
В данном окне существует возможность настройки ведения подробнейшего файла отчёта, без которого не может обойтись не один серьёзный FTP-сервер.
Эта функция, на мой взгляд, наиболее полезна на web-сайтах, где располагается данный FTP-сервер. На каждое действие или отклик сервера, можно настроить определённую реакцию, такие как вывод сообщения, запуск определённого файла или выполнение системной функции. Т.о. эффективность web-сайтов повышается в несколько раз, а взаимодействие с активным пользователем, вообще, поднимается на недосягаемую до этого высоту.
Данные настройки можно произвести через закладку USERACCOUNTS. Здесь можно прописать следующие полномочия:
· задать определённый список пользователей и прописать для каждого из них свои полномочия;
· задать список директорий, к которым пользователь может получить доступ, а также атрибуты доступа для каждой из них;
· настройка дополнительных настроек;
· настройка квотирования и ограничения скорости;
· возможность задать список разрешённых/запрещённых IP-адресов;
· подробный общий статус за весь период работы сервера.
FTP серверы могут работать в двух режимах: активном и пассивном. В активном режиме, когда начинается передача данных, клиент начинает прослушивание TCP порта и сообщает серверу, какой порт он прослушивает, после чего сервер открывает TCP соединение с порта 20 на порт, указанный клиентом. Затем данные передаются через это соединение. В пассивном режиме, клиент сообщает серверу, что он готов к передаче данных и сервер начинает прослушивать неспециальный TCP порт и сообщает клиенту, который именно. Затем клиент открывает TCP соединение на порт указанный сервером и обмен данными происходит через это соединение.
Проблема этих вспомогательных соединений в том, что существующая спецификация FTP протокола не предусматривает какого-либо метода проверки того, что клиент или сервер, который установил соединение это именно тот, кто запросил это соединение в управляющем сеансе. Это, в сочетании с фактом того, что многие операционные системы назначают TCP порты последовательно в возрастающем порядке, означает, что в результате в FTP протоколе создаются условия позволяющие атакующей стороне перехватить данные, которые передает кто-либо другой, либо подменить данные. Эти атаки слегка отличаются в активном и пассивном режиме. Когда передача данных осуществляется в активном режиме, атакующая сторона угадывает номер TCP порта, на котором конечный клиент ожидает соединения. Затем атакующий непрерывно посылает FTP серверу, к которому подключен клиент, команды PORT ip,of,client,machine,port,port RETR filename или STOR filename. Используя RETR, если надо подменить данные, передаваемые клиенту или STOR, если надо перехватить данные от клиента к серверу. Или, атакующий может использовать атаки, основанные на знании TCP sequence number и подменить сеанс связи от сервера к клиенту. Правда, используя этот тип атак невозможно перехватить данные, можно только подменить их своими.
Команды управления контролем передачи данных, которыми обмениваются «Интерпретатор протокола сервера» и «Интерпретатор протокола пользователя», можно разделить на три большие группы: