Опубликован: 20.02.2006 | Доступ: свободный | Студентов: 2990 / 515 | Оценка: 4.22 / 3.75 | Длительность: 33:08:00
ISBN: 978-5-9556-0087-1
Лекция 4:

Сканеры портов

Ключевые слова: Telnet, SSH, UDP, прикладной уровень, SNMP, уровень представления, XDR, уровень сеанса, RPC, транспортный уровень, NetBIOS, сетевой уровень, ARP, IPX, OSPF, канальный уровень, Arcnet, Ethernet, Token Ring, физический уровень, коаксиальный кабель, оптоволокно, витая пара, assigned numbers, IANA, номер порта, серверное приложение, finger, SSL, межсетевой экран, потоки управления, переполнение буфера, Хакер, переполнение, безопасность кода, вредоносный код, вредоносная программа, полоса пропускания, цифровая подпись, коммутатор, почтовый сервер, корпоративная сеть, маршрутизатор, DNS-сервер, активный пользователь, троянский конь, троянская программа, hack, политика безопасности, ICQ, AOL, instant messenger, мегабайт, freebsd, mac os, openbsd, windows 95, GPL, hacker, Subscribe, insecure, администратор безопасности, SAM, вторжение, pentium, ОЗУ, энергия, SYN, режим командной строки, rpm, интерфейс командной строки, дистрибутив, Си, GCC, бинарный файл, установка программ, суперпользователь, исполняемый файл, многопроцессорная система, Windows NT, scan, сетевая маска, ipv4, октет, удобочитаемость, маска сети, глобальная сеть, bounce, параметры командной строки, ACK, сокет, ST, скрытность, ping, sweep, SP, ICMP, stealth, RST, b-tree, протокол TCP, внутренняя сеть, имя программы, AIX, beos, digitize, netbsd, openvms, QNX, VAX, vxworks, IDL, p-si, pt, протоколирование, сеть данных, control panel, administrative tools, automatic, manual, DHCP, аргумент опции, fingerprinting, сетевой интерфейс, сетевая карта, концентраторы, домашняя страница, формат вывода, pop, хакерские атаки, echo, CGI, расширяемость, vi, установка значений, операции над файлами, макрос, просмотр файлов, маршрутный префикс, DB-9, sorting, гипертекст, SMB, Bind, сервер dns, extra, пользовательская процедура, режим доступа, маршрутное имя

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

Взглянув еще раз на модель ВОС, вы увидите, что после установления базового сетевого соединения между двумя машинами, приложение использует это соединение для выполнения функций, запрашиваемых пользователем. Приложение может загружать web-страницы, посылать электронные сообщения или осуществлять интерактивный вход с применением Telnet или SSH.

Обзор лекции

Изучаемые концепции:

  • Порты TCP/UDP
  • Идентификационные метки TCP
  • Как работает сканирование портов
  • Конфигурирование сканирования портов
  • Методы сканирования портов

Используемые инструменты:

Nmap, Nmap for Windows, Nlog

Номер уровня модели ВОС Название уровня Примеры протоколов
Уровень 7 Прикладной уровень DNS, FTP, HTTP, SMTP, SNMP, Telnet
Уровень 6 Уровень представления XDR
Уровень 5 Уровень сеанса RPC
Уровень 4 Транспортный уровень NetBIOS, TCP, UDP
Уровень 3 Сетевой уровень ARP, IP, IPX, OSPF
Уровень 2 Канальный уровень Arcnet, Ethernet, Token ring
Уровень 1 Физический уровень Коаксиальный кабель, оптоволокно, витая пара

Малоизвестная, но важная организация Internet Assigned Numbers Authority (IANA) присваивает номера портов TCP/UDP. Она отслеживает множество различных стандартов и систем, обеспечивающих функционирование Интернете. Среди ее обязанностей - распределение IP-адресов и назначение ответственных за имена доменов верхнего уровня. IANA обладает значительной властью, хотя по большей части остается в тени. Немногие люди за пределами инженерных подразделений коммуникационных компаний знают о существовании IANA, но она управляет значительной частью "недвижимости" Интернета. IANA отвечает также за поддержание списка сетевых портов, по которым можно подключаться к определенным сервисам, предполагая, что приложение или операционная система соответствуют этим стандартам. Разумеется, всем компаниям, производящим программное обеспечение, надлежит скрупулезно следовать этим стандартам, иначе их продукты могут оказаться несовместимыми с другими подключенными к Интернету системами. В табл. 4.1 перечислены некоторые из наиболее употребительных TCP-портов для серверных приложений.

Полный список номеров портов представлен в приложении С. Самую свежую версию этого списка можно найти на Web-сайте IANA (http://www.iana.org). Номер порта присвоен почти каждому значительному приложению. Как для TCP, так и для UDP-сервисов эти номера лежат в диапазоне от 1 до 65535. Номера портов от 0 до 1023 считаются зарезервированными для общеупотребительных приложений, обычно выполняющихся от имени пользователя root или другого привилегированного пользователя. Соответствующие им номера портов называются общеизвестными. Номера портов с 1024 по 65535 можно регистрировать в IANA для конкретных приложений. Они обычно соответствуют определенным сервисам, но подобная регистрация не имеет для производителей столь же обязательной силы, как в случае зарезервированных номеров.

Наконец, существуют недолговечные номера портов, которые операционная система выбирает случайным образом из номеров, превышающих 1024, (обычно - в верхней части диапазона). Они используются для машин, которые произвольным образом устанавливают соединения с другими машинами. Например, для загрузки web-страницы ваша машина обратится к порту 80 web-сервера. Сервер увидит входящее соединение с некоторым случайным номером порта, превышающим 1024. В таком случае сервер будет знать, что это, вероятно, пользователь, а не другое приложение, устанавливающее с ним соединение. Он также использует недолговечный номер порта для отслеживания определенного пользователя и сеанса. Например, если вы параллельно откроете два навигатора, то ваш компьютер для сеанса каждого из них создаст два разных номера порта для установления соединений, которые сервер будет считать различными.

Таблица 4.1. Общеупотребительные серверные порты
Номер порта Протокол Сервис
21 FTP Протокол передачи файлов (управляющий порт)
22 SSH Защищенный shell
23 Telnet Telnet
25 SMTP Почтовый сервис
53 DNS Разрешение доменных имен
79 Finger Finger
80 HTTP Web-сервис
135-139 NetBIOS Сетевые коммуникации Windows
443 SSL Защищенный web-сервис

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

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

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

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

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

Роман Попов
Роман Попов

После прохождения курса Стандарты инфрмационной безопасности мне предложено получение Удостоверения о повышении квалификации от НИУ ВШЭ по программе Менеджмент информационной безопасности. Программа включает в себя ряд курсов которые я уже ранее проходил. Какой порядок действий в данном случае? Как прозводится перезачет результатов? И какие экщамены мне надо еще доздать чтобы получить удостоверение?

Александр Путятинский
Александр Путятинский

Добрый день по окончании данного курса выдается сертификат?