Инструменты безопасности с открытым исходным кодом

Traceroute (UNIX) или tracert (Windows): средства диагностики сети


traceroute (UNIX) или tracert (Windows)

Автор/основной контакт: Неизвестен

Web-сайты: http://www.traceroute.org; http://www.tracert.com

Платформы: Большинство платформ UNIX и все платформы Windows

Лицензии: Различные

Справочная информация в UNIX:

Наберите man traceroute в командной строке

Эта команда аналогична ping, но предоставляет намного больше информации об удаленном хосте. По сути, traceroute эхо-тестирует хост, но при отсылке первого пакета устанавливает поле TTL (Time To Live - время жизни) пакета, равным единице. Этот параметр управляет количеством межсетевых переходов, которые может претерпеть пакет, прежде чем прекратить свое существование. Следовательно, первый пакет дойдет только до первого маршрутизатора или машины дальше вашей в Интернет, а затем вернется сообщение о том, что время жизни пакета истекло. Затем посылается следующий пакет с TTL, равным 2 и так далее, пока не будет достигнута цель. Это показывает виртуальный путь (маршрут), которым идут пакеты. Выясняется также имя каждого хоста на пути следования, поэтому можно видеть, как ваш трафик пересекает Интернет. Очень интересно видеть, как пакет, направленный из Хьюстона в Даллас, скачет от восточного до западного побережья, покрывая тысячи миль, чтобы за доли секунды достичь цели.

Это средство полезно, когда вы пытаетесь проследить источник или расположение злоумышленника, следы которого вы обнаружили в своих регистрационных файлах или тревожных сообщениях. Можно проследить маршрут до IP-адреса и кое-что узнать о нем. Результаты могут показать, имеете ли вы дело с домашним пользователем или сотрудником компании, кто является поставщиком Интернет-услуг (которому вы можете подать жалобу на ненадлежащее поведение), какой тип подключения используется и каковы его скоростные характеристики, где территориально он находится (иногда, в зависимости от содержательности промежуточных точек). Листинги 2.1 и 2.2 содержат примеры использования traceroute.

Tracing route to www.example.com (Трассировка маршрута к www.example.com) over a maximum of 30 hops: (не более чем за 30 переходов) 1 <10 ms <10 ms <10 ms 192.168.200.1 2 40 ms 60 ms 160 ms 10.200.40.1 3 30ms 40ms 100ms gateway.smallisp.net 4 100 ms 120ms 100ms iah-core-03.inet.genericisp.net [10.1.1.1] 5 70 ms 100 ms 70 ms dal-core-03.inet.
genericisp.net [10.1.1.2] 6 61 ms 140 ms 70 ms dal-core-02.inet. genericisp.net [10.1.1.3] 7 70 ms 71 ms 150 ms dal-brdr-02. inet. genericisp.net [10.1.1.4] 8 60 ms 60 ms 91 ms 192.168.1.1 9 70 ms 140 ms 100 ms sprintdslcust123.hou-pop.sprint.com [192.168.1.2] 10 101 ms 130 ms 200 ms core-cr7500.example.com [192.168.1.2] 11 180 ms 190 ms 70 ms acmefirewall-hou.example.com [216.32.132.149] 12 110 ms 110 ms 100 ms www.example.com [64.58.76.229] Trace complete. (Трассировка завершена)

Листинг 2.1. traceroute, пример 1

На листинге 2.1 имена реальных поставщиков Интернет-услуг изменены на вымышленные, но общая идея сохранена. Выполнив эту простую команду, можно понять, что исследуемый IP-адрес принадлежит компании с именем Acme, что это, вероятно, web-сервер, что он установлен в защищаемой межсетевым экраном сети или в демилитаризованной зоне, что в роли поставщика Интернет-услуг выступает Sprint и что он расположен в Хьюстоне. Многие сетевые администраторы и крупные поставщики Интернет-услуг используют географические сокращения или инициалы для именования своих маршрутизаторов, поэтому, глядя на DNS-имена и следуя по цепочке маршрутизаторов, можно прийти к выводу, что hou-pop.sprint.com является маршрутизатором компании Sprint в Хьюстоне.

Tracing route to resnet169-136.plymouth.edu [158.136.169.136] (Трассировка маршрута к resnet169-136.plymouth.edu) Over a maximum of 30 hops: (не более чем за 30 переходов) 1 <1 ms <1 ms 192.168.200.1 2 12 ms 7 ms 8 ms 10.200.40.1 3 26 ms 28 ms 11 ms iah-edge-04.inet.qwest.net [63.237.97.81] 4 37 ms 15 ms 12 ms iah-core-01.inet.qwest.net [205.171.31.21] 5 51 ms 49 ms 47 ms dca-core-03.inet.qwest.net [205.171.5.185] 6 52 ms 55 ms 65 ms jfk-core-03.inet.qwest.net [205.171.8.217] 7 73 ms 63 ms 58 ms jfk-core-01.inet.qwest.net [205.171.230.5] 8 94 ms 67 ms 55 ms bos-core-02.inet.qwest.net [205.171.8.17] 9 56 ms 56 ms 60 ms bos-brdr-01.ip.qwest.net [205.171.28.14] 10 64 ms 63 ms 61 ms 63.239.32.230 10 67 ms 59 ms 55 ms so-7-0-0-0.core-rtr1.bos.verizon-gni.net [130.81.4.181] 11 56 ms 61 ms 62 ms so-0-0-1-0.core-rtr1.man.verizon-gni.net [130.81.4.198] 12 58 ms 59 ms 57 ms so-0-0-0-0.core-rtr2.man.verizon-gni.net [130.81.4.206] 13 59 ms 57 ms 64 ms a5-0-0-732.g-rtr1.man.verizon-gni.net [130.81.5.126] 15 74 ms 62 ms 61 ms 64.223.133.166 16 68 ms 67 ms 68 ms usnh-atm.inet.plymouth.edu [158.136.12.2] 17 80 ms 2968 ms 222 ms xhyd04-3.plymouth.edu [158.136.3.1] 18 75 ms 2337 ms 227 ms xspe04-2.plymouth.edu [158.136.2.2] 19 74 ms 65 ms 72 ms resnet169-136.plymouth.edu [158.136.169.136] Trace complete. (Трассировка завершена)





Листинг 2.2. traceroute, пример 2

Из примера трассировки на листинге 2.2 можно заключить, что рассматриваемый IP-адрес, вероятно, используется студентом Плимутского государственного университета (Плимут, Нью-Хемпшир). Как это можно узнать? Прежде всего, завершающее доменное имя обозначает шлюз. Если проследить маршрут, то он идет от bos (Boston) до man (Manchester), затем к plymouth.edu.; .edu означает, что это университет. Это была догадка на основе опыта, но ее можно проверить, посетив web-сайт plymouth.edu. Далее, выясненным именем хоста является resnet169-136. Имя подсказывает, что это сеть студенческого общежития (студенческих резиденций).

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

Трассировка дает много информации для преследования лица, использовавшего данный IP-адрес как исходную точку вторжения или атаки. В примере на листинге 2.1 можно пойти на web-сайт компании, чтобы найти основной контактный адрес. Можно подать жалобу поставщику Интернет-услуг. Крупные поставщики Интернет-услуг обычно предоставляют специальный адрес электронной почты или контактный телефон для жалоб и контролируют соблюдение клиентами условий договора на обслуживание. Альтернативный вариант - воспользоваться следующей командой, whois, чтобы выяснить технические контактные координаты организации.

whois: средство опроса DNS


whois

Автор/основной контакт: Неизвестен

Web-сайт: Неизвестен

Платформы: Большинство платформ UNIX

Лицензии: Различные

Справочная информация в UNIX: Наберите man whois в командной строке.
Команда whois полезна при выяснении контактной информации лица, создавшего проблемы в вашей сети. Эта команда опрашивает основные серверы доменной системы имен и возвращает всю информацию, которой располагает Internic (или другой регистратор имен). Internic - бывшее квазиправительственное агентство, ответственное за отслеживание всех доменных имен в Интернете.


Затем Internic стала коммерческой компанией Network Solutions и была приобретена компанией VeriSign. Теперь, когда регистрация имен открыта для конкуренции, существуют буквально дюжины официальных регистраторов имен. Однако с помощью команды whois, как правило, можно по-прежнему найти, кому принадлежит домен.

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

whois domain-name.com

Аргумент domain-name.com - это имя интересующего вас домена. На листинге 2.3 показана информация, которую можно получить.

Registrant: Example Corp (EXAMPLE.DOM) 123 Elm, Suite 123 New York, NY 10000 US 212-123-4567 Domain Name: EXAMPLE.COM

Administrative Contact: Jones, Jane (JJ189) jane.jones@example.com 123 Elm, Ste 123 New York, NY 10000 212-123-4567

Technical Contact: John Smith (JS189) john.smith@example.com 123 Elm, Ste 123 New York, NY 10000 212-123-4567

Record expires on 06-Oct-2006. Record created on 05-Sep-2002. Database last updated on 30-Apr-2004 21:34:52 EDT.

Domain servers in listed order:

NS.EXAMPLE.COM 10.1.1.1 NS2.EXAMPLE.COM 10.1.1.2

Листинг 2.3. Результаты whois

Изучив листинг 2.3, можно напрямую связаться с техническим специалистом, отвечающим за интересующий вас домен. Если это не поможет, всегда можно связаться с кем-то из административного персонала. Команда whois обычно выдает адрес электронной и обычной почты и иногда - номера телефонов. Видно, когда домен был создан, и вносились ли в последние время изменения в регистрационные данные. Выдача также показывает серверы доменных имен, ответственные за это имя. Опросив эти данные с помощью команды dig (описанной далее), можно получить еще больше информации о конфигурации удаленной сети.

К сожалению, команда whois не встроена в платформы Windows, но существует множество whois-машин на web-платформе; см., например, web-сайт Network Solutions:http://www.networksolutions.com/cgi-bin/whois/whois



Флэми Тех советует:

Не вываливайте в whois содержимое корпоративных рабочих столов!

Если вы администрируете собственный домен, то проследите, чтобы выдача whois была актуальной и носила максимально общий характер. Размещение реальных фамилий и адресов электронной почты в полях контактной информации позволяет посторонним использовать эти данные либо в целях морально-психологического воздействия, либо для атаки путем подбора паролей. Кроме того, когда люди покидают организацию, такая запись становится неактуальной. Лучше использовать абстрактные адреса электронной почты, такие как dnsmaster@example.com или admin@example.com. Вы можете перенаправлять поступающие по этим адресам сообщения соответствующим должностным лицам, не раскрывая ценную информацию о технической структуре организации.
dig: средство опроса DNS


dig

Автор/основной контакт: Andrew Scherpbeir

Web-сайт: http://www-search.ucl.ac.uk/htdig-docs/author.html

Платформы: Большинство платформ UNIX

Лицензии: Различные

Справочная информация в UNIX: Наберите man dig в командной строке.
Команда dig запрашивает у сервера имен определенную информацию о домене. Dig является обновленной версией команды nslookup, постепенно выходящей из употребления. С помощью dig можно выяснить имена используемых в сети машин и связанные с ними IP-адреса, определить, которая из них является сервером электронной почты, и получить другую полезную информацию. Общий синтаксис команды dig таков:

dig @сервер домен тип

Здесь сервер - опрашиваемый сервер DNS, домен - интересующий вас домен, тип - тип запрашиваемой информации. Обычно опрашивают уполномоченный DNS-сервер домена, то есть сервер, указанный в данных whois как самый авторитетный источник информации о домене. Иногда этот сервер поддерживает компания; порой это делает поставщик Интернет-услуг. В табл. 2.2 перечислены виды записей, которые можно запрашивать с помощью аргумента "тип".

На листинге 2.4 приведен пример результатов работы команды dig. Можно видеть, что был загружен весь файл с данными о зонах домена.


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

; <<>> DIG 9.2.1 <<>> @ns.example.com.com example.com ANY ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 4

;; QUESTION SECTION: ;example.com IN ANY

;; ANSWER SECTION: example.com. 86400 IN MX 10 mail.example.com. example.com. 2560 IN SOA ns.example.com hostmaster.example.com. 1070057380 16384 2048 1048576 2560 example.com. 259200 IN NS ns.example.com. example.com. 259200 IN NS ns2.example.com. example.com. 86400 IN A 10.1.1.1

;; ADDITIONAL SECTION: nat1.example.com. 86400 IN A 10.1.1.2 ns.example.com. 86400 IN 10.1.1.3 ns2.example.com. 86400 IN A 10.1.1.4 sq1.example.com 86400 IN A 10.1.1.5 www.example.com 86400 IN A 10.1.1.6

;; Query time: 107 msec ;; SERVER: 64.115.0.245#53 (ns.example.com) ;; WHEN: Wed Dec 31 18:39:24 2003 ;; MSG SIZE rcvd: 247

Листинг 2.4. Выдача команды dig @ns.example.com AXFR Таблица 2.2. Типы записей digОпцияОписание
AXFRПопытка получить весь файл для домена или файл с данными о зонах. Конфигурация некоторых современных серверов не разрешает передачу файлов с данными о зонах, поэтому, возможно, придется запрашивать конкретные записи
AВозвращает все записи "A". Записи "A" являются именами отдельных хостов в сети, такими как webserver.example.com или firewall.example.com
MXВозвращает зарегистрированное имя почтового хоста домена. Это полезно, если вы хотите вступить в контакт с администратором (попробуйте administrator@mailhost.example.com или root@mailhost.example.com)
CNAMEВозвращает все синонимы. Например, fido.example.com = www.example.com
ANYВозвращает всю информацию, которую можно получить о домене. Иногда это работает, когда не проходит AXFR


Finger: служба информации о пользователях


Finger

Автор/основной контакт: Неизвестен

Web-сайт: Различные, включая

http://www.infonet.st-johns.nf.ca/adm/finger.html

http://www.developer.com/net/cplus/article.php/627661

Платформы: Большинство платформ UNIX и Windows

Лицензии: Различные

Справочная информация в UNIX: Наберите man finger в командной строке.
Finger - старая команда UNIX, вышедшая из активного употребления, но все еще запускаемая на многих машинах как унаследованная служба. Она была разработана, когда Интернет был более дружественным местом, и пользователей не беспокоило, что люди на другом конце Земли узнают их расписание, номера кабинетов и другую информацию. Большинство знающих системных администраторов сейчас отключают демон finger, так как он ассоциируется с множеством дыр в безопасности. Однако вы будете удивлены, узнав, на скольких серверах он все еще запускается. Многие маршрутизаторы поставляются с ним (я не могу понять, почему; разве что поставщик реализовал включающий его стек TCP), и некоторые операционные системы семейства UNIX все еще по умолчанию включают его при установке, а люди забывают или не знают, как его отключить.

Команда finger позволяет запросить информацию о пользователях удаленной системы. Синтаксис команды таков:

finger имя_пользователя@имя_хоста

Замените аргумент имя_пользователя на имя пользователя, которым интересуетесь, а имя_хоста - на полностью заданное имя хоста, например, host.example.com. Можно также использовать IP-адрес. На листинге 2.5 показаны результаты выполнения запроса finger для пользователя bsmith на хосте server1.example.com.

Login name: bsmith In real life: Bob Smith Directory: /home/bsmith Shell: /bin/bash Last Login: 7/03/04 0800:02 No unread mail Project: Написание книги

Plan: Буду в отпуске в Европе с 1 по 15 сентября.

Листинг 2.5. Результаты запроса finger

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


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

Еще одно хитрое применение finger состоит в выполнении команды без имени пользователя. При этом генерируется список всех пользователей, находящихся в данное время в системе. На листинге 2.6 показаны результаты того, как могла бы выглядеть выдача подобной команды в вымышленном домене example.com. Можно видеть, кто находится в системе, какие у них реальные имена, бездействуют ли они (возможно, они забыли выйти из системы) и если да, то как долго. Наконец, указана рабочая станция, с которой они вошли (являются ли они локальными или удаленными пользователями), и, для удаленных пользователей, имя хоста или IP-адрес их рабочей станции. Видно, что один пользователь вошел в систему несколько раз, с одним неактивным сеансом, который злонамеренный наблюдатель этих данных может попытаться перехватить.

Изучив выдачу, можно выполнить полный запрос finger для любого из пользователей, подходящих для дальнейшей разработки. Команда finger -l @hostname.example.com генерирует полный запрос finger для всех пользователей, находящихся в данный момент в системе.

[hostname.example.com] User Real Name What Idle TTY Host Console Location bsmith Bob Smith 2 lab1-30 (cs.example.edu) ajohnson Andrew Johnson 2 lab1-10 (dialup.generucisp.com) bjones Becky Jones co lab3-22 atanner Allen H Tanner 0:50 co lab3-9 atanner Allen H Tanner co lab3-1 atanner Allen H Tanner 4:20 co lab3-8 cgarcia Charles Garsia 3 lab1-10

Листинг 2.6. finger -l без имени пользователя

ps: команда опроса процессов UNIX


ps

Автор/основной контакт: Неизвестен

Web-сайты: Различные, включая

http://www.nevis.columbia.edu/cgi-bin/man/sh?man=ps

Платформы: Большинство платформ UNIX

Лицензии: Различные

Справочная информация в UNIX: Наберите man ps в командной строке.
<


Команда ps (сокращение от process (процесс)), показывает все процессы, выполняющиеся в системе. С ее помощью можно выяснить, нет ли среди выполняющихся демонов или процессов тех, которых не должно быть. Ее можно также использовать для отладки многих средств из этой книги. В табл. 2.3 перечислены некоторые полезные ключи ps.

Таблица 2.3. Ключи psКлючОписание
AПоказывает процессы всех пользователей
aПоказывает все процессы пользователей, имеющие терминалы
uПоказывает имя пользователя процесса
xВыводит процессы без управляющих терминалов
На листинге 2.7 приведена выдача команды ps с ключами -aux.

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.1 0.7 1288 484 ? S 18:00 0:04 init [3] root 2 0.0 0.0 0 0 ? SW 18:00 0:00 [keventd] root 3 0.0 0.0 0 0 ? SW 18:00 0:00 [kapmd] root 5 0.0 0.0 0 0 ? SW 18:00 0:00 [kswapd] root 6 0.0 0.0 0 0 ? SW 18:00 0:00 [bdflush] root 7 0.0 0.0 0 0 ? SW 18:00 0:00 [kupdated] root 8 0.0 0.0 0 0 ? SW< 18:00 0:00 [mdrecoveryd] root 12 0.0 0.0 0 0 ? SW 18:00 0:00 [kjournald] root 137 0.0 0.0 0 0 ? SW 18:00 0:00 [khubd] root 682 0.0 1.0 1412 660 ? S 18:01 0:00 /sbin/cardmg rpc 700 0.0 0.8 1416 532 ? S 18:01 0:00 portmap root 720 0.0 1.2 1640 788 ? S 18:01 0:00 syslogd -m 0 root 757 0.0 1.8 1940 1148 ? S 18:01 0:00 klogd -2 root 797 0.0 0.8 1336 500 ? S 18:01 0:00 gpm -t ps/2 -m xfs 869 0.0 5.8 5048 3608 ? S 18:01 0:00 xfs -port -l daemon 884 0.0 0.8 1312 504 ? S 18:01 0:00 /usr/sbin/atd root 928 0.0 2.0 2660 1244 ? S 18:01 0:01 /usr/sbin/SSHd root 949 0.0 1.5 2068 948 ? S 18:01 0:00 xinetd -stayalive root 951 0.0 0.7 1292 496 ? S 18:01 0:00 /sbin/dhcpcd -h m root 1078 0.0 1.0 1492 628 ? S 18:01 0:00 crond root 1132 0.0 3.4 3808 2152 ? S 18:01 0:02 nessusd: waiting root 1134 0.0 1.9 2276 1224 ? S 18:01 0:00 login -- tony tony 1494 0.0 2.6 2732 1624 tty1 S 18:29 0:00 -bash tony 1430 0.0 2.6 2744 1636 tty1 S 18:29 0:00 bash tony 1805 0.0 1.2 2676 796 tty1 R 18:56 0:00 ps -aux

Листинг 2.7. Выдача ps -aux

На выдаче можно видеть каждый процесс, выполняющийся в системе, вместе с его идентификатором (PID).


Это важно, если вы хотите терминировать службу или произвести какие-то иные действия. По ключу -u в левом столбце выводится имя пользователя процесса. На выдаче показаны различные системные процессы, принадлежащие пользователю root. Виден также пользователь, запустивший команду ps. Если вы обнаружите, что выполняется некая загадочная служба, то ситуацию необходимо исследовать дополнительно. На выдаче присутствует служба, которая может показаться подозрительной: демон nessusd - сканер уязвимостей, рассматриваемый в лекции 5. Однако это ваша система защитных средств, поэтому его выполнение здесь вполне законно.

Можно построить конвейер из команд ps и grep, чтобы найти определенные работающие службы. Например, команда

ps -ax | grep snort

сообщит, запущен ли в вашей системе Snort, и какой у него идентификатор процесса (PID). Как и многие другие средства уровня операционной системы, команда ps полезна для всех видов деятельности по системному администрированию, а не только для обеспечения безопасности.

Клиент OpenSSH: служба защищенного терминала


Клиент OpenSSH

Автор/основной контакт: Tatu Ylonen

Web-сайт: http://www.openSSH.com

Платформы: Большинство платформ UNIX, Windows, OS/2

Лицензия: BSD

Другие web-сайты:

http://www.uni-karlsruhe.de/~ig25/SSH-faq/

http://www.SSH.com

http://kimmo.suominen.com/SSH/
SSH - настолько полезное средство, что его серверной стороне посвящен целый раздел в лекции 9. Однако я настоятельно рекомендую по возможности применять клиент SSH для интерактивного входа в систему вместо протокола Telnet или другого небезопасного метода. Вы будете использовать его так часто, что я хотел бы представить здесь некоторые основные моменты и синтаксис клиента. SSH (Secure Shell - защищенный командный интерпретатор) является средством удаленного доступа, который позволяет входить в удаленную систему защищенным образом. Ахиллесова пята большинства сетей состоит в том, что межсистемные коммуникации осуществляются в открытом виде. Можно как угодно повышать безопасность отдельных систем, но если удаленный вход в них производится с помощью небезопасной терминальной программы, злоумышленники все равно смогут перехватить ваши входные атрибуты, используя сетевой анализатор, и с их помощью без всяких усилий входить в систему.


Одно из наиболее популярных средств удаленного доступа - Telnet - страдает этим недостатком. SSH решает данную проблему, шифруя все коммуникации с первого нажатия клавиши.

SSH - программа с открытыми исходными текстами, доступная почти на любой платформе. Она поставляется по умолчанию с большинством операционных систем на основе Linux. На web-сайте http://www.ssh.com имеется коммерческая версия, также с открытыми исходными текстами. Мы рассматриваем OpenSSH - свободную версию, присутствующую в большинстве дистрибутивов Linux и на прилагаемом к книге компакт-диске. Между версиями имеются небольшие различия, однако они взаимно совместимы, а большинство команд и синтаксических конструкций должны работать и там, и там.

Чтобы получить доступ к удаленной системе с помощью SSH, требуется клиент SSH на вашей стороне, а на удаленной должен быть запущен сервер SSH. Хотя SSH не так широко распространен, как Telnet, он становится все более популярным. Компания Cisco, наконец, стала устанавливать SSH на своих маршрутизаторах, хотя все еще оставляет по умолчанию включенным сервер Telnet, в то время как SSH остается необязательным.

SSH выпускается с лицензией открытых исходных текстов, которая по сути аналогична лицензии BSD. Убедитесь, что используете версию 3.6 или выше; некоторые более ранние версии имеют дефекты в реализации криптографических протоколов и поддаются взлому. На самом деле, стоит убедиться, что вы располагаете самой свежей из доступных версий, так как код постоянно улучшается, а алгоритмы совершенствуются.

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

ssh -l входное_имя имя_хоста

Замените входное_имя вашим входным именем на удаленной системе имя_хоста. Можно также использовать конструкцию



ssh входное_имя@имя_хоста

Поэтому, чтобы войти в систему web-сервера с именем web.example.com, используя мое имя tony, я набираю

ssh tony@web.example.com

Годится и ssh -l tony web.example.com. Если просто ввести ssh web.example.com, то сервер будет подразумевать то же имя пользователя, что и в вашей системе.

В табл. 2.4 перечислены некоторые другие опции SSH.

Таблица 2.4. Дополнительные опции SSHОпцияОписание
-c протоколИспользуйте конкретный криптографический протокол. Замените протокол на blowfish, 3des или des, в зависимости от криптографического алгоритма, который хотите применять. Отметим, что ваша версия SSH должна поддерживать эти алгоритмы
-p номер_портаСоединиться с заданным номером порта, а не с используемым SSH по умолчанию портом 22
-P номер_портаИспользовать заданный порт, который не является частью стандартного списка собственных портов (обычно - порт с номером больше 1024). Это может быть полезно, если имеется межсетевой экран, который закрывает для коммуникаций порты с младшими номерами
-vПодробный вывод. Полезно при отладке
-qМолчаливый режим, противоположный
-CПроизводить сжатие зашифрованного трафика. Может быть полезно для очень медленных соединений, таких как коммутируемые, но лучше иметь при этом мощный процессор для выполнения сжатия, иначе в итоге коммуникации замедлятся
-1Использовать только протокол SSH версии 1. Не рекомендуется по причинам, указанным в описании опции -С, но может потребоваться, если сервер, с которым вы соединяетесь, не модернизирован до версии 2
-2Использовать протокол SSH только версии 2. Это может препятствовать соединению с некоторыми серверами

Содержание раздела