Продолжая публикации о Zabbix, см.полезные ссылки, переходим к обсуждению вопроса создания резервной копии Zabbix PostgreSQL.
Многие админы согласятся — «Buckup наше всё!» и это действительно так. Что бы мы не делали и какие бы усилия не прикладывали, всё окажется бесполезным если нет возможности к восстановлению программы после краха.
Подготовка.
Стенд
ALT Linux сервер, имя lin-zab; ip-10.0.2.13;
БД PostgreSQL
План создания резервной копии.
Что надо сохранить:
dump БД
настройки сервера
настройки серверного агента
журналы
dump БД — содержит структуру и контент базы данных
Мы сохранили необходимые файлы для восстановления сервера мониторинга вводя команды с консоли.
Автоматизация 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, см.полезные ссылки, переходим к обсуждению вопроса создания резервной копии Zabbix MySQL.
Без сомнения многие админы согласятся — «Buckup наше всё!» и это действительно так. Что бы мы не делали и какие бы усилия не прикладывали, всё окажется бесполезным если нет возможности к восстановлению программы после аварии..
Подготовка.
Стенд
ALT Linux сервер, имя lin-zab; ip-10.0.2.13;
БД MySQL
План действий по созданию резервной копии Zabbix MySQL.
Что надо сохранить:
dump БД
настройки сервера
настройки серверного агента
журналы
dump БД — содержит структуру и контент базы данных
Таким образом мы сохранили всё, что потребуется для восстановления сервера мониторинга используя «ручной» ввод команд.
Автоматизация 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, см.полезные ссылки, переходим к описанию технологического процесса сборки сервера мониторинга с использованием БД 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.
//флаг -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
Прежде чем перейти к графическим настройкам проверьте работу NTP.
Запускаем браузер, вводим адрес, графический мастер предварительной настройки севера проведёт по шагам конфигурации, задаст вопросы, ответы на которые должны быть внесены в соответствующие поля настроек.
Шаг1Шаг2Шаг3Шаг4Шаг5Шаг6
Обратите внимание, Шаг3, поле «схема БД» остаётся пустым.
После всех манипуляций, остаётся настроить Zabbix агенты сервера и подключаемых узлов, здесь могут возникнуть известные трудности. Как найти и решить их читайте в статье посвящённой устранению наиболее часто встречаемых ошибок при работе Zabbix.
После того, как сервер установлен и к нему начинают подключаться узлы, пора ознакомится с документацией. Она вам будет требоваться всегда, по мере погружения в работу анализа сетевых сообщений. Узлы можно подключать в ручную или в режиме сканирования диапазонов сети предприятия.
Статья, проектирование технологического процесса сборки сервера 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.
# 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
# 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
После того, как сервер установлен и к нему начинают подключаться узлы, пора ознакомится с документацией. Она вам будет требоваться всегда, по мере погружения в работу анализа сетевых сообщений. Узлы можно подключать в ручную или в режиме сканирования диапазонов сети предприятия.
Есть ещё один, порочный, способ развёртывания сервера — скачать готовый iso образ с сайта, развернуть в облаке предприятия, подключить узлы. Этим обычно пользуются администраторы MS Windows. В этом способе установки нет ничего предосудительного, желание посмотреть, потрогать, попробовать в «живую» это всё правильно. В дальнейшем администратор сети начинает привыкать к серверу, более того ещё и доложит руководству. Но, что получается, сервер установлен, тонкие настройки сбора логов не выставлены. Сервер начинает собирать все события и копить на диске, диск переполняется, сервер останавливается, БД повреждена.
Начинается поиск специалиста по Linux, т.к сервер включён в структуру мониторинга предприятия, выяснить, кто это сделал не удаётся. Специалист по Linux должен понять, на каком дистрибутиве собран сервер. Добиться этой информации у того, кто устанавливал нет никакой возможности, как порой и найти его самого. Обычно в качестве дистрибутива для распространения используется те, за лицензии которых платить не надо — Ubuntu или CentOS. Начинается кропотливая работа по расширению виртуального диска, исправлению БД, настройки логов, настройка обновления OC и т.д. Возникает необходимость замены пароля для Zabbix, т.к даже это не делают, как из «коробки » пришёл так всё и оставляют.
Вывод, если нужны образа iso для сервера, создайте основной экземпляр в облаке предприятия на базе ALT Linux минимум. Снимите с него копию, сожмите до предельного размера, что бы можно было передать по FTP. После того, как копия сервера будет получена, проследите весь процесс установки в облаке клиента, расширьте размер виртуального диска, настройте сеть, безопасность, проинструктируйте администратора, не забудьте включить в технологию обслуживания — процесс резервного копирования и обновления.
Сегодня сервер FTP становится обязательной частью любого офиса. Без его работы не обходится ни одна серьёзная компания. Узел на базе FTP входит в пятёрку основных серверов, составляющих ядро ИТ компании читать далее
В статье блога рассматривается возможность интеграции консольного просмотровщика логов lnav для анализа журналов Linux, в качестве примеров используются действующие журналы работы Kablink, appserver и catalina, в качестве стенда используется сервер ALT Linux.
Встроенный в административную панель Kablink, системная кнопка отчёты, даёт администратору возможность контроля работы пользователей и системы в целом, но когда Портал выключен по различным причинам, сделать анализ журнал Tomcat-Apache становится невозможно. Существующие текстовые редакторы tail, cat, less … не позволяют уверенно ориентироваться в сложных системных сообщениях. Специальные программы для анализа логов, Rsyslog, Elasticsearch, Fluentd… требуют серьёзного изучения, сложны в настройках и отвлекают для своей работы дополнительные ресурсы. Анализатор 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 — отображение прошедшего времени между строками i — гистограмма I — откл.гистограммы 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 не занимает много места, не требует особых навыков в работе и большого времени на изучение. Необходима небольшая практика в использовании и вот у вас в руках ещё один инструмент, который может выручить админа в критическую минуту.
Темой блога является материал рабочих заметок, полученный при подключение USB считывателя и смарткарты в окружающей среде операционной системы Linux.
Предположим, есть организация, в которой существует смешанная среда рабочих станций, под управлением операционной системы Windows и linux. В организации развёрнут удостоверяющий центр сертификации, который из последних сил, выдаёт сертификат открытого и закрытого ключа для записи на токен носитель. Сам токен выполнен в виде смарт карт, Rutoken или 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: ...
Во многих ИТ структурах, особенно в государственных учреждениях, применяются меры безопасности при работе с информацией личного характера или носящих в себе сведения персональных данных ,включающие разные уровни защиты от использования сведений не предназначенных для просмотра посторонними лицами, в том числе относящиеся к коммерческой и государственной тайне. Для идентификации пользователя на рабочей станции применяется контролер, считыватель и смарт-карта с чипом или заменяющий считыватель и карту USB носитель. В любом случае на карте или USB носителе записывается информация, которая идентифицирует пользователя на ПК, сверяя электронный отпечаток владельца с тем который хранится в центре сертификации предприятия. Такая схема применяется повсеместно, не смотря на то, какие сведения обрабатываются на этом ПК. Безусловно дополнительный контролер и алгоритм проверки уменьшает скорость работы рабочей станции. Администратору приходится маневрировать, искать оптимальные решения и подходы, выбирать тех производителей «железа» и софта, которые поддерживают техническую совместимость устройств безопасности.
Тема статьи блога, развёртывание сервера Apache2, в окружении ОС Linux, в качестве стенда использован дистрибутив ALT Linux в минимальной конфигурации для базовой конфигурации Apache2.
Сервер веб-приложений Apache2, является старейшей сервисной программой, входящей в четвёрку обязательных программ установленных практически во всех организациях.
Без использования в своей работе веб-программ или приложений не обходится ни одно современное учреждение или предприятие.
К работе веб-сервера предъявляются такие требования как, устойчивость и долгосрочный прогноз наработки на отказ, от его надёжности зависит работа многих приложений, которые используют ядро Apache2 в качестве базового веб-движка для своей работы.
Сервер Apache2 не требует особенных знаний и опыта в эксплуатации, обычно после установки офисного варианта базового сервера Linux из «коробки», Apache2 сразу начинает работать, ожидая установки на свой движок необходимых программ, например CMC Joomla или WordPress для организации сайта в производственных или учебных заведениях.
Такой вариант использования Apache2 удобен, особенно там где специалистов ИТ не достаточно, но на долгосрочную перспективу не привлекателен из-за своего роста и «разбухания» от информации, которая будет накапливаться годами, учитывая что на этом же сервере работают другие офисные приложения. Исходя из сказанного мы будем создавать отдельный веб-сервер Apache2, целевого назначения развёрнутого на базе сервера Linux в минимальной конфигурации установленного в облаке предприятия, например на платформе Microsoft Azure.
Проверить пути каталога веб-сервера в файле конфигурации 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>
Проверить работу сервера Apache можно с помощью браузера, набрав в адресной строке адрес веб-сервера, если вы не можете видеть ответ Apache, тогда следует просмотреть журналы работы веб-сервера в каталоге хранилища логов.
Расширение Apache2.
Веб-сервер Apache2, для своей работы, использует многие популярные программы, что бы они успешно работали требуются библиотеки, далее приведены списки самых популярных пакетов, которые чаще всего требуются для запуска приложений и небольшие комментарии к ним.
mbstring — для работы с многобайтовыми строками, и Unicode-кодировками, типа UTF-8 и др
ZIP — читать и записывать сжатые ZIP-архив и в файлы внутри них
XMLReader — синтаксический анализатор XML
sockets — для функций связи сокетов
Заключение.
Все уровни современной жизни, в настоящее время, требуют информационной поддержки. Самым простым и совершенным способом в доставке информации являются веб-технологии, ядро которого состоит из веб-движка на стороне провайдера и лёгкого клиента, браузера, на стороне пользователя. Надёжность доставки и получения информации пользователем во многом зависит от движка, который участвует в процессе обработки информации, основным критерием надёжности программы является время. Сервер веб-приложений Apache хорошо зарекомендовал себя во многих проектах, являясь свободным продуктов, он пользуется мощной поддержкой сообщества Apache Software Foundation, обладает хорошей гибкостью и модульной кроссплатформенной архитектурой, используя механизм работы Apache в качестве базового сервера, пользователи получают надёжную информационную систему.
В конспекте, «Классическая модель разрешений 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 каждый файл или каталог имеет три (триада) правил для разрешений доступа к файлам и каталогам в структуре дерева папок и файлов после установки из коробки.
Синтаксис прав доступа. Пример 2.1.
Теперь рассмотрим и расшифруем полное значение выходных данных файла, созданного в домашнем каталоге пользователя. Рассмотрим использования команды и оператора ‘=’, для установки прав доступа к файлу.
‘.Пример 2.2.
Следующие примеры демонстрируют назначение, по умолчанию, прав при создании файлов и каталогов в операционной системе Linux.
набор прав, по умолчанию, для файла 644
набор прав, по умолчанию, для каталога 755
Пример 2.3
Отключить модель разрешений можно установив восьмеричное число 777 или его буквенный аналог ugo+rwx. Это приведёт к тому — любой зарегистрированный пользователь будет иметь доступ к файлу или каталогу для чтения и редактирования.
Роли пользователей
суперпользователь, root, имеет право
менять разрешения доступа для любого файла или каталога запускать любую команду
пользователь имеет право
менять права доступа для файлов и каталогов в своём профиле или у других пользователей при наличии делегированных прав
запуск ограниченного числа программ
Модель разрешений доступа для каталога.
Как и файлы, каталоги имеют полный набор атрибутов и флагов безопасности Пример 3. В отличие от файлов, для каталогов атрибуты и флаги имеют особое значение.
Для понимания возможности разрешений прав на каталоги рассмотрим несколько примеров лабораторной работы, следующей статьи. Теория не может показать все особенности работы с каталогами.
Пример 3/1Пример 3/2Пример 3/3Пример 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 — применяется для всей системы в целом Если требуется применить этот параметр для отдельного каталога, можно воспользоваться следующими рекомендациями, поместив выбранный набор в требуемый каталог.
Пример 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
Пример 5
В OC Linux существует несколько десятков SUID файлов, они являются причиной многих эксплойтов — программ поиска уязвимости в ПО.
Файлы с SUID подвергаются строгому аудиту безопасности от захвата программами эксплойтов.
Атрибут SGID — изменяет правила наследования для новых файлов в каталоге. Файлы созданные в этом каталоге будут иметь привилегированного владельца, а не права первичной группы пользователя создавшего файл.
Подкаталоги и созданные файлы наследует SGIDвладельцакорневого каталога, Пример 5a.
Пример 5a/1
Пример 5a/1
пользователи Alex и Eustace создали файлы в каталоге dir
владельцем каталога dir является Alex
все созданные файлы имеют разные группы
Пример 5a/2
Пример 5a/2
Alex установил бит ‘s‘ на каталог dir
Eustace создал file2 в каталоге dir
file2 в каталоге dir принадлежит группе Alex
Файлы с SGID подвергаются строгому аудиту безопасности от захвата программами эксплойтов
Атрибут Stickybit — запрещает удаление файлов кем-либо кроме владельца файла, владельца каталога и пользователя root.
Работу Stickybit можно увидеть на примере каталога /tmp находящегося в корневой структуре папок Linux. Пример 5b.
//Пример 5b
$ cd /
$ pwd
/
$ ls -ld tmp drwxrwxrwt 14 root root tmp
Sticky bit получил свое название в ранних системах Linux, до создания виртуальной памяти с постраничной загрузкой. Если был установлен Sticky bit исполняемого файла, то после выхода из программы копия его текстового сегмента сохранялась в области подкачки системы, где хранилась для следующего использования. Эта функция использовалась для ускорения загрузки часто запускаемых программ. Теперь применяется только как защита файла от удаления другими пользователем.
Числовое значение прав.
Все выше перечисленные примеры представлены в символьном виде, но они могут быть записаны и в числовом виде, Пример 5c.
Пример 5c/1Пример 5c/2Пример 5c/3Пример 5c
В некоторых случаях требуется одной командой назначит атрибуты SUID, SGID и Sticky Bit каталогам и файлам. Для этих задач созданы наборы флагов с цифровым обозначением, Таблица 2.
Таблица 2
В Пример 5d демонстрируются действия синтаксиса Таблицы 2.
Пример 5d/1Пример 5d/2Пример 5d/3Пример 5d/4Пример 5d/5Пример 5d
Заключение.
Классическая модель разрешений Linux — является базовым знаниями управления безопасностью unix систем. Вопросы безопасности, где бы вы с ними не сталкивались, упираются в права доступа к каталогам и файлам. Если администратор не имеет возможности, времени или терпения разобраться в тонкостях и особенностях этого механизма, то постоянно будет испытывать трудности при работе в самых неожиданных случаях.
В материале не были рассмотрены примеры использования флагов: устройств (block), ссылок (link), гнезд (socket), каналов (pipe) …, т.к на практике, в основном, приходится имеет дело с каталогами и файлами.
Тема блога, установка, настройка и подключение сервера баз данных MySQL к операционной системе Linux.
MySQL — свободная реляционная система управления базами данных. Поддержку осуществляет корпорация Oracle, Продукт распространяется под двойной лицензией, GNU и коммерческой лицензией.
Гибкость СУБД обеспечивается таблицами:
MyISAM — поддерживает полнотекстовый поиск
InnoDB — поддерживает транзакции на уровне отдельных записей
Сообществом разработчиков созданы различные ответвления кода, такие например как MariaDB.
Версия 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 обуславленно его стабильной работой, мощной документацией и поддержкой сообщества. Используя в качестве приложения этот вид БД, необходимо соблюдать некоторые правила, выполнение которых избавит администратора от ошибок потери важной информации. Главное правило — резервное копирование, отведите на изучение и тестирования этого важного механизма необходимое время. Проверяйте, периодически, создаваемые резервные копии, храните их на разных устройствах. Организуйте автоматизацию процесса создания и удаления старых копий. Выучите основные команды управления и обслуживании сервера. Продумайте систему безопасности прав доступа к БД.