02
Мар

Очередная инкарнация MassControl

Написал Максим Крентовский в Деятельность

На сей раз добавились механизм наблюдения за маршрутизаторами компании S-Terra CSP, позволяющий оперировать информацией о текущих ISAKMP/IPSec соединениях.

Технологически было произведен отказ от централизованного процесса контроля путем использования gproc. Дополнительно был дописан механизм выполнения через каналы SSH, раньше это было реализовано через единственный канал с запущенной оболочкой.

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

А хотелось бы многого:

  • SNMP со складыванием данных в RRD и генерацией графиков
  • Syslog-сервер для коллекционирования журналов с серверов
  • IPMI-статистику для определения состояния оборудования
  • SMART для контроля над состоянием дисков

Ну и, конечно же, сервисные фишки вроде доставания версий конфигурации из Git, откат конфигурации, мониторинг отдельных сервисов, оповещение о критических ситуациях, географические, топологические и монтажные карты сети и тд. и т.п.

К сожалению, в одиночку это неподъемно даже при 100% занятости этой задачей.

И, чтобы два раза не вставать: хозяйке на заметку — если у вас есть устройства с флешкой, выставленные в интернет, и (внезапно) на этой флешке кончается место из-за того, что создатели забыли выключить лог неудачных соединений по SSH, а c00l hatskers в сети много — удалите файл, а на его место положите ссылку на /dev/null, оно так надежнее.

Комментарии к записи Очередная инкарнация MassControl отключены
21
Окт

MassControl — развлекаемся с Эрлангом

Написал Максим Крентовский в Деятельность

По основной работе мне приходится взаимодействовать с определенным количеством серверов и сетевого оборудования с целью их настройки и изменения конфигурации. Большинство конфигураций представляют собой текстовый файл, изменяемый оператором. Вполне очевидно, что в этом случае хранить конфигурации лучше всего в системе контроля версий (например, Git), а вносить изменения проще либо в SSH-консоли (что достаточно трудоемко), либо при помощи заранее заготовленных шаблонов, в которые необходимо подставить нужные параметры.

Чтобы немного упростить процедуру получения файлов конфигураций и внесения (что очень актуально, допустим для Cisco-like конфигураторов) я написал простое приложение на Erlang, которое позволяет:

  • послать по SSH команду через web-интерфейс и послать результаты исполнения обратно;
  • сохранить результаты выполнения в текстовый файл и добавить его в git.

Подробнее →

Комментарии к записи MassControl — развлекаемся с Эрлангом отключены
01
Сен

Защита SSH-сервера при помощи sshguard

Написал Максим Крентовский в Исследования

Как известно, многим людям не дает покоя слава Кевина Митника и прочих не столь раскрученных личностей. Поэтому когда в сеть выставляется сервер с SSH-демоном, то вполне вероятно, что вскоре на него начнется атака по подбору паролей. Что, в принципе, не очень приятно.

Решений тут много, подкину еще одно — при помощи sshguard. Рецепт прост:

1
apt-get install sshguard

далее прописываем строки в /etc/rc.local и повторяем их в консоли

1
2
3
/sbin/iptables -N sshguard
/sbin/iptables -A INPUT -p tcp --dport 22 -j sshguard                      
tail -n0 -F /var/log/auth.log | /usr/sbin/sshguard &

Первые две команды создают одноименную цепочку и перенаправляют туда все входящие на 22-й порт, последняя — транслирует логи к программе, которая смотрит частоту вхождения и успешность/неуспешность попытки и добавляет в цепочку правила по блокировке юных взломщиков.

Комментарии к записи Защита SSH-сервера при помощи sshguard отключены