Эта проблема:
У нас есть много серверов dev / qa / prod RH / Solaris со многими учетными записями, между которыми установлено доверие ssh, в том числе между серверами в разных средах (prod-> prod, но также qa-> prod). Я знаю, что это плохая практика, и первый шаг, который я пытаюсь предпринять для решения этой проблемы, - это понять, какие учетные записи на каких ящиках могут использовать ssh для каких других учетных записей на каких ящиках без пароля.
Мой подход заключался в сценарии оболочки для входа в указанный список серверов и sudo
пройдите через файл / etc / passwd, чтобы получить список всех учетных записей и домашних каталогов, посмотрите на последний на наличие .ssh
и id_rsa.pub
и / или id_dsa.pub
и authorized_keys
и выведите эту информацию для каждой учетной записи в поле в stdout
на машине, на которой запущен сценарий.
Тот факт, что пользователи могут указать для ssh ключ, который не используется по умолчанию, является признанным ограничением. (Я предполагаю, что это не так)
Затем используйте вывод для создания html-страницы с объектами JavaScript {username, machine_name, rsa_key, dsa_key, authorized_keys []}, созданными из вывода выше, и используйте JQuery (или аналогичный) для отображения иерархии (как tbd).
Мой вопрос: существует ли что-то для решения этой проблемы? А если нет, будет приветствоваться любой вклад в мой подход.
Похоже, ты хорошо представляешь, что здесь делаешь. Всегда полезно задокументировать, какие системы могут подключаться к чему-либо без каких-либо паролей. Это не обязательно плохая практика, и на самом деле это требуется для некоторых вещей, но вам нужно знать, как все это работает, если кто-то взламывает один из ваших серверов - к чему еще они получили доступ?
Одно из мест, где можно посмотреть, - это журнал аутентификации на всех ваших серверах. Это скажет вам, какие ключи фактически используются для текущих скриптов / программ.
SSHd сообщает вам, как пользователь вошел в систему. В журналах вы должны увидеть такую строку:
Accepted publickey for automatedprocess from 123.456.789.012 port 12345 ssh2
Просмотр журналов и поиск всех уникальных комбинаций сервера, на котором находится журнал, имени пользователя и адреса отправителя, покажут вам, какие системы использовали эти ключи.
Это также может дать вам хорошую отправную точку, чтобы увидеть, какие из них больше не нужны, а какие регулярно используются автоматизированными процессами.