Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное пособие 1262

.pdf
Скачиваний:
3
Добавлен:
30.04.2022
Размер:
921.59 Кб
Скачать

Консольные утилиты настройки сети

Во время инсталляции системы пользователю предлагается настроить сетевой интерфейс. Эту же утилиту можно вызвать при необходимости переназначить IP-адрес, шлюз по умолчанию, DNS-сервер. Для этого надо набрать: netconfig. В единственном диалоге настроек надо ввести соответствующие параметры и нажать «ОК».

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

Настройки, которые были изменены с помощью ifconfig, действуют только в текущей сессии. Если имеются какие-то специфические установки сетевых адаптеров или конфигурации сети, необходимо поместить полную конфигурационную команду на базе ifconfig в конец скрипта /etc/rc.d/rc.local.

Пример 2.1 Вывод команды ifconfig без параметров.

# ifconfig

eth0 Link encap:Ethernet Hwaddr 00:02:E3:48:4F:DF inet addr:10.3.3.86 Bcast:10.3.3.255 Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:34498 errors:0 dropped:0 overruns:0 frame:0

TX packets:1519 errors:0 dropped:0 overruns:0 cerrier:0 collisions:646 txqueuelen:100

Interrupt:11 Base addres:0xe000 Memory:dfefe00-dfeff080 lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

UP LOOPBACK RUNNING MTU:3924 Metric:1

RX Packets:627 errors:0 dropped:0 overruns:0 frame:0 TX packets:627 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0

19

Команда ifconfig здесь выводит информацию обо всех интерфейсах системы (сетевая карта Ethernet и интерфейс обратной петли lo). Выводятся: типы сетевых интерфейсов, аппаратные адреса (у lo нет), сетевые адреса и маски, информация об активности, метрика шлюза по умолчанию (сколько узлов до шлюза), максимальный размер кадра, ошибки передачи, коллизии, ресурсы системы (прерывание, адрес ввода-вывода, область памяти для DMA; lo ресурсов не занимает).

Пример 2.2 Команда на выключение интерфейса и вывод информации.

#ifconfig eth0 down

#ifconfig eth0

eth0 Link encap:Ethernet Hwaddr 00:02:E3:48:4F:DF inet addr:10.3.3.86 Bcast:10.3.3.255 Mask:255.255.255.0

BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:4699 errors:0 dropped:0 overruns:0 frame:0

TX packets:1554 errors:0 dropped:0 overruns:0 cerrier:0 collisions:646 txqueuelen:100

Interrupt:11 Base addres:0xe000 Memory:dfefe00-dfeff080

Видно, что слово UP из третьей строки вывода пропало, интерфейс остановлен.

Программа ping проверяет прохождение сигнала при помощи сообщений запроса и эхоответа ICMP. В частности, ping обходит транспортный уровень со стороны клиента и никак не взаимодействует с транспортным уровнем или уровнем приложений со стороны сервера.

Формат команды выглядит как ping <IP-адрес> или ping <доменное имя>.

Комбинируя эти команды, можно выявить проблемы, например, с разрешением имён. Поскольку ping не умеет обходить брандмауэры, то вначале нужно отключить фильтрацию пакетов. Если ping запущен без параметров, остановить посылку запросов можно комбинацией клавиш Ctrl+C.

20

Пример 2.3 Вывод команды ping.

# ping 10.3.3.27

PING 10.3.3.27 (10.3.3.27): 56 octets data sendto: Network is anreachable

ping: sent 64 octets to 10.3.3.27, ret=-1

--- 10.3.3.27 ping statistics ---

1 packet transmitted, 0 packet recieved, 100% packet loss

Вывод говорит нам, что сеть недоступна (так как в предыдущем примере мы остановили интерфейс) и выводит статистику: 1 пакет отправлен, 0 пакетов получено, 100% пакетов потеряно.

Запустим интерфейс вновь и опробуем ping.

Пример 2.4 Запуск интерфейса eth0 и ping хоста 10.3.3.27.

#ifconfig eth0 up

#ping 10.3.3.27

PING 10.3.3.27 (10.3.3.27): 56 octets data

64 octets from 10.3.3.27: icmp_seq=0 ttl=64 time=0.5 ms 64 octets from 10.3.3.27: icmp_seq=1 ttl=64 time=0.3 ms 64 octets from 10.3.3.27: icmp_seq=2 ttl=64 time=0.3 ms

--- 10.3.3.27 ping statistics ---

3 packet transmitted, 3 packet recieved, 0% packet loss round-trip min/avg/max = 0.3/0.3/0.5 ms

Послано три пакета, получено три пакета, время прохода туда-сюда минимальное/среднее/максимальное составило

0.3/0.3/0.5 миллисекунд.

При несрабатывании ping нужно предпринять ряд дей-

ствий:

отключить брандмауэры;

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

– проблема в карте;

21

проверить индикаторы на коммутаторах, если не загораются, проблема в кабеле, соответствующем порте, или коммутаторе; начать с замены кабеля, смены порта, если с коммутатором могут работать другие системы – проблема не в нем, а в конкретной системе;

если не проходит команда ping 127.0.0.1, значит хост не сконфигурирован как сетевой, не работает стек TCP/IP, повреждено программное обеспечение;

локализовать проблемы маршрутизации с помощью утилиты traceroute.

Существуют вспомогательные утилиты для мониторинга сети. Для просмотра и редактирования ARP-кэша используется утилита arp.

Пример 2.5 Вывод команды arp.

Флаги -a и -n означают соответственно: выводить данные обо всех интерфейсах, не преобразовывать IP-адреса в имена.

# arp -an

?(10.1.1.1) at 00:04:75:C2:3D:F9 [ether] on eth0

?(10.1.1.2) at <incomplete> on eth0

?(10.1.1.27) at 00:0E:A6:2A:5D:1D [ether] on eth0

Если хост, на котором просматривается кэш ARP, не инициировал сетевой обмен, кэш может оказаться пустым. В данном примере перед вводом arp был вызван ping для узлов

10.1.1.1, 10.1.1.27 и для несуществующего хоста 10.1.1.2. В вы-

водимой информации мы можем видеть: IP-адрес получателя, МАС-адрес его сетевой карты, протокол уровня передачи (Ethernet), с какого интерфейса осуществлялось взаимодействие. Знак вопроса в начале строки означает, что ARP ничего не знает о доменных именах получателей.

Мощной утилитой анализа сетевых соединений является netstat. Например, команда netstat -lp выведет информацию о портах, которые слушают запущенные в системе серверы, и имена этих серверов. Если сервер сконфигурирован для запуска

22

через суперсервер, с портом для данного сервера будет ассоциировано имя суперсервера. Из-за большого объёма выводимой информации, вывод netstat желательно перенаправлять в ути-

литу less.

Пример 2.6 Часть вывода команды netstat

# netstat -lp | less

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program Name

tcp

 

0

0

*:8100

*:*

LISTEN 2159/Soffice.bi

tcp

 

0

0

*:6000

*:*

LISTEN 2073/X

tcp

 

0

0

*:457

*:*

LISTEN 1970/Serv_doc

tcp

 

0

0

*:54320

*:*

LISTEN 1940/Portsentry

... ... ... ... ... ... ... ... ... ... ... ...

 

 

 

 

... ... ... ... ... ... ... ... ... ... ... ...

 

 

 

 

Active UNIX Domain Sockets (only servers)

 

 

 

Proto RefCnt Flags

 

Type

State

I-Node PID/Program Name Path

unix

0

[ ACC ] STREAM LISTENING 735

1778/Postmaster

/var/prtmp

 

 

 

 

 

 

 

unix

0

[ ACC ] STREAM LISTENING 688

1695/gmp

/dev/gmpct

unix

0

[ ACC ] STREAM LISTENING 948

2073/X

/tmp/.X11-

unix

0

[ ACC ] STREAM LISTENING 995

2102/kfm

/tmp//kfm

... ... ... ... ... ... ... ... ... ... ... ...

Из примера видно, что netstat с данными опциями выводит имя и идентификатор процесса сервера, локальный и удалённый адрес соединения, транспортный протокол, состояние соединения, а также статистику сокетов, создаваемых серверами. В текущем примере все сокеты – локальные, создаются Х-сервером, демоном мыши, файловым менеджером и другими программами. Большая часть вывода опущена. Также можно обратить внимание на то, что множество портов прослушивается индикатором сканирования портов portsentry.

В дистрибутив обычно входит анализатор пакетов tcpdump. Если запустить программу без параметров, на стандартный вывод будет выводится информация о всех пакетах, попавших на сетевой интерфейс (если он единственный). Остановить программу можно, нажав Ctrl+C.

23

Пример 2.7 Вывод команды tcpdump

# tcpdump

tcpdump: listening on eth0

11:02:50.170605 arp who-has 217.25.11.17 tell 217.25.11.18 11:02:50.170917 arp who-has 217.25.11.18 tell 217.25.11.17 11:02:53.041653 217.25.1.108.route > 217.25.1.255.route: rip-resp 2: 11:02:54.019161 10.1.1.4.631 > 10.1.1.255.631: udp 83 (DF)

4 packet recieved by filter

0 packet dropped by kernel

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

Следует также обратить внимание на те возможности, которые предоставляет файловая система /proc. Например, вывод команд ifconfig -a и netstat -i формируется на основе содержания файла /proc/net/dev. Как и любой файл, его можно по-

смотреть, введя: cat /proc/net/dev, или less /proc/net/dev.

Конфигурирование сетевой карты вручную произво-

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

Кроме самой карты необходимо настроить соответствующий ей сетевой интерфейс. Если по каким-либо причинам нельзя воспользоваться утилитами netadmin или netconfig, следует отредактировать конфигурационный файл.

24

Конфигурационные файлы интерфейсов Ethernet находятся в каталоге /etc/sysconfig/network-scripts и имеют имена типа ifcfg-eth0, ifcfgeth1 и так далее. Синтаксис файла: имя_поля=значение. Смысл большинства значений ясен, например, в качестве значений поля BOOTPROTO (протокол конфигурирования при загрузке) могут выступать слова STATIC (все значения заданы вручную и они будут считываться стартовым скриптом из данного файла), или DHCP (интерфейс будет настраиваться с помощью сервера DHCP).

Пример содержания файла конфигурации Ethernet-ин- терфейса приводится ниже.

Пример 2.8 Содержание файла /etc/sysconfig/network- scripts/ifcfg-eth0

# Broadcom Corp.|BCM4401 100Base-T DEVICE=eth0

BOOTPROTO=static

BROADCAST=10.3.3.255

HWADDR=00:02:E3:48:4F:D8

IPADDR=10.3.3.86

NETMASK=255.255.255.0

NETWORK=10.3.3.0

ONBOOT=yes

TYPE=Ethernet

Первая строка – комментарий, указывает на наличие в системе чипа Broadcom BCM4401. DEVICE – системное имя интерфейса. BOOTPROTO обсуждалось выше. BROADCAST – широковещательный IP-адрес. HWADDR, IPADDR, NETMASK, NETWORK соответственно аппаратный адрес, IPадрес интерфейса, маска сети и сетевой адрес. ONBOOT=yes означает активацию при любой загрузке системы, поле TYPE определяет протокол уровня передачи. После завершения редактирования файла и его сохранения в новой редакции необходимо выполнить команду: service network restart, чтобы изменения были приняты ядром.

25

Все вышеописанные подходы используются администратором или пользователем при реализации двух основных сценариев: подключение нового хоста к действующей сети и настройка сервера сети.

При подключении нового хоста администратор (пользователь) должен владеть следующей информацией:

каков диапазон IP-адресов сети;

какая политика выделения адресов – статические адреса или динамически, выделяющиеся службой

DHCP;

как разрешаются имена, локально или службой DNS (как правило);

как сеть соединяется с другими сетями;

каков ранг адресов сети, относится ли сеть к какомулибо историческому классу или является подсетью (надсетью) и имеет маску сети иной длины, нежели

маски классов по умолчанию.

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

IP-адрес и маска сети или отмечается, что адрес будет получаться DHCP-клиентом от DHCP-сервера;

имя хоста;

IP-адрес DNS-сервера (серверов);

IP-адрес шлюза по умолчанию.

Это минимальный набор сведений, необходимый для правильного функционирования сетевых служб. Сетевой интерфейс подключаемого хоста может быть настроен до физического подключения к сети и проверен с помощью утилит ifconfig и ping. Затем осуществляют физическое подключение и тестирование сети. Любые проблемы работы сетевых служб решаются путём их локализации.

26

Контрольные вопросы

1.В чем различия между протоколом и службой?

2.Для чего нужны эталонные сетевые модели? Помогает ли модельный подход понять принцип работы сети?

3.Имеет ли значение для протокола сетевого уровня, какой протокол уровня передачи его обслуживает: PPP, Ethernet

или, например, AppleTalk?

4.Что значит «сеть с обнаружением коллизии?»

5.Как обеспечивается уникальная идентификация со-

кета?

6.Какие возможности имеются у администратора сети ОС Linux для настройки и диагностики локальной сети?

7.Ситуация: не пингуется адрес 127.0.0.1. Какие возможны причины?

8.Ситуация: не пингуется ни один адрес сети кроме локального. Какие возможны причины?

9.Ситуация: не пингуется адрес другой сети. Какие воз-

можны причины?

27

Лабораторная работа №3 Сетевые утилиты ОС LINUX

Цель работы – изучение сетевых утилит ОС LINUX, средств и методов сбора предварительной информации в Интернет об анализируемой корпоративной сети.

Краткие теоретические сведения

Одним из первых этапов анализа защищённости является сбор информации об исследуемой КС. В зависимости от используемой методологии анализа защищённости применяются различные методы сбора информации.

Методы сбора информации делятся на активные и пассивные. Активные методы требуют отправки запросов в КС и анализа её ответов, а пассивные используют информацию, добровольно рассылаемую КС.

В результате сбора предварительной информации о сети могут быть получены:

информация о доменах КС;

данные об используемом системном и прикладном ПО;

применяемые средства защиты информации;

адреса электронной почты пользователей;

адреса IP-сетей и др.

Исходной информацией для получения таких данных могут служить название организации, адреса электронной почты сотрудников, IP-адреса или DNS-имена узлов КС.

Методами получения информации являются:

использование функционала поисковых систем;

опрос серверов DNS и SMTP;

опрос серверов регистраторов Интернет с помощью специализированных средств (например, whois) или

28