Принцип безопасности
Основы
Ни для кого не секрет, что безопасность в 21 веке является одним из ключевых моментов пребывания в интернете. Все больше людей задумываются о том, как бы защитить свои личные данные от распространения, странички в соцсетях и почты от взлома. Многие именно сейчас стали использовать впн, прокси, одноразовые номера телефона и почты, анонимные мессенджеры и тому подобное. Мы также поддерживаем этот тренд. Однако политика проекта нацелена не только на сохранение наших данных, но и ваших.
Суть
Так в чем же заключается наш принцип безопасности? Этот вопрос нужно рассмотреть с двух сторон. Для начала, рассмотрим его со стороны простого игрока, или, иначе говоря, со стороны пользователя нашими ресурсами и наработками.
Со стороны пользователя
Что мы гарантируем? Мы гарантируем минимальный сбор информации о вас. На нашем сервере хранятся только ваши почты, пароли, данные о страничках в соцсетях, если они были привязаны к аккаунту лично вами и данные о вашем пк. А теперь по порядку.
Почта
Для начала, почта. Да, это действительно можно назвать данными, которые нарушат вашу безопасность в случае взлома, правда, очень слабо. Чтобы использовать почту вам во вред, надо постараться. Но, также стоит учесть вот что: мы не требуем указывать именно вашу почту при регистрации. Вы можете смело указать что-то случайное, похожее на почту, и мы не будем против этого. Настоящая почта нужна лишь для того, чтобы в случае чего вы могли восстановить пароль, а также для того, чтобы мы видели, что вы реальный пользователь.
Пароль
Далее пароль. При регистрации он сразу шифруется, пароль без шифра никуда не записывается и не отправляется. Мы используем шифрование, которое позволяет зашифровать пароль, а получить пароль обратно невозможно чисто технически. В случае утечки ваш пароль будет в безопасности, можете не беспокоиться!
Аккаунты соцсетей
А теперь немного про аккаунты соцсетей. Мы не храним никакие пароли от ваших аккаунтов и не требуем их, не требуем и номер телефона/логин для входа/токен. Все что у нас есть - id вашего аккаунта, который никак не сможет повлиять на вашу безопасность.
Данные о ПК
И, наконец, последнее, данные о "железе". Как ни странно, эти данные никак не могут повлиять на вас в случае утечки. Мы вычисляем минимальный набор данных о вашем пк, необходимый только для бана по этим характеристикам. В будущем планируется на основе этих данных генерировать уникальный идентификатор пользователя и полностью отказаться от их хранения, что не позволит злоумышленникам хоть как-то использовать эту информацию вам во вред.
Что мы точно не собираем?
Мы не собираем такие данные, как ваш ip адрес, местоположение, отпечаток браузера, куки, залогиненные аккаунты в браузере и прочее подобное, что часто собирают о вас даже международные компании.
Со стороны проекта
Что мы делаем с нашей стороны, для обеспечения безопасности? На самом деле даже больше, чем вы можете себе представить.
Сеть
Давайте разберем устройство нашей сети на примере пакета, отправленного к нам на сервер. Для начала пакет попадает в прокси-сервис CloudFlare (кстати, пакет, отправленный к серверу игры, тоже проходит фильтрацию), который с помощью своих мощностей фильтрует трафик, не позволяя потенциально опасному пакету пройти дальше. В случае, если пакет по мнению системы кажется безопасным, он проходит на основной микротик. Там пакет проходит повторную фильтрацию, но уже с помощью файерволла этого самого микротика. Далее пакет проходит на второй микротик, который подключен к первому. Потом пакет попадает в nginx и опять проходит фильтрацию. А только потом пакет уже попадает в нужное место - веб-сайт или игровой сервер. Что дает такая громоздкая, на первый взгляд, система? А на самом деле довольно много. Например, второй микротик, подключенный к первому, позволяет ограничить доступ к локальной сети с сервера, что уже довольно неплохо. А сервисы, которые мы используем, позволяют скрыть реальный адрес (стоит упомянуть, что адрес все-таки можно получить, но это не даст никакого толку, ибо первый микротик не примет пакет, не прошедший через прокси-сервис). На самом деле, мы используем более сложные механизмы защиты, но такое краткое пояснение должно дать рядовому пользователю понять, что устройство сети действительно неплохое. И в конце добавим, что вся сеть и ее безопасность находится под частичным личным наблюдением человека, который является специалистом в своем деле и закончил университет по данной специальности.
Внутреннее устройство
Внутреннее устройство сервера - довольно важная часть по обеспечению безопасности всего проекта. Как у нас это реализовано? Ну, для начала, стоит упомянуть разделение процессов. Все внутренние процессы (как сервера, так и боты, программы и т.д.) существую в своем "маня-мирке". Простыми словами - все процессы "сидят" в контейнерах, что не позволяет им выйти в систему и что-то поломать. Так, например, в случае взлома сервера, сайта, бота или еще чего-то, хакер не сможет выйти за пределы взломанного процесса. Он будет полагать, что то место, куда он попал и есть система и украсть ничего не выйдет. Что еще из важного? Ну, вероятно, сюда же добавим железный принцип УКРФ - все что не запрещено, то разрешено. Как это применимо к безопасности? Очень просто. На сегодняшний день программы имеют очень много разных функций и возможностей, а мы оставляем только те, что действительно используем, а остальные выключаем. Так, допустим, не самый лучший пример, но под ситуацию подойдет идеально. Вы включаете RCON у вашего сервера, используете его, а потом он вам перестает быть нужен, но вы, вместо того, чтобы выключить его, благополучно забываете о нем. И получается, что остается лазейка для потенциальных хакеров. Ровно такой же трюк происходит почти везде, потому важно следить за функциями, которые вы используете. Не нужен доступ в базу данных из вне - закройте порт, лишняя фича, которую вы не используете - убирайте. Помните, безопасность заключается в мелочах.
Веб сервер
Веб сервер - ядро всей инфраструктуры проекта. Обычно, веб-сервер используют только для отображения сайта в браузере, но мы поступили несколько иначе. В качестве веб сервера используется nginx. Только мы используем не простой nginx, а его модифицированный вариант, собранный вручную. В нашем варианте удалены все лишние его компоненты и оставлены все нужные, а также добавлены некоторые неофициальные модули. Эта штука, если так можно сказать, позволяет полностью мониторить, фильтровать и балансировать весь трафик. Проще говоря, вместо того, чтобы просто отображать сайт, веб сервер выполняет еще и дополнительные функции по работе с трафиком. Все пакеты, принимаемые сервером, проходят через веб-сервер, включая пакеты, отправленные к игровым серверам. Это создает дополнительный уровень безопасности сети. Тут же стоит сказать, что настроен веб сервер просто отлично, что присуще далеко не всем проектам.
Игровые сервера
Сервера - одно из самых опасных мест во всем проекте. Авторы модов вообще не заботятся о их безопасности, что позволяет взламывать целые проекты! Что сделали мы? Мы полностью пересмотрели исходные коды всех модификаций, установленных у нас (на самом деле, не только модификаций, но и плагинов, ядер). Это именно то, в чем просчитываются многие. Все эти действа позволили практически полностью исключить возможность взлома проекта через отдельный сервер с уязвимостью.
База данных
База данных (далее кратко - БД) - одно из самых "дырявых" мест. На нее нацелены атаки типа SQL-инъекция, а также некоторые другие. Помимо прочего, при взломе проекта всегда сливают его БД. Что мы делаем для ее защиты? Для начала, мы полностью разграничили доступ к ней. Каждый сервер (вернее сказать даже не сервер, а сервис, ведь база разделена для серверов, ботов и прочего ПО, работающего с ней) имеет доступ только к своей части базы, что позволяет сохранить самые важные данные в безопасности. Также мы закрыли доступ к ней из вне. Но на этом мы не остановились. Помимо прочего, БД можно украсть через такую вещь, как phpmyadmin. Раскрыть способ его защиты, кроме распределения полномочий, мы не можем, так как это позволит потенциальным хакерам несколько проще обойти нашу систему, потому с уверенностью заявляем, что данное место прикрыто несколькими слоями защиты, что делает проникновение внутрь просто нереальной задачей.
Человеческий фактор
Как вам должно быть известно, даже самую неприступную крепость можно захватить, если кто-то изнутри вам откроет проход в нее. Потому каждый член команды, будь он хелпером или создателем проекта, имеет доступ ровно к тому, что ему нужно для исполнения своих задач. Так, например, глава одного сервера не сможет никак навредить второму серверу, который также имеет своего главу. И это распространяется даже на всех сторонние сервисы, например, на дискорд или вк. Все максимально обособлено друг от друга, что позволяет исключить полную утечку данных или уничтожение проекта. Помимо прочего, каждый человек, который имеет хоть какие-то привилегии над другим, должен обязательно иметь двухфакторную аунтефикацию и некоторые другие меры предосторожности. А еще мы проводим разъяснительные работы среди персонала, дабы максимально исключить человеческий фактор.
Обновления
Часто владельцы серверов забывают об обновлении версии системы и ПО (да что уж там сказать, даже банки и международные компании забывают это делать). Это очень большая ошибка. На самом деле, постоянное обновление позволяет закрыть множество уязвимостей, которые были допущены в старых версиях продуктов. Мы придерживаемся политики постоянного обновления ПО. Как только вышла новая версия системы или программы, мода, ядра или плагина, мы стремимся сразу перейти на нее. Обновления происходят постоянно, что в целом дает какую-никакую защиту от старых "дыр".
Настройка
Этот пункт можно считать по праву самым забываемым пунктом. Установили вы мод, плагин, ядро или даже программу, но в конфигурацию ее даже не заглядывали. Это и есть одна из самых частых ошибок. Именно благодаря конфигурации можно подкрутить оптимизацию, безопасность и многое другое. Мы никогда об этом не забываем, потому при каждом доступном для этого случае всегда проверяем настройки того, что используем.
Общее
В данной довольно большой статье были перечислены некоторые механизмы зашиты, которых мы придерживаемся. Понятное дело, что это далеко не все, что мы делаем для обеспечения вашей и нашей безопасности, но, писать еще более подробно не имеет смысла, так как такое вот кратенькое пояснение того, что мы имеем, превратится в гайд по обеспечению безопасности.
Last updated