Я бы хотел просканировать наша сеть (IPv4 и IPv6) для ssh и найдите предлагаемые варианты аутентификации.
В конечном итоге я бы хотел получить анализируемый список[1] хостов, которые содержат следующую информацию:
[IPv4|IPv6]
-адрес[YES|NO]
[YES|NO]
[YES|NO]
На самом деле меня не волнует формат ввода, который я мог бы сгенерировать, оптимальное решение могло бы принять следующее:
в файле, разделенном символами новой строки. Я посмотрел на nmap, и это движок nse, стандартный nmap предлагает сканирование для sshv1, но не для параметров аутентификации. Так как мои навыки lua ... наравне с навыками Дэвида Кэррадинеса в карате и актерскими навыками Чака Норриса, я не могу писать такие вещи сам.
Также я не настроен на nmap, поскольку он довольно медленный (по крайней мере, для меня), и я хотел бы регулярно запускать это сканирование, чтобы сообщать о результатах.
Вопрос: какие инструменты предлагают все необходимое?
[1]: Меня не волнует XML, JSON, $ FANCY_REPRESENTATION. Это просто должно быть машинным синтаксическим анализом
Как сказано в комментарии:
У меня есть доступ к хозяевам. Могу авторизоваться и даже sudo :) - Это проверка на соответствие. Я могу получить конфигурацию сервера, и мы запускаем марионетку, должен убедитесь, что конфигурация верна. Мы по-прежнему предпочитаем полагаться на клиента, который извне проверяет, что он не работает, а также преимущество в том, что я могу (с автоматическим сканированием) обратиться к человеку, который отвечает за хост, и спросить, почему управление конфигурацией не работает. работает как то уже на месте. Я говорю о нескольких тысячах хостов, а это 12 человек в команде ops, чтение всех конфигураций - это ... не совсем то, что нам нужно (и не то, что хотят аудиторы).
Прежде чем кто-то закроет это, я написал уродливый скрипт:
В нем содержится большая часть необходимой мне базовой информации, и я, вероятно, дополню ее, чтобы она соответствовала нашим внутренним потребностям.
$ python scanner.py --help
usage: scanner.py [-h] [--num-cpus NUM_CPUS] [--infile INFILE] [--port PORT]
optional arguments:
-h, --help show this help message and exit
--num-cpus NUM_CPUS Number of CPUs. Sets the maximum number of parallel
tasks.
--infile INFILE Input file to read from (Default: stdin).
--port PORT Which port shall be scanned! (If you can guess the
default you are ueber!)
[INFO/MainProcess] process shutting down