Резервное копирование Zabbix PostgreSQL.

Введение.

Продолжая публикации о Zabbix, см.полезные ссылки, переходим к обсуждению вопроса создания резервной копии Zabbix PostgreSQL.

Многие админы согласятся — «Buckup наше всё!» и это действительно так. Что бы мы не делали и какие бы усилия не прикладывали, всё окажется бесполезным если нет возможности к восстановлению программы после краха.

Подготовка.

  • Стенд
    • ALT Linux сервер, имя lin-zab; ip-10.0.2.13;
    • БД PostgreSQL

План создания резервной копии.

  • Что надо сохранить:
    • dump БД
    • настройки сервера
    • настройки серверного агента
    • журналы

dump БД — содержит структуру и контент базы данных

  • Каталоги Zabbix.
    • /etc/zabbix — файлы агентов
    • /var/www/webapps/zabbix/ui — рабочий каталог
    • /var/www/webapps/zabbix/ui/conf/zabbix.conf.php — настройки
    • /var/log/zabbix — журналы Zabbix
    • /usr/share/doc — пакеты Zabbix
    • /var/lib/pgsql — папки кластера БД PostgreSQL
    • /usr/share/pgsql -пакеты PostgreSQL

Содание dump PostgreSQL.

Для создания резервной копии воспользуемся программой pg_dump — выгрузить только одну БД zabbix.

# pg_dump -Upostgres zabbix > zabbix.db

Для backup кластера PgSQL используйте программу pg_dumpall.

pg_dumpall предназначена для «выгрузки» всех БД кластера

Копирование каталогов Zabbix.

Вся информация о работе агентов Zabbix и настройках подключённых узлов- хранится в БД

Для копирования каталогов используем утилиту cp.

# cp -r /etc/zabbix/zabbix_server.conf /home/bkz # cp -r /etc/zabbix/zabbix_agentd.conf /home/bkz # cp -r /var/www/webapps/zabbix/ui/conf/zabbix.conf.php /home/bkz # cp -r /var/log/zabbix /home/bkz

Мы сохранили необходимые файлы для восстановления сервера мониторинга вводя команды с консоли.

Автоматизация Backup PostgreSQL.

Консольное выполнение команд backup удобно для выборочного резервного копирования, но не достаточна, когда система включена в технологический процесс работы ИТ предприятия.

Для выполнения backup по заданному расписанию создадим файл zbk.sh командной оболочки bach, с инструкцией к исполнению при обращении к нему.

Напишем файл zbk.sh командной оболочки bach с инструкцией к исполнению при обращении к нему.

#!/bin/bash TEMPDIR=/tmp/zbk/ BACKUPDIR=/home/ mkdir -p $TEMPDIR # Создать dump PostgreSQL копировать во временный каталог pg_dump -Upostgres zabbix > $TEMPDIR/zabbix.db # Копировать конфиги во временную директорию cp -r /etc/zabbix/zabbix_server.conf $TEMPDIR cp -r /etc/zabbix/zabbix_agentd.conf $TEMPDIR cp -r /var/www/webapps/zabbix/ui/conf/zabbix.conf.php $TEMPDIR cp -r /var/log/zabbix $TEMPDIR # Сжать и добавить дату создания(максимально до 31 дня месяца) tar -cjf $BACKUPDIR/zabbix_`date +%d`_back.tar.bz2 $TEMPDIR # Очистить временный каталог rm -rf /tmp/zbk

Файл содержит всё необходимое для последовательного выполнения действий по созданию Backup Zabbix PostgreSQL

Созданный архив будет иметь название и формат записи: zabbix_23_back.tar.bz2

Выполнение Backup PostgreSQL Zabbix.

Сценарий zbk.sh следует поместить в /usr/local/bin с правами.

# chmod 744 /usr/local/bin/zbk

/usr/local/bin — пользовательский каталог хранения сценариев оболочки bash

Скрипт zbk.sh, для проверки, можно запускать с консоли.

# zbk.sh

Для выполнения запуска программ по расписанию используем cron.

cron — планирует выполнение команд в указанные даты и время

Формирование расписания для backup zabbix postgreSQL.

# crontab -e
minute (0-59),
| hour (0-23),
| | day of the month (1-31),
| | | month of the year (1-12),
| | | | day of the week (0-6 with 0=Sunday).
| | | | | commands
00 00 * * 0 zbk

Заключение.

В статье блога приведены рекомендации и приёмы создания резервной копии Zabbix установленного на PostgreSQL. Мы рекомендуем провести несколько контрольных операций построения резервной копии на стенде.

Созданные архивы лучше хранить на отдельном сервере или устройстве для резервных копий вашей компании.

Восстановление резервной копии читайте в разделе полезные ссылки.

Полезные ссылки.

Резервное копирование Zabbix backup MySQL.

Введение.

Продолжая публикации о Zabbix, см.полезные ссылки, переходим к обсуждению вопроса создания резервной копии Zabbix MySQL.

Без сомнения многие админы согласятся — «Buckup наше всё!» и это действительно так. Что бы мы не делали и какие бы усилия не прикладывали, всё окажется бесполезным если нет возможности к восстановлению программы после аварии..

Подготовка.

  • Стенд
    • ALT Linux сервер, имя lin-zab; ip-10.0.2.13;
    • БД MySQL

План действий по созданию резервной копии Zabbix MySQL.

  • Что надо сохранить:
    • dump БД
    • настройки сервера
    • настройки серверного агента
    • журналы

dump БД — содержит структуру и контент базы данных

  • Каталоги Zabbix.
    • /etc/zabbix — файлы агентов
    • /var/www/webapps/zabbix/ui — рабочий каталог
    • /var/www/webapps/zabbix/ui/conf/zabbix.conf.php — настройки
    • /var/log/zabbix — журналы Zabbix
    • /usr/share/doc — пакеты Zabbix
    • /var/lib/mysql — БД MySQL
    • /etc/my.cnf.d — настройки MySQL

Перед тем как приступить, создадим каталог для хранения архива.

# mkdir -p /home/bkz

Создание dump MySQL.

Создание dump БД Zabbix.

# systemctl stop zabbix_mysql
# mysqldump -uroot -pzabbix zabbix > /home/bkz/zabbix.db
# systemctl startp zabbix_mysql

Если требуется dump всех БД MySQL.

# systemctl stop zabbix_mysql
# mysqldump -uroot -pzabbix -A > /home/bkz/all_db.sql
# systemctl start zabbix_mysql

Копирование каталогов Zabbix.

Вся информация о работе агентов Zabbix и настройках подключённых узлов- хранится в БД.

Для копирования каталогов воспользуемся утилитой cp.

# cp -r /etc/zabbix/zabbix_server.conf /home/bkz # cp -r /etc/zabbix/zabbix_agentd.conf /home/bkz # cp -r /var/www/webapps/zabbix/ui/conf/zabbix.conf.php /home/bkz # cp -r /var/log/zabbix /home/bkz

Таким образом мы сохранили всё, что потребуется для восстановления сервера мониторинга используя «ручной» ввод команд.

Автоматизация Backup MySQL.

Ручное копирование наглядно для выборочного backup, но не достаточна, когда система включена в технологический процесс работы ИТ предприятия.

Для выполнения backup по расписанию создадим файл zbk.sh для командной оболочки bach, с инструкцией к исполнению при обращении к нему.

#!/bin/bash TEMPDIR=/tmp/zbk/ BACKUPDIR=/home/ mkdir -p $TEMPDIR # Стор Apache2 systemctl stop httpd2 # Стоп zabbix сервер systemctl stop zabbix_mysql # Создать dump MySQL и скопировать в каталог mysqldump -uroot -pzabbix -A > $TEMPDIR/all_db.sql # Старт Apache2 systemctl start httpd2 # Старт zabbix сервер systemctl start zabbix_mysql # Копировать каталоги cp -r /etc/zabbix/zabbix_server.conf $TEMPDIR cp -r /etc/zabbix/zabbix_agentd.conf $TEMPDIR cp -r /var/www/webapps/zabbix/ui/conf/zabbix.conf.php $TEMPDIR cp -r /var/log/zabbix $TEMPDIR # Сохранить с текущей датой (max до 31 дня месяца) tar -cjf $BACKUPDIR/zabbix_`date +%d`_back.tar.bz2 $TEMPDIR # Очистить временный каталог rm -rf /tmp/zbk

Инструкция содержит пошаговые действия по созданию Backup Zabbix MySQL.

Созданный архив будет иметь название и формат записи: zabbix_23_back.tar.bz2.

Запуск Backup Zabbix.

После того, как сценарий zbk.sh создан его следует поместить в каталог /usr/local/bin и назначить права.

# chmod 744 /usr/local/bin/zbk 

/usr/local/bin — один из каталогов хранения сценариев оболочки bash

Скрипт zbk.sh, для проверки, можно запускать в «ручную».

# zbk.sh

Для выполнения запуска программ по расписанию используем cron.

cron — планирует выполнение команд в указанные даты и время

Создание расписания.

# crontab -e
minute (0-59),
| hour (0-23),
| | day of the month (1-31),
| | | month of the year (1-12),
| | | | day of the week (0-6 with 0=Sunday).
| | | | | commands
00 00 * * 0 zbk

Заключение.

В статье блога приведены рекомендации для создания резервной копии Zabbix работавшего на движке MySQL. Настоятельно советуем провести несколько контрольных операций по созданию резервной копии на стенде.

Созданные архивы должны храниться на специальном сервере или устройстве для резервных копий вашей компании.

Восстановление резервной копии читайте в разделе полезные ссылки.

Полезные ссылки.

Как установить Zabbix Linux PostgreSQL.

Ведение.

Продолжая публикации о Zabbix, см.полезные ссылки, переходим к описанию технологического процесса сборки сервера мониторинга с использованием БД PostgresSQL.

Выбор PostgreSQL не случаен, всё больше администраторов останавливаются на этой БД. Причин несколько: доступность, входит в перечень программ для организаций, имеет хорошею поддержку, стабилен и надёжен в работе.

Мониторинг производительности большого количества сетевых устройств предприятия, требует особого подхода в выборе инструмента контроля, одним из таких является Zabbix (Zab). Распространяется по лицензии GPL

Все материалы о работе с Zabbix смотри в полезных ссылках.

Подготовка.

  • Стенд
    • ALT Linux сервер, имя lin-zab; ip-10.0.2.13;
    • Simply Linux, имя: lin-sl, IP=10.0.2.30
    • PostgreSQL

Для развёртывания выбираем минимальную конфигурацию устанавливаемого сервера.

Из репозитория ALT linux скачиваем пакет для подготовки сервера к развёртыванию Zabbix.

# apt-get update
# apt-get install zabbix-preinstall

Пакет zabbix-preinstall содержит основные библиотеки для развёртывания zabb.

Перед установкой необходимо установить и настроить основной «каркас» Zabbix — вэб-сервер и БД.

Настройка Apache2.

Базовую установку вэб-сервера Apache2 смотри здесь.

  • Для запуска Apache2 необходимо:
    • проверить пути к корневому каталогу вэб-сервера
# /etc/httpd2/conf/sites-available/default.conf
...
  DocumentRoot "/var/www/html/"
...
 <Directory "/var/www/html/>
...
 </Directory>
  • добавить в секции Directory запись Require all granted, для переопределение к папке Zabbix
# /etc/httpd2/conf/sites-available/default.conf
...
 <Directory>
...
 Require all granted
 </Directory
  • проверить доступ на каталоги Apache2
# chown -R apache2:apache2 /var/www/webapps             
# chmod -R 771 /var/www/webapps
# namei -mol /var/www/webapps/zabbix/
f: /var/www/webapps/zabbix/
drwxr-xr-x root    root      /
drwxr-xr-x root    root      var
drwxr-xr-x root    webmaster www
drwxrws--x apache2 apache2   webapps
drwxrwx--x apache2 apache2   zabbix 
  • установить права на файлы и каталоги Zabbix
# find /var/www/webapps/zabbix -type f -exec chmod 644 {} \; # find /var/www/webapps/zabbix -type d -exec chmod 755 {} \;
  • контролировать доступ к каталогам Zabbix после корректировки
# namei -mol /var/www/webapps/zabbix/ui
f: /var/www/webapps/zabbix/ui
drwxr-xr-x root    root      /
drwxr-xr-x root    root      var
drwxr-xr-x root    webmaster www
drwxrws--x apache2 apache2   webapps
drwxr-xr-x apache2 apache2   zabbix
drwxr-xr-x apache2 apache2   ui 
  • Настроить ссылки Apache2 для Zabbix:
    • с помощью редактор mcedit
      • ИЛИ
    • командной строки
# ln -s /etc/httpd2/conf/addon.d/A.zabbix.conf /etc/httpd2/conf/extra-enabled

Вид каталогов исполнения addon.d и ссылок для Zabbix.

  • внести изменения в файла phpX сервера Apache2
# /etc/php/x.x/apache2-mod_php/php.ini 
max_execution_time = 300 
max_input_time = 300 
memory_limit = 256М 
post_max_size = 32M 
upload_max_filesize = 20M 
date.timezone = Europe/Moscow 
always_populate_raw_post_data= —

$ php -v //версия PHP

  • перегрузить сервер Apache2
# systemctl restart httpd2

 Настройка PostgreSQL.

Базовые настройки БД PostgreSQL смотреть здесь.

  • Требуется:
    • скачать пакеты PostgreSQL
# apt-get update
# apt-get install zabbix-server-pgsql
# apt-get install phpX-pgsql

Прежде чем продолжать наши действия необходимо установить пароль для пользователя postgres. Пароль потребуется при графической установке Zabbix.

$ sudo su - postgres -s /bin/bash
-bash-3.2$ psql 
postgres=# \password postgres
Введите новый пароль: postgres
Повторите его: postgres 
postgres=# \q
  • создать пользователя zabbix
//флаг -P, пароль для создаваемого пользователя
$ sudo su - postgres -s /bin/bash
-bash-3.2$ createuser -P zabbix 
Введите пароль для новой роли: zabbix 
Повторите его: zabbix 
Пароль: postgres //пароль пользователя postgres

Все пароли указанны для стендовой установки.

  • контролировать свои действия
$ sudo su - postgres -s /bin/bash -bash-3.2$ psql postgres=# \du Список ролей Имя роли | Атрибуты | Член ролей ----------+-------------------------------------------------------------------------+----------- postgres | Суперпользователь, Создаёт роли, Создаёт БД, Репликация, Пропускать RLS | {} zabbix \q
  • создать БД для zabbix
$ sudo su - postgres -s /bin/bash
-bash-3.2$
createdb -O zabbix -E Unicode -T template0 zabbix
Пароль: secret //пароль пользователя postgres
  • проверяем наши действия
$ sudo su - postgres -s /bin/bash -bash-3.2$ psql postgres=# \l Список баз данных Имя | Владелец | Кодировка | LC_COLLATE | LC_CTYPE | Права доступа -----------+----------+-----------+-------------+-------------+----------------------- postgres | postgres | UTF8 | ru_RU.UTF-8 | ru_RU.UTF-8 | template0 | postgres | UTF8 | ru_RU.UTF-8 | ru_RU.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | ru_RU.UTF-8 | ru_RU.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres zabbix | zabbix | UTF8 | ru_RU.UTF-8 | ru_RU.UTF-8 | (4 строки \q exit
  • импортировать схемы Zabbix в БД
//оглядеться в каталоге
# ls /usr/share/doc
//перейти в каталог шаблонов
# cd /usr/share/doc/zabbix-common-database-pgsql-X.X.X
//импорт шаблонов
# cat schema.sql | sudo -u zabbix psql zabbix
# cat images.sql | sudo -u zabbix psql zabbix
# cat data.sql   | sudo -u zabbix psql zabbix

Графический режим установки Zabbix.

Прежде чем перейти к графическим настройкам проверьте работу NTP.

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

 

Обратите внимание, Шаг3, поле «схема БД» остаётся пустым.

Запускаем сервер и агент Zabbix.

# systemctl start zabbix_pgsql
# systemctl enable zabbix_pgsql
# systemctl start zabbix_agentd
# systemctl enable zabbix_agentd
выставляем автозагрузку

После ответа на последний вопрос мастера настроек, перед нами появится окно с приглашением ввода логин и пароль для первого входа.

Первый вход: логин Admin пароль zabbix

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

  • Каталоги Zabbix.
    • /etc/zabbix — файлы агентов
    • /var/www/webapps/zabbix/ui — рабочий каталог
    • /var/www/webapps/zabbix/ui/conf/zabbix.conf.php — настройки
    • /var/log/zabbix — журналы
    • /usr/share/doc — пакеты

Заключение.

После всех манипуляций, остаётся настроить Zabbix агенты сервера и подключаемых узлов, здесь могут возникнуть известные трудности. Как найти и решить их читайте в статье посвящённой устранению наиболее часто встречаемых ошибок при работе Zabbix.

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

Полезные ссылки.

Как установить Zabbix Linux MySQL.

Ведение.

 Статья, проектирование технологического процесса сборки сервера Zabbix MySQL, открывает цикл публикаций посвящённых системе мониторинга на платформе Zabbix.

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

Из доступного для этих задач СПО, можно выделить Zabbix (Zab), лицензия GPL.

На сайте производителя выставлены готовые решением в виде компилированных iso образов для облачных сред. Собраны образа на ОС, которые не входят в реестр программ для учреждений и предприятий. В статьях цикла рассмотрены варианты развёртывания системы мониторинга на базе ОС ALT Linux компании «Базальт СПО».

Подготовка

  • Стенд
    • ALT Linux сервер, имя zabbix; ip-10.0.2.13;
      • БД, имя- zabbix
      • БД пароль — zabbix
      • БД пользователь — zabbix
    • Simply Linux, имя lin-sl; ip-10.0.2.33

Для развёртывания выбираем минимальную конфигурацию устанавливаемого сервера.

В репозитории ALT linux имеется готовый пакет для подготовки сервера к развёртыванию Zabbix.

# apt-get update
# apt-get install zabbix-preinstall

Пакет zabbix-preinstall содержит основные библиотеки для установки

Прежде чем перейти к установке Zabbix необходимо установить и настроить основной «каркас» — вэб-сервер и БД.

Настройка Apache2.

Базовую установку вэб-сервера Apache2 смотри здесь.

  • Для успешного запуска и работы Apache2 необходимо:
    • проверить пути к корневому каталогу вэб-сервера
# /etc/httpd2/conf/sites-available/default.conf
...
  DocumentRoot "/var/www/html/"
...
 <Directory "/var/www/html/>
...
 </Directory>
  • добавить в секции Directory запись Require all granted, для переопределение к папке Zabbix
# /etc/httpd2/conf/sites-available/default.conf
...
 <Directory>
...
 Require all granted
 </Directory
  • определить владельца и права на каталоги Apache2
# chown -R apache2:apache2 /var/www/webapps             
# chmod -R 771 /var/www/webapps
# namei -mol /var/www/webapps/zabbix/
f: /var/www/webapps/zabbix/
drwxr-xr-x root    root      /
drwxr-xr-x root    root      var
drwxr-xr-x root    webmaster www
drwxrws--x apache2 apache2   webapps
drwxrwx--x apache2 apache2   zabbix 
  • установить рекурсивно, права на файлы и каталоги Zabbix
# find /var/www/webapps/zabbix -type f -exec chmod 644 {} \; # find /var/www/webapps/zabbix -type d -exec chmod 755 {} \;
  • контролировать доступ к каталогам Zabbix после корректировки
# namei -mol /var/www/webapps/zabbix/ui
f: /var/www/webapps/zabbix/ui
drwxr-xr-x root    root      /
drwxr-xr-x root    root      var
drwxr-xr-x root    webmaster www
drwxrws--x apache2 apache2   webapps
drwxr-xr-x apache2 apache2   zabbix
drwxr-xr-x apache2 apache2   ui 
  • Настроить ссылки Apache2 для Zabbix
    • с помощью редактор mcedit
      • ИЛИ
    • командной строки
# ln -s /etc/httpd2/conf/addon.d/A.zabbix.conf /etc/httpd2/conf/extra-enabled

Вид веб каталога исполнения addon.d и каталога ссылок для Zabbix.

  • внести изменения в файла phpX сервера Apache2
# /etc/php/x.x/apache2-mod_php/php.ini max_execution_time = 300 max_input_time = 300 memory_limit = 256М post_max_size = 32M upload_max_filesize = 20M date.timezone = Europe/Moscow always_populate_raw_post_data= —
  • перегрузить сервер Apache2
# systemctl restart httpd2

 Настройка MySQL.

Базовую установку сервера MySQL смотри здесь

  • Требуется:
    • скачать основные пакеты сервера MySQL
# apt-get update
# apt-get install MySQL-server
  • выставить запуск и автозагрузку демона mysqld
# systemctl start mysqld
# systemctl enable mysqld
# systemctl is-enabled mysqld
enabled
  • установить пароль пользователя root
# mysqladmin -u root password
# New password:zabbix
# Confirm new password:zabbix
  • корректировать уровень безопасности при сеансе пользователя БД
# mysql -uroot -pzabbix mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'zabbix'; mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'zabbix'; mysql> quit
  • скачать дополнительные пакеты для zabbix
# apt-get install zabbix-server-mysql
# apt-get install phpX-mysqlnd
  • создать БД и привилегированного пользователя zabbix
# mysql -u root -pzabbix //создать БД zabbix mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin; //создать пользователя zabbix mysql> create user 'zabbix'@'localhost' identified by 'zabbix'; mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost'; mysql> SET GLOBAL log_bin_trust_function_creators = 1; mysql> quit
  • проверить кодировку БД Zabbix
# mysql -uroot -pzabbix mysql> SELECT @@character_set_database, @@collation_database; +--------------------------+----------------------+ | @@character_set_database | @@collation_database | +--------------------------+----------------------+ | utf8mb3 | utf8_general_ci | +--------------------------+----------------------+ mysql> quit

Развёртывание Zabbix.

Этапы развёртывания Zabbix делятся на консольный и графический режим.

При работе с консолью сервера, можно воспользоваться графической утилитой управления пакетами synaptic.

# apt-get install synaptic

Консольный режим установки.

После того, как основной каркас сервера мониторинга установлен и проверен в действии, переходим к установке пакетов для Zabbix.

X текущая версия php

# apt-get update # apt-get install zabbix-phpfrontend-apache2 # apt-get install zabbix-phpfrontend-engine # apt-get install zabbix-phpfrontend-phpX # apt-get install zabbix-server-common # apt-get install zabbix-common # apt-get install zabbix-phpfrontend-apache2-mod_phpX # apt-get install zabbix-agent # apt-get install phpX-sockets # apt-get install phpX-xmlreader # apt-get install phpX-ldap

$ php -v \\справка версии PHP

Если некоторые из перечисленных пакетов уже установлены, продолжайте устанавливать остальные.

Пользователь zabbix.

Системный пользователь и группа zabbix, не путать с пользователем БД, создаются при установке агента Zabbix.

# apt-get install zabbix-agent
...zabbix-agent уже установлен
//член групп
# id -Gn zabbix
zabbix wheel proc

 Ручное создание пользователя zabbix.

# groupadd zabbix
# useradd -g zabbix zabbix
# passwd zabbix
...
Enter new password: zabbix
Re-type new password: zabbix

Проверяем права доступа к каталогам журнала и запуска.

//журнал
# namei -mol /var/log/zabbix/
drwxr-xr-x root root /
drwxr-xr-x root root var
drwxr-xr-x root root log  
drwxrwxr-t root zabbix zabbix
//запуск
# namei -mol /var/run/zabbix/
drwxr-xr-x root root /
drwxr-xr-x root root var
lrwxrwxrwx root root run -> ../run
drwxr-xr-x root root     ..
drwxr-xr-x root root run
drwxr-xr-x zabbix zabbix zabbix

Действия с MySQL.

Производим импорт схем шаблонов Zabbix в БД MySQL.

//оглядеться в каталоге
# ls /usr/share/doc
//перейти в каталог шаблонов zabbix
# cd /usr/share/doc/zabbix-common-database-mysql-x.x.x
//импорт шаблонов в БД zabbix
# mysql -uroot -pzabbix zabbix < schema.sql
# mysql -uroot -pzabbix zabbix < images.sql
# mysql -uroot -pzabbix zabbix < data.sql
//перегрузить сервер zabbix
# systemctl restart zabbix_mysql

Удаляем log_bin_trust_function_creators после импорта.

# mysql -uroot -pzabbix
mysql> SET GLOBAL log_bin_trust_function_creators = 0;
mysql> quit;

log_bin_trust_function_creators — двоичное журналирование сохраненных программ

Полезные команды MySQL.

При эксплуатации системы мониторинга иногда приходится запускать проверку и исправление целостности БД MySQL.

# mysqlcheck -uroot -pzabbix --auto-repair --check --all-databases

Размер БД Zabbix можно узнать воспользовавшись командой.

# mysql -uroot -pzabbix mysql> SELECT table_schema "databases name", sum( data_length + index_length) / 1024 / 1024 "Data Base Size in MB" FROM information_schema.TABLES GROUP BY table_schema; +--------------------+----------------------+ | databases name | Data Base Size in MB | +--------------------+----------------------+ | information_schema | 0.15625000 | | mysql | 2.28296661 | | performance_schema | 0.00000000 | | sys | 0.01562500 | | zabbix | 1623.98437500 | +--------------------+----------------------+ 5 rows in set, 48 warnings (0,80 sec) mysql> quit

Графический режим установки Zabbix.

Запускаем сервер и устанавливаем уровень автозагрузки демона.

# systemctl start zabbix_mysql
# systemctl enable zabbix_mysql
# systemctl is-enabled zabbix_mysql

Прежде чем перейти к графическим настройкам проверьте работу NTP.

 Открываем браузер и пишем адрес сервера Zabbix.

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

Если при выполнении см. Вид2\Шаг3, возникает ошибка см. Вид3.

Ошибка соединения с БД Mysql.
Вид3. Ошибка соединения с БД Mysql.

Для исправления возникшей ошибки смотри рекомендации Вид4.

Замена пользователя для соединения с БД Zabbix.
Вид4. Замена пользователя для соединения с БД Zabbix.


После ответа на последний вопрос мастера настроек, появится окно с приглашением ввода логин и пароль для первого входа.

Первый вход: логин Admin пароль zabbix

Теперь можно войти в панель, сменить пароль администратора и локализовать, если требуется, домашнею страницу.

  • Каталоги Zabbix.
    • /etc/zabbix — файлы агентов
    • /var/www/webapps/zabbix/ui — рабочий каталог
    • /var/www/webapps/zabbix/ui/conf/zabbix.conf.php — настройки
    • /var/log/zabbix — журналы
    • /usr/share/doc — пакеты

Заключение.

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

 Есть ещё один, порочный, способ развёртывания сервера — скачать готовый iso образ с сайта, развернуть в облаке предприятия, подключить узлы. Этим обычно пользуются администраторы MS Windows. В этом способе установки нет ничего предосудительного, желание посмотреть, потрогать, попробовать в «живую» это всё правильно. В дальнейшем администратор сети начинает привыкать к серверу, более того ещё и доложит руководству. Но, что получается, сервер установлен, тонкие настройки сбора логов не выставлены. Сервер начинает собирать все события и копить на диске, диск переполняется, сервер останавливается, БД повреждена.

Начинается поиск специалиста по Linux, т.к сервер включён в структуру мониторинга предприятия, выяснить, кто это сделал не удаётся. Специалист по Linux должен понять, на каком дистрибутиве собран сервер. Добиться этой информации у того, кто устанавливал нет никакой возможности, как порой и найти его самого. Обычно в качестве дистрибутива для распространения используется те, за лицензии которых платить не надо — Ubuntu или CentOS. Начинается кропотливая работа по расширению виртуального диска, исправлению БД, настройки логов, настройка обновления OC и т.д. Возникает необходимость замены пароля для Zabbix, т.к даже это не делают, как из «коробки » пришёл так всё и оставляют.

 Вывод, если нужны образа iso для сервера, создайте основной экземпляр в облаке предприятия на базе ALT Linux минимум. Снимите с него копию, сожмите до предельного размера, что бы можно было передать по FTP. После того, как копия сервера будет получена, проследите весь процесс установки в облаке клиента, расширьте размер виртуального диска, настройте сеть, безопасность, проинструктируйте администратора, не забудьте включить в технологию обслуживания — процесс резервного копирования и обновления.

Полезные ссылки.

Как установить FTP сервер на Linux

Сегодня сервер FTP становится обязательной частью любого офиса. Без его работы не обходится ни одна серьёзная компания. Узел на базе FTP входит в пятёрку основных серверов, составляющих ядро ИТ компании читать далее

Как смотреть журналы событий Linux

Введение.

 В статье блога рассматривается возможность интеграции консольного просмотровщика логов lnav для анализа журналов Linux, в качестве примеров используются действующие журналы работы Kablink, appserver и catalina, в качестве стенда используется сервер ALT Linux.

 Встроенный в административную панель Kablink, системная кнопка отчёты, даёт администратору возможность контроля работы пользователей и системы в целом, но когда Портал выключен по различным причинам, сделать анализ журнал Tomcat-Apache становится невозможно. Существующие текстовые редакторы tail, cat, less … не позволяют уверенно ориентироваться в сложных системных сообщениях. Специальные программы для анализа логов, Rsyslog, ElasticsearchFluentd… требуют серьёзного изучения, сложны в настройках и отвлекают для своей работы дополнительные ресурсы. Анализатор lnav  — инструмент использующий облегчённую систему визуализации аналитики входящих сообщений.

  Просмотровщик lnav «всеядный» — может работать практически со всеми известными форматами журналов, на ‘лету’ анализировать, читать, индексировать и выводить на экран полученные результаты. Содержимое сообщений выходного файла журнала, объединяется в одно целое представление, на основе отметок времени происходящих событий.

 Регулярный мониторинг журналов, с поморью lnav , поможет администратору улучшить эксплуатационные характеристики своих приложений, расширяя потенциальные возможности управления программных комплексов.

Основные возможности Lnav

  • просмотр одного журнала
  • просмотр и извлечение сообщения нескольких журналов
  • автоматическое определение формата журнала
  • фильтрация сообщений журнала
  • наличие временных отметок журнала
  • включение режима pretty-print view
  • анализ журналов с использованием SQL запросов

Подготовка

  • Стенд
    • ALT Linux сервер, имя lin-lnav; ip-10.0.2.23;

 Развернуть lnav можно загрузив пакет из официального репозитория, с помощью менеджера пакетов synaptic, или скачать с сайта разработчика Lnav.

Если система безопасности организации требует, для установки lnav, использовать официальный репозиторий, консультируетесь со специалистами по безопасности ОС вашей организации.

# apt-get update
# apt-get install lnav
# ...

Если пакет загружен с сайта, выполните действия, как показано ниже.

# apt-get install lnav-x.x.x-x.x86_64.rpm

Теперь надо «нацелить» lnav на каталог, где хранятся журналы Kablink с помощью созданного для этого, запускающего сценария lnkb.

#!/bin/bash
# просмотр анализ журнала appserver.log
lnav /opt/novell/teaming/apache-tomcat/logs/appserver.log
# просмотр анализ журнала catalina.out
lnav /opt/novell/teaming/apache-tomcat/logs/catalina.out

Поместить сценарий lnkab в каталог /usr/local/bin

# ls -l /usr/local/bin
-rwxr-xr-x root root lnkb

Запускаем lnav командой…

$ sudo lnkb

Горячие клавиши Lnav.               

  • ПРОСТРАНСТВЕННАЯ НАВИГАЦИЯ
    PgUp — вниз на страницу
    PgDn  — вверх на страницу
      — вверх на одну строку
    — вниз на одну строку
    l → — право половина страницы
    Shift + l — Право десять столбцов
    n|N — следующий / предыдущий поисковый запрос
    > <  — следующий / предыдущий поисковый запрос по горизонтали
    s|S — следующее / существенное замедление в скорости сообщений журнала формат экрана
    T — отключение s
    u|U  — перемещение по закладкам, вверх низ
    w|W — поиск предупреждений начало, конец
    e|E — поиск ошибок начало, конец
    g|G Начало журнала / конец журнала
    { }  — предыдущее / следующее место в истории
  • ХРОНОЛОГИЧЕСКАЯ НАВИГАЦИЯ
    d|D — переместить на 24h верх или низ
    1-6|Shift 1-6  — следующая |предыдущая 10 мин часа
    7-8  — предыдущая / следующая минута
    0|Shift 0  — предыдущий / следующая день
  • ЗАКЛАДКИ
    m — пометить / снять отметку с верхней строки
    M — пометить / снять отметку диапазона строк от последней помеченной до верхней
    j — пометить следующей строки после ранее отмеченной вниз
    k — снять отметку с предыдущей строки вверх
    c — копировать отмеченные строки в буфер обмена
    C — очистить отмеченные линии
  • ДИСПЛЕЙ
    q — выход возврат предыдущий
    P — симпатичный видов
    T — отображение прошедшего времени между строками
    — гистограмма
    — откл.гистограммы
    p — разбор строки
    L — отключение lnav функций вид становится как простой терминал
    Ctrl-w — отмена переносов всё в одном экране
    Ctrl + f — включение / выключение всех фильтров в текущем представлении
    x  — переключить скрытие полей сообщения журнала. Скрытые поля будут заменены тремя маркерами и выделены желтым цветом.
    СЕССИЯ
    Ctrl + R — сброс утекшей сессии
  • ЗАПРОС
    / —  Поиск строк, соответствующих регулярному выражению
    / — повторное нажатие отменяет поиск

 После получения представления и общих сведений о работе и назначении горячих клавиш lnav, рассмотрим применение его на практике, анализируя сообщений основного appserver.log.

 Практика работы с Lnav.

 Набрав команду $ sudo lnkb  попадаем в окно журнала appserver.log, где указано расположение журнала, анализ которого нас интересуют.

Если используется буфер clipboard, для запуска lnav ввести $ sudo -E lnkab .

 Навигатор позволяет сортировать сообщения, выделяя из них строки со статусом WARN или ERROR, используя ← → клавиши перемещать строки в право или в лево, искать информацию выбирая строки с помощью клавиш ↓ ↑листать страницы сообщений с помощью клавиш PgDn PgUp , быстро переходить в начало или конец журнала.

 Для более точного разбора хронологии исследуемых событий журнала, воспользуемся выделением временных врезок: секундное, минутныесуточные, часовые или 24 часовые хронологические периоды появляющихся событий.

 Возможность делать отметки в сообщениях журнала с помощью закладок, делает навигатора lnav ещё привлекательней. Закладки можно ставить на одну строку или выделять несколько строк перемещаясь вверх или вниз по журналу, поиск закладок осуществляется с помощью клавиш u|U. Предусмотрена возможность выделения диапазона строк.

Для дальнейшего разбора, все закладки можно копировать в буфер clipboard, очистить журнал от пометок закладок можно с помощью сочетания клавиш Shift + C.

 Управлять выводимой, дисплейной, информации в удобном для восприятия виде, ещё одна хорошая особенность lnav. Нажимая последовательность клавиш Shift+p мы переключаемся в режим Pretty-Print View. Нажимая клавишу p, переходим в режим просмотра журналов XML и JSON форматов. Можно включить подробную хронологическую историю, выводимых сообщений, с помощью Shift+t и плавно перемещаться в диапазоне времени нажимая s↑S↓. Построение гистограмм, используя кнопки, iI, позволяет оценить наличие сообщений и их количество со статусом Error или Warn, Нажимая клавиши z Z,, мы можем увеличит или уменьшить временной ряд гистограммы. Иногда, для отчёта, требуется показать информацию в привычном терминальном виде, без режима подсветки синтаксиса строк журнала, используя сочетанием клавиш Ctrl+l. Если надо вывести компактный экран сообщений журнала, без переносов, нажимаем комбинацию кнопок Ctrl^w. Вернутся в главное окно lnav, или выйти из режима просмотровщика, можно используя клавиши q Q.

 Вся информационная история о манипуляциях пользователя с журналом, сохраняются в журнале сессии. При следующей загрузки пользователем исследуемого лога, находясь в своём профиле, сеанс lnav, восстанавливает некоторые режимы и позиции предыдущей истории работы lnav, такие как:

  • положение в файлах для просмотра
  • информацию о поиске
  • фильтры или подсветки фильтров
  • закладки
  • настройки временных хронологии

 Сбросить историю текущей сессии можно воспользовавшись сочетанием клавиш Ctrl^R, в командной строке экрана lnav.

 Пожалуй самым востребованным режимом при разборе сообщений журнала, является поиск. В lnav этот функционал встроен в командную строку и имеет привычный знак-символ / , выполняющий двойное значение — включает и выключает режим поиска.

 На этом обзор навигатора lnav заканчивается, остаётся только напомнить, что всё сказанное относится к разбору сообщений журналов Kablink, и поэтому другие возможности lnav опушены, чтобы не усложнять понимание возможностей использования lnav & Kablink.

Заключение.

 Для проведения анализа и контроля работы ОС Linux, создано много аналитических программ. Большинство из которых, имеют собственные программы для анализа журналов и входят в ‘коробочные’ версии при базовой установке. Все они, как правило, имеют графический интерфейс и работают только когда запущенна базовая программа. Просмотр и анализ журналов событий, происходит периодически, как правило, когда всё работает без сбоев. Но, такая работа может прерываться неожиданными событиями — приложения не запускаются, логи нельзя просмотреть, телефон надрывается, в дверь стучат возмущённые пользователи. Здесь может пригодится небольшой консольный просмотровщик. Он доберётся до любого журнала, ему не нужен тяжёлый интерфейс GUI, главное что бы сервер «дышал». Просмотровщик lnav не занимает много места, не требует особых навыков в работе и большого времени на изучение. Необходима небольшая практика в использовании и вот у вас в руках ещё один инструмент, который может выручить админа в критическую минуту.

Полезные ссылки.

Как подключить СмартToken Linux

Введение.

 Темой блога является материал рабочих заметок, полученный при подключение USB считывателя и смарткарты в окружающей среде операционной системы Linux.

 Предположим, есть организация, в которой существует смешанная среда рабочих станций, под управлением операционной системы Windows и linux. В организации развёрнут удостоверяющий центр сертификации, который из последних сил, выдаёт сертификат открытого и закрытого ключа для записи на токен носитель. Сам токен выполнен в виде смарт карт, Rutoken или Esmart. Наша задача подключить считыватель, подключить смарт карту(ы), проверить чтение информации хранившийся на ней и возможность менять информацию доступную для корректировки. В дальнейшем предполагается добавить интеграцию с КриптоПро и возможность входа/логина с помощью смарт карты или как принято называть, двух факторной авторизации.

Подготовка СмартToken.

  • Стенд
    • Альт Рабочая станция К

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

# apt-get update # apt-get install pcsc-lite pcsc-lite-ccid pcsc-tools opensc

 Добавляем драйвер для считывателя Athena.

# apt-get install pcsc-lite-asedriveiiie-usb

 Выбираем библиотеку rtPKCS11ECP, для RSA и ГОСТ-алгоритмов модели Рутокен.

# apt-get install librtpkcs11ecp

 Проверяем наличие требуемых необходимых пакетов.

# rpm -q pcsc-lite-ccid libpcsclite pcsc-tools opensc
pcsc-lite-ccid-1.4.28-alt0.M80P.1
libpcsclite-1.8.22-alt0.M80P.1
pcsc-tools-1.4.27-alt0.M80P.1
opensc-0.19.0-alt2.M80P.

 Проверяем наличие библиотек для rutoken.

# ldconfig -p|grep librtpkcs11ecp.so
librtpkcs11ecp.so (libc6,x86-64) => /usr/lib64/librtpkcs11ecp.so

 Устанавливаем драйвер для Рутокен.

# apt-get install pcsc-lite-rutokens

Можно скачать актуальную версии драйвера для «ручной» установки.

Загрузки]# apt-get install ifd-rutokens*.x86_64

 Устанавливаем драйвер для ESMART карты, проверяем наличие требуемых библиотек.

# apt-get install isbc-pkcs11 ... # ldconfig -p|grep libisbc* libisbc_pkcs11_main.so (libc6,x86-64) => /usr/lib64/libisbc_pkcs11_main.so libisbc_esmart_token_mod.so (libc6,x86-64) => /usr/lib64/libisbc_esmart_token_mod.so # ldconfig -p|grep libesmart* libesmart_token_mskey_mod.so (libc6,x86-64) => /usr/lib64/libesmart_token_mskey_mod.so libesmart_token_gost_mod.so (libc6,x86-64) => /usr/lib64/libesmart_token_gost_mod.so # ldconfig -p|grep libEsmart* libEsmartToken_Javalib.so (libc6,x86-64) => /usr/lib64/libEsmartToken_Javalib.s

 Запускаем demon pcscd.

# systemctl start pcscd
# systemctl enable pcscd

 Проверка и управление СмартToken.

 Проверяем «видимость» считывателя при подключение к ПК.

# lsusb
...
Bus 002 Device 003: ID 0dc3:0802 Athena Smartcard Solutions, Inc. ASEDrive IIIe 
...

 Проверяем установку драйвера считывателя Athena.

# usb-devices 
Bus=02 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 4 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0dc3 ProdID=0802 Rev=03.27
S: Manufacturer=Athena Smartcard Solutions
S: Product=ASEDrive IIIe
C: #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=60mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=usbfs*

 Тестируем работу смарткарты Rutoken.

# pcsc_scan PC/SC device scanner V 1.4.27 (c) 2001-2011, Ludovic Rousseau Compiled with PC/SC lite version: 1.8.18 Using reader plug'n play mechanism Scanning present readers... 0: AseIIIeUSB 00 00 ... ATR: 3B 9C 96 00 52 75 74 6F 6B 65 6E 45 43 50 73 63 + TS = 3B --> Direct Convention + T0 = 9C, Y(1): 1001, K: 12 (historical bytes) TA(1) = 96 --> Fi=512, Di=32, 16 cycles/ETU 250000 bits/s at 4 MHz, fMax for Fi = 5 MHz => 312500 bits/s TD(1) = 00 --> Y(i+1) = 0000, Protocol T = 0 ----- + Historical bytes: 52 75 74 6F 6B 65 6E 45 43 50 73 63 Category indicator byte: 52 (proprietary format) Possibly identified card (using /usr/share/pcsc/smartcard_list.txt): 3B 9C 96 00 52 75 74 6F 6B 65 6E 45 43 50 73 63 RuToken Light SC # ctr^C

 Комплексная проверка работы считывателя и смарткарты Rutoken.

# pkcs11-tool -L --module /usr/lib64/pkcs11/librtpkcs11ecp.so
Available slots:
Slot 0 (0x0): AseIIIeUSB 00 00
token label : test
token manufacturer : Aktiv Co.
token model : Rutoken ECP SC
token flags : login required, rng, SO PIN to be changed, token initialized, PIN initialized, user PIN to be changed
hardware version : 54.2
firmware version : 18.0
serial num : 37866b44
pin min/max : 6/32
Slot 1 (0x1):
(empty)
Slot 2 (0x2):
(empty)
...

 Смотрим информацию на токене Rutoken.

# pkcs11-tool -Ol --module /usr/lib64/pkcs11/librtpkcs11ecp.so Using slot 0 with a present token (0x0) Logging in to "test". WARNING: user PIN to be changed Please enter User PIN: Private Key Object; RSA label: le-!0412!0445!043e!0434!0441!043e-52423_E ID: 6c652d2130343132213034343521303433652130343334213034343121303433652d35323432335f45 Usage: decrypt, sign, derive Public Key Object; RSA 2048 bits label: le-!0412!0445!043e!0434!0441!043e-52423_E ID: 6c652d2130343132213034343521303433652130343334213034343121303433652d35323432335f45 Usage: encrypt, verify, derive Certificate Object; type = X.509 cert label: le-!0412!0445!043e!0434!0441!043e-52423_E subject: DN: DC=ru, DC=trest, DC=bany, DC=taziki, OU=\xD0\xA6\xD0\xB5\xD0\xBD\xD1\x82\xD1\x80\xD0\xB0\xD0\xBB\xD1\x8C\xD0\xBD\xD0\xBE\xD0\xB5 \xD1\x82\xD0\xB0\xD0\xBC\xD0\xBE\xD0\xB6\xD0\xB5\xD0\xBD\xD0\xBD\xD0\xBE\xD0\xB5 \xD1\x83\xD0\xBF\xD1\x80\xD0\xB0\xD0\xB2\xD0\xBB\xD0\xB5\xD0\xBD\xD0\xB8\xD0\xB5, OU=\xD0\xA6\xD0\xA2\xD0\xA3, OU=user, OU=baza, CN=bany ID: 6c652d2130343132213034343521303433652130343334213034343121303433652d35323432335f45 ...

 Пробуем сменить PIN код на токене Rutoken.

# pkcs11-tool --change-pin --module /usr/lib64/pkcs11/librtpkcs11ecp.so 
Using slot 0 with a present token (0x0)
Please enter the current PIN:
...

 Инициализация токена Rutoken.

Вся предыдущая информация стирается

# pkcs11-tool --init-token --label EsmartToken --module /usr/lib64/pkcs11/librtpkcs11ecp.so 

 Проверяем работу считывателя и смарткарты Esmart.

# pkcs11-tool -L --module /usr/lib64/pkcs11/libisbc_pkcs11_main.so
Available slots:
Slot 0 (0x1): AseIIIeUSB 00 00
token label : ESMART Token
token manufacturer : ISBC
token model : ESMART Token
token flags : login required, rng, SO PIN locked, token initialized, PIN initialized
hardware version : 0.0
firmware version : 2.4
serial num : C07DC072A10B
pin min/max : 4/8

Смотрим информацию на токене Esmart.

# pkcs11-tool -Ol --module /usr/lib64/pkcs11/librtpkcs11ecp.so Using slot 0 with a present token (0x0) Logging in to "test". WARNING: user PIN to be changed Please enter User PIN: Private Key Object; RSA label: le-!0412!0445!043e!0434!0441!043e-52423_E ID: 6c652d2130343132213034343521303433652130343334213034343121303433652d35323432335f45 Usage: decrypt, sign, derive Public Key Object; RSA 2048 bits label: le-!0412!0445!043e!0434!0441!043e-52423_E ID: 6c652d2130343132213034343521303433652130343334213034343121303433652d35323432335f45 Usage: encrypt, verify, derive Certificate Object; type = X.509 cert label: le-!0412!0445!043e!0434!0441!043e-52423_E subject: DN: DC=ru, DC=trest, DC=bany, DC=taziki, OU=\xD0\xA6\xD0\xB5\xD0\xBD\xD1\x82\xD1\x80\xD0\xB0\xD0\xBB\xD1\x8C\xD0\xBD\xD0\xBE\xD0\xB5 \xD1\x82\xD0\xB0\xD0\xBC\xD0\xBE\xD0\xB6\xD0\xB5\xD0\xBD\xD0\xBD\xD0\xBE\xD0\xB5 \xD1\x83\xD0\xBF\xD1\x80\xD0\xB0\xD0\xB2\xD0\xBB\xD0\xB5\xD0\xBD\xD0\xB8\xD0\xB5, OU=\xD0\xA6\xD0\xA2\xD0\xA3, OU=user, OU=baza, CN=bany ID: 6c652d2130343132213034343521303433652130343334213034343121303433652d35323432335f45 ...

 Пробуем сменить PIN код на токене Esmart.

# pkcs11-tool -Ol --module /usr/lib64/pkcs11/libisbc_pkcs11_main.so
Using slot 0 with a present token (0x1)
Logging in to "ESMART Token".
Please enter User PIN:
....
Сменить PIN код на токене (смарткарте) Esmart
# pkcs11-tool --change-pin --module /usr/lib64/pkcs11/libisbc_pkcs11_main.so
Using slot 0 with a present token (0x1)
Please enter the current PIN:
...

 Инициализация токена Esmart.

Вся предыдущая информация стирается.

# pkcs11-tool --init-token --label EsmartToken --module /usr/lib64/pkcs11/libisbc_pkcs11_main.so

 Заключение.

  Во многих ИТ структурах, особенно в государственных учреждениях, применяются меры безопасности при работе с информацией личного характера или носящих в себе сведения персональных данных ,включающие разные уровни защиты от использования сведений не предназначенных для просмотра посторонними лицами, в том числе относящиеся к коммерческой и государственной тайне. Для идентификации пользователя на рабочей станции применяется контролер, считыватель и смарт-карта с чипом или заменяющий считыватель и карту USB носитель. В любом случае на карте или USB носителе записывается информация, которая идентифицирует пользователя на ПК, сверяя электронный отпечаток владельца с тем который хранится в центре сертификации предприятия. Такая схема применяется повсеместно, не смотря на то, какие сведения обрабатываются на этом ПК. Безусловно дополнительный контролер и алгоритм проверки уменьшает скорость работы рабочей станции. Администратору приходится маневрировать, искать оптимальные решения и подходы, выбирать тех производителей «железа» и софта, которые поддерживают техническую совместимость устройств безопасности.

Как установить Apache2 на Linux.

Введение.

 Тема статьи блога, развёртывание сервера Apache2, в окружении ОС Linux, в качестве стенда использован дистрибутив ALT Linux в минимальной конфигурации для базовой конфигурации Apache2.

 Сервер веб-приложений Apache2, является старейшей сервисной программой, входящей в четвёрку обязательных программ установленных практически во всех организациях.

Без использования в своей работе веб-программ или приложений не обходится ни одно современное учреждение или предприятие.

К работе веб-сервера предъявляются такие требования как, устойчивость и долгосрочный прогноз наработки на отказ, от его надёжности зависит работа многих приложений, которые используют ядро Apache2 в качестве базового веб-движка для своей работы.

Сервер Apache2 не требует особенных знаний и опыта в эксплуатации, обычно после установки офисного варианта базового сервера Linux из «коробки», Apache2 сразу начинает работать, ожидая установки на свой движок необходимых программ, например CMC Joomla или WordPress для организации сайта в производственных или учебных заведениях.

Такой вариант использования Apache2 удобен, особенно там где специалистов ИТ не достаточно, но на долгосрочную перспективу не привлекателен из-за своего роста и «разбухания» от информации, которая будет накапливаться годами, учитывая что на этом же сервере работают другие офисные приложения. Исходя из сказанного мы будем создавать отдельный веб-сервер Apache2, целевого назначения развёрнутого на базе сервера Linux в минимальной конфигурации установленного в облаке предприятия, например на платформе Microsoft Azure. 

Подготовка.

X — обозначает текущею версию пакетов PHP.

# apt-get update
# apt-get install apache2
# apt-get install apache2-mod_phpX
# apt-get install phpX-mbstring
# apt-get install phpX-zip
# apt-get install phpX-xmlreader

Узнать версию PHP.

# apt-cache search apache2-mod_*.php apache2-mod_php7 - The php7 HTML-embedded scripting language for use with Apache2 ...

Установить владельца корневого каталога веб-сервера.

# chown -R apache2:apache2 /var/www/html/

Проверить права и владельца веб-сервера Apache2.

# namei -mol /var/www/html/
f: /var/www/html/
drwxr-xr-x root    root      /
drwxr-xr-x root    root      var
drwxr-xr-x root    webmaster www
drwxrwsr-x apache2 apache2   html

Проверить пути каталога веб-сервера в файле конфигурации  Apache2.

# vim /etc/httpd2/conf/sites-available/default.conf
...
DocumentRoot /var/www/html
...
<Directory "/var/www/html">

Безопасность Apache2

 Сервер Apache2 является публичным сервисом, который предоставляет доступ к своим приложениям авторизованным пользователям и гостям для свободного просмотра информации на своих страницах. В задачу администратора входит обеспечить защиту сервера от проникновения злоумышленника в панель управления приложения установленного на Apache. Для защиты административной панели любого приложения установленного на Apache, хорошо зарекомендовал себя способ доверия ip адресов в файле .htaccess, который необходимо поместить в каталог администратора любого приложения установленного на сервере, но предварительно необходимо настроить Apache2, что бы он мог «видеть» файл .htaccess.

Для поддержки .htaccess сервера Apache необходимо в секцию «Directory» добавить.

 # /etc/httpd2/conf/sites-available/default.conf
...
<Directory "/var/www/html">
...
AllowOveride All
</Directory>

 Сервер Apache, по умолчанию, нацелен  на каталог справочной документации, тематически направленной на изучение особенностей использования того дистрибутива, который установлен для работы или учёбы. Исходя из сказанного, пользователю необходимо решить вопрос использовать страницы документации при работе с Apache или отказаться, создав веб-сервер для работы приложений.

Закомментировать или удалить ссылки на справочную документацию.

...
</IfModule> 
   
    # "/var/www/cgi-bin" should be changed to whatever your ScriptAliased 
    # CGI directory exists, if you have that configured.
    #
    <Directory "/var/www/cgi-bin">
        # Summary: Configure for default CGI directory
        # Requires: Directory-cgi
        Include conf/include/Directory_cgibin_default.conf
    </Directory>

# RewriteEngine On
# RewriteCond %{HTTPS} !=on
# RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [R,L]

</VirtualHost>

Запуск сервера Apache2.

# systemctl start httpd2 
# systemctl enable httpd2

Проверка работы Apache2.

 Проверить работу сервера Apache можно с помощью браузера, набрав в адресной строке адрес веб-сервера, если вы не можете видеть ответ Apache, тогда следует просмотреть журналы работы веб-сервера в каталоге хранилища логов.

Расширение Apache2.

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

  • Библиотеки популярных приложений.
# apt-get update 
# apt-get install phpX-mbstring
# apt-get install phpX-zip
# apt-get install phpX-ldap
# apt-get install phpX-xmlreader
# apt-get install phpX-socket
  • LDAP — облегчённый протокол доступа к каталогам
  • mbstring — для работы с многобайтовыми строками, и Unicode-кодировками, типа UTF-8 и др
  • ZIP — читать и записывать сжатые ZIP-архив и в файлы внутри них
  • XMLReader — синтаксический анализатор XML
  • sockets — для функций связи сокетов

 Заключение.

 Все уровни современной жизни, в настоящее время, требуют информационной поддержки. Самым простым и совершенным способом в доставке информации являются веб-технологии, ядро которого состоит из веб-движка на стороне провайдера и лёгкого клиента, браузера, на стороне пользователя. Надёжность доставки и получения информации пользователем во многом зависит от движка, который участвует в процессе обработки информации, основным критерием надёжности программы является время. Сервер веб-приложений Apache хорошо зарекомендовал себя во многих проектах, являясь свободным продуктов, он пользуется мощной поддержкой сообщества Apache Software Foundation, обладает хорошей гибкостью и модульной кроссплатформенной архитектурой, используя механизм работы Apache в качестве базового сервера, пользователи получают надёжную информационную систему.

Что такое модель разрешений Linux.

Введение.

 В конспекте, «Классическая модель разрешений Linux», рассмотрены основные принципы модели распределения прав операционной системы Linux, материал сопровождается примерами.

 Linux позаимствовал у Unix простую модель прав доступа к файлам, обозначив её как «Классическая модель разрешений Linux». Модель прав является гибким и относительно простым инструментом для понимания дизайна безопасности файлов и каталогов.

  • Стенд
    • Simply Linux, имя lin-sl; ip-10.0.2.14;

Классическая модель разрешений Linux.

 В OC Linux у каждого создаваемого файла и каталога есть два владельца — пользователь и группа. Владельцем файла становится зарегистрированный в системе пользователь, создатель файла, и группа в которую входит этот пользователь. Каждый раз когда система обращается к файлу происходит сопоставление: является ли тот, кто пытается получить доступ к файлу его владельцем (owner) с правами владельца, если нет, система проверяет членство пользователя в группе (group) и права этой группы, если нет, происходит сопоставление прав для других (other), после чего принимается решение о правах доступа к файлу или каталогу для пользователя.

Ещё одно условие при получение прав разрешения наличие — UID и GID, соответственно, для пользователя и группы. Когда пользователь входит в систему ему присваивается, вернее существует при создании учётной записи, уникальный идентификатор — UID. В дальнейшем все процессы, которые будет выполнять пользователь, система сравнивает с его UID, определяя права разрешений для доступа к файлу и каталогу. Узнать UID любого пользователя можно командой id, Пример1.

// Пример1 $ id usertest uid=500(usertest) gid=500(usertest) группы=500(usertest) $ groups usertest usertest : usertest uucp proc cdrom floppy cdwriter audio radio scanner xgrp camera vboxusers video sambashare

 При подготовке статьи использовались команды и обозначения принятые в OC Linux, Таблица 1.

Синтаксис команд
Таблица1.

 GID — группа пользователя. Как правило название GID совпадает с именем UID пользователя и является основной, Пример1. В дальнейшем пользователь может быть членом многих групп, но основная группа будет главной. Для просмотра членства в группе используется команда groups и др.

Кроме пользователей и групп создаваемых администратором, существуют системные пользователи и системные группы. Числовой диапазон UID и GID которых, как правило, начинается от 0-499. Системные пользователи и группы выполняют управление служебными программами такими как, FTP, Apache, MySQL… Пример 2;

//Пример 2 $ id root uid=0(root) gid=0(root) $ id apache uid=96(apache) gid=96(apache) группы=96(apache) $ groups root root : root bin daemon sys adm disk wheel pro

Синтаксис классической модели разрешений Linux.

 В Linux каждый файл или каталог имеет три (триада) правил для разрешений доступа к файлам и каталогам в структуре дерева папок и файлов после установки из коробки.

Теперь рассмотрим и расшифруем полное значение выходных данных файла, созданного в домашнем каталоге пользователя. Рассмотрим использования команды и оператора ‘=’, для установки прав доступа к файлу.

 Следующие примеры демонстрируют назначение, по умолчанию, прав при создании файлов и каталогов в операционной системе Linux. 

  • набор прав, по умолчанию, для файла 644
  • набор прав, по умолчанию, для каталога 755

Отключить модель разрешений можно установив восьмеричное число 777 или его буквенный аналог ugo+rwx. Это приведёт к тому — любой зарегистрированный пользователь будет иметь доступ к файлу или каталогу для чтения и редактирования.

  • Роли пользователей
    • суперпользователь, root, имеет право
      • менять разрешения доступа для любого файла или каталога запускать любую команду
    • пользователь имеет право
      • менять права доступа для файлов и каталогов в своём профиле или у других пользователей при наличии делегированных прав
      • запуск ограниченного числа программ

Модель разрешений доступа для каталога.

 Как и файлы, каталоги имеют полный набор атрибутов и флагов безопасности Пример 3. В отличие от файлов, для каталогов атрибуты и флаги имеют особое значение.

Для понимания возможности разрешений прав на каталоги рассмотрим несколько примеров лабораторной работы, следующей статьи. Теория не может показать все особенности работы с каталогами.

Использование umask.

Linux umask, контролирует права доступа для вновь создаваемых файлов определяя, наложением своей маски, какие разрешения следует отключить. Параметр umask указывается в файле /etc/profile. Структура маски идентична структуре прав доступа к файлам, Команда umask может быть представлен в двоичной, восьмеричной или символьной записи. Утилита umask позволяет установить маску во всех трех триадах.

Понимание значения маска исходит из того, что изначально при создании пользователем каталога или файла, устанавливается значение 0777 каталог, 0666 файл — любой пользователь может иметь полный доступ к каталогам и файлам системы см. Пример 2.1.

Маска устраняет этот недостаток ограничивая разрешения файла или каталога при его создании, накладывая на них свои права. В большинстве системах Linux значение маски определено следующим числовым параметром, Пример 4.

// Пример 4 $ umask 0022 // отобразить в цифровом виде $ umask -S // отобразить в виде символов u=rwx,g=rx,o=rx

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

  • Параметры маски
    • для каталога получаем ограничения 0777-0022=0755
    • для файла эти ограничения будут составлять 0666-0022=0644

 Значение маски указывается в файле /etc/profile — применяется для всей системы в целом Если требуется применить этот параметр для отдельного каталога, можно воспользоваться следующими рекомендациями, поместив выбранный набор в требуемый каталог.

Значение маски в файле profile
Пример 4a

Специальные права доступа к файлам и каталогам SUID, SGID, Sticky Bit.

 Пользователи Linux при регистрации, запускают процесс доступа к файлам и каталогам системы, используя свой UID см.выше.

Каждый каталог и файл в системе имеет триаду прав: | владелец | группа | другие. При необходимости в каждой тройке прав, бит ‘x’, при некоторых обстоятельствах, может меняться на специальный бит, который изменит параметры доступа к каталогу или файлу.

  • Синтаксис специальных атрибутов
  • SUID для владельца ‘u’ — синтаксис
    • ‘s’ — если стоял бит ‘x’
    • ‘S’ — если Не стоял бит ‘x’
    • 4  — в числовом написании
  • SGID для группы ‘g’ — синтаксист:
    • ‘s’ — если стоял бит ‘x’
    • ‘S’ — если Не стоял бит ‘x’
    • 2  — в числовом написании
  • Sticky Bit для остальных ‘o’ — синтаксис
    • ‘t’ — если стоял бит ‘x’
    • ‘T’ — если Не стоял бит ‘x’
    • 1  — в числовом написании

Термин маскировка бита соответствует тому, что перед установкой спец.бита в этой позиции уже стоит флаг ‘x’ и на него накладывается спец. бит.

 При выполнении SUID, атрибут UIDвремени выполнения- устанавливается для владельца файла, а не для пользователя, запустившего файл.

Рассмотрим использования SUID, на примере команды ping, надеюсь она хорошо всем известна и не требует пояснений. Обращение к утилите ping, должно быть доступно любому зарегистрированному пользователю системы, для этого применяют атрибут SUID. Рассмотрим пример использования команды ping на примере Ubuntu, Пример 5.

Для Simply Linux путь к команде ping: ls-l /usr/libexec/ping

 В OC Linux существует несколько десятков SUID файлов, они являются причиной многих эксплойтов — программ поиска уязвимости в ПО.

 

Файлы с SUID подвергаются строгому аудиту безопасности от захвата программами эксплойтов.

Атрибут SGID — изменяет правила наследования для новых файлов в каталоге. Файлы созданные в этом каталоге будут иметь привилегированного владельца, а не права первичной группы пользователя создавшего файл.

Подкаталоги и созданные файлы наследует SGID владельца корневого каталога, Пример 5a.

  • Пример 5a/1
    • пользователи Alex и Eustace создали файлы в каталоге dir
    • владельцем каталога dir является Alex
    • все созданные файлы имеют разные группы
  • Пример 5a/2
    • Alex установил бит ‘s‘ на каталог dir
    • Eustace создал file2 в каталоге dir 
    • file2 в каталоге dir принадлежит группе Alex

 

Файлы с SGID подвергаются строгому аудиту безопасности от захвата программами эксплойтов

 Атрибут Sticky bit — запрещает удаление файлов кем-либо кроме владельца файла, владельца каталога и пользователя root.

Работу Sticky bit можно увидеть на примере каталога /tmp находящегося в корневой структуре папок Linux. Пример 5b.

//Пример 5b
$ cd /  
$ pwd 
/  
$ ls -ld tmp  drwxrwxrwt 14 root root   tmp

Sticky bit получил свое название в ранних системах Linux, до создания виртуальной памяти с постраничной загрузкой. Если был установлен Sticky bit исполняемого файла, то после выхода из программы копия его текстового сегмента сохранялась в области подкачки системы, где хранилась для следующего использования. Эта функция использовалась для ускорения загрузки часто запускаемых программ. Теперь применяется только как защита файла от удаления другими пользователем.

Числовое значение прав.

 Все выше перечисленные примеры представлены в символьном виде, но они могут быть записаны и в числовом виде, Пример 5c.

 В некоторых случаях требуется одной командой назначит атрибуты SUID, SGID и Sticky Bit каталогам и файлам. Для этих задач созданы наборы флагов с цифровым обозначением, Таблица 2.

Таблица 2
Таблица 2

В Пример 5d демонстрируются действия синтаксиса Таблицы 2.

Заключение.

 Классическая модель разрешений Linux — является базовым знаниями управления безопасностью unix систем. Вопросы безопасности, где бы вы с ними не сталкивались, упираются в права доступа к каталогам и файлам. Если администратор не имеет возможности, времени или терпения разобраться в тонкостях и особенностях этого механизма, то постоянно будет испытывать трудности при работе в самых неожиданных случаях.

В материале не были рассмотрены примеры использования флагов: устройств (block), ссылок (link), гнезд (socket), каналов (pipe) …, т.к на практике, в основном, приходится имеет дело с каталогами и файлами.

Как установить MySQL Linux

Введение.

 Тема блога, установка, настройка и подключение сервера баз данных MySQL к операционной системе Linux.

MySQL — свободная реляционная система управления базами данных. Поддержку осуществляет корпорация Oracle, Продукт распространяется под двойной лицензией, GNU и коммерческой лицензией.

  • Гибкость СУБД обеспечивается таблицами:
    • MyISAM — поддерживает полнотекстовый поиск
    • InnoDB — поддерживает транзакции на уровне отдельных записей

Сообществом разработчиков созданы различные ответвления кода, такие например как MariaDB.

Подготовка к развёртыванию сервера.

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

# apt-get update
# apt-get install MySQL-server

Запуск и автозагрузка сервера.

# systemctl start mysqld
# systemctl enable mysqld
# systemctl is-enabled mysqld
enabled

Устанавливаем пароль администратора сервера, по умолчанию пароль нажатие enter.

# mysql -uroot -p
# Enter password: enter
//меняем пароль
# mysqladmin -u root password
# New password:secret
# Confirm new password:secret

Обновляем или перестраиваем индексы если это требуется по условию установки или при повышение версии.

# mysql_upgrade -u root -p secret //ver.8.0.16 и выше отсутствует

Проверяем поддержку механизма хранения сервера для innodb.

# mysql -u root -p secret ... mysql> SHOW ENGINES\G ... *************************** 1.row *************************** Engine: InnoDB Support: DEFAULT Comment: Supports transactions, row-level locking, and foreign keys Transactions: YES XA: YES Savepoints: YES

Установка MySQL 8.

 Версия MySQL8.X требует предварительных настроек уровня безопасности, иначе может появится предупреждение «ошибка подключения к базе данных», при установке некоторых программ. Подробно о политике паролей для MySQL8.X см. здесь. После установки и настройке сервера MySQL8.X, необходимо, переключить режим безопасности сервера MySQL8.X на mysql_native_password plugin выполнив для этого:

mysql -uroot -p Enter password: ENTER //нажать клавишу ENTER //установить пароль mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password'; //установить native_password mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Каталоги MySQL.

Основные папки обеспечивающие работу сервера расположены в дереве каталогов устройства на установлена БД.

  • /etc/my.cnf.d — файлы конфигурации
  • /var/lib/mysql — кластер таблиц и баз

Обслуживание сервера.

 Приводятся команды которые встречаются наиболее часто при обслуживание сервера.

Подключение к серверу и работа с базой.

//подключение к северу # mysql -h host -u user -p secret //выход mysql> quit //создание базы mysql> CREATE DATABASE trest; //сделать trest текущей базой mysql> USE trest; Database changed //подключение к северу и базе trest # mysql -h host -u user -p trest //узнать, какие базы существуют mysql> SHOW DATABASES; +----------+ | Database | +----------+ | mysql | | test | | trest | | tmp | +----------+

Параметр host — сервер где работает SQL, если вход с консоли параметр host можно не указывать.

Заключение.

 Широкое применение сервера баз данных MySQL обуславленно его стабильной работой, мощной документацией и поддержкой сообщества. Используя в качестве приложения этот вид БД, необходимо соблюдать некоторые правила, выполнение которых избавит администратора от ошибок потери важной информации. Главное правило — резервное копирование, отведите на изучение и тестирования этого важного механизма необходимое время. Проверяйте, периодически, создаваемые резервные копии, храните их на разных устройствах. Организуйте автоматизацию процесса создания и удаления старых копий. Выучите основные команды управления и обслуживании сервера. Продумайте систему безопасности прав доступа к БД.

Copyright © 2011-2023
Все права защищены.
При перепечатке указать источник: kabtim.ru
Контакты