• Установка Asterisk 19 с FreePBX 16 на Debian 10 Buster

    # Устанавливаем необходимые пакеты зависимостей. Все действия ниже будут выполняться от root.

    apt-get install build-essential linux-headers-`uname -r` apt-transport-https gnupg2 sudo apache2 mariadb-server mariadb-client default-libmysqlclient-dev 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 libspandsp-dev subversion libtool-bin python-dev unixodbc dirmngr -y
    ВНИМАНИЕ. Желательно перезагрузить систему и после этого продолжить установку.

     

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

    wget -qO - https://packages.sury.org/php/apt.gpg | sudo apt-key add -
    echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list
    apt-get update && apt-get install php7.4 php7.4-curl php7.4-cli php7.4-common php7.4-mysql php7.4-gd php7.4-mbstring php7.4-intl php7.4-xml php-pear -y

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

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

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

    wget https://downloads.mariadb.com/Connectors/odbc/latest/mariadb-connector-odbc-3.1.9-debian-buster-amd64.tar.gz
    tar -zxvf mariadb*
    cp -v mariadb-connector-odbc-3.1.9-debian-buster-amd64/lib/mariadb/libmaodbc.so /usr/lib/x86_64-linux-gnu/odbc/
    ВНИМАНИЕ. На момент написание статьи версия MariaDB ODBC — 3.1.9, поэтому обращаем внимание на случай ошибок и при необходимости корректируйте версионность. Последние версии можно посмотреть на оф. сайте — https://downloads.mariadb.com/Connectors/odbc/latest/.

    Читать далее

  • MSSQL Server ошибка при подключении — The target principal name is incorrect. Cannot generate SSPI context.

    В один момент не смог подключится к своему MSSQL Server используя Windows Authentication, получал ошибку — The target principal name is incorrect. Cannot generate SSPI context.

    В логах видно что не удается зарегистрировать Service Principal Name (SPN) службы SQL Server:

    Date        1/27/2023 4:31:22 PM
    Log        SQL Server (Current - 1/27/2023 5:12:00 PM)
    Source        Server
    Message
    SQL Server is attempting to register a Service Principal Name (SPN) for the SQL Server service. Kerberos authentication will not be possible until a SPN is registered for the SQL Server service. This is an informational message. No user action is required.
    
    Date        1/27/2023 4:31:22 PM
    Log        SQL Server (Current - 1/27/2023 5:12:00 PM)
    Source        Server
    Message
    The SQL Server Network Interface library could not register the Service Principal Name (SPN) [ MSSQLSvc/n******4005.example.local:N******4005 ] for the SQL Server service. Windows return code: 0x21c7, state: 15. Failure to register a SPN might cause integrated authentication to use NTLM instead of Kerberos. This is an informational message. Further action is only required if Kerberos authentication is required by authentication policies and if the SPN has not been manually registered.

     

    Быстро диагностировать и исправить проблемы можно утилитой — Microsoft Kerberos Configuration Manager (KCM).

     

    На компьютере, на котором возникла проблема с подключением, скачиваем и устанвливаем Kerberos Configuration Manager.

    Скачать можно с официального сайта — https://www.microsoft.com/en-us/download/details.aspx?id=39046

     

    Запускаем KerberosConfigMgr.exe из папки C:\Program Files\Microsoft\Kerberos Configuration Manager for SQL Server используя учетную запись домена, у которой есть разрешения для подключения к компьютеру SQL Server, к которому не можем подключиться.

    Нажимаем Connect. На форме подключения оставляем имя сервера и учетные данные, пустыми.

     

    Читать далее

  • WSUS ошибка соединения с серверами Microsoft — The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.

    При конфигурации WSUS сервиса на Windows Server 2022 столкнулся с такой проблемой на стадии соединения с серверами обновлений MS.

    Выдает ошибку:

    WebException: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel. ---> System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure.
    at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request)
       at System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request)
       at Microsoft.UpdateServices.ServerSync.ServerSyncCompressionProxy.GetWebResponse(WebRequest webRequest)
       at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
       at Microsoft.UpdateServices.ServerSyncWebServices.ServerSync.ServerSyncProxy.GetAuthConfig()
       at Microsoft.UpdateServices.ServerSync.ServerSyncLib.InternetGetServerAuthConfig(ServerSyncProxy proxy, WebServiceCommunicationHelper webServiceHelper)
       at Microsoft.UpdateServices.ServerSync.ServerSyncLib.Authenticate(AuthorizationManager authorizationManager, Boolean checkExpiration, ServerSyncProxy proxy, Cookie cookie, WebServiceCommunicationHelper webServiceHelper)
       at Microsoft.UpdateServices.ServerSync.CatalogSyncAgentCore.SyncConfigUpdatesFromUSS()
       at Microsoft.UpdateServices.Server

    Эта проблема возникает из-за того, что функция импорта WSUS не может использовать TLS 1.2.

    Для решения этой проблемы создадим или обновим (если он уже имеется) файл w3wp.exe.config, чтобы включить TLS 1.2.

    Читать далее

  • Настройка LDAP авторизации на Greenbone Vulnerability Management (GVM) 21.04.

    Для памятки как настроить LDAP аутентификацию в Greenbone Vulnerability Management.

    GVM использует либо команду StartTLS через LDAP на порту 389, либо SSL/TLS через LDAPS на порту 636. Чтобы проверить подлинность сервера LDAP, GVM должен доверять сертификату сервера. Для этого сертификат центра сертификации, выдавшего сертификат (CA), должен храниться каталоге корневых сертификатов на локальной машине.

    Cертификат центра сертификации должен быть экспортирован в виде файла в кодировке Base64 и помещен в каталог хранения корневых сертификатов системы (/usr/share/ca-certificates/mozilla/).

    cp CA.crt /usr/share/ca-certificates/mozilla/CA.crt
    
    ИНФОРМАЦИЯ.  Если центр сертификации является промежуточным центром сертификации, то необходимо так же экспортировать корневой сертификат центра сертификации и поместить в каталог хранения корневых сертификатов.

     

    В файл /etc/ca-certificates.conf необходимо добавить информацию о добавленных корневых сертификатов в каталог хранения корневых сертификатов.

    ..
    mozilla/CA.crt

    Обновляем сертификаты:

    update-ca-certificates

    Успешное добавление сертификатов, должно быть вида:

    Updating certificates in /etc/ssl/certs...
    1 added, 0 removed; done.
    Running hooks in /etc/ca-certificates/update.d...
    done.

    Читать далее

  • Настройка DKIM в связке с Postfix.

    DKIM (DomainKeys Identified Mail) — это система, которая позволяет вашим почтовым серверам добавлять подпись к заголовкам исходящей электронной почты. Он идентифицирует открытый ключ вашего домена, чтобы другие почтовые серверы могли проверить подпись. Кроме того, DKIM помогает не допустить, чтобы ваша почта считалась спамом. Это также позволяет почтовым серверам обнаруживать, когда ваша почта была подделана при пересылке.

    Прошу обратить внимание что все ниже действия будут производится применительно к домену — example.com.

     

    # Устанавливаем пакеты OpenDKIM:

    apt-get install opendkim opendkim-tools -y

     

    Настройка OpenDKIM

    # Создаем каталоги для хранения файлов данных OpenDKIM:

    mkdir /etc/opendkim
    mkdir /etc/opendkim/keys
    touch /etc/opendkim/KeyTable
    touch /etc/opendkim/SigningTable
    touch /etc/opendkim/TrustedHosts

    # Добавляем пользователя postfix в группу opendkim. Назначаем права собственности пользователю opendkim:

    adduser postfix opendkim
    chown -R opendkim:opendkim /etc/opendkim

     

    # Создаем каталог с названием домена для размещения ключа:

    mkdir /etc/opendkim/keys/example.com

    # Генерируем открытый и закрытый ключи:

    opendkim-genkey -b 2048 -h rsa-sha256 -r -s mail -d example.com -D /etc/opendkim/keys/example.com -v

    # Добавляем в файл (/etc/opendkim/KeyTable) пару селектор/домен и путь к их закрытому ключу. В качестве селектора используем строку которую указывали при генерации ключа (mail):

    echo "mail._domainkey.example.com example.com:mail:/etc/opendkim/keys/example.com/mail.private" >> /etc/opendkim/KeyTable
    ИНФОРМАЦИЯ.  Если на почтовом сервере несколько доменом, то DKIM запись должна быть по одной строке на каждую пару селектор/домен и путь к их закрытому ключу.

     

    # Добавляем в файл (/etc/opendkim/SigningTable) домен и его селектор:

    echo "*@example.com email._domainkey.example.com" >> /etc/opendkim/SigningTable

    # Определяем в файле (/etc/opendkim/TrustedHosts) перечень доверенных хостов, исходящие от этих хостов подписанными:

    cat << EOF > /etc/opendkim/TrustedHosts
    127.0.0.1
    localhost
    *.example.com
    EOF

    Читать далее

  • Как удалить Elasticsearch в Linux

    Прежде чем пытаться удалить пакет elasticsearch, важно отключить службу Elasticsearch:

    systemctl stop elasticsearch

    Как только Elasticsearch будет отключен, удаляем пакет (после удаления файлы конфигурации останутся в соответствующих каталогах):

    apt-get remove elasticsearch -y

    Очистка файлов конфигурации Elasticsearch:

    apt-get --purge autoremove elasticsearch -y

    Удаление следующих каталогов вручную также может помочь обеспечить максимально чистое удаление:

    rm -rf /var/lib/elasticsearch
    rm -rf /etc/elasticsearch

    Читать далее

  • Как удалить Grafana и все ее следы из Debian 10 Buster

    # Деинсталлируем пакет Grafana из системы с последующей чисткой от не нужных пакетов после деинсталляции.

    apt-get purge grafana grafana-enterprise
    apt autoremove

    # Подчищаем оставшиеся после деинсталляции файлы и каталоги относящиеся к Grafana.

    rm /etc/systemd/system/multi-user.target.wants/grafana-server.service
    rm /sys/fs/cgroup/pids/system.slice/grafana-server.service
    rmdir /sys/fs/cgroup/pids/system.slice/grafana-server.service
    rmdir /sys/fs/cgroup/devices/system.slice/grafana-server.service
    rmdir /run/grafana/grafana-server.pid
    rm /run/grafana/grafana-server.pid
    rmdir /run/grafana

    Читать далее

  • Установка почтового сервера Postfix и Dovecot на Debian 10 Buster

    Недавно разбирался как поднять почтовый сервер на Postfix в связке с Dovecot, для памяти опишу как поднять такой сервер на Debian 10. Все действия ниже будут выполняться от root.

     

    Настройка DNS записей

    # Добавляем DNS-записи для вашего почтового сервера:

    @           MX  10  mail.example.com.
    mail        A   192.168.1.10

     

    Настройка системы

    # Задаем имя системы (mail) в файле (/etc/hostname):

    echo mail > /etc/hostname

    # Указываем в файле (/etc/hosts) строку содержащую IP-адрес с полным доменным именем (FQDN).

    127.0.0.1       localhost
    192.168.1.10    mail.example.com mail
    ИНФОРМАЦИЯ: В приведенном выше примере 192.168.1.10 — это IP-адрес машины, mail — это имя локального хоста, а mail.example.com это полное доменное имя.

     

    Настройка MySQL

    Данные о пользователях почтового сервера (адреса электронной почты), доменах и псевдонимах будут хранится в базе данных MySQL.

     

    # Устанавливаем MySQL сервер.

    apt-get install mariadb-server -y

    # Выполняем базовую настройку безопасности MySQL сервера и входим на сервер.

    mysql_secure_installation
    mariadb

     

    # Создаем базу данных для работы почтового сервера, пользователя для работы с базой данных и делегируем права на созданную базу данных.

    CREATE DATABASE postfix;
    CREATE USER 'postfix'@'localhost' IDENTIFIED BY 'postfix';
    GRANT SELECT ON postfix.* TO 'postfix'@'localhost';
    FLUSH PRIVILEGES;
    

    # Переключаемся на созданную базу данных, для создания необходимых таблиц.

    use postfix;

    # Создаем таблицу для доменов, которые будут получать почту:

    CREATE TABLE `virtual_domains` (
      `id` int(11) NOT NULL auto_increment,
      `name` varchar(50) NOT NULL,
      PRIMARY KEY (`id`)
    );

    # Создаем таблицу для всех адресов электронной почты и паролей:

    CREATE TABLE `virtual_users` (
      `id` int(11) NOT NULL auto_increment,
      `domain_id` int(11) NOT NULL,
      `password` varchar(106) NOT NULL,
      `email` varchar(100) NOT NULL,
      PRIMARY KEY (`id`),
      UNIQUE KEY `email` (`email`),
      FOREIGN KEY (domain_id) REFERENCES virtual_domains(id) ON DELETE CASCADE
    );

    Читать далее

  • Установка библиотеки JSON-C из исходников на Debian 10 Buster

    # Устанавливаем необходимые пакеты зависимостей. Все действия ниже будут выполняться от root.

    apt-get install gcc g++ make cmake pkg-config git doxygen valgrind -y

    # Скачиваем исходник (оф. репозиторий json-c — https://github.com/json-c/json-c#installprereq), раскаковываем его и переходим в распакованный каталог.

    cd /opt
    git clone https://github.com/json-c/json-c.git
    
    cd json-c/
    mkdir build && cd build

    # Конфигурирование сборки.

    ../cmake-configure --prefix=/usr

    # Собираем и устанавливаем пакет.

    make && make test
    make install

    Читать далее

  • Установка Python 3.9 из исходников на Debian 10 Buster

    # Устанавливаем необходимые пакеты зависимостей. Все действия ниже будут выполняться от root.

    apt-get update && apt-get upgrade -y
    apt-get install apt-get install gcc g++ make libffi-dev libnss3-dev libssl-dev zlib1g-dev

    # Скачиваем исходник, раскаковываем его и переходим в распакованный каталог (на момент написания статьи версия 3.9.14).

    cd /opt/
    wget https://www.python.org/ftp/python/3.9.14/Python-3.9.14.tgz
    tar -zxvf Python-3.9.14.tgz
    cd Python-3.9.14

    # Выполняем конфигурирование.

    mkdir build && cd build
    ../configure --prefix= --enable-optimizations

    # Собираем и устанавливаем пакет.

    make
    make install

    Читать далее