Pull to refresh
4
1.1

User

Send message

Как внедрить двухфакторную аутентификацию в веб-приложения, не предусматривающие ее изначально

Level of difficultyMedium
Reading time8 min
Views451

Еще в пандемийные годы стало понятно, что жить без двухфакторки на удаленке, как минимум, рискованно. И хоть большинство приложений и обеспечивают 2FA, все-таки существуют сервисы, для которых защищенный доступ из коробки недоступен. Я Саша Зеленов, архитектор Cloud.ru, и сегодня я поделюсь с вами опытом, как мы настроили у себя двухфакторную аутентификацию для веб-приложений, которые сопротивляются прогрессу. 

Читать дальше
Total votes 3: ↑2 and ↓1+1
Comments0

«Где угодно работать, только не в локальных конторах» — у меня есть что сказать

Reading time9 min
Views53K
image

23 года я работал в американских компаниях SAS и C3 AI. Это, если что, очень дорогой интеллектуальный анализ данных корпораций и производств. Причём SAS много лет занимал места с 1-го по 3-е в мире как лучший работодатель, поэтому некоторая избалованность присутствует. Последние полтора года до ухода C3 AI из России я работал в подразделении EMEA с непосредственным руководителем в Париже.

Все эти годы коллеги убеждали меня, что в отечественных компаниях работать нельзя: там хамство, бардак, сотрудников обманывают, не уважают и не ценят. За последние два года многие мои коллеги уехали за границу со словами: «Где угодно работать, только не в локальных конторах».

Я пошёл в отечественную компанию. И не просто в отечественную компанию, а в ОМК, то есть на группу заводов (а на заводах, «ну это же общеизвестно», всегда стоит большая очередь кандидатов за забором, и где типа айтишников не ценят, всё вокруг в солидоле и мазуте, и вообще).

Ладно, про лужи смазки — для некоторых цехов это отчасти правда: утечки бывают.

По остальному мне есть что сказать. Сразу поясню: меня никто не заставлял писать этот пост, никакие эйчары не приходили и не просили. Просто достали те, кто ноет. Хорош ныть!
Читать дальше →
Total votes 190: ↑172 and ↓18+154
Comments145

Как собрать LTE-модем на базе SDR

Level of difficultyHard
Reading time17 min
Views10K
Приветствую всех!
Пожалуй, самой закрытой технологией в пользовательском сегменте является сотовая связь. Очень немногие знают о том, как на самом деле работают телефоны и модемы, отчего им часто приписывают всякие мифические свойства. Как насчёт попробовать запустить полностью открытую реализацию модема стандарта 4G? Именно этим я и предлагаю заняться.



Итак, в сегодняшней статье поговорим о том, как взаимодействовать с мобильной сетью при помощи SDR. Попутно узнаем, какой софт для этого существует, и соберём самый дорогой 4G-модем в истории.

Традиционно будет много интересного.
Читать дальше →
Total votes 63: ↑72.5 and ↓-9.5+82
Comments20

Поговорим о зеркалировании трафика с помощью VxLAN

Reading time6 min
Views4.1K

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

Сетевикам необходимо анализировать трафик для выявления различных аномалий: полуоткрытых соединений, ретрансмитов, потерь пакетов.

Читать далее
Total votes 4: ↑4.5 and ↓-0.5+5
Comments4

Как мы переносили базу Clickhouse между географически удаленными дата-центрами

Level of difficultyMedium
Reading time6 min
Views1.9K

В конце прошлого года мы писали о сложном переезде нашего собственного сервиса в новый дата-центр в Детройте. Среди прочих задач мы переносили Clickhouse. Напомню, что речь идет о нагруженном сервисе, который обслуживает десятки серверов, принимающих сотни тысяч запросов с низкой latency в секунду.

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

Объем данных для Clickhouse у нас не такой уж и большой - процесс получился не столько объемный, сколько ресурсоемкий. Но в открытых источниках информации по использованным механизмам минимум, поэтому считайте это руководством к clickhouse-copier утилите (https://github.com/ClickHouse/copier) на конкретном примере со скриптами и командами для запуска.

Читать далее
Total votes 9: ↑10.5 and ↓-1.5+12
Comments2

Добавление доменов в Carbonio GAL

Reading time4 min
Views270

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

Читать далее
Total votes 1: ↑1 and ↓0+1
Comments0

Безопасность в Docker: от правильной настройки хоста до демона

Reading time12 min
Views12K

Привет, Хабр! Меня зовут Эллада, я специалист по информационной безопасности в Selectel. Помогаю клиентам обеспечивать защиту инфраструктуры и участвую в разработке новых решений компании в сфере ИБ. И сейчас я начала больше погружаться в тему разработки и изучать лучшие практики по обеспечению безопасности приложений.

Все больше компаний используют контейнеры в разработке сервисов. Популярность технологии объяснима: с помощью контейнеров можно легко упаковать приложение вместе со всеми зависимостями в один образ. Его разработчики могут передавать между собой с уверенностью, что приложение запустится на любой платформе. Однако эта же популярность контейнеров приводит к рискам: в контейнерах широко распространена эксплуатация уязвимостей, которые во многом возникают из-за неаккуратного использования инструмента.

Сегодня сложно представить современное приложение без технологий контейнеризации. Поэтому я решила подробно изучить вопросы безопасности в этом направлении и собрала рекомендации, как лучше подойти к работе с Docker-платформой. Подробности под катом!
Читать дальше →
Total votes 53: ↑57 and ↓-4+61
Comments2

Terraform в России

Level of difficultyEasy
Reading time2 min
Views9K

Сейчас в связи с санкциями публичный Terraform репозиторий https://registry.terraform.io блокирует доступ из подсанкционных регионов.

Как я пришёл к тому, что сделал опенсорс зеркало.

Читать далее
Total votes 19: ↑17.5 and ↓1.5+16
Comments17

Создание собственного ключа Android приложения

Level of difficultyEasy
Reading time3 min
Views1.1K

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

Итак, пройдемся по всему процессу. Перед добавление версии сборки приложения в самом начале этого процесса консоль предложит выбрать ключ подписи.

Читать далее
Total votes 4: ↑3.5 and ↓0.5+3
Comments0

Как защитить сайт на WordPress с Linux Debian и ispmanager 6

Level of difficultyMedium
Reading time27 min
Views2.7K

Это первая статья из цикла, в котором расскажем о практических способах обеспечить безопасность сервера. В качестве примера — операционная система Linux Debian с панелью управления ispmanager 6 и сайт на WordPress.

В этой статье опишу:
▪️ Безопасность в процессе установки Debian
▪️ Защита загрузчика
▪️ Безопасность SSH
▪️ Настройка ядра Linux
▪️ Стратегия усиления безопасности аутентификации
▪️ Шифрование канала
▪️ Удаление ненужного ПО
▪️ Отключение ненужных сервисов
▪️ Настройка Firewall iptables
▪️ Конфигурация Fail2ban
▪️ Профилирование AppArmor

Я привожу базовые рекомендации. Они не исчерпывают всех возможных способов усилить информационную безопасность, но пригодятся как отправная точка.

Читать
Total votes 8: ↑7 and ↓1+6
Comments13

Путешествие в глубины сети с Shodan – поисковой системой, открывающей двери в неизведанное

Reading time6 min
Views5K

Shodan — это инструмент для поиска подключенных к интернету устройств.
Для работы ему не нужны записи DNS. Вместо этого он самостоятельно отправляет запросы на различные сетевые узлы, проверяя каждый порт в разных диапазонах IP-адресов.

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

В основе работы Shodan лежит специальный алгоритм, который собирает информацию о каждом узле, ответившем хотя бы на один запрос, аналогичные алгоритмы используют поисковые системы Google и Yandex.

Рассмотрим с вами два вопроса:

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments3

Введение в Router Cosmo — потрясающе быстрый шлюз с открытым исходным кодом Federation V1/V2

Reading time12 min
Views2.2K

Предприятия имеют разнообразные зависимости от данных — внутренние микросервисы со специализированными доменами данных, устаревшие системы с собственными форматами данных, а также сторонние API и приложения SaaS со своими уникальными моделями данных и конечными точками.

TL;DR: разные (и часто устаревшие) технологии, которые нужно как-то объединить.

Federated GraphQL выделился как главное решение для такого объединения в сфере предприятий, и Router (или Gateway) в Federation действует как ключевой элемент, который связывает все эти разрозненные источники данных вместе, делая их доступными через единственный, согласованный API, сохраняя при этом адаптивность. Это, на самом деле, ключ к тому, как Federated GraphQL позволяет создавать масштабируемые и модульные архитектуры.

Сегодня мы рассмотрим высокопроизводительный, открытый, совместимый с Federation V1/V2 Router от WunderGraph Cosmo. Мы расскажем, что он делает, почему он так важен для стека Cosmo, как вы можете разместить его самостоятельно, а также настроить и расширить его с помощью своего собственного кода на Go.

Читать далее
Total votes 1: ↑1 and ↓0+1
Comments0

Распознаем голосовые сообщения Telegram без СМС и пересылок ботам

Reading time7 min
Views10K

Как всем известно, люди делятся на две категории:

1. Те, кто любит отправлять голосовые сообщения

2. Те, кто кто надеются, что для первых приготовлен отдельный котел

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

Читать далее
Total votes 31: ↑33.5 and ↓-2.5+36
Comments30

Развертываем peer-to-peer чат с голосом, видео, шарингом экрана, файлов и паролем

Level of difficultyMedium
Reading time7 min
Views8.1K

Эта секция написана уже после статьи, чтобы читатель посмотрел, а надо ли ему что-то отсюда или нет, но это забавное приключение, как всегда.

Что будет ниже:

Поиск open source решения для общения голосом, шаринга экрана, включения видео и чатов в режиме peer-to-peer, без лишних бекендов
Запуск этого решения в открытую в github pages
Заворачивание этого решения на приватный сервер
Простенькое закрытие доступа туды через basic http auth
Заключение с описанием некоторых замечаний и потенцевальных возможностей

Читать далее
Total votes 29: ↑28 and ↓1+27
Comments13

Создание сквозного конвейера MLOps с помощью Open-source инструментов

Level of difficultyEasy
Reading time12 min
Views1.8K
MLOps с открытым исходным кодом: TL;DR
Эта статья служит целенаправленным руководством для специалистов по исследованию данных и инженеров ML, которые хотят перейти от экспериментального машинного обучения к готовым к производству конвейерам MLOps. Мы выявим ограничения традиционных систем ML и познакомим вас с основными инструментами с открытым исходным кодом, которые помогут вам создать более надежную, масштабируемую и поддерживаемую систему ML.

Среди обсуждаемых инструментов — Feast для управления функциями, MLflow для отслеживания и версионирования моделей, Seldon для развертывания моделей, Evidently для мониторинга в реальном времени и Kubeflow для оркестровки рабочих процессов.

Введение


Ландшафт машинного обучения постоянно меняется, и переход от разработки моделей к их внедрению в производство сопряжен с рядом трудностей. Хотя блокноты Jupyter и изолированные скрипты полезны для экспериментов, им часто не хватает функций, необходимых для системы производственного уровня. Эта статья призвана помочь вам справиться с этими проблемами, познакомив с концепцией MLOps и набором инструментов с открытым исходным кодом, которые могут облегчить создание готового к производству ML-конвейера.

Независимо от того, являетесь ли вы специалистом по исследованию данных, желающим перейти к производственной деятельности, или инженером ML, стремящимся оптимизировать существующие рабочие процессы, эта статья призвана дать целенаправленный обзор основных практик и инструментов MLOps.
Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments0

Вызволяем увлажнитель из сетей Xiaomi

Reading time6 min
Views17K

Вероятно, вы слышали о том, что сухость воздуха — одна из частых причин появления статического электричества. Вот и я решил обзавестись увлажнителем, когда заметил, что кошка бьется током почти при каждом прикосновении. И нет, ее зовут не Электро или Шторм Спирит. Знакомьтесь, Амидала (в честь персонажа вселенной «Звездных войн»).

Время шло, потребности в комфортном использовании техники росли, а вот ее функциональность и стабильность оставляли желать лучшего. После очередного сбоя серверов Xiaomi в октябре прошлого года в голове окончательно закралась мысль: почему дом — мой, а серверы — чужие? Так я познакомился с Home Assistant, MQTT, zigbee2mqtt и селфхостингом, о чем расскажу под катом!
Читать дальше →
Total votes 67: ↑67.5 and ↓-0.5+68
Comments46

Управление секретами при деплое в k8s

Level of difficultyMedium
Reading time4 min
Views3K
Привет, Хабр!

В определенный момент мы приходим к понимаю, что процесс, который работает «хорошо», должен начать работать «правильно», особенно, если речь зашла про секреты приложений.

Дано: gitlab(onprem), облако (в моем случае Yandex Cloud), 10+ сервисов, которые нужно активно и часто деплоить (с возможностью быстрого наращивания кол-ва сервисов)

Требования к решению: деплои должны происходить без участия вмешательства инженера непосредственно в процессе деплоя, процесс прозрачен для разработчика и отвечает принятым в компании требованиям к качеству и безопасности.
Читать дальше →
Total votes 3: ↑3 and ↓0+3
Comments3

Хранение загружаемых пользователями файлов

Level of difficultyEasy
Reading time7 min
Views3.4K

В самом начале своей карьеры я имел честь в одно лицо разрабатывать проект, предназначенный для массового пользователя. Надо сказать, что почти все основополагающие принципы того, как провалить проект, были соблюдены, однако, он до сих пор жив. Проект был предназначен для принудительного использования определенной категорией работников бюджетной сферы. Технического задания, аналитики, дизайн-документов, макетов в Фигме, лавандового смузи, и прочих этих ваших модных слов, без которых N лет назад строили БАМ и Траннсиб не было от слова совсем. Зато, были процессы “в бумаге”, которые требовалось оцифровать. Поэтому то, что можно было принять за ТЗ, выглядело как “Эти (работники) заполняют вот это (бумаги) потом несут тем (проверяющим) а дальше все это хранится, сделай чтобы они с компьютера могли загрузить и отправить, у нас тут целый этаж бумагами занят, пожар начнется - всему хана”. Используя весь свой багаж знаний и опыта в построении высоконагруженных систем (на этом месте я отошел от написания статьи сначала проржаться а потом поплакать), я приступил к реализации.

Читать далее
Total votes 17: ↑14 and ↓3+11
Comments2

Building firmware for Orange PI i96 (Orange PI 2g-iot) from scratch

Level of difficultyEasy
Reading time14 min
Views566

Hellow my name is Dmitry. Once I bought "Orange PI i96", but unfortunately producer not update it firmvere very long. Last firmwere kernel version is 3.10.62 but kernel current at time this article writing (russian version) is 6.5.1. And so I decide build my own firmware from scratch, and do it from sourse completely.

Read more
Total votes 9: ↑7 and ↓2+5
Comments6

Внутри S3. Доклад Яндекса

Reading time12 min
Views17K

Привет, я Паша, разработчик в Yandex Infrastructure, и я катаю гусей. С 2019 года я развиваю S3-хранилище как для внутренних пользователей Яндекса, так и для клиентов Yandex Cloud. А «гусём» называется наш бэкенд S3 API: он написан на Go, а из словосочетания Go + S3 получился goose. Возможно, вы также слышали про GeeseFS — это наш высокопроизводительный FUSE-клиент для S3. C его помощью вы можете на своём ноутбуке или виртуалке подмонтировать папку, которая будет работать с бакетом S3. 

Для чего нам «гуси» и прочая орнитология? Яндексовая инсталляция хранилища S3 хранит миллиарды файлов. Это огромные объёмы данных, а также метаданных. Для хранения метаданных мы научились использовать умное шардирование, и теперь сами управляем распределением занятого места и нагрузкой между шардами баз.

Так что сегодня я расскажу, как сделать так, чтобы ни один клиент, даже с самым неудобным паттерном нагрузки, не положил сервис.

Читать далее
Total votes 82: ↑81 and ↓1+80
Comments52
1
23 ...

Information

Rating
1,254-th
Registered
Activity