Главная страница
Навигация по странице:

  • 5.1. Полезные команды

  • 5.1.1. Сетевые соединения

  • Система | Параметры | Сетевые соедине- ния

  • Изменить

  • 5.1.5. r- команды

  • 5.2. Шифрование

  • Михаил Фленов СанктПетербург бхвпетербург 2010 удк 681 06 ббк 32. 973. 26018. 2 Ф69


    Скачать 3.69 Mb.
    НазваниеМихаил Фленов СанктПетербург бхвпетербург 2010 удк 681 06 ббк 32. 973. 26018. 2 Ф69
    Дата13.03.2022
    Размер3.69 Mb.
    Формат файлаpdf
    Имя файлаlinux_glazami_xakera_3-e_izd.pdf
    ТипДокументы
    #394477
    страница17 из 35
    1   ...   13   14   15   16   17   18   19   20   ...   35
    Глава 5
    Администрирование
    В
    этой главе мы рассмотрим вопросы, с которыми администраторы Linux- систем ежедневно сталкиваются в своей нелегкой работе. Нам предстоит по- знакомиться с множеством команд Linux, научиться их использовать и узнать немало полезного о системе.
    Но разбором команд мы не ограничимся, потому что иначе книга превратит- ся в перевод руководства по Linux. Чтобы этого не случилось, я постарался подобрать готовые решения задач администратора, которые вам пригодятся в
    повседневной жизни. Надеюсь, что материалы этой главы помогут вам най- ти ответы на многие вопросы и избавиться хотя бы от части проблем.
    На просторах Интернета идет самая настоящая война между защитой и взло- мом
    , и побеждает тот, кто быстрее реагирует на действия противника и мень- ше спит.
    5.1.
    Полезные
    команды
    Для начала познакомимся с некоторыми программами и командами, которые позволят вам упростить администрирование и сделать его эффективнее. Нач- нем с команд, необходимых для последующего понимания материала.
    5.1.1.
    Сетевые
    соединения
    Графическая утилита настройки сети в Ubuntu далека от идеала и наглядно- сти
    . Подобные утилиты в Mandriva или в Suse намного интуитивно понятнее в
    работе. Но Ubuntu почему-то самый популярный. Для того чтобы начать настройку соединений, выберите Система | Параметры | Сетевые соедине-
    ния
    . В результате появится окно, в котором по разделам разбиты все сетевые устройства
    , которые могут вывести вас во внешний мир. Выберите устройство,

    Глава
    5
    182
    параметры которого хотите настроить, и нажмите кнопку Изменить. Перед вами должно открыться окно, показанное на рис. 5.1 (если производители ничего не изменили).
    Рис
    . 5.1.
    Графическая программа настройки сети
    В
    этом окне и проводятся настройки сетевого соединения, параметры кото- рого должны быть понятны, если вы знакомы с принципами работы сетевых протоколов
    , а если что-то непонятно, то поищите в алфавитном указателе в
    конце книги или прочитайте до конца эту главу.
    5.1.2. ping
    Одна из часто используемых администраторами команд — ping
    . Она посы- лает
    ICMP-пакеты в виде эхо-запросов на указанную систему для определе- ния пропускной способности сети. О таких запросах мы уже говорили, когда рассматривали сетевой экран (см. разд. 4.10).

    Администрирование
    183
    Например
    , выполните команду ping 195.18.1.41
    , и в ответ вы получите сле- дующую информацию:
    PING 195.18.1.41 (195.18.1.41) from 195.18.1.41 : 56(84) bytes of data.
    64 bytes from 195.18.1.41: icmp_seq=1 ttl=64 time=0.102 ms
    64 bytes from 195.18.1.41: icmp_seq=2 ttl=64 time=0.094 ms
    64 bytes from 195.18.1.41: icmp_seq=3 ttl=64 time=0.094 ms
    64 bytes from 195.18.1.41: icmp_seq=4 ttl=64 time=0.095 ms
    --- 195.18.1.41 ping statistics ---
    4 packets transmitted, 4 received, 0% loss, time 3013ms rtt min/avg/max/mdev = 0.094/0.096/0.102/0.007 ms
    В
    данном случае IP-адрес нужно заменить любым адресом в вашей сети или в
    Интернете, например: ping microsoft.com
    Первая строка информационная, в ней отображается IP-адрес компьютера, с
    которым будет происходить обмен сообщениями (если вы указали сим- вольное имя хоста, то простой командой ping можно узнать его IP-адрес).
    В
    конце строки указан размер пакетов данных, которые будут отправляться.
    Следом на экране начнут появляться строки типа:
    64 bytes from 195.18.1.41: icmp_seq=1 ttl=64 time=0.102 ms
    Отсюда мы узнаем, что было получено 64 байта с адреса 195.18.1.41. После двоеточия отображаются следующие параметры:
    ˆ
    icmp_seq
    — номер пакета. Это значение должно последовательно увели- чиваться на 1. Если какой-либо номер отсутствует, то это означает, что пакет потерялся в Интернете и не дошел до адресата, или ответ не вернулся к
    вам. Это может происходить из-за неустойчивой работы оборудования, плохого кабельного соединения или в случае, когда один из маршрутиза- торов в сети между компьютерами выбрал неправильный путь, и пакет не достиг места назначения;
    ˆ
    ttl
    — время жизни пакета. При отправке пакета ему отводится опреде- ленное время жизни, которое задается целым числом. По умолчанию в
    большинстве версий ttl равен 64, но значение может быть изменено.
    Каждый маршрутизатор при передаче пакета уменьшает это число. Когда оно становится равным нулю, пакет считается заблудившимся и уничто- жается
    . Таким образом, по этому значению можно приблизительно ска- зать
    , сколько маршрутизаторов встретилось на пути;
    ˆ
    time
    — время, затраченное на ожидание ответа. По этому параметру можно судить о скорости связи и ее стабильности, если значение параметра не сильно изменяется от пакета к пакету. Но учитывайте, что время, затра-

    Глава
    5
    184
    ченное на отправку и получение первого пакета, почти всегда выше, осо- бенно при указании имени, а не IP. Это связано с затратами на поиск в ба- зе
    DNS. Все остальные пакеты должны идти равномерно.
    Если ответ на какой-нибудь запрос не был получен, то вы увидите сообщение о
    его потере. Дождитесь, пока программа не отправит 7—10 пакетов, чтобы по их параметрам оценить качество связи, после чего можно прерывать сеанс на- жатием клавиш +. В результате вы увидите краткую статистику об- мена сообщениями: количество отправленных, полученных и потерянных па- кетов
    , а также минимальное, среднее и максимальное время обмена пакетами.
    Вот основные параметры, которые можно использовать в команде ping
    :
    ˆ
    -c n
    — завершение работы после отправки (и приема) n
    пакетов. Напри- мер
    , вы хотите послать пять запросов, тогда команда будет выглядеть сле- дующим образом: ping –c 5 195.10.14.18
    ;
    ˆ
    -f
    — форсированная передача. Например, вам нужно быстро отпра- вить
    50 запросов, тогда команда будет выглядеть следующим образом: ping -f -c 50 195.10.14.18
    . Этот ключ в сочетании с большим количе- ством пакетов значительного размера может сильно загрузить сеть и ком- пьютер получателя, а в некоторых системах даже привести к временному отказу от обслуживания;
    ˆ
    -s n
    — размер пакета. Например, если вы хотите отправить пакет размером в
    1000 байт, команда должна выглядеть так: ping –s 1000 195.10.14.18
    В
    некоторых старых версиях ОС были ошибки, и при получении слишком большого пакета система зависала. В настоящее время погрешности тако- го рода отсутствуют, и встретить подобную систему в Интернете сложно.
    Это наиболее часто используемые параметры. Дополнительную информацию по команде можно получить в справочной системе, выполнив команду man ping
    В
    Н И МА Н И Е
    !
    Не каждый сервер отзывается на эхо
    - запросы
    В
    некоторых системах сетевой экран может быть настроен так
    , чтобы не пропускать
    ICMP- трафик
    , и
    тогда от
    - вета не будет
    , хотя реально сервер работает в
    нормальном режиме и
    пакеты другого типа может воспринимать без проблем
    5.1.3. netstat
    Эта команда показывает текущие подключения к компьютеру. Результат ее выполнения имеет примерно следующий вид:
    Active Internet connections (w/o servers)
    Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 FlenovM:ftp 192.168.77.10:3962 ESTABLISHED tcp 0 0 FlenovM:ftp-data 192.168.77.10:3964 TIME_WAIT

    Администрирование
    185
    Информация представлена в виде таблицы. Давайте рассмотрим ее колонки:
    ˆ
    Proto
    — базовый протокол, который использовался для соединения. Чаще всего здесь можно видеть unix или tcp
    ;
    ˆ
    Recv-Q
    — количество байтов, не скопированных пользовательской про- граммой из очереди;
    ˆ
    Send-Q
    — количество байтов в очереди на отправку удаленному компью- теру
    ;
    ˆ
    Local address
    — локальный адрес формата компьютер:порт
    . В качестве порта может использоваться как символьное имя, так и число. В приве- денном выше примере в первой строке показан порт ftp
    , что соответству- ет числу 21;
    ˆ
    Foreign address
    — удаленный адрес в формате
    IP:порт
    ;
    ˆ
    State
    — состояние соединения.
    У
    этой команды множество дополнительных параметров, и полное их описа- ние можно увидеть в файле справки, набрав команду man netstat
    В
    случае непредвиденной ситуации и подозрения на проникновение в систе- му извне вы с помощью этой команды сможете определить, через какой сер- вис произошло вторжение, и что хакер в данный момент может использовать.
    Например
    , если злоумышленник пробрался через FTP, то он, скорей всего, работает с файлами и может закачивать свои программы для дальнейшего взлома или удалять системные файлы (это зависит от прав доступа).
    5.1.4. telnet
    Мощность
    Linux и его текстовой консоли заключается в том, что вы можете выполнять все действия, не только сидя непосредственно за терминалом, но и
    удаленно, за тысячи километров. Нужно лишь подключиться к компьютеру на порт Telnet-сервера с помощью Telnet-клиента, и можно считать, что вы в
    системе и используете мощности производительной техники, которая может быть недоступна домашнему пользователю.
    В
    Windows очень мало утилит, способных работать в командной строке, по- этому в этой ОС необходим (и широко используется) графический режим. Да и
    сама командная строка в Windows обладает незначительными возможно- стями
    . Для решения этой проблемы был создан терминальный доступ, кото- рый позволяет на клиентской машине видеть экран сервера и работать с ним так
    , как будто вы сидите непосредственно за сервером. Но этот метод отни- мает слишком много трафика и очень неудобен на медленных каналах связи.
    Командная строка Linux по сравнению с графическим режимом практически не расходует трафик и может приемлемо работать даже по самым медленным

    Глава
    5
    186
    каналам
    , например, по соединениям GPRS сотового телефона или домашнего модема
    , где скорость достаточно мала.
    Как вы уже поняли, программное обеспечение Telnet состоит из серверной и
    клиентской частей. При запуске Telnet-сервера открывается порт 23, к ко- торому можно подключиться с клиентского компьютера и выполнять любые команды
    , которые позволяет удаленный сервер.
    Но это не все, с помощью Telnet-клиента можно подсоединяться и к любому сервису
    , протокол которого является текстовым (то есть команды читаемы и
    представляют собой текст). Например, можно подключиться на порт 25 и
    прямо из командной строки отправить E-mail-сообщение, подавая команды
    SMTP-сервера.
    Если у вас есть установленный FTP-сервер, то уже сейчас вы можете выпол- нить команду: telnet localhost 21
    В
    данном случае первый параметр — это localhost
    , потому что я подразуме- ваю
    , что вы подключаетесь к локальному FTP-серверу. Если вы хотите рабо- тать с удаленным компьютером, то укажите его адрес. В качестве второго параметра указывается номер порта. Сервер FTP принимает управляющие команды на 21 порту, поэтому я указал это число.
    Я
    рекомендую применять Telnet-клиент только для отладки различных сер- висов
    , но не для управления реальным компьютером. Поэтому на всех бое- вых серверах отключайте сервер Telnet. Он небезопасен, потому что данные передаются в открытом виде и могут быть перехвачены. Все попытки сделать
    Telnet защищенным заканчивались неудачно и не приводили к желаемо- му результату. Один из относительно безопасных вариантов использования
    Telnet — это подключение через канал шифрования OpenSSL (от Secure
    Socket Layer, протокол защищенных сокетов). Но наибольшую популярность получило управление сервером через протокол SSH (OpenSSH, Open Secure
    Shell), который мы рассмотрим позже, в разд. 5.3.
    Таким образом, Telnet-клиент в системе необходим, а Telnet-сервер, если он у вас установлен, следует срочно удалить и забыть как страшный сон.
    Если вы все же решили использовать Telnet-сервер, то это необходимо делать только через протокол для безопасной связи по сети с применением откры- тых и секретных ключей (см. разд. 5.2). В этом случае весь трафик будет шифроваться
    , но надо принять еще некоторые меры для повышения безопас- ности
    Если у вас установлен Telnet-сервер, то попробуйте сейчас подключиться к
    нему, используя команду telnet localhost
    . Если сервер запущен и под-

    Администрирование
    187
    ключение разрешено сетевым экраном, то перед вами появятся похожие со- общения
    :
    Trying 127.0.0.1
    Connected to localhost
    Escape character is '^]'.
    ASPLinux release 7.3 (Vostok)
    Kernel 2.4.18-15asp on an i686
    Login:
    Ничего страшного не замечаете? А я вижу подробную информацию о дист- рибутиве и ядре. И все это становится известным еще до регистрации любо- му посетителю. Если хакер увидит открытый 23 порт, то ему уже не надо будет мучаться для выяснения, какая у вас ОС и версия ядра, достаточно подключиться к Telnet, и проблема решена.
    Излишняя болтливость Telnet — большая дыра, с которой надо бороться в
    первую очередь. Приветствие, которое вы можете видеть при подключении, находится в файлах /etc/issue и /etc/issue.net. Измените текст сообщения, на- пример следующим образом: echo Текст > /etc/issue echo Текст > /etc/issue.net
    Здесь
    Текст
    — это новое приветствие. Можно указать ложную версию ядра, чтобы запутать хакера: echo Debian Linux > /etc/issue echo Kernel 2.4.4 on an i686 > /etc/issue.net
    У
    меня установлен клон дистрибутива Red Hat с ядром 2.4.18-15asp, а хакер будет думать, что я использую Debian и старое ядро 2.4.4.
    Проблема в том, что после перезагрузки содержимое файлов восстановится, и
    Telnet в приветствии снова покажет всю информацию о системе. Чтобы этого не произошло, после изменения текста приветствия можно установить на файлы атрибут
    +i
    , который запрещает любые изменения: chattr +i /etc/issue chattr +i /etc/issue.net
    Но главная проблема — не болтливость, а отсутствие безопасности. Утилита передает все команды в открытом виде, без шифрования. Если хакеру удаст- ся каким-либо образом перехватить ваши пакеты, то он сможет увидеть не только выполняемые вами команды, но и пароли доступа.

    Глава
    5
    188
    5.1.5. r-
    команды
    В
    Linux есть так называемые r-команды: rlogin
    , rsh
    , rcp
    , rsync
    , rdist
    . Мы не будем их рассматривать, потому что все они создают большие проблемы в
    безопасности. Если Telnet-клиент полезен для тестирования сервисов, то эти команды я включил в обзор только для того, чтобы вы удалили их из сис- темы
    , исключив тем самым соблазн их использовать и возможность их при- менения хакером.
    Все r-команды устарели и небезопасны, потому что позволяют подключаться к
    системе удаленно и при этом передают данные без шифрования.
    5.2.
    Шифрование
    Во времена рождения Интернета и первых сетевых протоколов еще не заду- мывались о безопасности. О ней стали думать только тогда, когда начали происходить реальные взломы и целые эпидемии. Одним из самых больших упущений было то, что в большинстве протоколов данные по сети передают- ся в открытом виде, а сетевое оборудование позволяет прослушивать сетевой трафик
    В
    локальной сети есть свои особенности. Соединения могут осуществляться различными способами. От выбранного типа топологии зависит используе- мый вид кабеля, разъем и используемое оборудование. При подключении по коаксиальному кабелю могут использоваться две схемы: или все компьютеры объединяются напрямую в одну общую шину, или они соединяются в кольцо, когда крайние компьютеры тоже соединены между собой (разновидность первого варианта). При использовании общей шины (рис. 5.2) все компьюте- ры подключены последовательно, и посылаемый пакет приходит ко всем компьютерам сети, а установленные на них сетевые карты проверяют адреса- та
    : если пакет направлен им, то принять, иначе — пропустить.
    Рис
    . 5.2.
    Схема соединения компьютеров "
    Общая шина "
    Компьютер обрабатывает только свои пакеты, но сетевая карта может видеть абсолютно все, что через нее проходит. И если захотеть, то, воспользовав-

    Администрирование
    189
    шись утилитой для прослушивания трафика (сниффером), можно просмотреть все данные, проходящие мимо сетевой карточки, даже если они предназначены не вам. А так как большинство протоколов пропускают пакеты в открытом виде
    , то любой хакер может прослушать сеть и выявить конфиденциальную информацию
    , в том числе и пароли доступа.
    Соединение по коаксиальному кабелю встречается все реже, потому что оно ненадежно и позволяет передавать данные максимум на скорости 10 Мбит/с.
    Да и сама схема подключения в общую шину не внушает доверия. При выхо- де из строя одного из компьютеров может нарушиться работа всей сети.
    Замыкание в кольцо отчасти снимает вопросы надежности, но не решает проблемы скорости и неудобства построения, обслуживания и использования такой сети.
    При объединении компьютеров через центральное устройство хаб (hub) или коммутатор
    (switch) используется топология звезда (рис. 5.3). В этом случае компьютеры с помощью витой пары получают одну общую точку. Такая схема надежнее и позволяет работать на скорости в 100 Мбит/c и более.
    HUB
    SWITCH
    Рис
    . 5.3.
    Схема соединения компьютеров "
    Звезда "
    Если в центре стоит хаб (простое и дешевое устройство), то все пакеты, при- шедшие с одного компьютера, копируются на все узлы, подключенные к
    этому хабу. Таким образом, любой компьютер тоже может видеть пакеты других участников сети.
    В
    случае с коммутатором (более интеллектуальное и более дорогое устройст- во
    ) пакеты будет видеть только получатель, потому что коммутатор имеет

    Глава
    5
    190
    встроенные возможности маршрутизации, которые реализуются в основном на уровне MAC-адреса (Media Access Control Address, адрес управления дос- тупом к среде), который называют физическим адресом. Маршрутизация — это слишком громко сказано, она доступна только в дорогих устройствах, а
    в более дешевых есть только коммутация. Физический адрес — это 48- разрядный серийный номер сетевого адаптера, присваиваемый производите- лем
    . Он уникален, потому что у каждого изготовителя свой диапазон адресов
    (однако не стоит думать, что его невозможно подделать). К каждому порту коммутатора подключен компьютер с определенным MAC-адресом. Пакет направляется только на порт адресата, и другие участники сети его не увидят.
    Существуют коммутаторы, которые умеют управлять передачей на уровне
    IP-адреса (логический адрес), как это делают маршрутизаторы (router).
    В
    этом случае пакеты будут отправляться исходя из логических, а не физиче- ских адресов, и коммутатор сможет объединять целые сети.
    Но даже в случае использования коммутатора есть возможность прослушать трафик на сервере. Такое положение дел никого не устраивает, особенно при работе с конфиденциальными данными.
    Переделывать существующие протоколы нереально, поскольку это накладно и
    в некоторых случаях просто невыполнимо, потому что потребует измене- ния всех существующих программ. Но было найдено более удобное и уни- версальное решение — туннелирование (tunneling), которое позволяет про- граммам удаленного доступа различных разработчиков взаимодействовать друг с другом, а также поддерживает несколько методов проверки подлинно- сти
    , сжатия и шифрования данных. В общих чертах, туннелирование выгля- дит следующим образом (на примере FTP):
    ˆ
    на клиентском компьютере на определенном порту (Порт 1) вы должны запустить программу для шифрования трафика. Теперь, вместо того чтобы передавать данные на удаленный компьютер, вы должны с помощью FTP- клиента соединиться с Портом 1 своего компьютера и направлять данные на него. Полученные данные будут шифроваться и передаваться по сети в
    закрытом виде программой шифрования;
    ˆ
    на удаленном компьютере на определенном порту запускается такая же программа
    , которая принимает зашифрованные данные, декодирует и пе- редает их в открытом виде на порт FTP-сервера.
    На рис. 5.4 показано, как происходит шифрование данных. Получается, что все пакеты передаются через посредника, который кодирует данные. В на- стоящее время наиболее распространенным протоколом шифрования являет- ся
    SSL (Secure Sockets Layer, протокол защищенных сокетов). Он зарекомен- довал себя как надежное средство обмена данными и уже многие годы

    Администрирование
    191
    защищает транзакции в Интернете. Например, когда вы покупаете в элек- тронном магазине какой-либо товар, то в этот момент используется безопас- ное соединение с шифрованием, чтобы ни один злоумышленник не смог под- смотреть информацию о кредитной карте. В момент подключения к серверу браузер автоматически запускает на компьютере клиента программу шифро- вания и через нее в зашифрованном виде передает на сервер данные и полу- чает ответы.
    Клиент
    Программа шифрования
    Дешифрование
    Сервер
    Интернет
    Открытые данные
    Зашифрованные данные
    Зашифрованные данные
    Открытые данные
    1   ...   13   14   15   16   17   18   19   20   ...   35


    написать администратору сайта