<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/">
  <channel>
    <language>ru</language>
    <title>CSR</title>
    <description/>
    <link>https://tproger.ru/tag/csr</link>
    <atom:link href="https://tproger.ru/tag/csr/feed" rel="self" type="application/rss+xml"/>
    <lastBuildDate>Fri, 25 Sep 2026 20:54:18 GMT</lastBuildDate>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>12</sy:updateFrequency>
    <image>
      <title>CSR</title>
      <link>https://tproger.ru</link>
      <url>https://tproger.ru/apple-touch-icon.png</url>
    </image>
    <item>
      <title>Бесплатный WAF инструмент кибербезопасности, который я использую</title>
      <link>https://tproger.ru/articles/besplatnyj-waf-instrument-kiberbezopasnosti-kotoryj-ya-ispolzuyu</link>
      <comments>https://tproger.ru/articles/besplatnyj-waf-instrument-kiberbezopasnosti-kotoryj-ya-ispolzuyu?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Неопознанный программист]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/besplatnyj-waf-instrument-kiberbezopasnosti-kotoryj-ya-ispolzuyu</guid>
      <description><![CDATA[<p>Разбор бесплатного open-source WAF SafeLine для защиты от OWASP Top 10, DDoS и ботов. Сравнение с ModSecurity и Cloudflare по точности обнаружения атак, минимальные ложные срабатывания, простая установка одной командой Docker.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/besplatnyj-waf-instrument-kiberbezopasnosti-kotoryj-ya-ispolzuyu">Бесплатный WAF инструмент кибербезопасности, который я использую</a>»</p>]]></description>
      <category><![CDATA[API]]></category>
      <category><![CDATA[Git]]></category>
      <category><![CDATA[Unity]]></category>
      <category><![CDATA[SQL]]></category>
      <category><![CDATA[.NET]]></category>
      <category><![CDATA[iOS]]></category>
      <category><![CDATA[Работа]]></category>
      <category><![CDATA[GitHub]]></category>
      <category><![CDATA[HR]]></category>
      <category><![CDATA[Docker]]></category>
      <category><![CDATA[MIT]]></category>
      <category><![CDATA[IBM]]></category>
      <category><![CDATA[Cloudflare]]></category>
      <category><![CDATA[Маркетинг]]></category>
      <category><![CDATA[CSR]]></category>
      <category><![CDATA[PostgreSQL]]></category>
      <category><![CDATA[Бизнес]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Wed, 01 Jul 2026 05:55:02 GMT</pubDate>
      <content:encoded><![CDATA[<p>Решения с открытым исходным кодом достигли такого уровня зрелости, что сегодня они действительно могут конкурировать с коммерческими продуктами — не только по функциональности, но и по удобству использования и поддержке сообщества. Если вы управляете собственной инфраструктурой, больше нет оправдания тому, чтобы оставлять дверь открытой для угроз.</p><p>SafeLine WAF — это бесплатный инструмент, который я лично тестировал.</p><p>Это полностью open-source решения, продукт с действительно бесплатной Community Edition, где ключевые функции не урезаны.</p><p><b>SafeLine WAF — веб-приложенийный межсетевой экран, который действительно поставляется с разумными настройками по умолчанию</b></p><p><b>Что он делает:</b></p><p>Защищает веб-приложения от SQL-инъекций, XSS-атак, командных инъекций, CSRF, SSRF, атак включения файлов и других угроз из списка OWASP Top 10. Также поддерживает защиту от CC/DDoS-атак, управление ботами и может работать как шлюз аутентификации.</p><p><b>Почему он:</b></p><p>Большинство WAF с открытым исходным кодом достаточно сложно настроить. Можно потратить часы на настройку правил, пытаясь остановить ложные срабатывания, из-за которых легитимные пользователи блокируются.</p><p>SafeLine использует другой подход — вместо того чтобы полностью полагаться на сигнатурное обнаружение, он применяет движок семантического анализа, который фактически анализирует и понимает входящие HTTP-запросы. Это позволяет добиться более высокого уровня обнаружения при значительно меньшем количестве ложных срабатываний по умолчанию.</p><p>Некоторые показатели, которые стоит учитыват</p><ol><li>Уровень обнаружения - SafeLine (Balanced) (71.65%), ModSecurity (Level 1) (69.74%), Cloudflare (Free) (10.7%)</li><li>Уровень ложных срабатываний - SafeLine (Balanced) (0.07%), ModSecurity (Level 1) (17.58%), Cloudflare (Free) (0.07%)</li><li>Точность - SafeLine (Balanced) (99.45%), ModSecurity (Level 1) (82.20%), Cloudflare (Free) (98.40%)</li></ol><p>Сбалансированный профиль SafeLine обнаруживает более 70% атак, при этом блокируя легитимный трафик ошибочно всего в 0.07% случаев. Это именно тот уровень настроек по умолчанию, который можно использовать в промышленной среде без постоянного ручного контроля.</p><p>Установка выполняется одной командой</p><p>После запуска он разворачивается как набор Docker-контейнеров: Tengine (форк Nginx) используется в качестве reverse proxy, отдельный сервис отвечает за семантический анализ, PostgreSQL хранит конфигурации и логи, а удобная веб-панель администратора работает на порту 9443.Community Edition поддерживает до 10 сайтов, чего достаточно для большинства личных проектов и небольших бизнес-сценариев.</p><p>Сайт: <a href="https://api.vc.ru/v2.8/redirect?to=https%3A%2F%2Fcodeby.net%2Fgoto%2Flink-confirmation%3Furl%3DaHR0cHM6Ly9jeWJlcnNlcnZhbC50ZWNoL2xhbmRpbmcvc2FmZWxpbmXvv7xHaXRIdWI%253D%26s%3D7008b60d8a0849ba0be350fe25edfa72&amp;postId=3005263" rel="nofollow noopener">https://cyberserval.tech/landing/safeline</a></p><p>GitHub:<a href="https://api.vc.ru/v2.8/redirect?to=http%3A%2F%2Fgithub.com%2Fchaitin%2FSafeLine&amp;postId=3005263" rel="nofollow noopener"> github.com/chaitin/SafeLine</a> (более 21 тыс. звёзд)</p><p>Лицензия: GPL-3.0 / MIT (Community Edition)</p>]]></content:encoded>
    </item>
    <item>
      <title>Петабайты каждый день: как хранить и использовать данные с умом</title>
      <link>https://tproger.ru/articles/petabajty-kazhdyj-den--kak-hranit-i-ispolzovat-dannye-s-umom</link>
      <comments>https://tproger.ru/articles/petabajty-kazhdyj-den--kak-hranit-i-ispolzovat-dannye-s-umom?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Татьяна Жукова]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/petabajty-kazhdyj-den--kak-hranit-i-ispolzovat-dannye-s-umom</guid>
      <description><![CDATA[<p> Как компаниям эффективно хранить и масштабировать big data? Разбираем решения с экспертом VK Cloud. </p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/petabajty-kazhdyj-den--kak-hranit-i-ispolzovat-dannye-s-umom">Петабайты каждый день: как хранить и использовать данные с умом</a>»</p>]]></description>
      <category><![CDATA[API]]></category>
      <category><![CDATA[Оптимизация]]></category>
      <category><![CDATA[Инструменты]]></category>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Производительность]]></category>
      <category><![CDATA[MySQL]]></category>
      <category><![CDATA[Практика]]></category>
      <category><![CDATA[SQL]]></category>
      <category><![CDATA[Работа]]></category>
      <category><![CDATA[Облачные технологии]]></category>
      <category><![CDATA[AMD]]></category>
      <category><![CDATA[CSR]]></category>
      <category><![CDATA[Дата-центр]]></category>
      <category><![CDATA[Сервер]]></category>
      <category><![CDATA[PostgreSQL]]></category>
      <category><![CDATA[Бизнес]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Wed, 02 Jul 2025 14:00:03 GMT</pubDate>
      <content:encoded><![CDATA[<p>Каждый день в мире генерируется более <a href="https://www.techbusinessnews.com.au/blog/402-74-million-terrabytes-of-data-is-created-every-day/">400 миллионов</a> терабайт данных. Возможно, стоило бы отпраздновать эту цифру, но компаниям все сложнее хранить такие объемы. С одной стороны, — это вопрос оптимизации стоимости. С другой, — удобства использования и масштабирования.</p><p>В этом материале вместе со Станиславом Погоржельским, технологическим евангелистом платформы VK Cloud, разберем особенности решений для хранения и работы с большими данными.</p><h2>Особенности локальных хранилищ</h2><p>Стоит держать в уме, что выбор таких решений не всегда зависит от архитектурных принципов и лучших практик, а чаще всего от наличия определенной экспертизы в компании. Проведем очную ставку трех основных моделей построения хранилищ.</p><figure><img src="https://media.tproger.ru/user-uploads/102593/2025-07-02/7eece396-17d8-49b4-8aca-522d466b3c85.png" alt="" /></figure><figure><img src="https://media.tproger.ru/user-uploads/102593/2025-07-02/5c60f581-5f7e-40e2-ac17-65eb3ad59714.png" alt="" /></figure><h3>Семь «грехов» локальных кластеров</h3><p>Теперь поговорим о том, какие неприятные особенности встречаются во время эксплуатации локальных кластеров.</p><h4>Структура данных и хаос</h4><p>В реальных системах данные редко бывают аккуратными. Вместо красивых таблиц разработчик часто сталкивается с миллионами мелких файлов по 1-2 Кб и, например, видео по несколько Гб. Такие крайности требуют противоположных стратегий хранения и кэширования.</p><p>Файловая система, не оптимизированная для работы с малыми файлами, быстро забивается inode'ами (переполнение файловых дескрипторов). Системы хранения начинают задыхаться не от общего объема, а от количества объектов, что критически влияет на производительность. Например, <a href="https://web.archive.org/web/20161101132116/http://engineering.spilgames.com/openstack-swift-lots-small-files/">известны случаи</a>, когда после миллиона объектов OpenStack Swift начинал терять метаданные, а в хранилищах висели призраки удаленных объектов.</p><h4>RAID — не универсальное спасение</h4><p>Настройка RAID-массивов кажется очевидным решением, но не все так однозначно:</p><ul><li>RAID 5 и 6 плохо переносят большие объемы из-за длительного времени восстановления.</li><li>RAID 10 требует удвоения или утроения объема хранения ради скорости и отказоустойчивости.</li><li>На петабайтных объемах пересборка массива после сбоя может занимать больше недели.</li></ul><h4>Поддержка архивов и ZIP-файлов</h4><p>Архивирование данных (например, с помощью ZIP) спасает место, но приводит к другим проблемам: невозможность выборочного доступа к отдельным файлам без полной распаковки, рост времени обработки запросов, сложность мониторинга целостности данных.</p><p>Массовая работа с архивами требует настройки кэширования и часто вынуждает строить параллельные системы для индексации содержимого архивов.</p><h4>Автоматизация мониторинга и ремонта</h4><p>Любая система хранения живет с постоянным риском деградации: умирают диски, выходят из строя контроллеры, падают сети. На уровне сотен и тысяч узлов мониторинг «вручную» невозможен: требуется автоматизированная оркестрация алертов, самовосстановление, динамическая миграция данных на здоровые узлы. Иначе разрастание локальных отказов перерастает в потерю данных.</p><h4>Шардирование данных: неизбежность и боль</h4><p>На больших объемах данных (более 250 Тб) приходится шардировать — разбивать на независимые логические части, чтобы сохранить производительность. Но с шардированием есть проблемы:</p><ul><li>усложняет маршрутизацию запросов;</li><li>увеличивает сложность восстановления данных при сбоях;</li><li>требует отдельных механизмов ребалансировки шардов при добавлении новых узлов.</li></ul><p>Более того, встроенные механизмы шардирования некоторых популярных СУБД (MongoDB, PostgreSQL с партиционированием) не рассчитаны на миллиарды записей и начинают деградировать.</p><h4>Проблемы метаданных</h4><p>Каждый файл и объект требуют метаданных: даты создания, размера, доступа, хеш-суммы. При росте числа объектов метаданные сами по себе становятся огромными: терабайты информации, требующие отдельного хранения, индексирования и защиты.</p><h4>Резервное копирование на практике</h4><p>Бэкап петабайта данных требует продуманной стратегии инкрементальных копий, дедупликации, постоянного тестирования восстановления. Локальное хранение больших объемов данных — это не про покупку железа и развертывание файлового сервера. Это бесконечная инженерная работа по балансировке между скоростью, надежностью, стоимостью и сложностью системы.</p><p>Хранение больших объемов обостряет вопросы производительности, резервного копирования и автоматизации мониторинга, где каждый аспект требует балансировки между скоростью, надежностью и сложностью ИТ-инфраструктуры.</p><h2>Облачные хранилища</h2><p>С локальными хранилищами разобрались, теперь рассмотрим технические особенности альтернативного решения.</p><h3>Гибкость и масштабируемость без ограничений</h3><p>В облаке увеличение объемов хранения происходит мгновенно:</p><ul><li>без ожидания закупки нового оборудования;</li><li>без сложного планирования миграций;</li><li>без перебоев в обслуживании приложений.</li></ul><p>Эксплуатация и разработчики могут динамически добавлять терабайты и петабайты данных в рамках одного API-запроса. Облачное хранилище предлагает готовое решение для масштабирования от стартапов до международного уровня компаний.</p><h3>Финансовая прозрачность и удобная модель оплаты</h3><p>Модель Pay-As-You-Go (оплата по факту использования) дает бизнесу и разработчикам:</p><ul><li>предсказуемость расходов;</li><li>возможность мгновенно адаптировать инфраструктуру под изменяющиеся требования;</li><li>отсутствие необходимости капитальных затрат на старте;</li><li>гибкость в выборе тарифов хранения (горячие, холодные, архивные данные).</li></ul><p>Такая прозрачная модель помогает экономить бюджет без потери качества сервиса.</p><h3>Надежность и отказоустойчивость «из коробки»</h3><p>S3-совместимый Object Storage обеспечивает высокую доступность данных благодаря:</p><ul><li>автоматической репликации данных в нескольких географических регионах;</li><li>встроенным механизмам самовосстановления данных;</li><li>резервированию оборудования на уровне дата-центров;</li><li>постоянному мониторингу целостности объектов.</li></ul><h3>Оптимизация работы с любыми типами данных</h3><p>Хранилище позволяет одинаково эффективно работать:</p><ul><li>с миллионами мелких файлов (фото, документы, логи);</li><li>с тяжелыми объектами (видео или архивами).</li></ul><p>Облачная платформа автоматически оптимизирует хранение и доступ, снижая латентность и ускоряя обработку даже при экстремальных нагрузках.</p><h3>Высокий уровень безопасности данных</h3><p>В облаке предоставляется комплексная защита данных с помощью:</p><ul><li>шифрования на стороне клиента и сервера;</li><li>гибкого управления правами доступа (ACL, IAM);</li><li>соответствия требованиям хранения ПДН и прочих стандартов безопасности;</li><li>автоматического обнаружения потенциальных уязвимостей.</li></ul><p>Безопасность данных обеспечивается на каждом уровне инфраструктуры и подтверждается регулярными внешними аудитами.</p><h3>Инструменты для разработчиков и автоматизации</h3><p>Хранение данных в облаке ориентировано на удобство интеграции и масштабирование за счет:</p><ul><li>полного набора API и SDK для популярных языков программирования;</li><li>готовых модулей для работы с данными в распределенных системах;</li><li>продвинутых средств мониторинга, алертинга и автоскейлинга;</li><li>поддержки DevOps практик через IaC-инструменты.</li></ul><p>Автоматизация всех процессов упрощает разработку и сопровождение проектов, значительно снижая риски человеческих ошибок.</p><h2>Опыт хранения больших данных</h2><p>Когда речь идет о масштабных системах хранения — таких как S3-совместимый сервис Object Storage на платформе VK Cloud, — производительность определяется не только скоростью сети и дисков. Ключевую роль играют архитектурные особенности приложений: как именно данные распределяются, обрабатываются и индексируются.</p><p>Особенно важно это в системах с огромным количеством объектов, где миллионы или миллиарды файлов разного размера постоянно создаются, обновляются и удаляются.</p><h3>Как измеряется производительность облачного хранилища</h3><p>Для реальной оценки производительности облачного хранилища важно замерять:</p><ul><li>Количество операций в секунду (RPS): сколько запросов на чтение/запись способна обработать система.</li><li>Среднюю и 99-ю персентиль задержек: критично для оценки качества обслуживания конечных пользователей.</li><li>Производительность на больших объемах объектов: важно не просто тестировать один файл, а моделировать реальную работу приложений с множеством параллельных операций.</li><li>Влияние мелких и крупных файлов: системы по-разному работают при миллионах маленьких объектов и гигабайтных видео.</li></ul><p>Практические сценарии измерений:</p><ul><li>многопоточная загрузка 100 миллионов объектов размером 1–10 КБ;</li><li>массовое чтение миллионов объектов через S3 API;</li><li>удаление больших объемов объектов для оценки работы сборки мусора;</li><li>сценарии с версионированием объектов, чтобы проверить нагрузку на метаданные.</li></ul><h3>Почему шардирование критически важно для облачного хранилища</h3><p>Правильная организация шардирования данных — один из ключевых факторов производительности больших хранилищ.</p><p><b>Что происходит без правильного шардирования:</b></p><ul><li>«Горячие» бакеты (S3-бакеты) с высокой нагрузкой становятся узким местом.</li><li>Распределение нагрузки по серверам становится неравномерным.</li><li>Метаданные начинают тормозить операции доступа.</li><li>Снижается общая масштабируемость системы.</li></ul><p><b>Реальная практика VK Cloud:</b></p><ul><li>Метаданные объектов распределяются по кластерам через шардирование по диапазонам ключей.</li><li>При превышении нагрузки шард автоматически расщепляется (split) для перераспределения нагрузки между нодами.</li><li>Для хранения метаданных используется Tarantool как высокоскоростная in-memory база данных, способная выдерживать сотни тысяч операций в секунду на один шард.</li></ul><p><b>Такой подход позволяет обеспечить:</b></p><ul><li>низкие задержки доступа даже при миллиардах объектов;</li><li>линейное масштабирование — добавление новых серверов дает реальный прирост пропускной способности;</li><li>быструю обработку как мелких, так и больших файлов без перегрузки одной ноды.</li></ul><p>С увеличением объема метаданных нагрузка на отдельные узлы или компоненты системы возрастает, что ограничивает масштабируемость и может снижать производительность при высоких требованиях к обработке данных.</p><h2>За что мы любим Tarantool</h2><p>Принцип работы СУБД Tarantool кардинально отличается от классических SQL-баз (PostgreSQL, MySQL) в хранилищах:</p><figure><img src="https://media.tproger.ru/user-uploads/102593/2025-07-02/15133b4d-c1bc-4d7d-a09f-e86554a1d249.png" alt="" /></figure><p>Tarantool позволяет работать с облачным хранилищем на скорости, которую классические базы не способны обеспечить без радикальных усилий по оптимизации.</p><h2>Как правильно проектировать нагрузку на S3-совместимое облако</h2><p>Если вы проектируете высоконагруженную систему, важно:</p><ul><li>Использовать естественное шардирование ключей (например, вставлять случайные префиксы в имена объектов).</li><li>Ожидать миллионы объектов в бакете и строить приложения так, чтобы они не зависели от скорости листинга всех файлов.</li><li>Минимизировать количество операций массового удаления объектов — использовать batch-удаление через S3 API.</li><li>Понимать, что работа с метаданными так же важна, как и сама передача данных.</li></ul><p>Производительность облачного хранилища определяется не только сетью и железом, но и архитектурой работы с данными. Правильное шардирование, оптимизация структуры ключей и использование быстрых конечных СУБД — основа эффективных и масштабируемых сервисов.</p><h2>Заключение</h2><p>Работа с петабайтными объемами данных требует серьезного подхода к проектированию инфраструктуры. На этом пути локальные решения сталкиваются с проблемами масштабирования, отказоустойчивости, обновления оборудования и обеспечения безопасности. Управление инфраструктурой превращается в отдельный проект со своими ресурсами.</p><p>Облачное хранилище обеспечивает:</p><ul><li>автоматическое масштабирование объема хранения без потерь в производительности;</li><li>высокую доступность данных благодаря распределению по зонам отказа;</li><li>прозрачную модель оплаты — вы платите только за реально используемые ресурсы;</li><li>эффективную работу как с миллионами мелких файлов, так и с крупными объектами;</li><li>безопасность данных с помощью встроенного шифрования и управления доступом через IAM;</li><li>богатый инструментарий API для полной интеграции в любые архитектуры приложений.</li></ul><p>Облачные хранилища предоставляют возможность компаниям сосредоточиться на развитии своих продуктов и бизнес-логики, передав инфраструктурные задачи профессиональной облачной платформе.</p>]]></content:encoded>
    </item>
    <item>
      <title>Архитектура BFF (Backend for Frontend): зачем нужна прослойка</title>
      <link>https://tproger.ru/articles/arhitektura-bff--backend-for-frontend---zachem-nuzhna-proslojka</link>
      <comments>https://tproger.ru/articles/arhitektura-bff--backend-for-frontend---zachem-nuzhna-proslojka?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Вадим Егорцев]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/arhitektura-bff--backend-for-frontend---zachem-nuzhna-proslojka</guid>
      <description><![CDATA[<p>Что такое архитектура BFF. Показываем, зачем нужна прослойка Backend for Frontend. Рассматриваем преимущества и основные нюансы ✔ Tproger</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/arhitektura-bff--backend-for-frontend---zachem-nuzhna-proslojka">Архитектура BFF (Backend for Frontend): зачем нужна прослойка</a>»</p>]]></description>
      <category><![CDATA[API]]></category>
      <category><![CDATA[JavaScript]]></category>
      <category><![CDATA[Java]]></category>
      <category><![CDATA[Оптимизация]]></category>
      <category><![CDATA[Парсинг]]></category>
      <category><![CDATA[Android]]></category>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Производительность]]></category>
      <category><![CDATA[JSON]]></category>
      <category><![CDATA[iOS]]></category>
      <category><![CDATA[Работа]]></category>
      <category><![CDATA[Node.js]]></category>
      <category><![CDATA[HR]]></category>
      <category><![CDATA[Фронтенд]]></category>
      <category><![CDATA[QA]]></category>
      <category><![CDATA[Стартапы]]></category>
      <category><![CDATA[Бэкенд]]></category>
      <category><![CDATA[App Store]]></category>
      <category><![CDATA[CSR]]></category>
      <category><![CDATA[Приложение]]></category>
      <category><![CDATA[Spotify]]></category>
      <category><![CDATA[Разработка]]></category>
      <category><![CDATA[Сервер]]></category>
      <category><![CDATA[Дизайн]]></category>
      <category><![CDATA[NFT]]></category>
      <category><![CDATA[аналитик]]></category>
      <category><![CDATA[микро]]></category>
      <category><![CDATA[Бизнес]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Mon, 30 Jun 2025 10:00:03 GMT</pubDate>
      <content:encoded><![CDATA[<p>Представьте ситуацию: ваш REST API для CRM-системы отлично работает с веб-версией. Создаёте мобильное приложение для курьеров и упираетесь в стену. Эндпоинт заказов тащит 40 лишних полей с финансовой отчётностью, а нужной геолокации складов нет.</p><p>Может плодить новые эндпоинты или заставлять мобилку делать несколько запросов вместо одного? Каждый запрос жрёт трафик и батарею!</p><p>Элегантное решение — <b>архитектура Backend for Frontend (BFF)</b>. Это прослойка между клиентскими приложениями и основным API, которая адаптирует данные под потребности конкретного клиента.</p><h2>Основная идея backend for frontend</h2><p>Один API не может эффективно обслуживать разные типы клиентов. Сайт, приложение для iOS, Android, умные часы — у каждого свои потребности в данных, ограничения по производительности и особенности интерфейса.</p><p>Монолитный API создают с расчётом на универсальность — на практике это приводит к компромиссам. Веб-версии нужны данные для сортировки, мобильному приложению — минимальный набор для экономии трафика.</p><p><b>Следуя архитектуре BFF, вы можете создать логику для каждого типа клиента и не засорять основной API.</b> Вместо одного эндпоинта <i>/api/products</i>, который пытается угодить всем, появляются слои:</p><ul><li>один — оптимизирует данные для веба,</li><li>второй — для мобильных устройств,</li><li>третий — для умных часов.</li></ul><p>Обычно данные приходят в неудобном виде: несколько связанных сущностей нужно запрашивать отдельно и склеивать на клиенте. BFF берёт эту работу на себя.</p><p>Прослойка знает, что мобильному приложению нужны цены в рублях с округлением до целых, а веб-версии — точные значения в долларах. Для списка товаров мобилке достаточно названия и цены, а десктопной версии нужны ещё категории, рейтинги и количество отзывов.</p><p><b>Каждый клиент получает данные в том виде, в котором может их сразу отобразить</b>. Вместо загрузки 50 полей, из которых используется 5, BFF отдаёт только нужные данные.</p><p>«Можете добавить поле user_avatar в ответ?»</p><p>—<i> «Это сломает мобилку».</i></p><p>«Тогда сделайте отдельный эндпоинт».</p><p>—<i> «У нас нет времени».</i></p><p>С BFF этого диалога нет. Фронтенд-команда получает свой API и крутит его, как хочет.</p><p>Мобильное приложение съедает 10к запросов в секунду? Пишите BFF на Go. Веб-версию делает стажёр, который знает только JavaScript? Ставьте Node.js. Никто не заставляет выбирать одну технологию на все случаи жизни.</p><h2>Как работает backend for frontend (BFF)</h2><p>BFF размещается между клиентскими приложениями и основными бэкенд-сервисами, выполняя роль посредника. В отличие от API Gateway, который просто перенаправляет запросы, BFF трансформирует данные.</p><h3>Архитектура взаимодействия</h3><p>Классическая схема выглядит так: мобильное приложение обращается к своему BFF, веб-приложение — к своему, умные часы — к третьему. Каждый BFF знает особенности своего клиента и общается с основными сервисами на их «языке».</p><figure><img src="https://media.tproger.ru/user-uploads/105601/2025-06-06/a765d5ae-2c66-4a1a-83fd-2f977ac31fa2.jpg" alt="" /><figcaption>Прослойка между клиентами и API</figcaption></figure><p>Когда мобильное приложение запрашивает список заказов, его BFF делает несколько вызовов к микросервисам:</p><ul><li>берёт базовую информацию о заказах,</li><li>подтягивает данные о товарах,</li><li>получает статусы доставки.</li></ul><p>Затем склеивает всё в один ответ, отбрасывая ненужные поля и добавляя вычисляемые значения.</p><p>Веб-версия для того же списка заказов получит расширенную информацию: подробные описания товаров, историю изменений статусов, данные для аналитики.</p><h3>Обработка и агрегация данных</h3><p>BFF не просто перекладывает данные из одного формата в другой. Он выполняет бизнес-логику.</p><p><i>Например, мобильный BFF может кешировать часто запрашиваемые данные, чтобы уменьшить количество сетевых запросов.</i></p><p>Если API возвращает цены в центах, мобильный BFF конвертирует их в рубли и округляет для отображения. Веб-версия получает точные значения с копейками для расчётов.</p><h3>Независимость и масштабирование</h3><p>Когда нагрузка на приложение растёт, масштабируется только его BFF. Проблемы с веб-версией не влияют на работу мобильных клиентов.</p><h2>4 ключевых преимущества BFF</h2><h3>Оптимизация передачи данных</h3><p>Самое очевидное преимущество — экономия трафика. Приложение не тащит 2 МБ JSON с полным каталогом товаров на мобильное устройство? BFF отдаёт только нужные поля.</p><p>Количество запросов тоже сокращается. Например, чтобы показать профиль пользователя, фронтенд делает 5 запросов:</p><ul><li>за основными данными,</li><li>аватаром,</li><li>списком друзей,</li><li>последними постами,</li><li>настройками приватности.</li></ul><p>BFF объединяет всё в один запрос, получая данные параллельно от разных сервисов.</p><h3>Упрощение фронтенда</h3><p>Половина фронтенд-кода уходит на трансформацию ответов API:</p><ul><li>парсинг дат,</li><li>группировку массивов,</li><li>вычисление производных значений.</li></ul><p>BFF может взять эту работу на себя.</p><h3>Безопасность через изоляцию</h3><p>BFF создаёт барьер между клиентами и сервисами. Мобильное приложение никогда напрямую не обращается к БД пользователей или платёжке — только через свой BFF.</p><p>Можно настроить разные уровни доступа:</p><ul><li>мобильный BFF видит только публичные данные,</li><li>API для партнёров работает в песочнице.</li></ul><p>Если мобильное приложение скомпрометировано, злоумышленник не получит доступ к внутренним сервисам.</p><h3>Независимое масштабирование</h3><p>Когда приложение попадает в топ App Store, нагрузка взлетает в разы. Но страдает только мобильный BFF — веб-версия продолжает работать стабильно. Можно быстро поднять дополнительные серверы только для мобильного трафика.</p><p>Появляется возможность экспериментировать с технологиями без риска. Хотите попробовать GraphQL для веб-версии? Внедряйте в один BFF. Тестируете новую базу данных? Подключайте к экспериментальной прослойке, не трогая продакшн.</p><h2>Когда стоит использовать backend for frontend</h2><p>BFF — инструмент для конкретных ситуаций.</p><h3>Когда интерфейсы кардинально отличаются</h3><p>Если ловите себя на мысли: <i>«этот эндпоинт нужен только для веба»</i> или <i>«мобилка использует 10% полей из ответа»</i>, — пора задуматься о BFF.</p><p>Красный флаг — когда фронтенд-разработчики начинают писать костыли для обработки «неудобных» данных. Если половина JavaScript-кода занимается парсингом и трансформацией ответов API, что-то пошло не так.</p><h3>Когда интерфейсы эволюционируют быстрее джунов</h3><p>Стартапы и продукты в активной фазе развития меняют интерфейсы каждую неделю.</p><p>Классическая проблема: дизайнеры придумали новый способ отображения товаров в каталоге. Теперь нужны дополнительные поля, другая группировка, новые фильтры.</p><p>Без BFF это означает изменения в основном API, которые могут сломать другие клиенты. С BFF — правки только в одном месте.</p><h3>Когда команды работают независимо</h3><p>Если у вас несколько фронтенд-команд, которые постоянно конфликтуют из-за API, BFF даст им свободу.</p><p>Команды получат свой API, который смогут развивать в нужном темпе. Это важно в больших компаниях, где бэкенд не успевает обрабатывать запросы от всех фронтендеров.</p><p>BFF распределяет ответственность: каждая команда поддерживает свой слой.</p><h3>Когда НЕ стоит использовать BFF</h3><p>Если у вас простое приложение с одним клиентом, BFF добавит лишнюю сложность. Если API уже идеально подходит всем клиентам, зачем что-то менять?</p><h2>3 типичные ошибки при внедрении BFF</h2><h3>Дублирование логики</h3><p>Начинается незаметно: мобильный и веб BFF нуждаются в одинаковой валидации пользователей. Разработчик копирует функцию из одного проекта в другой. Через полгода одинаковый код валидации живёт в четырёх местах, и каждое изменение превращается в квест.</p><p>Хуже, когда дублируется бизнес-логика. Расчёт скидок, обработка промокодов, правила доступа — это должно жить в основных сервисах, а не размазываться по BFF-слоям.</p><h3>Избыточная сложность вместо упрощения</h3><p>Пример: команда создаёт «универсальный BFF-фреймворк» с конфигурацией через YAML, поддержкой плагинов и собственным DSL. В итоге простое добавление поля в ответ требует изучения документации на 50 страниц.</p><p>Другая крайность — микро-BFF для каждой мелочи. Отдельный слой для авторизации, отдельный для форматирования дат, отдельный для валидации.</p><h3>Неправильная гранулярность</h3><p>Один BFF на все мобильные платформы может быть слишком общим: iOS и Android имеют разные особенности интерфейса. Но отдельный BFF для каждой версии приложения — явный перебор.</p><p>Частая ошибка — создание BFF по организационному принципу, а не по техническому. У нас три фронтенд-команды, значит нужно три прослойки. Но если все команды работают с похожими данными и интерфейсами, логичнее объединить усилия.</p><h2>Практические примеры использования BFF</h2><h3>Netflix</h3><p>Компания <a href="https://netflixtechblog.com/seamlessly-swapping-the-api-backend-of-the-netflix-android-app-3d4317155187">сделала</a> разные API для веб-версии, мобильных приложений, Smart TV и игровых консолей. Каждый BFF оптимизирован под особенности устройства, например, TV-версия предзагружает больше контента из-за медленной навигации пультом.</p><h3>Spotify</h3><p><a href="https://developer.spotify.com/documentation/web-api">Используют</a> BFF для разных клиентов: веб-плеер, мобильные приложения, десктопное приложение. Мобильный BFF агрессивно кеширует данные для офлайн-режима, веб-версия работает в реальном времени.</p><h3>SoundCloud</h3><p>Публично <a href="https://developers.soundcloud.com/blog/service-architecture-1">описывали</a> переход на BFF-архитектуру. У них отдельные слои для веб-версии и мобильных приложений, которые по-разному обрабатывают аудиопотоки и метаданные треков.</p><h2>Заключение</h2><p>Страдают все, когда один API пытается обслуживать веб-версию, мобилки и что-то ещё. Фронтенд получает неудобные данные, бэкенд обрастает костылями, пользователи — медленными приложениями.</p><p>Backend for Frontend создаёт слой между клиентами и основными сервисами. Каждый тип устройства получает API, заточенный под его потребности.</p><p>Внедряйте BFF, когда интерфейсы кардинально отличаются, продукт быстро развивается, а текущий API снижает производительность.</p><p>Ты уже программист, если читаешь это! Больше про кодинг — <a href="https://t.me/+a1v-IRDDUqI0MDhi">здесь</a>.</p>]]></content:encoded>
    </item>
    <item>
      <title>Подтвердите личность: Как устроена многофакторная аутентификация и зачем она нужна командам</title>
      <link>https://tproger.ru/articles/podtverdite-lichnost--kak-rabotaet-mnogofaktornaya-autentifikaciya-v-multifactor</link>
      <comments>https://tproger.ru/articles/podtverdite-lichnost--kak-rabotaet-mnogofaktornaya-autentifikaciya-v-multifactor?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Анна Ельцова]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/podtverdite-lichnost--kak-rabotaet-mnogofaktornaya-autentifikaciya-v-multifactor</guid>
      <description><![CDATA[<p>Пароли уязвимы: фишинг, брут-форс и утечки угрожают бизнесу. Многофакторная аутентификация (MFA) добавляет уровни защиты, используя несколько факторов для подтверждения личности. В статье разбираем, как MFA работает, почему она критична для удалённых команд и как её реализует платформа MULTIFACTOR.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/podtverdite-lichnost--kak-rabotaet-mnogofaktornaya-autentifikaciya-v-multifactor">Подтвердите личность: Как устроена многофакторная аутентификация и зачем она нужна командам</a>»</p>]]></description>
      <category><![CDATA[API]]></category>
      <category><![CDATA[Linux]]></category>
      <category><![CDATA[Android]]></category>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Windows]]></category>
      <category><![CDATA[iOS]]></category>
      <category><![CDATA[Боты]]></category>
      <category><![CDATA[Telegram]]></category>
      <category><![CDATA[Windows Server]]></category>
      <category><![CDATA[CSR]]></category>
      <category><![CDATA[VMware]]></category>
      <category><![CDATA[Приложение]]></category>
      <category><![CDATA[Дата-центр]]></category>
      <category><![CDATA[Сервер]]></category>
      <category><![CDATA[LDAP]]></category>
      <category><![CDATA[Бизнес]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Mon, 26 May 2025 14:00:03 GMT</pubDate>
      <content:encoded><![CDATA[<p>Мы в эпохе цифровизации, а значит — пароли больше не могут служить единственной защитой корпоративных данных. Атаки вроде фишинга, brute-force и утечек паролей из баз данных ставят под угрозу конфиденциальность, приводят к финансовым убыткам и недоверию пользователей. Многофакторная аутентификация (MFA) решает эту проблему, сочетая несколько независимых способов подтверждения личности, и становится ключевым элементом безопасности в удаленных и гибридных командах.</p><p>Рассмотрим, что представляет собой MFA и как помогает избежать утечек.</p><h2>Проблемы с паролями и принципы MFA</h2><p>Несмотря на развитые технологии, простые пароли остаются уязвимыми. Фишинг обманывает пользователей через фальшивые сайты или имейлы, brute-force использует автоматизированный перебор комбинаций, а утечки происходят при взломе внешних сервисов, где пароли повторяются.</p><p>MFA противостоит этому, требуя не менее двух факторов аутентификации. Основные типы:</p><ul><li>То, что известно пользователю: пароль или PIN-код — наиболее распространенный, но и самый слабый фактор.</li><li>То, что есть у пользователя: устройство вроде смартфона, USB-токена или аппаратного ключа.</li><li>То, кем выступает пользователь: биометрия типа отпечатка пальца, распознавание лица или сканирование сетчатки.</li></ul><p>От двухфакторной аутентификации (2FA) MFA отличается гибкостью: 2FA обычно ограничивается паролем плюс одноразовым кодом (например, из SMS), в то время как MFA позволяет добавлять третий фактор для критических систем.</p><p>С MFA часто интегрируют связанные технологии. Единый вход (SSO) упрощает доступ: пользователь авторизуется один раз и получает права на несколько сервисов. Модель нулевого доверия (Zero Trust) проверяет каждый запрос заново, учитывает IP, время и устройство, независимо от источника. Вместе они создают многоуровневую защиту, идеальную для распределенных команд.</p><h2>Общие принципы работы MFA-систем</h2><p>MFA-системы обычно развертываются как облачные сервисы (SaaS) или on-premise решения, с акцентом на совместимость с существующими инфраструктурами. Они поддерживают протоколы вроде RADIUS, LDAP, SAML и OpenID Connect/OAuth, что позволяет интегрировать их с VPN, VDI, RDP, SSH, межсетевыми экранами (например, Check Point, Cisco, UserGate), облачными платформами (VMware, Huawei Cloud) и приложениями (G Suite, Salesforce).</p><p>При выборе MFA стоит обратить внимание на:</p><ul><li>Методы доставки факторов: SMS/звонки, push-уведомления в мобильных приложениях, боты в мессенджерах (например, Telegram), OTP-токены (аппаратные или программные), U2F/FIDO-ключи и биометрия. Разнообразие методов повышает удобство и адаптивность.</li><li>Политики доступа: Возможность задавать правила на основе IP, времени суток, дней недели или групп пользователей. Это помогает ограничить доступ, например, только из офисной сети или в рабочее время.</li><li>Инфраструктура и надежность: Размещение в сертифицированных дата-центрах с защитой от DDoS, высоким уровнем доступности (SLA не ниже 99.9%) и резервированием данных.</li><li>Интеграция и развертывание: Минимальные требования к аппаратным ресурсам (например, 4 ядра CPU и 4 ГБ RAM для агентов), открытый код для прозрачности и быстрая настройка (от нескольких часов).</li><li>Аудит и мониторинг: Журналы событий с фиксацией IP, страны, результатов аутентификации и алертами на подозрительную активность.</li><li>Самообслуживание: Порталы, где пользователи самостоятельно настраивают факторы или сбрасывают пароли.</li><li>API для кастомизации: Для встраивания MFA в собственные приложения, с поддержкой регистрации пользователей и генерации токенов.</li></ul><p>Важно учитывать конфиденциальность: системы должны маскировать чувствительные данные в уведомлениях и соответствовать регуляциям, по типу GDPR или российским законам о защите ПДн.</p><h2>MULTIFACTOR как пример MFA-решения</h2><p>В качестве практического примера можно рассмотреть российскую систему <a href="https://multifactor.ru/?utm_source=tproger&amp;utm_medium=article&amp;utm_campaign=sistema-mf">MULTIFACTOR</a>, которая применяется для защиты удалённых подключений — RDP, VPN, VDI и SSH.</p><p>Решение разворачивается в гибридной модели: часть компонентов работает в облаке, часть устанавливается у заказчика. Облачная часть расположена в российских дата-центрах (Selectel, LinxCloud), сертифицированных по стандартам PCI DSS и ISO 27001. В инфраструктуру встроена защита от DDoS-атак, SLA по доступности заявлен на уровне 99,99%, состояние сервисов можно отслеживать на публичной статус-странице.</p><p>Что требуется со стороны клиента:</p><ul><li>служба каталогов (Active Directory или аналог);</li><li>RADIUS-адаптер для обработки запросов;</li><li>портал самообслуживания для пользователей.</li></ul><p>Адаптер проверяет первый фактор (логин/пароль) локально, а второй передаёт в облако. Для работы необходима базовая конфигурация (4 ядра CPU, 4 ГБ RAM на Windows Server), а портал самообслуживания требует ещё меньше ресурсов. Ключевые компоненты системы доступны в открытом коде.</p><p>Интеграция занимает от нескольких часов: установка агентов и настройка по документации. Поддерживаются стандартные протоколы RADIUS, LDAP, SAML, OpenID Connect/OAuth, что позволяет встроить решение в большинство инфраструктур — файрволы (Check Point, Cisco, UserGate), облачные платформы (VMware, Huawei Cloud), VDI (Citrix, VMware Horizon), RDP/SSH, а также в приложения вроде G Suite, Salesforce и Slack.</p><p>Совместимость охватывает Windows (включая Outlook Web Access, Remote Desktop Gateway), Linux (SSH, PAM-модули, sudo), а также российские дистрибутивы (ALT Linux, Astra Linux, РЕД ОС). MULTIFACTOR внесён в реестр отечественного ПО, имеет лицензию ФСТЭК и может использоваться в проектах импортозамещения.</p><p>Методы аутентификации:</p><ul><li>мобильное приложение (iOS/Android) с push-уведомлениями и QR-регистрацией;</li><li>Telegram-бот;</li><li>SMS и телефонные звонки;</li><li>OTP-токены (аппаратные и программные, включая Rutoken и ЯКлюч);</li><li>U2F/FIDO-ключи;</li><li>биометрия (Face ID, отпечаток пальца) — при этом приватные ключи остаются на устройстве.</li></ul><p>Политики доступа можно задавать так: по IP-диапазону, времени суток, дню недели или группам пользователей. Внедрён единый вход (SSO), портал самообслуживания для настройки 2FA и сброса паролей, а также журнал событий с алертами на подозрительные попытки входа.</p><p>Для разработчиков предусмотрен REST API — регистрация пользователей, вызовы на аутентификацию, интеграция MFA в сторонние продукты. Это позволяет адаптировать систему под SaaS-сценарии и корпоративные приложения.</p><p>Кейс MULTIFACTOR демонстрирует, как можно построить MFA с поддержкой разных факторов, протоколов и сценариев использования в российском контексте. Перед внедрением важно протестировать совместимость с инфраструктурой и оценить удобство для сотрудников — от этого зависит реальная эффективность защиты.</p><h2>Рекомендации по выбору и внедрению MFA</h2><p>При внедрении MFA оценивайте совместимость с вашей инфраструктурой, удобство для пользователей и стоимость владения. Начните с анализа рисков: определите критичные ресурсы (серверы, облачные приложения) и протестируйте решение в пилотном режиме. Обратите внимание на поддержку биометрии и токенов для сценариев с высокой безопасностью, а также на инструменты аудита для оперативного реагирования на инциденты.</p><p>MFA — не панацея, но в сочетании с Zero Trust и SSO значительно повышает устойчивость к атакам. Выбирайте системы с гибкими политиками и открытой документацией, чтобы минимизировать зависимость от вендора и облегчить масштабирование.</p>]]></content:encoded>
    </item>
    <item>
      <title>Квиз: сможешь ли ты защитить приложение на PHP?</title>
      <link>https://tproger.ru/quiz/kviz--smozhew-li-ty-zashhitit-prilozhenie-na-php-</link>
      <comments>https://tproger.ru/quiz/kviz--smozhew-li-ty-zashhitit-prilozhenie-na-php-?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Анна Ельцова]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/quiz/kviz--smozhew-li-ty-zashhitit-prilozhenie-na-php-</guid>
      <description><![CDATA[<p>PHP — это мощный инструмент, но с ним легко наделать ошибок в безопасности. Ты уверен, что знаешь, как защитить свой код? Проверяй свои навыки в нашем квизе.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/quiz/kviz--smozhew-li-ty-zashhitit-prilozhenie-na-php-">Квиз: сможешь ли ты защитить приложение на PHP?</a>»</p>]]></description>
      <category><![CDATA[PHP]]></category>
      <category><![CDATA[SQL]]></category>
      <category><![CDATA[CSR]]></category>
      <category><![CDATA[Приложение]]></category>
      <category><![CDATA[Викторины]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Sat, 29 Mar 2025 09:00:03 GMT</pubDate>
      <content:encoded><![CDATA[<p>Каждый разработчик хоть раз сталкивался с XSS, SQL-инъекциями или CSRF. А еще в веб-разработке не всегда достаточно прикольных фич и разных фишек. Веб-приложение в первую очередь должно быть безопасным. Проходи квиз и проверяй, сможешь ли ты предотвратить различные ошибки и уязвимости.</p><p>А если ты большой фанат PHP, то читай наши статьи по теме:</p><ul><li><a href="https://tproger.ru/articles/http-zaprosy--get--post-i-drugie">HTTP-запросы: GET, POST и другие</a><br /></li><li><a href="https://tproger.ru/articles/obzor-populyarnyh-frejmvorkov-dlya-veb-razrabotki">Фреймворки, меняющие игру: выбираем идеальный инструмент для ваших веб-проектов</a></li><li><a href="https://tproger.ru/articles/pochemu-20-let-vse-govoryat--chto-php-umiraet--a-on-zhiv-250384">Почему 20 лет все говорят, что PHP умирает, а он жив</a></li></ul>]]></content:encoded>
    </item>
    <item>
      <title>Как и куда расти специалисту по информационной безопасности?</title>
      <link>https://tproger.ru/articles/kak-i-kuda-rasti-specialistu-po-informacionnoj-bezopasnosti-</link>
      <comments>https://tproger.ru/articles/kak-i-kuda-rasti-specialistu-po-informacionnoj-bezopasnosti-?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Ксения Андреева]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/kak-i-kuda-rasti-specialistu-po-informacionnoj-bezopasnosti-</guid>
      <description><![CDATA[<p>В этой статье разберём, что происходит в сфере кибербезопасности сейчас, какие навыки нужно качать специалисту по ИБ и куда расти.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/kak-i-kuda-rasti-specialistu-po-informacionnoj-bezopasnosti-">Как и куда расти специалисту по информационной безопасности?</a>»</p>]]></description>
      <category><![CDATA[Инструменты]]></category>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Практика]]></category>
      <category><![CDATA[Конференции]]></category>
      <category><![CDATA[Работа]]></category>
      <category><![CDATA[GitHub]]></category>
      <category><![CDATA[Боты]]></category>
      <category><![CDATA[Навыки]]></category>
      <category><![CDATA[HR]]></category>
      <category><![CDATA[Soft Skills]]></category>
      <category><![CDATA[Информационная безопасность]]></category>
      <category><![CDATA[CSR]]></category>
      <category><![CDATA[Соревнования]]></category>
      <category><![CDATA[Бизнес]]></category>
      <category><![CDATA[Кибербезопасность]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Mon, 10 Feb 2025 10:00:03 GMT</pubDate>
      <content:encoded><![CDATA[<p>С каждым годом кибератаки становятся всё сложнее и изощрённее, а их количество неуклонно растёт. Информационная безопасность уже давно вышла за рамки простой защиты данных — сегодня это стратегический приоритет для всех компаний, от стартапов до государственных организаций.</p><p>Любое действие в цифровом мире, будь то отправка электронного письма, покупка на маркетплейсе или работа с конфиденциальными корпоративными данными, требует надёжных механизмов защиты. Системы информационной безопасности не только предотвращают утечки, но и формируют доверие клиентов и партнёров.</p><p>Для специалистов по кибербезопасности работа — постоянный процесс обучения. Они должны следить за новыми угрозами, осваивать передовые технологии и разрабатывать комплексные решения. Сегодня компании нуждаются не просто в ИБ-экспертах, а в стратегах, способных выстраивать многоуровневую защиту бизнеса.</p><p>В этой статье разберём, что происходит в сфере кибербезопасности сейчас, какие навыки нужно качать специалисту по ИБ и куда расти.</p><h2>Что происходит сейчас</h2><p>В последнее время уровень сложности фишинговых-, ransomware- и DDoS-атак буквально взлетел. Кроме того, всё больше атак проводится с помощью ИИ. Потому важно внедрять машинное обучение для предсказания атак, усиливать меры по защите облачных данных.</p><p>По данным э<a href="https://7senses.io/blog/cybersecurity-analytics-2024#content:~:text=%D0%92%202024%20%D0%B3%D0%BE%D0%B4%D1%83%20%D1%87%D0%B8%D1%81%D0%BB%D0%BE%20%D0%BA%D0%B8%D0%B1%D0%B5%D1%80%D0%B0%D1%82%D0%B0%D0%BA%20%D0%B2%C2%A0%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D0%B8%20%D0%B4%D0%BE%D1%81%D1%82%D0%B8%D0%B3%D0%BB%D0%BE%20%D1%80%D0%B5%D0%BA%D0%BE%D1%80%D0%B4%D0%BD%D1%8B%D1%85%20%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B9.%20%D0%9A%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20%D1%84%D0%B8%D1%88%D0%B8%D0%BD%D0%B3%D0%BE%D0%B2%D1%8B%D1%85%20%D0%B0%D1%82%D0%B0%D0%BA%20%D0%B2%D1%8B%D1%80%D0%BE%D1%81%D0%BB%D0%BE%20%D0%BD%D0%B0%C2%A0425%25%2C%20%D0%B0%C2%A0DDoS%2D%D0%B0%D1%82%D0%B0%D0%BA%20%E2%80%94%20%D0%BD%D0%B0%C2%A070%25.">кспертов Seven Senses</a>, в 2024 году количество фишинговых атак в России выросло на 425%, а DDoS — на 70%. При этом ущерб от кибератак только за первые 7 месяцев составил 99 млрд ₽. Программы-вымогатели — всё ещё одна из главных угроз: их количество выросло почти в 2 раза по сравнению с 2023.</p><p>В 2025 году киберпреступлений станет больше, причём прогнозируется, что вырастет количество атак с использованием ИИ. Ожидается и развитие «цифровых двойников» — с помощью них хакеры будут как бы «симулировать» поведение пользователей или систем для обхода мер безопасности.</p><p>А потому сейчас так важно качать навыки в:</p><ol><li>ИИ и ML;</li><li>Этичном хакинге, а именно участии в программах по типу bug bounty;</li><li>Аналитике Big Data;</li><li>Понимании бизнес-процессов компании и как с помощью усиления кибербезопасности можно улучшить сам проект.</li></ol><h2>Карьерные уровни в ИБ и возможные пути развития</h2><h3>Начальный уровень: с чего начать и как получить первый опыт</h3><p>Начать карьеру в информационной безопасности можно с позиций Junior-специалиста, SOC-аналитика или технического специалиста. Эти роли не требуют глубоких экспертных знаний, но предполагают понимание основ кибербезопасности, работы с операционными системами, сетями и инструментами анализа угроз.</p><p>Первый шаг — освоить ключевые навыки. Будущему специалисту важно:</p><ul><li>разбираться в операционных системах Windows и Linux, уметь анализировать логи, управлять правами доступа и пользователями;</li><li>понимать сетевые технологии, включая принципы работы TCP/IP, DNS, HTTP/HTTPS, а также уметь настраивать VPN и брандмауэры;</li><li>обладать базовыми знаниями языков программирования (Python, Bash, PowerShell), что поможет автоматизировать рутинные задачи и анализировать данные.</li></ul><p>Однако теории недостаточно — нужна практика. Один из лучших способов развить практические навыки — использовать специализированные платформы по типу TryHackMe, Hack The Box. Эти ресурсы позволяют моделировать реальные кибератаки, учиться анализировать уязвимости и настраивать системы защиты.</p><p>Следующий важный этап — получить реальный опыт. У новичков есть несколько вариантов:</p><ul><li>Bug Bounty-программы. Некоторые платформы дают возможность тестировать продукты крупных компаний, находить уязвимости и получать за это вознаграждение. Это отличный способ получить опыт работы с реальными системами, даже без официального трудоустройства.</li><li>CTF-соревнования (Capture The Flag). Это состязания по кибербезопасности, где участники решают задачи, приближенные к реальным сценариям атак и защиты. Многие работодатели (особенно международные) ценят такой опыт, поскольку он демонстрирует практические навыки работы с уязвимостями.</li><li>Стажировки в крупных компаниях. Организации, по типу Positive Technologies, Касперский, Яндекс и другие, регулярно набирают стажеров и junior-аналитиков, предлагая им возможность работать с SIEM-системами, анализировать логи и участвовать в расследовании инцидентов.</li></ul><p>Дополнительно важно формировать личное портфолио. Ведение блога или Telegram-канала о кибербезопасности, участие в open-source проектах и публикация исследований на GitHub помогут продемонстрировать навыки работодателям.</p><h3>Средний уровень: развитие управленческих и технических навыков</h3><p>Когда специалист по информационной безопасности выходит на уровень Middle или Senior, перед ним открываются новые возможности и вызовы. Теперь важно не только анализировать угрозы и управлять системами защиты, но и уметь принимать стратегические решения, работать с командами и выстраивать долгосрочные процессы.</p><h4>Как углублять технические знания?</h4><p>На этом этапе уже недостаточно базового понимания киберугроз и инструментов их анализа — требуется более глубокая экспертиза в конкретных направлениях:</p><ul><li>Безопасность сетей и инфраструктуры. Работа с SIEM-системами (Splunk, ArcSight, QRadar) на продвинутом уровне, знание принципов защиты облачных сред (AWS, Azure, GCP), настройка IDS/IPS, WAF и систем реагирования на инциденты.</li><li>Форензика и реагирование на инциденты. Анализ атак с использованием Volatility, Autopsy, ELK Stack. Умение разбирать дампы памяти, исследовать заражённые файлы и определять источник угроз.</li><li>Red Team / Blue Team. Понимание работы атакующих (Red Team) и защитников (Blue Team), тестирование на проникновение (Metasploit, Cobalt Strike) и разработка мер противодействия.</li><li>Разработка и автоматизация. Для Senior-уровня важно уметь писать собственные скрипты для автоматизации процессов, а также разрабатывать кастомные security-решения. Здесь пригодятся Python, Bash, PowerShell, Go.</li></ul><h4>Как развивать управленческие навыки?</h4><p>На уровне Middle и Senior специалисты всё чаще сталкиваются с задачами, требующими не только технических, но и управленческих компетенций. Важно уметь:</p><ul><li>Выстраивать процессы внутри команды. Senior-специалист должен быть наставником для младших коллег, помогать им адаптироваться и осваивать новые технологии. Это значит, что помимо технических знаний важны soft skills: умение объяснять сложные вещи простым языком, мотивировать и распределять задачи.</li><li>Разрабатывать стратегию безопасности. Middle- и Senior-уровень предполагает участие в создании политики кибербезопасности компании, включая анализ рисков, выбор инструментов защиты и планирование ответных мер на инциденты.</li><li>Эффективно взаимодействовать с бизнесом. Важно не просто «защищать данные», но и уметь объяснять бизнесу, зачем это нужно. Senior-специалист должен уметь находить баланс между безопасностью и удобством, аргументированно доказывать необходимость тех или иных мер защиты.</li></ul><p>Middle и Senior-уровень — момент, когда специалист начинает выходить за рамки своей технической зоны и становится лидером в области безопасности. Чем больше управленческих и стратегических компетенций он освоит, тем быстрее сможет перейти на следующий этап — CISO.</p><h4>Продвинутый уровень: путь в топ-менеджмент и стратегическое управление безопасностью</h4><p>На уровне CISO, Security Architect или Red Team Lead специалист по кибербезопасности перестаёт работать только с техническими задачами — теперь он отвечает за формирование стратегии безопасности на уровне всей компании. Это означает, что ему нужно не только углублять техническую экспертизу, но и развивать управленческие и бизнес-навыки, понимать, как киберугрозы влияют на стратегию организации и её финансовую устойчивость.</p><p>На этом этапе ключевыми становятся три группы навыков: стратегическое управление, бизнес-компетенции и глубокая техническая экспертиза.</p><h4>Стратегическое управление безопасностью</h4><p>CISO и Security Architect должны не просто реагировать на инциденты, а выстраивать долгосрочную стратегию защиты компании. Это включает:</p><ul><li>Разработку политики безопасности. Формирование стандартов защиты данных, мониторинга угроз и реагирования на инциденты.</li><li>Управление рисками. Оценка потенциальных угроз для бизнеса, разработка мер по их минимизации, внедрение методов риск-менеджмента.</li><li>Взаимодействие с топ-менеджментом. Необходимо уметь объяснять руководству компании, почему безопасность — это не просто расходы, а стратегическое вложение, влияющее на устойчивость бизнеса.</li></ul><h4>Бизнес-компетенции и финансовая грамотность</h4><p>Безопасность тесно связана с бизнес-процессами, поэтому на уровне CISO важно:</p><ul><li>Понимать экономику информационной безопасности. Определять, какие решения выгодны компании, как оптимизировать бюджет на защиту данных, как оценивать стоимость инцидентов и возможные финансовые риски.</li><li>Работать с юридическими аспектами. Знать нормативные требования и законы в области защиты информации (GDPR, Закон о защите персональных данных, стандарты ISO 27001).</li><li>Уметь управлять командами. Развитие специалистов, построение внутренних процессов, создание культуры кибербезопасности в компании.</li></ul><h4>Глубокая техническая экспертиза</h4><p>Хотя топ-менеджер в сфере безопасности уже не занимается ручной настройкой систем, он должен разбираться в ключевых технологиях, чтобы принимать стратегические решения:</p><ul><li>Архитектура безопасности. Проектирование защищённой инфраструктуры, включая Zero Trust, модели сетевой сегментации и защиту облачных сред.</li><li>Современные угрозы и способы их нейтрализации. Работа с Threat Intelligence, анализ новейших атак и тактик APT-групп, применение MITRE ATT&amp;CK.</li><li>Технологии защиты и мониторинга. Глубокое понимание SIEM, SOAR, EDR/XDR, а также технологий машинного обучения в кибербезопасности.</li></ul><h4>Как перейти на уровень CISO, Security Architect или Red Team Lead?</h4><p>На этом этапе важно не только расширять свои знания, но и заявлять о себе в профессиональном сообществе:</p><ul><li>Работать с экспертными сообществами. Участвовать в конференциях, публиковать исследования, писать аналитические статьи.</li><li>Получать управленческие сертификации. Помимо технических (CISSP, CISM, OSCP), на этом уровне могут быть полезны MBA-программы и курсы по лидерству.</li><li>Выстраивать личный бренд. CISO и Security Architects часто консультируют компании, выступают на конференциях, ведут блоги — всё это помогает укреплять позиции в индустрии.</li></ul><p>Переход в топ-менеджмент в кибербезопасности требует не только глубоких технических знаний, но и способности мыслить стратегически, управлять командами и понимать бизнес-процессы. Чем раньше специалист начнёт развивать эти компетенции, тем быстрее он сможет занять ключевые позиции в компании.</p><h2>Технические навыки, которые нужно освоить ИБ-шнику</h2><p>Вне зависимости от грейда или должности, поддержание технических навыков на высоком уровне — не только способность эффективно защищать системы, но и хорошая возможность вырасти в профессии. Рассмотрим подробнее:</p><h3>Python</h3><p><b></b>Широко используется в кибербезопасности благодаря большому количеству библиотек и инструментов для анализа данных, автоматизации задач и разработки инструментов для тестов на проникновение. Python также можно использовать для написания скриптов для автоматизации рутинных процессов специалиста по ИБ: мониторинг сетевой активности, анализ логов и т.д..</p><h3>C++</h3><p><b></b>Более сложный язык, но его плюс в том, что C++ даёт доступ к низкоуровневым операциям с памятью и ресурсами системы.</p><h3>Технологии шифрования</h3><p>«База» в защите конфиденциальной информации. Важно понимать и углублять знания в основных алгоритмах шифрования (AES, RSA) и применять эти методы на практике. Необходимо понимать различия между симметричным и асимметричным шифрованием, выявлять их сильные и слабые стороны.</p><h3>Основные методы обеспечения безопасности</h3><p>Ключевые инструменты защиты включают брандмауэры (firewalls), системы обнаружения и предотвращения вторжений (IDS/IPS) и VPN. Эти технологии помогают контролировать трафик, предотвращать несанкционированный доступ и обеспечивать безопасное соединение.</p><h3>Управление событиями безопасности (SIEM)</h3><p>Системы управления информацией и событиями безопасности (SIEM) позволяют собирать, анализировать и управлять данными о событиях в режиме реального времени. Они помогают своевременно выявлять потенциальные угрозы и оперативно реагировать на них. Важно не только освоить работу с SIEM, но и правильно настраивать её под потребности проекта, адаптируя по мере необходимости.</p><h3>Тестирование на проникновение</h3><p>Это симуляция атак хакеров. Здесь важно обладать глубокими тех.знаниями сетевых протоколов, понимать, как эффективно работать с уязвимостями ПО и методами социальной инженерии.</p><h2>Как ИБ-шнику обучаться?</h2><p>Чтобы стать профи в информационной безопасности, важно постоянно обучаться. Одной «корочки» здесь не хватит, это должен быть принцип life-long learning. И в идеале нужно задуматься о получении международных сертификаций, например:</p><ul><li><b>CISSP</b> — сертификат от ISC² для специалистов с опытом работы в области кибербезопасности от 5 лет;</li><li><b>CISM</b> — ещё один сертификат для управленцев информационной безопасности;</li><li><b>CEH</b> — сертификат, в процессе получения которого специалист осваивает методы тестирования и анализа.</li></ul><p>Есть и другие программы обучения специалистов по информационной безопасности:</p><ol><li><a href="https://mitcybersecurity.mit.edu/">MIT Cybersecurity</a><b> </b>— онлайн-программа от Массачусетского института технологий. Фокус здесь приходится на разработку стратегий защиты информации.</li><li><a href="https://online.stanford.edu/programs/cybersecurity-graduate-certificate">Cyber Security Certificate</a> — онлайн-программа от Стэнфордского онлайн-университета. Акцент на современные угрозы и технологии защиты.</li><li><a href="https://www.hse.ru/ma/cs/">Кибербезопасность</a> — магистерская онлайн-программа обучения от ВШЭ. Включает курсы по криптографии и управлению рисками.</li><li><a href="https://yocket.com/universities/carnegie-mellon-university/information-security-policy-and-management-77180">MS in Information Security Policy &amp; Management </a>— программа от университета Карнеги-Меллона. Одна из ведущих программ, ориентированная на управление политикой информационной безопасности.</li><li><a href="https://www.sbs.ox.ac.uk/programmes/executive-education/online-programmes/oxford-cyber-security-business-leaders-programme">Cyber Security for Business Leaders</a> — программа от Оксфордского университета. Короткий интенсив для бизнес-руководителей в сфере ИБ.</li></ol><p><b>Конференции</b> — ещё одна классная возможность расширить знания о тенденциях в кибербезопасности и новых вызовах с возможностью нетворкинга. В России проводятся конференции по типу <a href="https://phdays.com/ru/">Positive Hack Days</a>. За рубежом — Black Hat USA и <a href="https://defcon.org/">DEF CON</a>.</p><p>Ещё повышать квалификацию можно с помощью <b>курсов по кибербезопасности</b> на платформах Coursera, Udemy, Otus, Яндекс.Практикум, Нетология и edX.</p><p>Вы думали, это всё? Как бы не так! <b>Важно участвовать и в профессиональных сообществах</b>, потому что это ещё один способ постоянно развиваться и быть готовым к новым угрозам:</p><ul><li><b>ISACA </b>— сообщество профессионалов по аудиту системы безопасности;</li><li><b>(ISC)²</b> — ассоциация экспертов по информационной безопасности;</li><li><b>OWASP</b> — открытый проект по безопасности;</li><li><b>FIRST</b> — форум команд реагирования на инциденты;</li><li><b>SANS Institute</b> — организация по обучению кибербезопасности.</li></ul><p>Информационная безопасность — сфера, в которой изменения будут всегда. Всегда будут появляться новые угрозы, а потому важно постоянно развиваться в профессиональном смысле и уметь быстро и эффективно реагировать на все возможные угрозы. Более того, их нужно вовремя замечать ещё до фактической атаки. А для этого важны навыки аналитики, понимания всех технических тонкостей.</p><p>Ну а если вы действующий (или планирующий) специалист по информационной безопасности, вам точно понадобится инструменты, о которых мало, кто расскажет. Заходите в тг <a href="https://t.me/+Qi8OJ_0gQZUyMWEy">канал</a> и забирайте</p>]]></content:encoded>
    </item>
    <item>
      <title>Отмучились: аналог GitHub от Google Cloud закроется для новых пользователей</title>
      <link>https://tproger.ru/news/otmuchilis--analog-github-ot-google-cloud-zakroetsya-dlya-novyh-polzovatelej</link>
      <comments>https://tproger.ru/news/otmuchilis--analog-github-ot-google-cloud-zakroetsya-dlya-novyh-polzovatelej?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Булат Яббаров]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/otmuchilis--analog-github-ot-google-cloud-zakroetsya-dlya-novyh-polzovatelej</guid>
      <description><![CDATA[<p>Уже с середины июня Google закроет доступ к своему аналогу GitHub для тех пользователей, которые не успели воспользоваться им раньше</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/otmuchilis--analog-github-ot-google-cloud-zakroetsya-dlya-novyh-polzovatelej">Отмучились: аналог GitHub от Google Cloud закроется для новых пользователей</a>»</p>]]></description>
      <category><![CDATA[Git]]></category>
      <category><![CDATA[Google]]></category>
      <category><![CDATA[DevOps]]></category>
      <category><![CDATA[GitHub]]></category>
      <category><![CDATA[GitLab]]></category>
      <category><![CDATA[CSR]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Thu, 30 May 2024 03:19:57 GMT</pubDate>
      <content:encoded><![CDATA[<p>Google Cloud объявил, что Cloud Source Repositories (CSR) перестанет быть доступным для новых пользователей с 17 июня 2024 года.</p><p>Это решение означает, что с этой даты организации, которые ранее не использовали CSR, не смогут включить API или начать использовать данный сервис.</p><p>Также новые проекты, не связанные с организацией, не смогут активировать API Cloud Source Repositories после указанной даты.</p><h2>Что это значит для текущих пользователей?</h2><p>Тех, кто подключится к API до 17 июня 2024 года, изменения не затронут — они смогут продолжать использовать Cloud Source Repositories. Однако для новых пользователей и проектов сервис станет недоступным.</p><h2>Причины закрытия</h2><p>Хотя Google не предоставил подробных объяснений причин такого решения, можно предположить, что это связано с оптимизацией ресурсов и фокусировкой на более востребованных сервисах в экосистеме Google Cloud.</p><p>В последние годы конкуренция на рынке сервисов для управления исходным кодом усилилась, и, возможно, Google решил сконцентрироваться на других направлениях, оставив этот сегмент более успешным игрокам, таким как GitHub и GitLab.</p><h2>Критика Cloud Source Repositories</h2><p>Cloud Source Repositories с момента своего запуска сталкивается с критикой. Пользователи отмечали, что сервис отставал от конкурентов по функциональности и удобству использования.</p><p>Основные претензии включали:</p><ul><li><b>    Ограниченные интеграции:</b> CSR имел меньше интеграций с другими инструментами и DevOps-сервисами по сравнению с такими платформами, как GitHub и GitLab.</li><li><b>Недостаточная производительность:</b> Некоторые пользователи жаловались на медленную работу и задержки при выполнении операций с репозиториями.<br /></li><li><b>Отсутствие активного сообщества:</b> В отличие от GitHub и GitLab, CSR не смог привлечь значительное сообщество разработчиков, что сказалось на поддержке и развитии сервиса.<br /></li></ul><p>Эти факторы могли способствовать решению Google закрыть доступ к проекту для новых пользователей и сосредоточиться на более перспективных направлениях.</p><h2>Альтернативы для пользователей</h2><p>Для тех, кто ищет альтернативы Cloud Source Repositories, есть несколько популярных вариантов, таких как GitHub, GitLab и Bitbucket.</p><p>Эти платформы предлагают обширные функциональные возможности для управления исходным кодом, совместной работы и интеграции с другими инструментами DevOps.</p>]]></content:encoded>
    </item>
  </channel>
</rss>