Пример базы Keepass для сетевого администратора

650f51c2ffc74163924620a695370310.png

Все мы храним или хранили пароли от сетевых устройств в excel файлах. Бывает конечно и так, что хранить ничего не надо так как учетная запись на всех устройства одинаковая, надеюсь читатели поняли, что я говорю не про RADIUS или TACACS, а про ситуацию, когда учетная запись действительно одна.

Когда запускаешь сеть, не всегда удается поднять какой-нибудь NCM для управления новым детищем. Когда у вас мало устройств и ограничены ресурсы, текстовый документ или таблица excel кажутся оптимальным средством хранения данных, но в глубине души мы все понимаем, что это не так.

Хорошо если в вашей компании есть ресурсы и обозначен стабильный рост. В таком случае в какой-то момент вы разворачиваете приложение для управлению сетью. Но кто-то, в конечном итоге, так и остаётся на уровне «контролцэ-контролвэ», из-за отсутсвия ресурсов, а может и по другим причинам. Именно для этих людей данная статья. Я расскажу как уйти от excel, сделать хранение паролей более удобным и получить некоторую автоматизацию типовых телодвижений. Заметка: все описания для Windows окружения.

Как вы догадались из заголовка, я советую использовать для хранения учетных данных базу keepass. Я не буду размахивать красочными плакатами и агитировать за keepass хотябы потому, что это сделали до меня уже десятки раз. Я просто покажу, как использую его я и как он помогает мне. А вы, исходя из моего опыта, уже решите сами стоит ли экспортировать данные из вашего любимого txt файла. Я сказал экспортировать, а не перносить вручную, потому что для этого существует очень много инструментов, и даже самый запутаный excel можно перенести в keepass очень легко.

И так приступим. Я храню данные в разбитом по типу устройств виде, но это не обязательно, так как поиск в keepass находит сочетания символов даже в середине слова (но к сожалениею не умеет regexp). Для начала я создаю шаблон типового устройства. К стандартным полям, в зависимости от устройств, я добавляю новые поля, например для устройств Cisco это поле enable. Так же добавляю общие поля, например lan, в котором будет жить ip адрес локального интерфейса. Если вы собираетесь экспортировать данные, то шаблоны надо продумать заранее. Несмотря на возможности массового редактирования, лучше предусмотреть всё и сразу. Для каждого типа устройств, я предусматриваю свой шаблон, ведь очевидно что к Windows серверу не придется подключаться по ssh, а к маршрутизатору Cisco по RDP. Именно по этому я предлагаю разрабатывать шаблоны хранения, что бы не плодить лишние пустые поля. В принципе, для простого хранения данных, этого достаточно, но я обещал автоматизацию и вот она.

Нам понадобится плагин KPEnhancedEntryView. Это расширение позволяет просматривать и редактировать базу из одного окна. Для установки скачайте файл плагина с оффициального сайта keepass и просто скопируйте его в папку с установленной программой.

Keepass с данным плагином понимает линки вида CMD:// для запуска командной строки windows. Значения полей можно передавать в виде переменных, чем я и пользуюсь.

Важно! В переменную PATH из окружения Windows надо добавить пути до приложений которые вы будете использовать. Я например использую putty и psexec, поэтому добавил в переменную пути до этих программ

Дальше можно формировать команды запуска приложений с параметрами прямо из Keepass. Что бы строка воспринималась как линк, её надо начать символом < и закончить символом >. Ниже строка для подключения к устройству по протоколу по ssh используя putty:

Благодаря внутренним переменным строка будет передаваться в CDM так:
PuTTY.exe -ssh 97.161.16.54 -l user1 -pw 1234567890

Строка обернутая в <> воспринимается как линк и теперь при клике на данную ссылку через keepass, автоматически будет вызвана программа putty и ей будут переданы параметры устройства. Передаваемыми параметрами могут быль любые поля keepass. Параметры надо обернуть в фигурные скобки { }. Для стандартных параметров имена зарезервированы, например {USERNAME} и {PASSWORD}. Если параметр создали вы, то к его названию в начале надо добавить латинсткую букву S с двоеточием, вот так выглядит для передача параметра lan: {S: lan}. Таким нехитрым способом можно запустить приложение-клиент для подключения по любому протоколу от telnet до rdp.

2ec1950ec8ce41fabeaa1d8d0d0bfa56.png

Так же я использую подобные ссылки для автоматизации траблшутинга устройств. Например ping всех ip адресов устройства:


Я использую psexec поэтому могу получать вспомогательные данные с удаленных windows хостов

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

В дополнение я прикладываю шаблон базы, что бы вы смогли подставить туда свои данные и посмотреть как это работает. Шаблон базы

Пароль от базы habrahabr

P.S. Ещё один плюс плагина KPEnhancedEntryView, который вы несомненно оцените, это то, что он позволяет легко оставлять заметки и файловые вложения для каждого устройства.

Комментарии (7)

  • 4 июля 2016 в 15:19

    0

    Почти такое же было https://habrahabr.ru/post/303894/
    • 4 июля 2016 в 15:24

      0

      у меня статья больше про шаблон хранения, я просто прелагаю один из способов использования приложения, который мне кажется удобным.
      перезапись URL это отдельная тема.
  • 4 июля 2016 в 16:07

    0

    ИМХО очень любопытно.
    Вопрос к автору: Какие могут быть идеи в ситуации когда есть команда из админов 4–5 чел распределенных по стране?!
    • 4 июля 2016 в 16:10

      0

      синхронизация изменений в keepass присуствует, так что он подходит для общей работы.
      я имею опыт использования keepass на googledrive и dropbox, но это конечно же моветон.
      обычной расшареной для админов папки будет достаточно.
  • 4 июля 2016 в 16:10

    +1

    Есть еще плагин KeeAgent, позволяет хранить ssh ключи прямо в базе и отдает их в Putty по запросу (как pageant).
  • 4 июля 2016 в 17:26

    0

    Не опасно ли передавать пароль ключом командной строки? Ведь тогда все приложения, видящие список процессов, могут без проблем получить его.
    • 4 июля 2016 в 17:33

      0

      , а такое действительно возможно?

© Habrahabr.ru