понедельник, 17 июня 2019 г.

Освоение zoom rooms

По сути, это просто устройство для подключения к стандартной zoom конференции (ТВ, комп, проектор - есть варианты).
https://www.owllabs.com/hubfs/Assets%202018%20S2/Zoom_Room_Setup_Guide.pdf
https://support.zoom.us/hc/en-us/categories/200108436-Zoom-Rooms

https://support.zoom.us/hc/en-us/articles/360021967252-Starting-or-Joining-a-Meeting-from-a-Zoom-Room
https://support.zoom.us/hc/en-us/sections/200305533-Setup-Configuration

Чуть про docker compose

Что делать, если надо запускать несколько связанных докер-машин? Есть фирменная "технология" swarm, но де-факто оно не взлетело.
Итак, есть вариант сложный - это kubernetes, его пока оставим за рамками. И вариант простой - docker compose. Отличий много, но если надо для теста запустить несколько связанных машин, которые знают друг о друге и в том числе можно централизованно управлять переменными для всех машин - это легко на композере решить.
Что можно почитать про docker compose? Например, это

Полная автоматизация «development» среды с помощью docker-compose / Хабр
Краш-курс на Docker: научитесь плавать с большой рыбой / Блог компании Southbridge / Хабр
Полное практическое руководство по Docker: с нуля до кластера на AWS / Хабр
Определение многоконтейнерного приложения с помощью docker-compose.yml | Microsoft Docs
Большой Docker FAQ: отвечаем на самые важные вопросы - «Хакер»

суббота, 15 июня 2019 г.

Rundeck

Есть такая пускалка для задач, rundeck. Апи, веб неплохой. При этом - оно сделано на java, что требует нужного софта для запуска, и что оно жрёт память и периодически падает.
Но рассмотреть как аналог jenkins иногда имеет смысл.

https://xakep.ru/2014/10/05/rundeck-managing/
https://ctrlok.com/post/why-i-dont-like-rundeck/

четверг, 16 мая 2019 г.

Understanding STIR/SHAKEN

https://transnexus.com/whitepapers/understanding-stir-shaken/

The Federal Communications Commission (FCC) has been encouraging the telecommunications industry to develop a solution to stop robocalls and spoofed calling numbers since 2014. The industry’s response has been to develop a new technology standard called STIR [1] (Secure Telephony Identity Revisited) and SHAKEN [2] (Secure Handling of Asserted information using toKENs) which defines how telephone service providers should implement the STIR technology to ensure calling numbers are not spoofed.

среда, 15 мая 2019 г.

Ставим sip3 trial

Что это - можно посмотреть тут
https://sip3.io/features/

По установке, есть репа с буками для ansible, которые выкатывают пакеты в докер.
https://github.com/sip3io/sip3-ansible/
Делаем clone.
Для установки нужны ansible (в центос 7 из epel) и docker (ставить с сайта), а также
yum install python-pip
pip install docker-py

Вносим нужные хосты
vi roles/sip3-salto/templates/hosts.yml.j2

Также, если порт 80 занят, правим порт для запуска
vi roles/sip3-hoof/tasks/main.yml
80 на 88

И запускаем установку.
ansible-playbook -K playbooks/trial/sip3.yml
ansible-playbook -K playbooks/trial/captain.yml

Также учитываем момент что всё будет доступно без SSL и паролей, так что это только для закрытого контура или прогонять через nginx для ssl и авторизации.

вторник, 14 мая 2019 г.

Termshark - A terminal user-interface for tshark, inspired by Wireshark.

Доступен первый выпуск Termshark, консольного интерфейса, выполненного в форме надстройки над развиваемым проектом Wireshark анализатором сетевых протоколов TShark. Код написан на языке Go и распространяется под лицензией MIT. Готовые сборки подготовлены для Linux, macOS, FreeBSD и Windows.

Интерфейс Termshark по стилю напоминает штатный графический интерфейс Wireshark и предоставляет привычные для пользователей Wireshark функции инспектирования пакетов, при этом позволяя наглядно анализировать трафик на удалённой системе без необходимости передачи pcap-файлов на рабочую станцию. Поддерживается как обработка готовых pcap-файлов, так и перехват данных в режиме реального времени с работающих сетевых интерфейсов. Возможно применение экранных фильтров, подготовленных для Wireshark, и копирование диапазонов пакетов через буфер обмена.

https://termshark.io/
https://github.com/gcla/termshark
https://www.opennet.ru/opennews/art.shtml?num=50556
https://github.com/gcla/termshark/releases/tag/v1.0.0

Поскольку оно на golang, можно взять уже собранный файл и просто положить например в /usr/bin (внимание, для работы требуется поставить tshark)
wget https://github.com/gcla/termshark/releases/download/v1.0.0/termshark_1.0.0_linux_x64.tar.gz
tar -zxvf termshark*
mv termshark*/termshark /usr/local/bin

При ошибке
Could not find tshark in your PATH. The tshark binary is required to run termshark.
Try installing with: yum install wireshark
требуется поставить wireshark.

termshark will not operate correctly with a tshark older than 1.10.2 (found 1.8.10)
Если ставим в центос6 - версия из того что было в epel слишком стара. Проблема в том, что даже в DAG только 1.10.0-2

понедельник, 6 мая 2019 г.

Небольшое исследование про golang-github-influxdb-influxdb-datastore

Если кто сталкивался с докой
https://support.nagios.com/kb/article.php?id=802
то видел, что не найти пакет golang-github-influxdb-influxdb-datastore, исследование тэгов репы показывает что оно было в ветке 0.8, но было выпилено к выходу ветки 0.9.
Можно скачать rpm с этим пакетом (например с rpm.pbone), но он не поставится по зависимостям.
(И вкратце - ставить datastore уже не нужно)

воскресенье, 5 мая 2019 г.

CentOS 6: ставим AlertManager

https://prometheus.io/download/
тут качаем AlertManager, распаковываем, копируем alertmanager и amtool в /usr/local/bin/, конфиг в /etc/prometheus/alertmanager.yml
Потом тут
https://gist.github.com/JoergM/86617e89d6491b42596c
инит файл под него.
Настройку опускаем, это можно делать через правку конфига или напрямую через amtool
Копируем init файл в /etc/init.d, выставляем +x на него, добавляем пользователя prometheus
groupadd prometheus
useradd -d /var/lib/prometheus -g prometheus -M -s /sbin/nologin prometheus

Запускаем.
mkdir /var/log/prometheus/
chown prometheus /var/log/prometheus/
mkdir /var/lib/prometheus/alertmanager
chown prometheus: /var/lib/prometheus/alertmanager

Вносим правки в инит файл: нужно к -config добавить минус чтобы получилось --, удалить часть про silences, и добавить --storage.path=/var/lib/prometheus/alertmanager
Конфиг - расширение меняем на .yml
/etc/init.d/alertmanager start

По настройке есть например тут
https://prometheus.io/docs/alerting/configuration/

Чуть подробнее про особенности 2.0+ версии есть тут
https://ealebed.github.io/posts/2017/prometheus-%D0%BC%D0%B8%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D1%8F-%D0%BD%D0%B0-%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%8E-2.0/

среда, 1 мая 2019 г.

Nagios+grafana

За основу можно взять статью
https://support.nagios.com/kb/article.php?id=802
Но - только взять за основу, поскольку эта статья УЖАСНА. По форме и содержанию. Главный элемент в этой доке это nagflux, который связывает метрики нагиоса и БД influxdb. Также описывается histou

Есть ряд нюансов, например если ставим в центос6 то epel там постоянно обрезают, нужно искать пакеты по архивам.
Вообще, дока крайне странная, чего стоит использование путей /usr/local/..., вместо cat >> file << EOF делается пачка echo '', неполные и нерабочие конфиги...
Также можно посмотреть эту доку
https://exchange.nagios.org/directory/Documentation/Nagios-with-InfluxDB%2C-nagflux-and-Grafana/details

пятница, 26 апреля 2019 г.

Unable to negotiate with x.x.x.x.123 port 22: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1

При подключении к некоторым железкам типа Cisco ASA5508 может быть ошибка при подключении
Unable to negotiate with x.x.x.x.123 port 22: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1

Фикс: указать опцию -oKexAlgorithms=+diffie-hellman-group1-sha1
например так
ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 x.x.x.x

Можно в ~/.ssh/config добавить
Host x.x.x.x
    KexAlgorithms +diffie-hellman-group1-sha1

воскресенье, 14 апреля 2019 г.

Debian: ставим kamailio+rtpengine

Имеется: debian 8 (jessie), кама штатно - говно мамонта
Unpacking kamailio (4.2.0-2+deb8u5) ...
Ставим адекватную версию. Прямо с офсайта можно скачать с версии 3.3 по самую свежую 5.2
https://deb.kamailio.org (2)
Сначала добавить ключ
 wget -O- http://deb.kamailio.org/kamailiodebkey.gpg | sudo apt-key add -
а потом ставим репу, для этого выбираем нужную версию камы и в /etc/apt/sources.list.d/kamailio.list пишем нужные строки из доки выше.
Потом как обычно, apt-get update; apt-get install kamailio

вторник, 9 апреля 2019 г.

nginx ldap auth

Самый простой вариант ограничения доступа - через файл с паролями, как-то так
location / {
auth_basic "Restricted Area";
auth_basic_user_file auth/htpasswd;
proxy_pass ... }

Но порой требуется интеграция с ldap. Есть несколько вариантов
  1. https://github.com/nginxinc/nginx-ldap-auth - отдельный сервис, можно запустить в докере, обращение к сервису идёт по http
  2. Внешние модули:
    https://github.com/kvspb/nginx-auth-ldap
    https://github.com/sto/ngx_http_auth_pam_module
  3. Штатный модуль http://nginx.org/en/docs/http/ngx_http_auth_request_module.html, но общение с ldap надо реализовать самому
Плюсы и минусы каждого подхода вполне понятны. Модуль - надо собирать под ту же версию, а если оно не умеет динамическим модулем то потом собирать пакет и выкатывать нашу сборку. Нужно отслеживать процесс обновления пакетов, чтобы не поставилась другая версия (решается через опцию Requires в spec файле).

Соберём пакет по п.1, при этом обязательно актвировать модуль ngx_http_auth_request_module (включено в официальных сборках), спека в комплекте
https://github.com/nginxinc/nginx-ldap-auth/tree/master/rpm