Fanotify — что он может дать по сравнению с inotify и что попросит взамен

Привет, Хабр! На связи Даниэль из InfoWatch, разработчик решений класса информационной безопасности. В предыдущей статье мы рассматривали задачу контроля целостности в среде Linux с помощью системного интерфейса inotify. Поговорили о ключевых недостатках, с которыми приходится сталкиваться в ходе...

Все блоги / Про интернет

DNSSEC validation на Go: написал свой validator и не до конца сошёл с ума

Я пилю VantageDNS, privacy-focused recursive DNS-резолвер с фильтрацией. Edge-фронт на Go, 10 нод по миру, миекговский miekg/dns под капотом. На каком-то этапе у меня закончились отговорки, и пришлось писать DNSSEC validator. Своими руками. Ночью. Под кофе восьмой кружки. Ниже расскажу, как устроен...

Все блоги / Про интернет

Я написал свой DNS-резолвер на Go вместо того, чтобы взять Unbound. Вот почему и что из этого вышло

Три месяца назад я начал делать NextDNS-clone для Европы. Рекурсивный DNS с фильтрацией рекламы, трекеров и malware. Первый день: открываю Unbound, читаю man, всё понятно. К вечеру понимаю, что не подходит. Через неделю пишу свой резолвер на Go и вспоминаю поговорку про человека, который решил...

Все блоги / Про интернет

Разбираем net/http на практике. Часть 2.3: Динамические маршруты, cookie-аутентификация и управление доступом

В этой статье цикла мы решим главную проблему сервиса DeadDrop: пользователь создаёт секрет, но не может его забрать. Здесь мы: 1) Научим net/http понимать динамические маршруты без фреймворков 2) Научимся подписывать куки через HMAC и узнаем, как оно работает изнутри 3) Настроим безопасное...

Все блоги / Про интернет

Разбираем net/http на практике. Часть 2.2: Архитектура и безопасность. Внедряем Clean Architecture, хэшируем пароли

Продолжаем писать сервис DeadDrop: сегодня идём от монолита к чистой архитектуре В предыдущей части мы реализовали готовый прототип, но его код был спорным: от смешанной логики до хранения секретов пользователей в открытом виде - пора вносить правки! Сегодня мы: 1) Превращаем "толстый" хэндлер в...

Все блоги / Про интернет

Разбираем net/http на практике: пишем веб-сервис DeadDrop для безопасного обмена сообщениями

Первая часть цикла «Разбираем net/http на практике»: создаём с нуля сервис DeadDrop — аналог Privnote для безопасной передачи самоуничтожающихся сообщений и файлов. На чистой стандартной библиотеке net/http разбираем основы: • запуск HTTP-сервера • маршрутизация в ServeMux • написание middleware...

Все блоги / Про интернет

Разработчики всё ещё путают JWT, JWKS, OAuth2 и OpenID Connect — разбираем на примерах. Часть 1

JWT, SSO, OAuth, OpenID Connect — названия знакомые каждому разработчику. Но стоит спросить: «Зачем в продакшене нужен JWKS?» или «Чем отличается OAuth2 от OpenID Connect?» — уверенность сразу исчезает. В этой статье мы разберём как устроен JWT и его подпись, зачем нужны access и refresh токены,...

Все блоги / Про интернет

Как создать свой алгоритм шифрования: от идеи до готового CLI-приложения

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

Все блоги / Про интернет

Декларативная платформа управления доступом: от ролей к динамическим политикам

Зачем нужна авторизация, какие проблемы она решает и в каких ситуациях будет полезна? Рассмотрим модели организации контроля доступа и способы их реализации. Привет, Хабр! Меня зовут Олег Козырев. Senior Golang инженер в BigTech-компании, ментор и блогер. Обучаю людей backend-разработке и...

Все блоги / Про интернет

Запуск узла Hidden Lake на языке Go

Анонимная сеть Hidden Lake является в своей области уникальным и достаточно своеобразным проектом, т.к. базируется на совершенно иных методах и подходах анонимизации трафика, чем большинство ныне нам известных сетей. Из-за того, что сеть является относительно новой - она часто дополняется и...

Все блоги / Про интернет

Как организовать безопасность контейнеров на базе Open Source

Привет Хабр! Меня зовут Татьяна Хуртина, и я программист в группе внутренней автоматизации ИБ VK. Недавно я выступала на киберфестивале PHDays c докладом про наш подход для мониторинга безопасности контейнеров. На примере опыта в inhouse-облаке Дзена я рассказала, как можно использовать open source...

Все блоги / Про интернет

Fuzzing-тестирование. Практическое применение

Привет, Хабр! Меня зовут Никита Догаев, я Backend Team Lead в команде Контента на портале поставщиков Wildberries. Мы отвечаем за карточки, которые каждый день испытывают на прочность сотни тысяч продавцов из разных стран. В статье поделюсь своим опытом применения фаззинга для нагрузочных и...

Все блоги / Про интернет

Алгоритм Diffie-Hellman: Пишем приватный мессенджер на Go

Это продолжение прошлой статьи про данный алгоритм. Где я рассказывал про возможность общения между двумя пользователями без прямого обмена ключом шифрования. Я уже описывал идею создания прозрачного Open-Source мессенджера на основе этого алгоритма и хочу представить вам его самую простую...

Все блоги / Про интернет

Анонимная P2P-сеть внутри централизованного HTTPS-сервера: вшиваем паразитный трафик всеми правдами и неправдами

Государственная цензура есть многогранный монстр, закрывающий путь не только к зарубежной информации посредством блокировки ресурсов и их методов обхода, в лице Proxy, VPN, Tor, но также и постоянно пытающийся подавлять неподконтрольные безопасные и анонимные коммуникации внутри самого себя....

Все блоги / Про интернет

Поднимаем собственный узел в анонимной сети Hidden Lake

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

Все блоги / Про интернет

[Перевод] Реверс бинарных файлов Golang с использование GHIDRA. Часть 2

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

Все блоги / Про интернет

[Перевод] Реверс бинарных файлов Golang с использование GHIDRA. Часть 1

Язык программирования Go (так же известный как Golang) с каждым днем все больше и больше программистов хотят на нем писать программы. Для хакеров этот язык программирования становится еще более привлекательным за счет кросс-компиляции для различных платформ - Windows, Linux, MacOS. Например, хакеры...

Все блоги / Про интернет

Алгоритм Diffie-Hellman: Ключ к безопасному общению

Всем привет! Давно хотел опубликовать статью тут, но никак не находил повода для хорошей статьи. Однако я уже давно веду телеграм канал по Backend разработке, в котором публикую разную информацию о Backend, рассказываю про технологии и в целом делюсь полезной информацией на другие статьи. Сегодня я...

Все блоги / Про интернет

Назад