/ 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  ![crossover cable](http://img-fotki.yandex.ru/get/4526/83739833.10/0_7c4ab_6b97ba01_XL.jpg)
 21  
 22  Настраиваем IP-адрес компьютера через Desktop.
 23  
 24  ![IP адрес](http://img-fotki.yandex.ru/get/4527/83739833.10/0_7c4ac_fd46c5a0_XL.jpg)
 25  
 26  И пробуем подключиться, выбрав Command Prompt в панели Desktop:
 27  
 28  ![Packet Tracer telnet](http://img-fotki.yandex.ru/get/3008/83739833.f/0_7c486_3447b950_XL.jpg)
 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  ![Packet Tracer telnet](http://img-fotki.yandex.ru/get/4425/83739833.f/0_7c487_85990f14_XL.jpg)
 44  
 45  Настроим пароль для enable-режима:
 46  
 47  > Router\(config\)\#enable secret test
 48  
 49  ![Packet Tracer](http://img-fotki.yandex.ru/get/5/83739833.10/0_7c488_b5c8c887_XL.jpg)
 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  ![](http://img-fotki.yandex.ru/get/19/83739833.10/0_7d896_94cbc0b4_XL.jpg)
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  ![](http://img-fotki.yandex.ru/get/4611/83739833.10/0_7d897_47606e9d_XL.jpg)
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  ![CLI](http://img-fotki.yandex.ru/get/2/83739833.f/0_7c482_6c6b2acf_XL.jpg)
139