пятница, 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