Как стать автором
Обновить

Администрирование

Сначала показывать
Порог рейтинга
Уровень сложности

Сортировка Конфигов для Make Сборок

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 471

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

Все передают конфиги по-разному.

В этом тексте представлен способ передавать конфиги через скрипты сборки.

Читать далее
Всего голосов 4: ↑0 и ↓4 -4
Комментарии 2

Новости

Domain fronting для чайников, и как его использовать для обхода блокировок

Уровень сложности Средний
Время на прочтение 10 мин
Количество просмотров 3.4K

Давайте сразу вопрос на засыпку: может ли быть так, что клиент подключается, ну, например, к серверу www.python.org (самому настоящему, тому, к которому обращаются еще миллионы клиентов со всего мира), а потом использует его как прокси и гоняет через это подключение трафик до своего VPS для доступа в неподцензурный интернет? Если вы не уверены в ответе на этот вопрос или почему-то ответили "нет", то добро пожаловать в статью.

Я уже не раз рассказывал здесь о технологии XTLS-Reality (1, 2, 3) суть которой в том, что ваш прокси-сервер VPS может очень достоверно маскироваться под какой-нибудь популярный веб-сайт - принимать подключения, которые будут выглядит точно так же, как обращения к настоящему сайту, отвечать на них полностью аутентичным TLS-сертификатом, и в целом вести себя как тот настоящий сайт. Единственная проблема - сам IP-адрес. Немного подозрительно, когда к какому-нибудь якобы www.google.com постоянно обращается только один пользователь, а IP-адрес этого сервера на самом деле даже не относится к автономной сети Google.

Еще я рассказывал о разных вариантах проксировать трафик посредством вебсокетов и простых HTTP-туннелей через различные CDN, такие как Cloudflare и Gcore. Вероятность того, что под блокировку попадет вся CDN гораздо ниже, чем что забанят какой-то один сервер или диапазон хостера, но та схема требовала регистрацию своего домена для работы через CDN.

И наверняка многим в голову приходила идея, а нельзя ли как-нибудь совместить эти два механизма? Проксироваться через CDN, но при этом "прикрываясь" каким-нибудь чужим доменом? Ответ: да, можно, и сейчас мы посмотрим, как именно.

Читать далее
Всего голосов 31: ↑31 и ↓0 +31
Комментарии 6

Инструкция по переезду и миграции данных с Google Firebase на Self-hosted Supabase

Уровень сложности Средний
Время на прочтение 5 мин
Количество просмотров 1.1K

Всем доброго дня! Комментарии к моей предыдущей статье о том, как я развиваю свой pet-проект, а также различные законы, подразумевающие локализацию персональных данных на серверах, размещенных на территории РФ (в частности Федеральный закон от 21.07.2014 № 242-ФЗ «О внесении изменений в отдельные законодательные акты Российской Федерации в части уточнения порядка обработки персональных данных в информационно-телекоммуникационных сетях»), озадачили меня идеей постепенного перевода всех данных приложения в РФ. В качестве сервера БД я отдал предпочтение сервису Supabase, который легко разворачивается в Docker на сервере.

В данном туториале я хочу обзорно пройтись по сравнению двух сервисов, представляющих собой не только СУБД, а BaaS (backend as a service), но внимание заострю именно на работе с данными, постараясь сравнить их функционал, производительность и простоту использования. Также приведу примеры обработки получения, обновления и удаления данных в Google Firebase Realtime Database и Supabase Realtime Database на JavaScript.

Стоит сразу сделать оговорку, что Realtime Database от Firebase - это облачная БД для хранения и синхронизации данных в реальном времени, в то время как БД от Supabase хоть и является её аналогом, но позволяет хостить базу данных самостоятельно ("под капотом" у Supabase располагается объектно-реляционная СУБД PostgreSQL).

Мы рассмотрим шаги, необходимые для переноса данных и обсудим примеры кода для реализации этого процесса.

Читать далее
Всего голосов 4: ↑3 и ↓1 +2
Комментарии 2

Новые проклятия: руководство по ncurses

Уровень сложности Простой
Время на прочтение 11 мин
Количество просмотров 1.8K

HTOP, midnight commander... Как же они построили довольно красивый и удобный псевдографический интерфейс?

Все благодаря библиотеке для C/С++ под названием new curses ("новым проклятиям" дословно) или же NCURSES.

Но как ее установить и работать с ней?

Вперёд!
Всего голосов 16: ↑11 и ↓5 +6
Комментарии 8

Истории

GOST: швейцарский нож для туннелирования и обхода блокировок

Уровень сложности Средний
Время на прочтение 13 мин
Количество просмотров 32K

Начиная со вчера Роскмонадзор запрещает писать про инструменты для обхода блокировок, и это событие мы отметим очередной статьей про инструменты для обхода блокировок. Ибо не им указывать, на какие темы мне писать или не писать, пусть идут строем нафиг.

Сегодня я расскажу о замечательном инструменте под названием GOST. Не пугайтесь, он не имеет никакого отношения к ГОСТ-шифрованию или чему-то подобному, на самом деле это Go Simple Tunnel. Он действительно simple (простой) в использовании и настройке, но при этом невероятно мощный, поскольку поддерживает огромное количество протоколов и транспортов, из которых вы при желании сможете построить самые упоротые и бронебойные комбинации, а именно...

Читать далее
Всего голосов 123: ↑120 и ↓3 +117
Комментарии 73

Современные типы архитектуры данных: Погружение в различные подходы к построению хранилищ данных

Уровень сложности Средний
Время на прочтение 5 мин
Количество просмотров 8.6K

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

Подробнее
Всего голосов 5: ↑4 и ↓1 +3
Комментарии 1

Настройка алертингов из Opensearch в Telegram

Время на прочтение 5 мин
Количество просмотров 1.2K

В «Магните» только по 1С-системам суточный объем логов переваливает за 100 Гб. Их нужно обрабатывать, использовать, выделять ценные данные. Конечно, мы пользуемся Discover и различными дашбордами и визуализациями. Но иногда необходима оперативность. Тогда пригождается система алертингов: она позволяет создавать оповещения и уведомлять пользователей о различных событиях или изменениях в данных.

В рунете не так много материалов по настройке алертингов, поэтому мы решили поделиться своим мануалом в надежде, что это поможет кому-то сберечь драгоценное время. В статье познакомимся с основами работы с алертингами в OpenSearch и настроим один способ доставки оповещений — в Telegram.

Читать далее
Всего голосов 7: ↑6 и ↓1 +5
Комментарии 1

Разработка простого DNS сервера на Go, согласно RFC

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 5.4K

Привет, Хабр!

В этой статье я хочу рассказать о своем опыте создания DNS сервера. Разрабатывал я его "чисто повеселиться", при разработке будем придерживаться спецификации RFC.

Читать далее
Всего голосов 37: ↑35 и ↓2 +33
Комментарии 0

Почему лёд скользкий, но не всегда?

Время на прочтение 10 мин
Количество просмотров 5.5K

Почему лёд скользкий?

Мы все знаем, что лёд скользкий.

Но видим  именно скользкий лёд и ощущаем на себе его скользкость мы только в достаточно ограниченном числе типовых ситуаций.

Так обычно это бывает в условиях «гололёда», когда твёрдую дорогу  покрывает тонкий слой льда.

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

Больше всего «гололёдных» ситуаций  случается в начале зимы до выпадения снега, или в оттепель среди зимы.

При сильно отрицательных  температурах даже чистая поверхность речного льда  перестаёт быть скользкой. (см.рис.1.)

Читать далее
Всего голосов 23: ↑17 и ↓6 +11
Комментарии 34

Как тестировать память быстрей?

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 1.7K

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

Для диагностики модулей есть хорошая программа memtest86+, но если памяти у нас 1ТБ, то полное тестирование растягивается на несколько дней, а бизнес не может так долго ждать.

Как же быть? В этой публикации я поделюсь опытом тестирования памяти сервера Gigabyte R292-4S0 с СУБД на Enteprice Linux 8 (EL8) и 1 ТБ памяти двумя методами:

С EFI загрузкой memtest86+ v7;

С автоматизированным созданием сотни libvirt-KVM виртуальных машин с memtest86+ внутри.

Запуск memtest внутри виртуальной машины... "Фу...", - скажут некоторые. И будут неправы. Почему?

Читайте далее
Всего голосов 9: ↑9 и ↓0 +9
Комментарии 7

ВКС-дайджест: улучшаем фон с Teams, семантический слух и самая маленькая веб-камера

Время на прочтение 3 мин
Количество просмотров 894

А также исследование небританских ученых, 3D-встречи в SberJazz и новинка от Logitech. Собрали для вас самые интересные новости за ноябрь из нашего телеграм-канала

Читать далее
Всего голосов 6: ↑5 и ↓1 +4
Комментарии 3

Space VDI: обзор возможностей, тонкости настройки, особенности

Время на прочтение 6 мин
Количество просмотров 950

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

Так как многие западные вендоры ушли с российского рынка, сейчас самое время обратить внимание на отечественные продукты. Мы тестируем и интегрируем самые популярные из них, попутно делясь своим опытом. Одно из решений, про которые хотелось бы рассказать – Space VDI от ООО «ДАКОМ М». Space VDI предоставляет все необходимые инструменты для создания и управления виртуальными рабочими столами, обеспечивая высокую эффективность и безопасность, и может стать отличным решением для тех, кто хочет перейти на новый уровень IT-инфраструктуры. Подробнее – в статье.

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 6

Ferranti Mark 1 – история первого серийного коммерческого компьютера

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 1.7K


Если речь заходит о компьютере Mark 1, то в первую очередь вспоминается электронно-вычислительная машина, построенная в 1944 году по договору с IBM группой инженеров под руководством капитана ВМФ США Говарда Эйкена. На самом же деле, этих «Марков» было, как донов Педро в Бразилии — довольно много. И об одном из компьютеров с таким именем, который считается одной из первых коммерческих ЭВМ на нашей планете, мы хотим сегодня рассказать.
Читать дальше →
Всего голосов 18: ↑18 и ↓0 +18
Комментарии 8

Ближайшие события

Как научиться выстраивать килчейн

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 851

Алексей Баландин, архитектор продукта Security Vision

Михаил Пименов, аналитик Security Vision

Впервые слово килчейн (точнее, несколько слов: The Cyber Kill Chain) как термин появилось в далеком 2011 году, когда американская компания Lockheed-Martin впервые предложила выстроить зафиксированные в инфраструктуре события в единую цепочку атаки. Цепочка была довольно проста и включала в себя всего 7 звеньев: разведка, вооружение, доставка, эксплуатация, инсталляция, управление, действие. По сути, это было ответом на усложнившиеся хакерские атаки, которые использовали всё более изощренный инструментарий и многоходовые тактики атаки.

Подход, делящий атаку на некие этапы, оказался очень востребован, но не был лишен недостатков. Например, килчейн от Lockheed-Martin совершенно не учитывал внутреннего злоумышленника, атакующего изнутри инфраструктуры. Соответственно, другие игроки постарались развить и улучшить это метод. Так, уже в 2013 MITRE предложила свой вариант, представив последовательность из 14-ти тактик. Позже экспертом в области кибербезопасности Полом Поллзом (Paul Polls) был предложен гибридный вариант, объединяющий и расширяющий методики от Lockheed-Martin и MITRE, известный как The Unified Kill Chain.

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

Читать далее
Всего голосов 16: ↑15 и ↓1 +14
Комментарии 0

DevOps ИТ-мит​ап в ЛАНИТ. Как это было

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 1.2K

В 2023 году мы в ЛАНИТ решили активнее развивать профессиональные комьюнити, где люди могли бы не только общаться с единомышленниками, но и обмениваться опытом. Так и появилась идея провести серию тематических ИТ-митапов, один из которых был бы посвящен DevОps.​ О том, как прошел этот митап, рассказываем под катом.

Читать далее
Всего голосов 14: ↑13 и ↓1 +12
Комментарии 2

На грани ИИ: пример поиска и обработки векторов в PostgreSQL + pgvector

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 3.2K

На Хабре было много упоминаний pgvector в обзорах Postgresso. И каждый раз новость была про место которое где-то за границей и далеко. Многие коммерческие решения для хранения и поиска векторов в базе данных нынче не доступны, а pgvector доступен любому, тем более в самой популярной базе в России.

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

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Комментарии 8

Развертываем Кибер Бэкап самостоятельно. Часть 3

Время на прочтение 20 мин
Количество просмотров 907

В предыдущей части мы привели рекомендации по установке и использованию нашего продукта в компаниях малого и среднего бизнеса. Сегодня мы, Дмитрий Ермолаев и Алексей Федоров, затронем вопросы установки и использования Кибер Бэкапа в крупных компаниях.

Примечание: если вы читаете не с начала, рекомендуем познакомиться с описанием компонентов Кибер Бэкапа в первой части цикла.

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 0

Devuan LXC + Runit native boot

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 1.4K

Runit уже много лет пленяет пылкие сердца и умы любителей прекрасного и если вас тоже подташнивает от коричневых оттенков мэйнстримных облаков, то слушайте. Я расскажу о своём опыте использования runit в режиме native boot, который делает lightweight контейнеры по-настоящему lightweight.

Ведь как я делал раньше? Деплоил контейнер debian, отключал мерзкий бинарный лог в /etc/systemd/journald.conf, потом ставил вменяемый rsyslog, который тянул logrotage и cron, а потом выискивал свои крошечные поделки в списке процессов среди всех этих systemd, cron, rsyslogd, agetty - вот этот agetty я вообще победить не мог.

Вас бы не задолбало такое безобразие? Я-то терпеливый, но и меня тоже достало.

Devuan. Только Devuan.

А про native boot в runit вообще ни один из известных мне поисковиков ничего не может сказать, и никаких упоминаний нет на wiki всех этих gentoo, void, artix, где runit активно используется. И даже на этом сайте ни слова, хотя поиск по runit весьма познавателен, если отфильтровать весь спам про лошадиный спорт.

Я восполню этот пробел
Всего голосов 10: ↑8 и ↓2 +6
Комментарии 11

Метод Reverse Engineering на практике: как расшифровать исходный код

Уровень сложности Средний
Время на прочтение 11 мин
Количество просмотров 2.9K

Всем привет!

Сегодня в нашем эфире новый автор - Никита Синкевич, руководитель группы анализа и реагирования Инженерного центра Angara Security. Итак, начинаем!

Иногда в ходе расследования инцидента информационной безопасности необходимо понять, имеет ли та или иная программа вредоносное воздействие на систему. Если для данной программы у вас нет исходного кода, то приходится применять метод исследования "обратная разработка", или Reverse Engineering. Я покажу, что такое "обратная разработка" на примере задания "RE-101" с ресурса cyberdefenders.

CyberDefenders — это платформа для развития навыков blue team по обнаружению и противодействию компьютерным угрозам. В этой статье будет разбор последней, шестой подзадачи из задания "RE-101". На мой взгляд, она лучше раскрывает процесс реверс-инжиниринга, чем остальные: нам предстоит восстановить из исполняемого файла кастомный алгоритм шифрования, написать скрипт-дешифратор и расшифровать флаг.

Используемые инструменты:

1.       Detect it Easy
2.       IDA
3.       Python3
4.       Notepad++
5.       CyberChef

Задание

Описание намекает, что в предложенном файле malware201 кто-то реализовал свой собственный криптографический алгоритм.

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Комментарии 8

Нетипичные сценарии использования BI-системы (Apache Superset)

Уровень сложности Средний
Время на прочтение 12 мин
Количество просмотров 3.6K

Всем привет!

Сегодня поговорим о немного нетипичной для меня теме, а именно — Apache Superset. Обычно я пишу длинные «философские» статьи «на свободную тему», но в этот раз — это будет туториал. Так что кому‑то может показаться банальностью, но, опять таки, вдруг кому поможет. Почему‑то именно по суперсету на Хабре оскорбительно мало материалов. Да, у него в целом неплохая документация, но она все же — документация, поэтому в меру сухая, в ней нет дополнительных объяснений, примеров. Попробуем хоть немного исправить эту ситуацию.

Читать далее
Всего голосов 16: ↑16 и ↓0 +16
Комментарии 7