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

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

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-скрипт.   Шифрование файлов… Читать далее »

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

12 мая 2018
 

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

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

8 мая 2018
 

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

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

20 марта 2018
 

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

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

12 марта 2018
 

 После авторизации клиента передача данных между клиентом и сервером MySQL/MariaDB происходим в открытом виде, т.е. plaintext. Если клиент и сервер расположены не на одном хосте и/или не в одной приватной сети — то данные, соответственно, можно перехватить и прочитать. Проверка plaintext Проверим это. Создаём тестовую базу: [simterm] MariaDB [(none)]> create database ssltest; Query OK, 1 row… Читать далее »

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

19 февраля 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, и пробрасывать трафик через удалённый сервер… Читать далее »

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

10 февраля 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 января 2018
 

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