Василий Мухин
Заместитель директора департамента разработки программного обеспечения «КРОК»

ИТ-решения, кейсы и новости в telegram-канале ИТ-решения, кейсы и новости в telegram-канале

Ситуация с присутствием иностранных компаний на российском рынке меняется каждый день. В сфере разработки ПО в особую зону риска попадают облачные сервисы для коллективной работы программистов, такие как GitHub, Bitbucket и Azure DevOps.

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

О том, как защитить свою ИТ-инфраструктуру и минимизировать риски, рассказывает Василий Мухин, заместитель директора департамента разработки программного обеспечения «КРОК».

Поговорим о GitHub

GitHub — один из самых популярных веб-сервисов для хостинга исходного кода и совместной разработки ИТ-проектов. Платформа позволяет неограниченному количеству пользователей работать над одним проектом и в режиме реального времени отслеживать его обновления и изменения. Это первая ступень конвейера разработки, на которой завязан весь дальнейший процесс.

На сегодняшний день более 4 млн. компаний по всему миру хранят коды для своих решений в репозиториях GitHub, а количество пользователей сервиса превышает 73 млн. человек.

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

В результате 2 марта официальные представители сервиса заявили, что «GitHub — это дом для всех разработчиков, где бы они ни находились», и отказались ограничивать доступ к платформе из России.

Тем не менее, не стоит забывать, что GitHub подчиняется американскому законодательству и что в 2018 году он был куплен компанией Microsoft за $7,5 млрд., которая уже ввела санкции в отношении России. В июле 2019 года пользователи из Крыма, Ирана, Кубы, Северной Кореи и Сирии столкнулись с блокировкой со стороны GitHub.

Сервис заблокировал именно приватные репозитории, и поэтому ни VPN, ни другие средства обхода блокировок не помогли разработчикам вернуть свои проекты. Представители GitHub объяснили это тем, что для регионов, находящихся под санкциями США, сервис предоставляет ограниченный набор услуг.

Кроме того, GitHub может подвергнуться блокировке и со стороны Роскомнадзора, в случае если на платформе будут обнаружены неприемлемые материалы. Так, в 2014 году веб-сервис попал в реестр запрещенных сайтов из-за поста одного из пользователей о суициде. Тогда GitHub оперативно удалил материал, и доступ к нему был вновь открыт.

Какие риски для бизнеса?

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

Если говорить про другие подобные сервисы, то среди наиболее распространенных — GitLab, Bitbucket и Azure DevOps. Есть китайские решения — Gitee и Gogs, есть европейские — RhodeCode и Launchpad. Все это действующие лицензированные площадки для разработчиков. Но все же прежде чем уверенно мигрировать на них, стоит хорошо взвесить все риски.

Утрата работоспособности конвейера разработки

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

Потеря всей накопленной базы знаний

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

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

Финансовые риски

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

Риск взлома репозиториториев

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

Как себя обезопасить?

Выше я перечислял зарубежные облачные сервисы, среди которых упомянул GitLab. Так вот у GitLab, помимо cloud-решения, есть и решение on-premise.

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

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

У платформы GitLab есть on-premise community версия, и она бесплатная. Для ее корректной работы не нужно приобретать лицензию, и это существенно оптимизирует затраты на создание, поддержку и дальнейшую модернизацию систем.

Кроме того, это также open-source решение. А это значит, если Git перестанет поставлять официальные обновления продукта, то ИТ-специалистам ничего не мешает самим внести корректировки в его исходный код и настроить GitLab так, как им удобно.

Мы уже давно сделали выбор в пользу этого решения и развернули GitLab в своей инфраструктуре. Как результат, мы работаем независимо как от зарубежных репозиториев, так и от облаков, благодаря собственной разработке из реестра российского ПО — «Облака КРОК».

Сейчас мы активно помогаем нашим клиентам обеспечить защиту исходных кодов и автономность конвейера разработки с помощью решения GitLab on-premise.

Что можно сделать, чтобы обезопасить свою ИТ-инфраструктуру?

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


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


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


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

По предварительным прогнозам, эксперимент по разработке национального репозитория продлится до 2024 года. Но все же самое безопасное решение — держать свой код при себе.

C оригиналом статьи можно ознакомиться на RB.ru