SCROLL

Посты автора «jakonda»

В порядке рабочей необходимости решили завести резервный канал связи, не зависимый от местной УК БЦ. Выбор пал на мобильного оператора Yota, ввиду предварительных замеров уровня сигнала и скорости приема\передачи он нас более чем устроил.

Разберем как установить phpMyAdmin последней версии из исходников в Debian 9 Stretch. Так же рассмотрим как обезопасить доступ к нему.

 

Устанавливаем необходимые пакеты:

apt-get install php php-common php-cli libapache2-mod-php php-gd php-mbstring php-zip php-xml php-curl php-bz2 php-mysql php-common php-tcpdf php-gettext mariadb-server -y

 

Скачиваем последнюю версию phpMyAdmin, распаковываем скачанный архив и перемещаем его в пользовательский каталог:

wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.zip

unzip phpMyAdmin-latest-all-languages.zip
rm phpMyAdmin-latest-all-languages.zip
mv phpMyAdmin-*-all-languages/ /usr/share/phpmyadmin

 

Создадим каталог в котором phpMyAdmin будет хранить свои временные файлы и назначаем права доступа к нему для веб-сервера (www-data):

mkdir -p /var/lib/phpmyadmin/tmp
chown -R www-data:www-data /var/lib/phpmyadmin

 

Создаем базу данных и таблицы конфигурации для phpMyAdmin. Применяем поставляемый вместе с phpMyAdmin скрипт:

mariadb < /usr/share/phpmyadmin/sql/create_tables.sql

У одного из читателей блога наблюдалась проблема в произвольной перезагрузке Squid при работе в режиме перехвата HTTPS трафика с использованием «bump all».

В работе имеется веб-сайт на котором реализована авторизация посредством ЕСИА (Единая система идентификации и аутентификации). До недавнего времени можно было использовать самоподписной RSA сертификат, но с 1 апреля 2020 года, для взаимодействия с ЕСИА необходимо использовать сертификат с алгоритмом шифрования по ГОСТ Р 34.10-2012.

 

В связи с этим мне необходимо было реализовать возможность работы с алгоритмом ГОСТ Р 34.11-2012 в OpenSSL на Debian 9 Stretch.

 

Путем перелопачивания множества информации по этому вопросу и проб использования движка GOST-Engine с различными версиями OpenSSL, для себя определил рабочую связку OpenSSL 1.1.1d + GOST-Engine.

 

В качестве памятки опишу действия для реализации связки OpenSSL 1.1.1d + GOST-Engine на Debian 9 Stretch.

 

Устанавливаем необходимые пакеты:

apt-get install build-essential wget git cmake unzip gcc -y

 

Выполняем сборку OpenSSL 1.1.1d, выполняем команды:

cd /opt

wget "https://github.com/openssl/openssl/archive/OpenSSL_1_1_1d.zip" -O "OpenSSL_1_1_1d.zip"
unzip OpenSSL_1_1_1d.zip && cd openssl-OpenSSL_1_1_1d

./config shared -d --prefix=/usr/ssl --openssldir=/usr/ssl
make all && make install

rm /usr/bin/openssl
ln -s /usr/ssl/bin/openssl /usr/bin/openssl
echo "/usr/ssl/lib" >> /etc/ld.so.conf.d/ssl.conf && ldconfig

Рассмотрим как реализовать Autoprovision на телефонах — Cisco SPA (3xx-5xx серии) в связке DHCP (на базе Windows Server 2012 R2) + TFTP.

 

Исходные данные:

      • Телефоны Cisco 504G
      • TFTP-сервер на Debian 8 Jessie (установка) — 192.168.1.2
      • Развернутый DHCP-сервер на Windows Server 2012 R2 с областью:
        • Telephone (10.10.10.0/24)

Задача:

Необходимо чтобы телефон Cisco SPA 504G, автоматически настраивал общие параметры, обновлял прошивку и регистрировал SIP аккакунт.

 

Настройка DHCP-сервера

В созданной области Telephone (10.10.10.0/24) необходимо добавить «Опцию». Переходим в параметры области и добавляем параметр со значением IP-адреса TFTP-сервера:

 

Теперь при подключении телефона к локальной сети, он определит TFTP-сервер.

Понадобилось недавно подключить SIP-транк от Ростелекома к FreePBX 14 в связке с Asterisk 16. В качестве памятки опишу порядок действий, для того чтобы иметь возможность на FreePBX принимать\звонить через SIP-транк Ростелекома.

 

В личном кабинете Виртуальной АТС (Ростелеком) переходим в «Пользователи» и заходим в «user1» (можно создать нового, кому как удобней).

В качестве памятки опишу способ доработки функции второй линии (Call Waiting) в FreePBX 14.

В работе имеется прокси-сервер Squid 4.9, работающий с HTTPS поддержкой. Столкнулся с проблемой в работе мессанджера Whatsapp (Web, Desktop версии) на конечных системах.

От коллеги по цеху поступила просьба помочь с реализацией интересной задачи, которая заключается во исполнении №152-ФЗ (Федеральный закон «О персональных данных») по которому необходимо блокировать исходящие звонки на номера клиентов, который дали отказ на них.

 

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

 

Я увидел решение задачи несколькими способами, рассмотрим этим варианты реализации.

 

Исходные данные:

  • Debian 9 Strech
  • Asterisk 16 + FreePBX 14
  • Номерная маска операторов — _146XX

 

Вариант #1

В файл конфигурации /etc/asterisk/extensions_custom.conf добавляем следующую обработку:

[from-internal-custom]
exten => _89858887766/_146XX,1,GoSub(sub-marketing-block,s,1)
exten => _89855554433/_146XX,1,GoSub(sub-marketing-block,s,1)
exten => _89852221100/_146XX,1,GoSub(sub-marketing-block,s,1)
; -- УКАЗЫВАЕМ ОСТАЛЬНЫЕ НОМЕРА КОТОРЫЕ ПОД ЗАПРЕТОМ --

[sub-marketing-block]
exten => s,1,Background(custom/message)
exten => s,2,WaitExten(3)
exten => 1,1,Goto(s,5)
exten => i,1,Goto(s,6)
exten => t,1,Goto(s,6)
exten => s,5,Return()
exten => s,6,Hangup()

Рассмотрим как реализовать перехват пользовательских HTTPS-запросов в сеть интернет для дальнейшего анализа и учета их. Все ниже описанные действия производятся на Debian 9 Stretch с установленным прокси-сервером Squid 4.9.

Разберем как настроить связь Squid 4.9 c Active Directory через Kerberos аутентификацию и Basic LDAP авторизацию, для предоставления доступа в интернет по доменным учетным записям и разграничение прав согласно заданным группам безопасности Active Directory.

По различными причинам, случается так что какой то файл может быть удален с файлового сервера и в этом случае он будет потерян на всегда. Для того чтобы иметь возможность восстановить удаленный файл на файловом сервере samba предусмотрен модуль VFS (Virtual File System) — recycle (сетевая корзина), рассмотрим его применение.

Для логирования/аудита действий пользователей на файловом сервере предусмотрен модуль VFS (Virtual File System) — full_audit, рассмотрим его применение.

Как известно система лицензирования Microsoft штука не дешевая и поэтому рассмотрим как установить файловый сервер Samba 4.5 и создавать общие папки с интеграцией Active Directory на Debian.

В FreePBX 14 Dashboard в Mail Queue висит ошибка:

Mail Queue: Unknown output from mailq: [[“exim: permission denied”], 1]

 

Данная ошибка означает что нет доступа списку очереди exim. Чтобы исправить эту ошибку в файле конфигурации (/etc/exim4/exim4.conf.template) в секцию MAIN CONFIGURATION SETTINGS добавим параметр:

queue_list_requires_admin = false

 

Обновим конфигурацию exim:

update-exim4.conf

 

Рассмотрим как установить FreePBX 14 в связке с Asterisk 16 на Debian 9 Stretch.

 

Подготовка системы

Перед началом установки обновляем систему до актуального состояния:

apt-get update && apt-get upgrade -y

Устанавливаем необходимые зависимости:

apt-get install build-essential linux-image-amd64 linux-headers-* apt-transport-https bison flex curl sox libncurses5-dev libssl-dev mpg123 libxml2-dev libnewt-dev sqlite3 libsqlite3-dev pkg-config automake libtool autoconf git unixodbc-dev uuid uuid-dev libasound2-dev libogg-dev libvorbis-dev libicu-dev libcurl4-openssl-dev libical-dev libneon27-dev libsrtp0-dev libspandsp-dev subversion libtool-bin python-dev unixodbc dirmngr sudo apache2 mariadb-server mariadb-client default-libmysqlclient-dev -y

[stextbox id=’alert’]ВНИМАНИЕ. Обязательно перезагружаем систему и после этого продолжаем установку.[/stextbox]

 

Устанавливаем PHP версии 5.6 (для корректной работы FreePBX fwconsole):

curl https://packages.sury.org/php/apt.gpg | apt-key add -
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/deb.sury.org.list
apt-get update && apt-get install php5.6 php5.6-curl php5.6-cli php5.6-mysql php5.6-mbstring php5.6-gd php5.6-xml php-pear -y

Устанавливаем NodeJS :

curl -sL https://deb.nodesource.com/setup_11.x | sudo -E bash -
apt-get install nodejs -y
pear install Console_Getopt

Устанавливаем поддержку MariaDB ODBC

wget https://downloads.mariadb.com/Connectors/odbc/connector-odbc-2.0.15/mariadb-connector-odbc-2.0.15-ga-debian-x86_64.tar.gz
tar -zxvf mariadb*
cp -v mariadb-connector-odbc-2.0.15-ga-debian-x86_64/lib/libmaodbc.so /usr/lib/x86_64-linux-gnu/odbc/

 

После внеплановой перезагрузки гипервизора VMware ESXi 6.5, появилась непонятная виртуальная машина с названием «11» . При попытке ее запустить получил следующие ошибки:

Could not power VM, no swap file, failed to power on VM.
VMControl error -11: No such virtual machine.
A general system error occurred. The system returned on error. Communication with the virtual machine may have been interrupted

 

Удалить (Delete), снять регистрацию (unregister) ее через vSphere не удалось, т.к. данные пункты были не активны:

 

Снять регистрацию виртуальной машины можно через командную строку VMware ESXi. Подключаемся по SSH к хосту ESXi и сперва выведем список зарегестрированных виртуальных машин:

vim-cmd vmsvc/getallvms

Skipping invalid VM '11'
Vmid Name File Guest OS Version Annotation
2 ca-offline [Datasotre1] ca-offline/ca-offline.vmx windows8Server64Guest vmx-13
3 ca-online [Datasotre1] ca-online/ca-online.vmx windows8Server64Guest vmx-08

В качестве памятки для себя опишу как изменить порт сервера 1С Предприятия 8.3 по умолчанию и как включить отладку сервере.

В работе имеется Blade-сервер Dell VRTX на лезвиях которых используется гипервизор VMware vSphere 6.5. Так как все лезвия используют одну дисковую корзину VRTX, то перемещение\миграция виртуальных машин осуществляется путем обычного разрегистрирования на одном лезвии и регистрация на другом.

[stextbox id=’info’]Такой метод миграции VM соответственно требует обязательного выключения машины, в отличии от использования vCenter. Но vCenter дорогой и не каждая организация готова его себе позволить, как в моем случае.[/stextbox]

 

В очередной раз понадобилось переместить VM (webserver_1) с одного лезвия на другой и в процессе этого столкнулся с трудностями запуска VM на целевом лезвии. В качестве памятки себе опишу свою проблему и ее решение.

 

На исходном лезвии выполнил завершение работы на виртуальной машине, но она не выключилась. Решил принудительно завершить ее работу через консоль, но в активных процессах виртуальную машину (webserver_1) не обнаружил, а вместо нее висела виртуальная машина с названием vm.572109.

Принудительно завершил процесс vm.572109 и разрегистрировал ее из текущего лезвия. На другом лезвии зарегестрировал ее и попытался запустить, но она не запустилась.

 

Долго висел статус «Running…»

Столкнулся недавно с ситуацией, когда необходимо было разобрать имеющиеся файлы программных лицензии 1С (*.lic) и понять какие регистрационные данные и используемый ПИН-код на них.