/ 1.-podklyuchenie-k-oborudovaniyu-cisco / 4.-nastroika-dostupa.md
4.-nastroika-dostupa.md
1 # 4. Настройка доступа 2 3 Из этого-то режима мы и настроим интерфейс для подключения компьютера через telnet: 4 Команда для перехода в **режим конфигурации интерфейса** FastEthernet 0/0: 5 6 > Router\(config\)\# interface fa0/0 7 8 По умолчанию все интерфейсы отключены \(состояние administratively down\). Включаем интерфейс: 9 10 > Router\(config-if\)\#no shutdown 11 12 Настроим IP-адрес: 13 14 > Router\(config-if\)\#ip address 192.168.1.1 255.255.255.0 15 16 **shutdown** — означает “выключить интерфейс”. Соответственно, если вы хотите отменить действие команды, то используйте слово **no** перед ней. Это правило общее для CLI и применимо к большинству команд. 17 18 Подключаемся. Для этого надо использовать [кроссоверный кабель](http://en.wikipedia.org/wiki/Ethernet_crossover_cable). \(Хотя в реальной жизни это зачастую уже необязательно – все карточки умеют понимать приём/передачу, однако встречаются ещё маршрутизаторы, порты которых не поднимаются при использовании неправильного типа кабеля — так что будьте внимательны\) 19 20  21 22 Настраиваем IP-адрес компьютера через Desktop. 23 24  25 26 И пробуем подключиться, выбрав Command Prompt в панели Desktop: 27 28  29 30 Как и ожидалось, циска не пускает без пароля. В реальной жизни обычно выдаёт фразу “Password required, but none set” 31 32 ## Пароли 33 34 Подключение по telnet или ssh называется виртуальным терминалом \(vt\) и настраивается следующим образом: 35 36 > Router\(config\)\#line vty 0 4 37 > Router\(config-line\)\#password cisco 38 > Router\(config-line\)\#login 39 40 **0 4** — это 5 пользовательских виртуальных терминалов=telnet сессий. 41 Этого уже достаточно, чтобы попасть в пользовательский режим, но недостаточно для привилегированного: 42 43  44 45 Настроим пароль для enable-режима: 46 47 > Router\(config\)\#enable secret test 48 49  50 51 Чем отличается secret от password? Примерно тем же, чем ssh от telnet. При настройке secret пароль хранится в зашифрованном виде в конфигурационном файле, а password – в открытом. Поэтому рекомендуется использование secret. 52 Если вы всё-таки задаёте пароль командой **password**, то следует применить так же **service password-encryption**, тогда ваш пароль в конфигурационном файле будет зашифрован: 53 54 > line vty 0 4 55 > password 7 08255F4A0F0A0111 56 > 57 > Один мой знакомый рассказал мне историю: 58 > Стоял он как-то курил возле одного из своих узлов, находящемся в жилом доме. С сумкой для инструментов, ноутбук в руках. Вдруг подходит двое алкашей с пакетом и предлагают купить, раскрывая пакет и показывая какой-то свич. Просят 500 рублей. Ну он купил. По меткам и модели свича парень сделал вывод какому провайдеру он принадлежит. Пришёл домой, начал ковырять — телнет закрыт, консоль запаролена. Слил конфиг по snmp. Пароли в открытом виде хранятся, имя с головой выдаёт провайдера. С их админом он знаком лично, позвонил ему вместо “Здрасьти” выдал логин и пароль в трубку. Слышно было, как скрипел мозг первые секунд 20: везде аксес-листы, авторизация, привязка к мак-адресу. Как?! В общем, всё хорошо, что хорошо кончается. 59 60 Немного об этом можно почитать [здесь](http://www.cisco.com/en/US/tech/tk59/technologies_tech_note09186a00809d38a7.shtml). Ну или чуть более по-русски, [тут](http://www.novacom.ru/tech_support/Cisco/cisco_passwords.html). 61 62 **Хотим обратить ваше внимание:** 63 сейчас принятно настраивать доступы не через виртуальные терминалы, а командами **\#username** и **\#aaa new-model**. В версии PT 5.3.2 они уже есть и вполне работают. 64 Для этого нужно выполнить: 65 66 > Router\(config\)\#aaa new-model 67 > Router\(config\)\#username admin password 1234 68 69 Первая команда служит для активации новой модели [ААА](http://ru.wikipedia.org/wiki/Протокол_AAA) \(Authentication, Authorization, Accounting\). Это нужно для того, чтобы была возможность использовать для аунтетификации на устройстве RADIUS или TACACS сервер. Если отдельно это не настроено, то будет использоваться локальная база пользователей, задаваемая командой **username**. 70 71 **Будьте внимательны**: приоритет команды aaa new-model выше, чем команд виртуальных терминалов и поэтому даже несмотря на то, что у вас настроен password в режиме line vty, если у вас не будет пользователей в локальной базе, зайти на устройство удалённо уже не получится. 72 73 Теперь при подключении маршрутизатор запросит имя пользователя и соответствующий ему пароль. 74 75 При более глубокой настройке line vty существует одна опасность. 76 Есть такой параметр: **access-class**. Его настройка позволяет ограничить IP-адреса, с которых возможно подключение. И вот однажды я, как умная маша, решил заняться безопасностью в сети и на всём почти оборудование понаставил эти аксес-листы, чтобы комар не пролетел. В один прекрасный момент пришлось выехать в поле и в тот день я проклял свою аккуратность – никуда не мог достучаться – малейшей лазейки не оставил. В общем будьте с этой командой внимательны или оставляйте для себя лазейки. 77 При работе с access-list'ами и прочими опасными вещами, неправильная настройка которых может лишить вас доступа к устройству, можно использовать замечательную команду **reload in min**, где min время в минутах. Эта команда перезагрузит устройство по истечении указанного времени, если ее не прервать командой **reload cancel**. Т.е. схема работы такова: вы удаленно копаете что-то, что может в теории \(закон Мерфи не забываем\) прервать ваш сеанс связи с устройством. Сохраняем текущий \(рабочий\) конфиг в startup-config \(он используется при загрузке\), ставим reload in 15, вводим ключевую команду, относительно которой у нас сомнения ;-\), и получаем обрыв связи, худшие опасения оправдались. Ждем 15 минут, устройство перегружается с рабочим конфигом, коннект — вуаля, связь есть. Либо \(если связь не прервалась\) проверяем, что все работает, и делаем **reload cancel**. 78 79 Если вы хотите ограничить паролем доступ через консольный порт, вам понадобятся команды 80 81 > Router\(config\)\#line console 0 82 > Router\(config-line\)\#login 83 > Router\(config-line\)\#password cisco 84 85 ## Privilege Level 86 87 Ещё один важный момент, которому в статьях уделяют мало внимания: privelege level. 88 Как понятно из латинского звучания — это уровень прав пользователя. Всего существует 16 уровней: 0-15. 89 privilege level 0 — это команды disable, enable, exit, help и logout, которые работают во всех режимах 90 privilege level 1 — Это команды пользовательского режима, то есть как только вы попадаете на циску и увидите приглашение **Router>** вы имеете уровень 1. 91 privilege level 15 — Это команды привилегированного режима, вроде, как root в Unix'ах 92 93 ### **Пример 1** 94 95 > Router\(config\)\#line vty 0 4 96 > Router\(config-line\)privilege level 15 97 98 После входа на маршрутизатор при такой настройке вы сразу увидите Router\# со всеми вытекающими правами. 99 100  101 102 Все уровни со 2 по 14 настраиваются вручную. То есть, например, вы можете дать добро пользователю с privelege level 2 на выполнение команды **show running-config** 103 104 ### **Пример 2** 105 106 Настроить права для конкретного пользователя поможет уже упомянутая прежде команда **username** 107 108 > Router\(config\)\#username pooruser privilege 2 secret poorpass 109 > Router\(config\)\#privilege exec level 2 show running-config 110 > Router\(config\)\#enable secret level 2 l2poorpass 111 112 В первой строке назначаем уровень прав пользователю, во второй команду, разрешенную для этого уровня, в третьей задаём пароль для входа в привилегированный режим с этим уровнем. 113 114 После этого из пользовательского режима вы можете выполнить команду **enable 2** и введя пароль l2poorpass попасть в привилегированный режим, в котором будут доступны все команды уровня 1 + команды уровня 2. 115 116  117 118 Для чего это может быть нужно? В российских реалиях практически ни для чего, потому что обычно на устройство нужно заходить инженерам сразу с полными правами. Ну разве что 15-й уровень ставят, чтобы двойную аутентификацию не проходить. А все другие уровни опять же для того, чтобы персонал младшего состава \(техподдержка, например\) мог зайти и промониторить какие-то параметры или настроить некритичную функцию. 119 120 ## SSH 121 122 Нельзя не упомянуть о том, что telnet — протокол незащищённый и передаёт пароль и данные в открытом виде. С помощью любого анализатора пакетов можно вычислить пароль. 123 Поэтому крайне рекомендуем использовать ssh — любые устройства cisco с не самой урезанной прошивкой способны выступать ssh-сервером. 124 Следующий набор команд позволит вам включить ssh и отключить доступ по telnet: 125 126 > Router\(config\)\#hostname R0 127 > R0\(config\)\#ip domain-name cisco-dmn 128 > R0\(config\)\#crypto key generate rsa 129 > R0\(config\)\#line vty 0 4 130 > R0\(config-line\)\#transport input ssh 131 132 Имя хоста должно отличаться от Router, обязательно должно быть задано имя домена. Третьей строкой генерируется ключ и далее разрешается только ssh. Длина ключа должна быть более 768 бит, если вы желаете использовать ssh версии 2, а вы желаете этого. Всё. 133 134 Ещё одно финальное **внимание** новичкам: не забывайте о команде **write memory** — это сохранение текущей конфигурации. Впрочем, достаточно два раза обжечься, забыв сохранить, чтобы навсегда заработать иммунитет к этому — кто кодил по ночам или писал курсовую, тот поймёт. 135 136 Используя PT, мы будем настраивать оборудование не через терминал или телнет, а непосредственно через CLI устройства, которое вызывается кликом по иконке роутера — так удобнее: 137 138  139