Category Archives: Security

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

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

27 July 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: -… Read More »

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

13 May 2018
 

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

Arch Linux: установка с LVM и LUKS шифрованием диска

12 May 2018
 

 Задача – установить Arch Linux, установить root и home разделы на LVM, и зашифровать их. Что такое LUKS LUKS является стандартом для шифрования дисков в Linux, а аббревиатура расшифровавается как “Linux Unified Key Setup“. Последняя спецификация LUKS доступна тут>>>. Утилита, используемая для реализации LUKS – cryptsetup, однако она поддерживает и прямую работу с подсистемой ядра dm-crypt.… Read More »

Jenkins: запуск Jenkins в Docker и подключение SSH Slave

8 May 2018
 

 Имеется две EC2, на одной будет запущен Jenkins, который будет мастером, второй EC2 надо настроить и подключить как slave для Jenkins. Для этого – на второй машине потребуется Java, настроенная SSH авторизация по ключам, и отдельный пользователь. На Jenkins потребуется SSH Slaves Plugin. Начинаем со слейва. Настройка Jenkins Unix slave Установка Java Подключаемся на слейв, устанавливаем… Read More »

What is: SSL/TLS в деталях

20 March 2018
 

 Протоколы криптографии предоставляют возможность установления защищённых соединений между двумя удалёнными хостами. Два наиболее часто встречающихся набора протоколов – SSL/TLS, основная задача которых заключается в обеспечении конфидициальности передаваемых данных, обеспечении целостности данных (т.е. гарантирование того, что данные не были изменены или подменены во время доставки между узлами), а так же в обеспечении идентификации и аутенфикации ресурсов и… Read More »

MySQL/MariaDB: настройка SSL

12 March 2018
 

 После авторизации клиента передача данных между клиентом и сервером MySQL/MariaDB происходим в открытом виде, т.е. plaintext. Если клиент и сервер расположены не на одном хосте и/или не в одной приватной сети – то данные, соответственно, можно перехватить и прочитать. Проверка plaintext Проверим это. Создаём тестовую базу: Добавляем пользователя с правами доступа с удалённого хоста: Задаём права… Read More »

SSH: пример туннеля для радио

19 February 2018
 

 Пример использования SSH туннеля для обхода офисного фаервола, что бы послушать радио. Во время работы нравится слушать https://hirschmilch.de, но есть проблема: их радио-сервер работает на порту 7000, доступ к которому из офиса закрыт. Содержимое playlist-файла: NumberOfEntries=1 File1=http://hirschmilch.de:7000/prog-house.mp3 Title1=Hirschmilch prog-house Length1=-1 Version=2 Решение: поднимем SSH-туннель, который локально будет слушать порт 7000, и пробрасывать трафик через удалённый сервер… Read More »

Ansible: миграция RTFM 2.10 – Let’s Encrypt, NGINX SSL, hostname и exim

10 February 2018
 

 Предыдущий пост серии – Ansible: миграция RTFM 2.9 – монтирование EBS и настройка NGINX на Bastion. Сегодня надо выполнить установку и настройку: Let’s Encrypt SSL на NGINX и виртуалхоста (пока только dev.rtfm.co.ua) hostname exim Ссылки на коммиты файлов, получившиеся в результате написания этого поста: roles/letsencrypt/tasks/main.yml rtfm-blog-ansible-bastion-provision.yml roles/nginx/templates/nginx.conf hosts roles/common/tasks/main.yml roles/exim/templates/update-exim4.conf.conf.j2 roles/exim/templates/mailname.j2 roles/exim/tasks/main.yml

Ansible: подключение в приватную сеть через Bastion хост

31 January 2018
 

 Примеры подключения Ansible через Bastion хост (или jump-host) в публичной сети к EC2 в приватной сети. По теме – SSH: подключение в приватную сеть через Bastion и немного про Multiplexing (только тут для .ssh/config используем ProxyJump вместо ProxyCommand, доступна в OpenSSH 7.3 и выше). Для примера используем Bastion хост в публичной сети и DB хост в приватной… Read More »