Архив метки: security

AWS: ротация ключей IAM пользователей, EC2 IAM Roles и Jenkins

30 мая 2019
 

 Сегодня просматривал IAM-пользователей в AWS, и вспомнил, что с точки зрения безопасности иногда полезно менять ключи доступа: Но тут встал вопрос: хорошо, задать ключам expire, и периодически их обновлять в AWS IAM — это одно… Но эти ключи используются в куче скриптов, которые запускаются в Jenkins-джобах. Например — провижен бекенда выполняется из Ansible и модуля… Читать далее »

Debian: автоматические обновления с помощью unattended-upgrades и отправка почты через AWS SES

23 мая 2019
 

 Пакет unattended-upgrades выполняет автоматическую установку обновлений на Debian/Ubuntu. Представляет собой Python-скрипт (1500 строк), расположенный в /usr/bin/unattended-upgrade (при этом /usr/bin/unattended-upgrades является симлинком на /usr/bin/unattended-upgrade). Аналог для CentsOS/RHEL — yum-cron. Устанавливаем: Основной файл настроек — /etc/apt/apt.conf.d/50unattended-upgrades, в нём настраиваются тип обновлений, отправка почты и прочее. Настройки самих обновлений выполняются в файле /etc/apt/apt.conf.d/20auto-upgrades, который можно создать вручную, или… Читать далее »

Bitwarden: менеджер паролей организации — установка self-hosted версии на AWS EC2

1 мая 2019
 

 Мы рассматриваем Bitwarden как менеджер паролей для проекта, основная цель которого — разделение доступа к различным секретам по ролям и/или ACL. Т.е. Pass и/или KeePass — это хорошо для одного пользователя, но у них нет главного — нормального веб-интерфейса, и разделения доступа к секретам для пользователей, а всякие 1Password/LastPass не имеют возможности установки на свой… Читать далее »

Linux: GPG-ключи, менеджер паролей pass и импорт из KeePass

25 апреля 2019
 

 pass — менеджер паролей для Linux/UNIX, наверно один из старейших. Хранит данные в древовидной структуре каталогов и файлов, а сами файлы с секретами шифрует с помощью GPG-ключа. В Arch Linux есть из коробки, в Debian можно установить с помощь apt из дефолтных репозиториев: В macOS — с помощью Homebrew: Хотя я сомневаюсь, что Mac-пользователи будут… Читать далее »

Authy: настройка Multi-Factor Authentication для Github и AWS

17 апреля 2019
 

  Уверен, что необходмость использования MFA — Multi-Factor Authentication сегодня очевидна для всех. Для 2FA (2-Factor Authentication) наиболее используемым является TOTP — Time-based One-time Password, когда наряду с паролем для авторизации требуется ввести временный код, генерируемый устройством или утилитой. Самым известным является Google Authenticator, но кроме него существует множество других реализаций. Искал на днях решение… Читать далее »

Jenkins: проверка публичных репозиториев Github-организации

16 апреля 2019
 

 Продолжаем внедрение проверки списка публичных репозиториев организации. Напомню: идея состоит в том, что бы если кто-то из девелоперов случайно расшарит приватный репозиторий, или создаст новый репозиторий не приватным, а публичным — получить об этом уведомление в Slack. Написание самой утилиты на Go есть в посте Go: проверка списка публичных репозиториев в Github и уведомления в… Читать далее »

What is: chroot — системный вызов и утилита в Linux

23 марта 2019
 

 chroot() был добавлен в Version 7 Unix в 1979 году и используется для изоляции файловой системы. По сути, является предшественником вообще всей идеи нынешней контейнеризации, только в современных системах используются namespaces и cgroups, а раньше применяли chroot для создания изолированного от хоста рабочего окружения, которое могло использоваться для тестирования. Собственно, ch и root и является… Читать далее »

Monit: алерты при SSH логинах на сервер

18 марта 2019
 

 Задача — отсылать уведомления на почту при SSH-логине на хост с недоверенных IP. Используем Monit. Устанавливаем: Настраиваем отправку почты — задаём localhost (у нас крутится локальный exim), формат письма и получателя алертов. Редактируем /etc/monit/monitrc: … set mailserver localhost set mail-format { from: Monit <monit@$HOST> subject: monit alert — $EVENT $SERVICE message: $EVENT Service $SERVICE Date:… Читать далее »

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

21 февраля 2019
 

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

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: Проверяем: Находим что-нибудь для ребута: Пробуем под нормальным пользователем:… Читать далее »