Category Archives: Security

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

Linux: “unprivileged users with UID > INT_MAX can successfully execute any systemctl command”

6 December 2018
 

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

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

24 November 2018
 

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

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

27 September 2018
 

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

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 »