Страницы

Пару слов в среде разработки для ИБ специалиста

Если вы собрались кодить, то первое, с чего люди обычно начинают - это поиск курсов по программированию. Что почти всегда остается за рамками курсов - так это та самая рутина, от которой зависит 90% результата: софт, тулзы и привычки. Мало научится водить, нужно ещё и машину хорошую купить.. тут собак зарыто поболее.



Мой основной язык сейчас это Python. Его хватает для 90% задач. На втором месте PowerShell для тех случаев, когда надо покопаться внутри Windows, ActiveDirectory или Office365/Azure. На третьем - VisualBasic для офисных документов.

Толком осилить PowerShell я не смог, поэтому написал своеобразный конвертер, который позволяет мне запускать павершел скрипты из питона и работать с выводом. Так оказалось намного удобней.

На Windows я использую питон-фрейморк Анаконда. Он жирный, в нём почти всё есть. При установке надо поставить галку, чтобы прописать путь к питону в Path. Тогда запускать питоновские скрипты можно сразу из павершела (хот-кей WIN+X и сразу "i" или "a" для админа).

Код пишу я в SublimeText - он бесплатный для некоммерческого использования. Если путь к питону есть в Path'e, то можно запускать скрипты хоткеем Ctrl+B. Хорошо помогает ещё панель слева. Туда можно бросить всю папку со скриптами и прыгать между файлами. Стоит потратить 15 минут и изучить горячие клавиши для Sublime.
Ещё неплохой бесплатный редактор - Atom от GitHub.  Его тоже можно интегрировать с питоном.

Писать код - значит гуглить любую ошибку и читать ответы на stackoverflow. Без этого никак, и это нормально. Stackoverflow - ресурс, который невозможно переоценить. Один совет - обращайте внимание на свежие комментарии. Часто то, что было сложно в Python 2, делается одной строкой в Python 3. Ну и будьте осторожны со сторонними библиотеками. Даже в официальном репозитории могут быть библиотеки с бэкдором.

Если нужно общаться питоном по сети - вначале я обкатываю все запросы в Postman'е. С ним немного сложно освоиться, но потом привыкаешь. У почтальона есть удобная база шаблонов запросов. Вот, к примеру, для Циски. Можно поступить проще - установить "windows subsystem for linux", установить Ubuntu прямо в Windows и использовать curl через bash через powershell.

Иногда я использую и Burp Suite чтобы видеть, что гуляет между скриптом и сервером. Для этого нужно немного модифицировать скрипт: добавить прокси, убрать проверку сертификата (пример тут).

Готовые скрипты часто отправляются на линукс коробку с помощью WinSCP через SSH. В планировщик ("sudo Crontab -e") я добавляю такую запись:

* * * * * /usr/bin/python3 /usr/local/sbin/synology/spyeye_watcher.py >> /var/log/crontab_errors.log 2>&1

Запускать скрипт каждую минуту, писать ошибки в лог файл.

Для чего я использую питон?


На работе:
- чтобы генерировать и присылать ежедневные отчеты. Пачка скриптов собирает отчеты с разных мест и в 7 утра у меня в ящике одно письмо только с теми цифрами, которые мне интересны (+ история за каждый день в базе данных)
- чтобы упростить рутинное обслуживание СЗИ. Например, я хочу назначить особую политику ИБ на 100 отдельных машин. Это сделать можно либо руками через GUI, либо скриптом, скормив файлик со списком систем
- чтобы разговаривать с тикет-системой: автоматически создавать рутинные тикеты (например, отсутствует патч на рабочей станции) либо создавать много типовых заявок (например, пароли нескольких пользователя оказались в свежей утечке) либо работать с собственной очередью (срочный тикет? -> сообщение в телеграм)
- порой через API информацию легче получить, чем через GUI. Мне быстрее запустить скрипт, который покажет мне события, связанные с определенным IP или пользователем, чем открывать браузер и лезть через несколько меню к нужной вкладке

несмотря на то, что автоматизация ИБ - весьма подогретая тема, часто встаешь перед выбором - автоматизировать костыли, которые есть сейчас, или построить процесс правильно с самого начала. В последнем случае часто выходит, что автоматизация особо-то была и не нужна. Здесь, как и с умным домом - подумай, вначале, что именно и как ты хочешь упростить. Автоматизация ради автоматизации - тупиковое дело.

Дома:
- мониторю присутствие в доме людей чтобы управлять видеокамерами
- мониторю внешний айпи чтобы обновить доменные записи в случае смены адреса
- смотрю за торрентами и присылаю обновления в телеграм-чат (об этом отдельно напишу)
- присылаю сводку погоды в телеграм-чат чтобы знать, будет сегодня дождь или нет
- сортирую фоточки, сжимаю видео, ищу дубликаты файлов

2 комментария: