Пилотный проект Web Security Fellowship (далее — WSF), запущенный в начале 2019 года, объединил профессионалов в сфере IT вокруг нескольких общественно-полезных организаций в России. В результате открытого конкурса были отобраны восемь будущих участников стажировки и соответствующее число хост-организаций: независимых медиа, общественных и правозащитных проектов. Внимательно проанализировав запросы, интересы и потребности всех участников, команда eQualitie запустила 6-месячную стажировку для победителей конкурса. WSF началась с 3-месячного образовательного интенсива и серии вебинаров, в ходе которых мы улучшали навыки и расширяли знания стипендиатов в области цифровой безопасности. Последующие три месяца участники, интенсивно работая вместе с принимающей организацией, реализовывали совместный проект или конкретные задачи, актуальные на сегодняшний день. В этом материале мы хотим коротко рассказать о результатах программы.
Программа вебинаров
В течение 3 месяцев эксперты из Рунет индустрии читали стипендиатам лекции и предлагали интересные домашние задания. В число лекций входили:
- Основные этапы аудита безопасности: матрица угроз, риски, уязвимости
- Политика безопасности” и особенности ее внедрения в организации
- Усиление защиты web-серверов
- Cyber law, цифровое насилие и сопротивление
- Современные технологии цензуры и ее обхода
- Теоретические и практические аспекты пентестирования сайтов
- Безопасность веб-сайтов: выбор хостинга, DNS, анализ производительности и нагрузочное тестирование, способы защиты от DDoS атак и их обхода
- Методология OWASP TOP 10
- Defensive programming
- Принципы безопасного дизайна и архитектуры системы
Встречайте участников программы
Александр, Москва
“С 2009 г. работаю системным администратором московского офиса общества «Мемориал». Администрирую Windows Active Directory и персоналки на Linux, умею проектировать сети и настраивать сетевое оборудование на RouterOS и PfSense, верстать html/css. Могу стримить видео, обрабатывать и монтировать аудио, а еще обеспечить техническую поддержку массовых мероприятий (звуко- и видеорежиссуру). На базовом уровне умею администрировать веб-сервера на *nix. Не умею программировать (разве что простые скрипты Python/bash), администрировать веб-сервера на Windows.
В свободное от работы время работаю менеджером разного рода каникулярных школ (notably ЗПШ и ШМТБ), учусь играть на гитаре, играю в видеоигры, смотрю сериалы и, last but not least, ращу дочь”.
Организация: Международный Мемориал
Проект: Аудит безопасности base.memo.ru, харденинг сервера, на котором он размещен, формирование рекомендаций по повышению защищенности разработчику проекта
Задачи: Провести аудит безопасности base.memo.ru: разработать модель угроз, проинтервьюировать веб-разработчика проекта, провести black box и white box-пентесты, проанализировать настройки хостинговой площадки, возможно, провести аудит кода сайта. По результатам аудита перенастроить ПО сервера, на котором размещен сайт, в целях повышения защищенности, сформировать рекомендации разработчику по доработке веб-приложения сайта.
Техническое описание проекта: Пентестирование на основные уязвимости с помощью burp/owasp zap, sqlmap, настройка сервисов мониторинга (zabbix или аналога), харденинг ОС и интерфейсов доступа к системе (ssh, https).
Артемий, Москва
“Более 10 лет разрабатываю приложения и сервисы к ним, нравится Kotlin, Java, Python, люблю рисовать дизайн в скетче и обожаю матéриал-стиль. В свободное от работы время перебираю двигатели, субару не едет, иногда переключаю коробку в спорт”.
PS: https://www.youtube.com/watch?v=zIL7Jh-kVXk
Организация: пожелала сохранить анонимность
Проект: Усложнение блокировки контуров приложений
Задачи: Написать прототип библиотеки который позволит вычислить блокирующего и заблокировать его.
Техническое описание проекта: Роскомнадзор в блокировке Телеграма использовал блокировку IP-адресов приложения через систему Android, прослушиванием адресов к которому пытается подключиться приложение, свое реальное присутствие скрывал за счет VPN сетей провайдеров. Задача этого проекта, вычислить того кто блокирует через описанный способ выше, так как в ближайшем будущем ничего не меняется судя по новостям о намерении блокировки приложений через DPI, задача которого длится уже больше пяти лет. Реализация этого прототипа подразумевает что раздача и получение ip-адресов будет проводится на одном и тоже устройстве, поиск и блокировка тоже, чтобы упростить логику, так как это прототип. Боевая версия этого проекта планирует вести раздачу адресов с бекэнда, по разным контурам и с другими технологиями обхода блокировок.
Github: github.com/art2limit/Offenbarung
Никита, Москва
“Работаю в области ИБ-экспертизы корпоративного ПО — занимаюсь поддержкой SIEM-системы. За время работы прочитал и перебрал несметное количество логов и научился черпать из них максимум информации, имел дело с самыми разнообразными IT-системами (FW, DLP, антивирусы, гипервизоры, DNS, DHCP, прокси-серверы и прочие) и обычно представляю, что в них происходит и куда копать, чтобы выкопать то что нужно. Обладаю хорошими навыками поиска и устранения проблем и люблю оптимизировать волокиту при помощи Python. Мне интересны многие направления безопасности, но ещё больше я люблю разнообразное хорошее музло и кино как от Carbon Based Lifeforms до Angerfist через Pearl Jam, так и от Клерков до Sharknado через The Good, the Bad and the Ugly”.
Организация: Центр защиты прав СМИ
Проект: Объединенная web-платформа
Цель проекта: Избавить организацию от зоопарка тяжело поддерживаемых и в т.ч. устаревающих инструментов, подготовив универсальную и легко поддерживаемую платформу, позволяющую разместить на ней все текущие информационные ресурсы и расширяемую для возможных будущих ресурсов, а также повысить надежность доступа к информации. Обезопасить доступ организации к внешней сети и обеспечить стабильность этого доступа.
Задачи:
- Спроектировать и разработать на базе современных инструментов веб-платформу, на которой можно будет разместить любой из сайтов организации, продумать и реализовать схему повышения доступности информации (борьба с возможными атаками и блокировками).
- Привести в порядок техническую сторону сетевых коммуникаций внутри организации.
Оксана, Санкт-Петербург
“Занималась разработкой сайтов на WordPress, писала приложения на чистом javascript и с использованием различных фреймворков. Подробнее о проектах можно почитать здесь: http://o.web-corner.net/ А еще я создавала приложение для НКО с базой данных, содержащей чувствительную информацию (в паре с бэкенд-разработчиком). Бэкенд на Java, фронтенд на VueJS”.
Организация: Ночлежка
Проект: Безопасный веб-хостинг
Цель проекта: Повышение защищенности веб-ресурсов организации
Задачи:
- Ограничить свободный доступ на основной сайт организации для волонтеров и прочих не сотрудников организации;
- Проверить, насколько много критической информации о ресурсах доступно из внешнего мира;
- Разработать систему хранения логинов и паролей для сотрудников организации;
- Настроить бэкапов основного сайта;
- Настроить на сервере приложения для отражения брутфорс атак;
- Настроить мониторинг;
- Внести правки в приложение МКС;
- Обновить php.
Антон, Ярославль
“Системный администратор Linux, Windows; ERP и CRM системы (Microsoft Sharepoint, Dynamics). В основном имел дело с корпоративными информационными системами, развернутыми on demand и в гибридных средах. Имею богатый опыт настройки линуксовых vps под различные веб задачи с обеспечением из базовой безопасности (fail2ban, настройки доступа по ssh и так далее), а также обслуживания стеков /apache/mysql/php, nginx/mysql/php. Активист и координатор движения «Голос» в Ярославле”.
Организация: пожелала сохранить анонимность
Проект: Закрыть основные “дыры” в безопасности организации, внедрить механизмы и политики хранения данных, сделать бэкапы.
Задачи:
- Сделать общий доступ к ресурсам организации, прежде всего, админке сайта только через VPN.
- Создать единое место хранения рабочих материалов с разделением прав доступа и шифрованием данных. Решение должно быть пригодным для хранения разнотипной информации и медиафайлов. Данные должны хранится в нейтральной юрисдикции.
- Настроить рабочий процесс и технический механизм периодических бэкапов базы данных веб-приложения.
- Тестирование приложения на наличие критических уязвимостей из перечня OWASP-10, устранение/принятие рисков.
- Решение проблем физической сетевой инфраструктуры — замена роутера, перенос его в периметр арендованного помещения, настройка локальной сети, firewall, общего доступа к ресурсам. Выделение “гостевого” wi-fi доступа в интернет.
Константин, Оренбург
White hacker, software engineer, fullstack developer.
«Умею: Python, JavaScript, C++, видеостриминг, высоконагруженные системы, Django, Linux, телекоммуникации, React Native, Smart tv. Создал технологическую компанию в сфере разработки программных продуктов для IPTV/OTT-операторов и предоставление OTT-сервиса для абонентов (компания Microimpuls, работаю СТО). По специальности математик-программист».
Организация: Межрегиональный интернет-журнал 7х7
Проект: Pentest нового движка сайта
Цель проекта: Выявить и устранить проблемы с безопасностью нового самописного движка сайта, снизить угрозу взлома.
Задачи:
- Изучить архитектуру нового сайта и всех его подсистем;
- Изучить исходный код движка и модулей;
- Выявить возможные векторы взлома;
- Выявить существующие и потенциальные уязвимости сайта, протестировать на взлом;
- Предложить практические варианты устранения уязвимостей/устранить уязвимости;
- Предложить варианты снижения риска взлома/внедрить их;
- Провести харденинг сервера с сайтом;
- Наладить процессы мониторинга безопасности сайта и настроить средства обнаружения вторжений;
- Разработать регламент написания кода и регламент проведения регулярного аудита для поддержания безопасности сайта в актуальном состоянии.
К., Москва
«10 лет профессионально занимаюсь разработкой и продюсированием web-проектов — верстка, дизайн, программирование (как сейчас принято говорить full-stack). Верстаю средствами js, jquery, html, css. Программирую в основном на drupal, php. В данный момент осваиваю python. Свои умения главным образом стараюсь применять для интересных мне проектов в области науки, творчества (музыка, театр, живопись, фотография) и правозащиты».
Организация: ОВД-инфо
Проект: Подготовительный этап разработки технического задания для базы мониторинга задержаний
Цель проекта: Разработка UX-матрицы, User Stories. Исследование, анализ и выбор программных средств для разработки базы.
Задачи: Для каждой роли в штабе разработать сценарии и интерфейс. Создать UX-матрицу. Определить движок, который будет использоваться для разработки, технологии,обновляющиеся и поддерживаемые системы, которые будут использоваться в проекте. Необходимо пообщаться с каждой группой пользователей базы задержаний (юристы, мониторщики, аналитики), чтобы лучше понять проблемы существующих интерфейсов и учесть это при составлении технического задания.
Борис, Москва
«В период с 2006 по 2008 года проработал web-верстальщиком и разработчиком в крупной компании, занимающейся дистанционным образованием в России. Более 10 лет профессионально занимаюсь ремонтом, сборкой и настройкой компьютеров, компьютерной периферии, а также организацией и наладкой компьютерных сетей.
Ну и, конечно, установка и настройка всевозможного программного обеспечения. Имею опыт преподавания информатики в школе. Не раз был IT-волонтером в ОВД-Инфо. Около года занимался техническим обслуживанием в правозащитной организации».
Организация: Правозащитный центр Мемориал
Проект: Создание плана миграции ПЦ Мемориал в облако
Цель проекта: Создать проект перехода ПЦ Мемориал в облачный сервис: описать обоснование и этапы перехода. Разработать план, сформировать облачную инфраструктуру, протестировать её, перенести данные и запустить.
Задачи:
- Обоснование необходимости перехода в облако для сотрудников ПЦ, презентация этапов перехода;
- Выбор облачного провайдера;
- Создание политики безопасности для использования облака;
- Обеспечение единого входа пользователей в приложения в любой среде;
- Защита удостоверений в локальных и облачных средах;
- Интегрированные средства управления облаком и безопасности;
- Настройка использования облачных сервисов для резервного копирования и и аварийного восстановления локальной среды;
- Создание согласованной платформы данных;
- Реализация преимуществ общей базы данных в локальной среде и в облаке;
- Сокращение затрат за счет переноса локальных данных в облако;
- Использование согласованных сервисов хранения, анализа и визуализации данных;
- Выполнение современных приложений в локальной и облачной среде;
- Для работы с облачными сервисами нужен безупречный Интернет, поэтому одна из задач: настройка внутренней сети и покупка роутеров.