Архив рубрики: Security

Безопасность операционных систем и сетей.

Prometheus: мониторинг для RTFM — Grafana, Loki и promtail

9 марта 2019
 

 После внедрения Loki на рабочем проекте — решил добавить его и себе. А заодно — добавить node_exporter и alertmanager, что бы получать уведомления, когда на разделах будет заканчиваться место. Обычно «Ссылки по теме» размещаю в конце поста, но тут стоит их добавить в начале. Для общего знакомства с Prometheus: Prometheus: мониторинг — введение, установка, запуск,… Читать далее »

OpenVPN: настройка SSL и hostname

26 февраля 2019
 

 Доводим до ума наш OpenVPN. У нас он уже в продакшене, пользуемся. Вкусно, просто, удобно. Встроенная поддержка ACL вообще замечательна, но о ней, может быть, в другом посте. Сейчас надо настроить SSL, что бы браузеры и клиенты не ругались. Документация по настройке SSL в OpenVPN AS — тут>>>. Let’s Encrypt Устанавливаем Let’s Encrypt клиент: Открываем… Читать далее »

OpenVPN: настройки DNS и dnsmasq

22 февраля 2019
 

 В продолжение OpenVPN: настройка OpenVPN Access Server и AWS VPC peering — пример настройки DNS. Дано: домен ci.example.com, который должен резолвиться на публичный IP сервера с Jenkins при подключении напрямую, через Интернет, и на приватный IP — при подключении через VPN-соединение. Для этого на сервере с OpenVPN устанавливаем dnsmasq: Создаём файл /etc/dnsmasq.hosts, в котором хардкодим… Читать далее »

OpenVPN: настройка OpenVPN Access Server и AWS VPC peering

21 февраля 2019
 

 OpenVPN Access Server предоставляет полностью настроенный и готовый к использованию OpenVPN сервер, который требует минимальной настройки для запуска. Бесплатная версия разрешает использовать 2 одновременных подключения, если требуется больше пользователей — за денежку. Сейчас для доступа к нашим ресурсам, таким как Jenkins, Nexus и т.д. используются правила в Security Group-ах, в которых для каждого пользователя приходится… Читать далее »

Ansible: шифрование и копирование PEM-ключа

5 февраля 2019
 

 Задача — во время выполнения роли скопировать на удалённый хост PEM-ключ. Для этого используем ansible-vault. Идея состоит в том, что мы зашифруем содержимое ключа в переменную, а затем используем модуль copy — и создадим на удалённой системе новый файл. Создание сертификата Сначала создадим сам сертификат и приватный ключ с помощью openssl: Проверяем содержимое: Шифрование данных… Читать далее »

Linux: «unprivileged users with UID > INT_MAX can successfully execute any systemctl command»

6 декабря 2018
 

 Интересная бага сегодня была опубликована в Twitter и Github. Кратко — если у пользователя UID больше, чем INT_MAX в системе — он может выполнять любые операции systemctl. Справдливости ради — это бага не у systemd, а у polkit. Проверям значение INT_MAX: Добавлям пользователя с +1 к 2147483647: Проверяем: Находим что-нибудь для ребута: Пробуем под нормальным пользователем:… Читать далее »

OpenVAS: установка, запуск

24 ноября 2018
 

 OpenVAS — сканер уязвимостей систем. Имеет свою базу данных CVE, используя которую проверяет системы на их наличие. Как обычно — ссылка на документацию на Arch Wiki. Установка достаточно тривиальна, как и первый запуск проверок с дефолтными настройками. Пост чисто обзорный, без описания детальных настроек — может потом доберусь до них, когда время будет, и если… Читать далее »

Nexus: установка, запуск, деплой в репозиторий + NGINX и SSL

27 сентября 2018
 

 У Android-команды поломался «деплой» через отправку письма с вложением на Gmail (было сделано ещё до меня), и появилась необходимость быстренько «накостылить» репозиторий. Планировался он давно, но сейчас будет без всякой автоматизации — просто руками поднять, запустить, что бы они могли деплоить. Использовать будем free-версию Sonatype Nexus, запускать будем на AWS EC2, из Docker-образа, бекенд будет… Читать далее »

Prometheus: Alertmanager и blackbox-exporter — проверка срока действия SSL и нотификация в Slack

27 июля 2018
 

 Основная задача — проверять SSL-сертификаты и уведомлять о том, что срок действия сертификата завершается. Запуск blackbox-exporter Все сервисы мониторинг запускаются из Compose-файла, который деплоится на хост мониторинга из Ansible-шаблона roles/monitoring/templates/prometheus-compose.yml.j2. Добавляем туда ещё один контейнер: … blackbox-exporter: image: prom/blackbox-exporter command: ‘—config.file=/config/blackbox.yml’ # for debug #command: ‘—config.file=/config/blackbox.yml —log.level=debug’ networks: — prometheus ports: — 9115:9115 volumes: -… Читать далее »

Ansible: использование Vault — зашифрованного хранилища

13 мая 2018
 

 Начиная с версии 1.5 в Ansible была доабвлена возможность хранения секретных данных, таких как пароли или RSA ключи, в зашифрованных файлах — vault («хранилище»). Для работы с такими хранилищами используется утилита ansible-vault, которая принимает два основных аргумента — —ask-vault-pass или —vault-password-file, которые могут быть заданы через ansible.cfg. Располагается в /usr/bin/ansible-vault и представялет собой Python-скрипт.   Шифрование файлов… Читать далее »