Файл: Проектирование системы защищённого доступа к FTP-серверу организации ООО «ЛИКВИД».pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 28.03.2023

Просмотров: 397

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Введение

Сейчас трудно представить фирму или компанию без сети. Поэтому появилась потребность как в компьютерах для сотрудников, так и в создании корпоративных серверов. Чаще всего компании выделяют целые комнаты и этажи, установленные на серверных платформах, специально созданных для этого. Компании поменьше позволяют себе иметь только пару серверов на платформе обычного компьютера. Для хранения большого объема информации стали использовать FTP-сервера, что представляло из себя своеобразную библиотеку файлов, которая имела неограниченные размеры файлов. Это сервер, работающий по File Transfer Protocol (протоколу передачи файлов) или, сокращенно, FTP. У таких серверов имеются уязвимости, так как FTP не разрабатывался как защищенный протокол. А также FTP используется для администрирования сайтов – в виде загрузки файлов на виртуальный хостинг.

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

Целью написания курсовой работы является спроектировать систему безопасного подключения к FTP

Для достижения поставленной цели предполагается решить комплекс взаимосвязанных задач:

1. Исследовать, изучить научную литературу про FTP сервера.

2. Выявить, исследовать, изучить, рассмотреть основные определения и формулировки.

3. Применять полученную информацию на практике.

Протокол построен на архитектуре «клиент-сервер» и использует разные сетевые соединения для передачи команд и данных между клиентом и сервером. Пользователи FTP могут пройти аутентификацию, передавая логин и пароль открытым текстом, или же, если это разрешено на сервере, они могут подключиться анонимно. Можно использовать протокол SSH для безопасной передачи, скрывающей (шифрующей) логин и пароль, а также шифрующей содержимое.

Первые клиентские FTP-приложения были интерактивными инструментами командной строки, реализующими стандартные команды и синтаксис. Графические пользовательские интерфейсы с тех пор были разработаны для многих используемых по сей день операционных систем. Среди этих интерфейсов как программы общего веб-дизайна вроде Microsoft Expression Web, так и специализированные FTP-клиенты (например, FileZilla).


FTP - это очень старый протокол. Он появился намного раньше HTTP и не разрабатывался как защищенный. Поэтому у него много проблем с защитой. Вот самые основные:

  • спуф-атаки;
  • перехват пользовательских данных;
  • сниффинг;
  • захват портов.

При передаче через FTP файлы не шифруются. Соответственно, все команды, имена пользователей и пароли могут быть перехвачены злоумышленниками. Для этого используются безопасные версии, например, для FTP - это FTPS.

Ключевой задачей данной курсовой является: создание безопасной работы с ftp сервером; «закрытие» уязвимостей протокола; избежание утечки информации;

Данная тема крайне актуальна наше время, так как большинство старых (и даже современных) структур серверов используют ftp протокол для работы с данными и их передачи по схеме «клиент-сервер»

Глава 1. Аналитическая часть

1.1 Основные понятия

FTP (File Transfer Protocol — протокол передачи файлов) — стандартный протокол, предназначенный для передачи файлов по TCP-сетям (например, Интернет). Использует 21-й порт. FTP часто используется для загрузки сетевых страниц и других документов с частного устройства разработки на открытые сервера хостинга.

Этот протокол использует архитектуру «клиент-сервер». В чём отличие от HTTP и почему нужно ftp нужно защищать?

При подключении к фтп серверу создается уникальная сессия, которая может быть, как анонимная, так и с аутентификацией пользователя «Логин, пароль».

FTP применяет множественное подключение, что является его особенностью. При этом один канал является управляющим, через который поступают команды серверу и возвращаются его ответы (обычно через TCP-порт 21) - через остальные происходит передача данных, по одному каналу на каждую передачу. Следовательно, в рамках одной сессии по протоколу FTP можно передавать одновременно несколько файлов в обоих направлениях. Каждый канал имеет свой TCP порт, номер которого выбирается либо сервером, либо клиентом, в зависимости от режима передачи.

Первая реализация протокола (1971 г.) предусматривала обмен между клиентом и сервером сообщениями, состоящими из заголовка (72 бит) и данных переменной длины. Заголовок сообщения включал в себя запрос к FTP-серверу или ответ от него, тип и длину передаваемых данных. В качестве данных передавались параметры запроса (например, путь и имя файла), информация от сервера (например, список файлов в каталоге) и сами файлы. Таким образом, команды и данные передавались по одному и тому же каналу.


В 1972 г. протокол был полностью изменён, и принял вид, близкий к современному. Команды с параметрами от клиента и ответы сервера передаются по TELNET-соединению (канал управления), для передачи данных создаётся отдельное соединение (канал данных).

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

В 1980 г. FTP-протокол стал использовать TCP. Последняя редакция протокола была выпущена в 1985 г. В 1997 г. появилось дополнение к протоколу, позволяющее шифровать и подписывать информацию в канале управления и канале данных. В 1999 г. выпущено дополнение, посвящённое интернационализации протокола, которое рекомендует использовать кодировку UTF-8 для команд и ответов сервера и определяет новую команду LANG, устанавливающую язык ответов.

FTP-протокол имеет ряд общих команд и ошибок, которые используются в консоли (Таблица 1, Таблица 2)

Таблица 1

Команды ftp-протокола

ABOR

Прервать передачу файла

CDUP

Сменить директорию на вышестоящую.

CWD

Сменить директорию.

DELE

Удалить файл (DELE filename).

EPSV

Войти в расширенный пассивный режим. Применяется вместо PASV.

HELP

Выводит список команд, принимаемых сервером.

LIST

Возвращает список файлов директории. Список передаётся через соединение данных.

MDTM

Возвращает время модификации файла.

MKD

Создать директорию.

NLST

Возвращает список файлов директории в более кратком формате, чем LIST. Список передаётся через соединение данных.

NOOP

Пустая операция.

PASS

Пароль.

PASV

Войти в пассивный режим. Сервер вернёт адрес и порт, к которому нужно подключиться, чтобы забрать данные. Передача начнётся при введении следующих команд: RETR, LIST и т. д.

PORT

Войти в активный режим. Например, PORT 12,34,45,56,78,89. В отличие от пассивного режима для передачи данных сервер сам подключается к клиенту.

PWD

Возвращает текущую директорию.

QUIT

Отключиться.

REIN

Реинициализировать подключение.

RETR

Скачать файл. Перед RETR должна быть команда PASV или PORT.

RMD

Удалить директорию.

RNFR и RNTO

Переименовать файл. RNFR — что переименовывать, RNTO — во что.

SIZE

Возвращает размер файла.

STOR

Закачать файл. Перед STOR должна быть команда PASV или PORT.

SYST

Возвращает тип системы (UNIX, WIN, …).

TYPE

Установить тип передачи файла (бинарный, текстовый).

USER

Имя пользователя для входа на сервер.


Таблица 2

Коды ответов ftp-протокола

2xx

Успешный ответ

4xx/5xx 

Команда не может быть выполнена

1xx/3xx 

Ошибка или неполный ответ

x0z

Синтаксическая.

x1z

Информация. Соответствует информационному сообщению.

x2z

Соединения. Сообщение относится к управляющему соединению либо к соединению данных

x3z

Соответствует сообщениям об аутентификации пользователя и его правах.

x4z

Не определено.

x5z

Файловая система. Соответствует сообщению о состоянии файловой системы.

1.2 Характеристика предприятия и его деятельности

ООО «ЛИКВИД» - международная ИТ-компания, поставщик ИТ-решений и сервисов, работающий на рынках России, восточной Европы, центральной Азии, Америки, Индии и Юго-Восточной Азии. Компания предлагает частные и публичные облачные решения, комплексные технологические решения, лицензирование программного обеспечения, поставку аппаратного обеспечения и сопутствующие услуги.

Компания является партнером более чем 3000 поставщиков программного и аппаратного обеспечения, имеет высочайшие партнерские статусы таких компаний, как Microsoft, Oracle, Adobe, Veeam, EMC ,Cortado, Symantec, Dell, VMware, Citrix, Autodesk, Лаборатория Касперского, ITooLabs, Amby и других.

Компания основана в 1997 году в Москве как поставщик научного программного обеспечения.

Общество с ограниченной ответственностью "ЛИКВИД"' создано в соответствии ФЗ РФ от 08.02.98г. № 14-ФЗ «Об обществах с ограниченной ответственностью» зарегистрировано 21 июля 2005 года по адресу: Москва, улица первомайская дом 10. строение 1.

Аппаратная архитектура компании представлена на рисунке ниже (Рисунок 1)

Рисунок 1. Аппаратная архитектура предприятия

Программная архитектура компании представлена на рисунке ниже (Рисунок 2)

Рисунок 2. Программная архитектура предприятия


1.3 Анализ современных технологий безопасного подключения к FTP-серверу

Передача файлов через интернет (FTP) очень уязвима – все данные передаются в не зашифрованном виде и их очень легко перехватить при передаче. Поэтому придумали следующий выход: пользователю выдается специальный ключ, который позволяет зашифровать данные, а на сервере есть второй ключ, который позволяет их расшифровать. В итоге хакер, подключившись к вашему соединению, не сможет расшифровать данные. В этом и заключается суть SSH-технологии.

Этот протокол изначально не задумывался как защищенный, так ка разрабатывался в далеком 1971 году и использовался поначалу лишь в научно-исследовательской сети APRANET, доступ в которую имели только несколько военных объектов и университетов.

Но с развитием Мировой Паутины ее частью стал помянутый APRANET, а, следовательно, и технология FTP перекочевала туда же, поскольку обладала многими преимуществами. Однако, одновременно на несколько порядков возросла опасность несанкционированного доступа.

Поэтому возникла насущная необходимость защиты серверов от различного рода атак. Обычный ФТП не обладает возможностью передачи данных в зашифрованном виде, вследствие чего имена пользователей, пароли, команды и другая информация могут при желании легко и просто быть перехвачены злоумышленниками.

По этой причине были разработаны несколько методов, позволяющих зашифровать передаваемую посредством ФТП информацию. Вкупе все эти способы получили обобщающее и емкое название «Безопасный FTP». Вот какие разновидности протокола соответствуют этому термину:

  • FTPS (FTP + SSL)

Фактически это расширение стандартного протокола передачи файлов, которое обеспечено криптографическим протоколом SSL (Secure Sockets Layer — уровень защищенных сокетов). На сегодняшний день более передовым его аналогом является TLS (Transport Layer Security — защита транспортного уровня). При этом есть два метода предоставления безопасности:

1. Неявный является устаревшим и использует стандартный протокол, требующий применения SSL или TLS, которые могут обеспечить шифрование информации. При таком методе обязательно нужно использовать порты, отличные от обычных, что создает неудобства, поскольку нарушается совместимость клиентов и серверов, не поддерживающих FTPS.

2. Явный — намного более удобный, так как применяет команды стандартного протокола FTP, но при отправке ответа зашифровывает информацию, что позволяет сохранить совместимость, поскольку в этом случае применяются одни и те же порты как для FTPS, так и для FTP. При этом для шифрования данных клиентом отправляется команда «AUTH TLS» или «AUTH SSL».