- •Хайретдинов м.С. Cетевые информационные технологии
- •5.3. Электронная почта. 120
- •5.4. Группы новостей 144
- •Глава 6 Основные программы поиска ресурсов сети Интернет 158
- •Глава7. Глобальные поисковые системы 182
- •Глава 8. Перспективные технологии сети Интернет 206
- •8.4. Технология «Web 2.0» 228
- •Введение
- •1.1 Модель osi
- •Глава 1. Открытые системы Понятие «открытая система»
- •1.2. Уровни модели osi Физический уровень
- •Сетевой уровень
- •Транспортный уровень
- •Сеансовый уровень
- •Представительный уровень
- •Прикладной уровень
- •Сетезависимые и сетенезависимые уровни
- •1.3. Модульность и стандартизация
- •1.4. Источники стандартов
- •1.5. Стандартные стеки коммуникационных протоколов
- •Стек osi
- •Необходимый минимум.
- •Глава 2. Internet-организация, структура, методы
- •2.1. Сети коммутации пакетов
- •2.2. Протокол Internet (ip)
- •2.3. Tcp, udp и другие
- •2.4 Принцип «клиент-сервер».
- •2.5 Системы сетевых адресов
- •2.5.1 Региональная система имён
- •2.5.2 Структура региональной системы имён
- •2.5.3 Поиск адреса по доменному имени
- •2.5.5. Система адресов х.400
- •2.6 Маршрутизация
- •2.6.1 Протокол rip
- •2.6.2 Протокол ospf
- •Глава 3. Локальные и глобальные сети
- •3.1. Особенности локальных, глобальных и городских сетей
- •3.2. Отличия локальных сетей от глобальных
- •3.3. Тенденция к сближению локальных и глобальных сетей
- •3.4. Сети отделов, кампусов и корпораций
- •Сети отделов
- •Сети кампусов
- •Корпоративные сети
- •3.5. Требования, предъявляемые к современным вычислительным сетям
- •3.5.1 Производительность
- •3.5.2 Надежность и безопасность
- •3.5.3 Расширяемость и масштабируемость
- •3.5.4 Прозрачность
- •3.5.5 Поддержка разных видов трафика
- •3.5.6. Управляемость
- •3.5.7. Совместимость
- •Глава 4. Виды доступа в Internet
- •4.1 Непосредственный доступ
- •4.3 Доступ "по вызову" (Dial-up Access)
- •4.4 Доступ uucp
- •4.5 Доступ через другие сети
- •Глава 5 Наиболее распространённые возможности Internet Введение
- •5.1. Удалённый доступ (telnet)
- •Простой протокол telnet
- •Командный режим программы telnet
- •Нестандартные telnet-серверы
- •Telnet и нестандартные порты
- •Необходимый минимум
- •Безопасность и предоставление доступа
- •Удаленный вход в систему
- •5.2. Протокол передачи файлов (ftp) Введение
- •5.2.1. Модели работы ftp.
- •Алгоритм работы при соединении двух ftp-серверов, ни один из которых не расположен на локальном хосте пользователя.
- •Представление данных
- •1. Тип файла.
- •2. Управление форматом.
- •3. Структура.
- •4. Режим передачи. (Указывает на то, как файл передается по соединению данных)
- •5.2.2 Команды ftp
- •5.2.3 Ftp отклики
- •5.2.4. Управление соединением
- •Пример ftp
- •Утилита ftp.
- •5.2.5. Спам - трафик, или тонкости работы протокола ftp
- •5.2.6. Некоторые проблемы ftp
- •Необходимый минимум
- •Список источников:
- •Работа с меню
- •5.2.7. Работа с системой ftp
- •Поиск файлов
- •Поиск ключей
- •Применение указателей (индексов)
- •Применение команды grep
- •Движение по каталогам
- •Смена каталога
- •Форматы файлов
- •Ascii-файлы, или текстовые файлы
- •Бинарные Файлы
- •Выбор типа передачи
- •Если вы не уверены ...
- •Получение Файла
- •Права в другой системе
- •Упакованные файлы
- •Проблемы общего характера
- •Пересылка группы файлов
- •Анонимный протокол ftp
- •Архивы интерпретатора команд shell
- •Замечания относительно различий в системах
- •5.2.8. Протоколы tftp и sftp.
- •Выход из ftp
- •Необходимый минимум
- •5.3. Электронная почта. Введение
- •5.3.1. Системы почтовой рассылки.
- •5.3.2. Почтовые протоколы. Введение
- •Протокол smtp Модель протокола
- •Электронная почта
- •Команды smtp
- •Команды простого протокола передачи почты (smtp)
- •Последовательность команд smtp
- •Конверты, заголовки и тело
- •Описание протокола pop3
- •Режим autorization
- •Пример pop3 сессии
- •Литература
- •5.3.3. Мime: многоцелевые расширения электронной почты для Internet
- •Pine: Реализация mime
- •5.3.4. Что делать, когда электронная почта возвращается
- •Неизвестные компьютеры
- •Неизвестные получатели
- •Почту нельзя доставить
- •Неудачи при доставке почты нескольким адресатам
- •Списки рассылки и отражатели почты
- •Отмена подписки
- •Ведущие и этикет списков
- •5.3.5. Поиск файлов с помощью электронной почты
- •Серверы Internet-muna
- •Запросы в формате listserv
- •Команды поиска файлов утилиты listserv
- •Команды поиска файлов утилиты majordomo
- •Команды поиска файлов утилиты almanac
- •Прикладной шлюз ftPmail
- •Группы новостей
- •Тематика UseNet
- •Как получать информацию из групп новостей
- •WinVn — графическая программа чтения новостей
- •Просмотр материалов телеконференций
- •Составление ответов
- •Подготовка нового сообщения
- •Сохранение сообщений на диске
- •Декодирование сообщений
- •Как правильно завершить сеанс работы с WinVn
- •Просмотр новостей программой trn.
- •Глава 6 Основные программы поиска ресурсов сети Интернет Введение
- •6.1. Поиск в internet с помощью системы gopher
- •Каким клиентом Gopher воспользоваться?
- •Работа с Gopher сервисной компании
- •Запуск из оболочки unix
- •Работа через telnet
- •6.1.1.Работа с системой Veronica
- •Необходимый минимум
- •6.2. Глобальная система world wide web
- •Введение
- •6.2.1. Гипертекстовые системы.
- •Взаимодействие паутины и баз данных.
- •Простейшая homepage
- •6.3. Обзор языка html Введение
- •Направления в развитии языка
- •Базовые понятия языка html
- •Взаимодействие html-страницы с web сервером
- •Список литературы
- •6.4. Протоколы передачи гипертекста http Протокол http
- •История развития протокола
- •Структура протокола
- •Стартовые строки
- •Код ответа
- •Заголовки
- •Пример. Запрос/ответ по http
- •Методы обеспечения безопасности передаваемых данных
- •Процедура установления соединения по tls
- •Процедура hadshake в деталях
- •Глава7. Глобальные поисковые системы
- •7.1.Общие принципы работы поисковых систем
- •Внутренние факторы, влияющие на ранжирование документов в поисковых системах
- •Внешние факторы, влияющие на ранжирование документов в поисковых системах
- •7.2. Качество поиска. Понятие Page Rank
- •Что такое PageRank или что надо знать о pr.
- •ТИц (Тематический Индекс Цитирования)
- •Краткое резюме
- •7. 3. Обзор основных глобальных поисковых систем Internet Введение
- •7.3.1.Поисковая система Rambler
- •Нынешняя позиция Rambler в российском Интернет и на рынке интернет-рекламы
- •7.3.2 "Апорт"
- •7.3.3. Поисковая система Yandex.
- •Проверяйте орфографию
- •Используйте синонимы
- •Ищите больше, чем по одному слову
- •Не пишите большими буквами
- •Найти похожие документы
- •Попробуйте использовать язык запросов
- •Искать без морфологии
- •Поиск картинок и фотографий
- •7.3.4. Поисковая система Googlе История
- •7.3.5. Поисковая система tela
- •Зарубежные поисковики для русскоязычного пользователя
- •7.3.6. Поисковая система AltaVista
- •7.3.7. Поисковый каталог Yahoo
- •7.4. Интеллектуальные поисковые системы: принцип организации, сравнительный анализ. Введение
- •Поиск с обратной связью на естественном языке
- •Интерактивный генератор диалогов
- •Начинается с ввода пользовательского запроса, который порождает либо обмен сообщениями на естественном языке, либо направление интерпретированного запроса поисковому агенту
- •Адаптивный поисковый агент
- •Основные выводы
- •Заключение
- •Список литературы
- •Глава 8. Перспективные технологии сети Интернет
- •8.1.Гигабитные испытательные модели
- •8.2. Примеры служб обмена данными
- •Сети х.25
- •Ретрансляция кадров
- •8.3.Широкополосные isdn и atm
- •Эталонная модель b-isdn atm
- •Протокол атм
- •Категории услуг протокола атм и управление трафиком
- •Перспективы atm
- •Сравнение предоставляемых услуг
- •Стандартизация сетей
- •8.3.1. Who's Who в мире телекоммуникаций
- •Передача трафика ip через сети atm
- •Сосуществование atm с традиционными технологиями локальных сетей
- •Использование технологии atm
- •Вопросы
- •8.4. Технология «Web 2.0» Введение
- •Причины появления web 2.0
- •Что такое web 2.0
- •8.4.1. Основные принципы Веба 2.0 Веб как платформа
- •8.4.2. Использование коллективного разума
- •Блоги и мудрость масс
- •Архитектура взаимодействия
- •Конец цикла разработки по
- •Упрощенные модели программирования
- •Софт работает поверх устройств
- •Богатые пользовательские интерфейсы
- •Что должны уметь компании в Вебе 2.0
- •Подходы к проектированию Веба 2.0
- •Примеры сайтов Web 2.0
- •Пример работы в Web 2.0- википедия (http://ru.Wikipedia.Org/wiki/)
- •В контакте (http://vkontakte.Ru/)
- •Заключение
- •Список литературы.
- •Глоссарий
- •Список литературы
- •Темы ргр по дисциплине «Сетевые информационные технологии»
- •Примеры экзаменационных билетов
5.2.6. Некоторые проблемы ftp
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 и подменить сеанс связи от сервера к клиенту. Правда, используя этот тип атак невозможно перехватить данные, можно только подменить их своими.
При непродуманной реализации протокола FTP клиент может не проверять порт и IP адрес сервера. В таком случае необходимость такой атаки просто отпадает. В тоже время, 4.2BSD FTP клиенты делают такую проверку, а это означает, что большая часть клиентов так же делают подобную проверку. В пассивном режиме все несколько по-иному. Ни Solaris 2.5 (SVR4) FTP сервер, ни WU-ftpd, наиболее распространенные основы FTP-серверов, игнорируют проверку IP адресов вторичных соединений инициированных клиентом. Это означает, что передачи в пассивном режиме не только уязвимы против атак, аналогичных атакам в активном режиме, включая какой-либо тип доступа клиенту или угадывание sequence number, но и обычного TCP соединения из любого места Сети достаточно, чтобы перехватить данные или подменить данные. Чтобы реализовать эти недостатки разработки, атакующему достаточно угадать TCP порт, который сервер будет слушать в следующем сеансе передачи данных и постоянно обстреливать его попытками соединений. Если сервер попытается послать данные клиенту, данные будут посланы атакующему. И наоборот, если атакующий может послать данные на сервер, подменяя данные, которые собирался передать клиент.
Проблема очень серьезная, поскольку позволяет, например, атаковать клиента находящегося за прокси-сервером (подсунув измененные данные прокси-серверу, вы тем самым подсунете их клиенту).
Лечиться эта проблема таким методом: сервер не должен принимать более одного соединения на порт данных (так делает IIS, поэтому против него такая атака работает лишь как DoS, не позволяя подсоединиться клиентам). Клиент в активном режиме должен проверять IP адрес соединения и так же не позволять двух соединений на один порт. Кроме того, при получении сообщения об ошибке или при неожиданном закрытии контрольного сеанса, сторона, принимающая данные, должна эти данные игнорировать (т.е. удалять принятый файл). Кроме того, желательно наличие в протоколе команды вычисляющей контрольную сумму файла (хотя этим можно воспользоваться как DoS атакой - требуются большие ресурсы сервера).
Так же уязвим практически любой FTPD-based FTP сервер (wu-ftpd, например, практически любой версии или стандартный FTPD) . При этом ftp клиент в Midnight Commander, например, такой проблемы не имеет.
Рецепт для борьбы следующий:
Мы угадываем, какой порт будет открыт пассивным Ftp-сервером или активным клиентом и атакуем этот порт постоянными запросами на TCP соединение. Если соединение удалось установить, мы либо посылаем туда свои собственные данные, либо читаем данные оттуда. Либо - и то и другое. Вопрос лишь в том, как угадать порт, а сделать это не сложно, если вы можете использовать атакуемую машину или как FTP сервер, или как прокси или как сервер для отправки почты. В случае атаки на FTP сервер - мы не имеем никаких проблем.
Как должна работать поддерживающая программа? Открывает соединение на 21й (ftp) порт сервера и через равные интервалы времени дает команду PASV, на которую сервер любезно отвечает номером открытого порта. Вот именно его мы и используем за основу для вычисления атакуемого порта. Соединение устанавливается, программа переходит в режим ожидания данных. Если в течение 5 секунд данные не поступили, то программа сама посылает данные. Работает как против сервера, так и против клиента (при условии, что на машине клиента так же живет FTP-Сервер). Можно атаковать клиента и используя данные о порте полученные другим образом, например, если на компьютере клиента стоит sendmail можно отправлять через него письма на свою машину и определять номер порта, с которого пришло соединения на 25й порт. Если на компьютере клиента есть прокси сервер, то можно запросить любую URL со своего компьютера и так же определить порт входящего соединения.
Как использовать?
ftpspy ip_адрес_сервера
Какие требования?
Канал связи между вами и сервером не должен быть сильно хуже, чем канал между сервером и клиентом. Кроме того, не всегда проходит против локальной машины с удаленным клиентом (ну да это и не интересно). Программа создает обширный трафик, причем мелкими пакетами, и получает обратно на каждый пакет Port Unreachable. При этом программа находится в вечном цикле. Два этих факта вместе могут привести в недоумение локальную систему. При работе программы у меня несколько раз закрывалась telnet-сессия.
