Рубрика «ruvds_статьи» - 133

Безопасный Linux вместе с AppArmor - 1

В предыдущей статье речь шла о SELinux. Моё впечатление об этой системе безопасности двоякое. С одной стороны безопасности в ИТ много не бывает, и SELinux содержит все необходимое для защиты ОС и приложений от несанкционированного доступа. С другой же стороны он выглядит чересчур громоздким и неоправданно сложным, что делает его применение непрактичным. Не раз и не два в руководствах пользователя по установке коммерческого ПО я видел рекомендации выполнить setenforce 0 перед началом установки.

Решение, обладающее половиной функционала SELinux, но гораздо более простое в настройке и эксплуатации, может быть более надежной защитой хотя бы в силу того, что не страшно вникать во все эти домены, политики и роли. Это как раз то, что предлагает AppArmor.

Так же, как и SELinux AppArmor является реализацией системы Mandatory Access Control (MAC), основанной на архитектуре Linux Security Modules (LSM). Модель безопасности Apparmor заключается в привязке атрибутов контроля доступа не к пользователям, а к программам. AppArmor обеспечивает изоляцию с помощью профилей, загружаемых в ядро, как правило, при загрузке.

AppArmor отличается от остальных реализаций MAC в Linux принципом действия на основе путей, еще он позволяет смешивать профили принудительного исполнения и режима предупреждений. Кроме того AppArmor использует вложенные файлы для облегчения разработки и имеет гораздо более пологий барьер для входа, чем тот же SELinux.Читать полностью »

10 полезных советов для начинающих изучать Django - 1

1. Используйте относительные пути в конфигурации

Не задавайте абсолютный путь в settings.py, это будет полезно, если вы будете в дальнейшем запускать проект из разных расположений, например при развертывании на другом веб-сервере, у которого пути будут другими. Используйте следующий код в settings.py если ваши шаблоны и статические файлы расположены внутри каталога проекта Django:

# settings.py
import os
PROJECT_DIR = os.path.dirname(__file__)
...
STATIC_DOC_ROOT = os.path.join(PROJECT_DIR, "static")
...
TEMPLATE_DIRS = (
    os.path.join(PROJECT_DIR, "templates"),
)

Читать полностью »

В этой статье я рассказал, как сделать собственный безопасный мессенджер только для своей тусовки параноиков.

Сейчас есть много IM-мессенджеров с end-to-end шифрованием, но вариантов, которые можно быстро развернуть на своем сервере гораздо меньше.

Личный IM-мессенджер со сквозным шифрованием только для своих - 1

Изучая варианты, мой взгляд упал на Delta Chat, о котором на Хабре уже упоминали — мессенджер без централизованной серверной инфраструктуры, использующий почтовые сервера для доставки сообщений, что позволяет развернуть его, например, на своем домашнем сервере и общаться с устройств, в том числе не имеющих доступ в интернет.

Среди преимуществ этого подхода можно отметить:

  • Вы сами управляете своей информацией, в том числе ключами шифрования.
  • Вы не отдаете свою адресную книгу никому.
  • Нет необходимости использовать телефонный номер для регистрации.
  • Наличие клиентов под все популярные системы: Windows, Linux, Android, MacOS, iPhone.
  • Дополнительное шифрование STARTTLS/SSL при передаче сообщений, обеспечиваемое почтовым сервером.
  • Возможность настроить удаление старых сообщений с устройства (исчезающие сообщения).
  • Возможность настроить удаление сообщений с сервера, при получении.
  • Быстрая доставка, благодаря IMAP push.
  • Групповые защищенные чаты.
  • Поддержка передачи файлов, фото и видео.
  • Сервер и клиент относятся к открытому ПО и совершенно бесплатны.

Возможные недостатки:

  • Нет возможности создавать нативные аудио и видео конференции.
  • Необходимость экспортировать/импортировать ключи шифрования, для настройки одного аккаунта на нескольких устройствах.

Интересный факт: Роскомнадзор уже требовал от разработчиков Delta Chat предоставить доступ к пользовательским данным, ключам шифрования и зарегистрироваться в государственном реестре провайдеров, на что Delta Chat ответили отказом, т.к. не имеют собственных серверов и не имеют доступа к ключам шифрования.Читать полностью »

Управлять VPS-бизнесом в 10 городах — это же просто - 1


Дизель-генератор. Спонтанная эмоциональная покупка. Вышли за батоном и колбасой, вернулись с ним

Выбираем только гомогенное железо, убрали отдел продаж, не ездим на переговоры с 2015 года, пишем роботов для контроля людей, выбираем стабильную архитектуру, страхуем риски (включая скачки курса доллара) в начале каждого года.

Это, пожалуй, главное.

Управление VPS-хостингом и управление бизнесом — это стратегическое планирование и контроль выполнения того, что запланировано. То есть сначала надо сесть и подумать, поставить цель, а потом очень тщательно отслеживать, как мы к ней идём. Если подумать хотя бы пять минут про бизнес хостинга в нашей ценовой нише, то дальше следует цепочка очевидных решений. Мы пришли из финансов в хостинг зарабатывать, поэтому сразу допустили главную ошибку бизнеса в России. Стали планировать на пять лет вперёд. Это было достаточно оптимистично, но мы выжили и сейчас пожинаем плоды такой стратегии. Если бы мы загнулись на первом году, то, конечно, потери были бы больше, чем у хостингов без такой стратегии.

Для контроля исполнения решений нужно много автоматизации. Для принятия стратегических решений нужно много информации. Одна из самых важных частей нашего бизнеса — это мониторинг всего и вся. А поскольку мы очень ленивые, то перекладываем её на роботов.Читать полностью »

Паровой судомоделизм - 1

На хабре всё чаще проскакивают различные интересные посты о том, как кто-то собрал очередной паровой двигатель, либо какое-то устройство работающее на паре. Оно и понятно, каждому какой-то момент надоедает гипнотизировать монитор, и душа просит моря, приключений и романтики, но с инженерным подходом. Что может быть романтичнее парового двигателя, да ещё и установленного на корабле? Поскольку в асфальтовых джунглях нет возможности развернуть полноценную судоверфь, то можно поразвлечься на столе. Здесь расскажу о некоторых своих экспериментах, а так же то что удалось откопать на просторах сети. Читать полностью »

Страх и ужас SS7 - 1

В одной из недавних статей нашего блога: “Безопасные телефоны, градация прослушек, и методы защиты”, было обсуждение общих принципов атак на сотовые телефоны. Теперь поговорим одном из конкретных векторов, а именно — взломе на основе уязвимости в протоколе: SS7. Так ли страшен черт, как его малюют?Читать полностью »

Операционная система OpenWrt обычно используется как прошивка для роутеров. Типичное применение заключается в том, чтобы установить и забыть. Но если вдруг вам чего-то не хватит, то придётся разбираться в устройстве дистрибутива.

Устройство пакетной системы OpenWrt - 1

OpenWrt использует opkg в качестве пакетного менеджера, точнее, собственный форк. Дебианщикам он во многом покажется знакомым: похожие команды, похожий формат репозитория и пакетов.

Мне захотелось запатчить LUCI (этого в статье не будет), но адекватного быстрого введения я не нашёл, пришлось самостоятельно собирать отрывки сведений из разрозненной документации, статей и примеров, поглядывая в код и на результаты работы. Бонусом собрал примитивный (но бесполезный на практике) пакет, которого ещё нет в репозитории. Собранным ликбезом делюсь ниже.Читать полностью »

Nextcloud: отказоустойчивый деплой для средних компаний - 1

Есть очень крутой комбайн для совместного ведения проектов, LDAP-авторизацией, синхронизацией файлов с версионированием и чем-то вроде корпоративного мессенджера с видеоконференциями, которые прикрутили в последних версиях. Да, я про Nextcloud. С одной стороны, я сторонник Unix-way и четкого дробления приложений по отдельным функциям. С другой — этот продукт более чем устойчив, работает много лет в нескольких проектах без особых проблем и дополнительные свистелки особо не мешают ему работать. Если очень хочется, то туда можно прикрутить практически любую дичь. Коммьюнити живое и вполне допиливает различные плагины, которые доступны как отдельные приложения.

Сегодня мы будем его разворачивать. Я не буду давать полной пошаговой инструкции, но постараюсь упомянуть про ключевые моменты архитектуры, на которые стоит обратить внимание. В частности, разберем балансировку нагрузки, репликацию БД и регламентное обслуживание без прерывания сервиса.
Деплоить будем в отказоустойчивом варианте для небольшой компании в 150-1000 пользователей, но для домашних пользователей тоже пригодится.Читать полностью »

Личная файлопомойка. Как я настраивал файлообменник на VPS - 1

Эпоха флешек давно канула в Лету. Что, впрочем, неудивительно: незаменимый инструмент для переноса файлов в кармане утратил свою актуальность с появлением облачных сервисов — доступных везде, где есть интернет, причем практически с любого устройства. Однако в этой бочке меда не обошлось без маленькой ложки дегтя. Во-первых, бесплатные тарифы у большинства вендоров накладывают строгие ограничения на объем облачного хранилища и количество устройств, на которые можно установить приложение для синхронизации. Во-вторых, используя публичные облачные сервисы, вы доверяете свои файлы сторонней компании и никак не можете повлиять на их безопасность. В-третьих, подобные хранилища не слишком удобны для командной работы, которая весьма актуальна в период мировой короновирусной истерии пандемии. Выход? Можно смириться, а можно организовать сетевое файловое хранилище самостоятельно! Один из примеров решения этой задачи мы сейчас и рассмотрим.
Читать полностью »

Заметки Датасатаниста: что делать, если перед вами оказалась NP-полная задача - 1

Наверное, каждый сталкивался с тем, что приходилось столкнуться с какой-то сложной задачей, решение к которой не удавалось подобрать не то что сразу — а даже после долгих упорных часов работы или дней. Об одном из классов таких задач — NP-полных, мы сегодня и поговорим.

А вообще реально ли встретить такие задачи в обычной жизни? На самом деле, они возникают в огромном ряде случаев: комбинаторика, графы и сети, выполнение логических формул, работа с картами, оптимальные загрузки, отображения, задачи дискретной оптимизации, нахождение самых длинных последовательностей, поиск равных сумм и многие задачи на множества! И это далеко не полный список.

Под катом неформальный гайд — как понять, что перед вам может быть NP задача и что делать, если это именно она и оказалась. Сегодня мы атакуем этот вопрос с практической стороны.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js