01-09-2021

Шпаргалка для разработчика при работе с тестовыми стендами, доступами и инфраструктурой

Шпаргалка для разработчика при работе с тестовыми стендами, доступами и инфраструктурой
NJ Soft

Данный список будет актуализироваться — добавляйте статью в закладки!

  • Тестовые стенды должны иметь ограниченный доступ. По умолчанию все тестовые стенды должны закрываться паролями или любыми другими способами ограничения доступа (по IP, по ключам, по условиям).
  • Тестовый стенд может быть публично доступен только если это обозначено в документации к проекту и каждый участник проекта по этому тестовому стенду понимает необходимость публичного доступа к нему.
  • Данные с тестовых стендов не должны быть публично доступны и не должны попадать в индексы поисковых систем.
  • Работа по ssh должна происходить через публичные ключи (public key)
    Если участнику команды необходимо получить доступ к серверу по ssh протоколу, то необходимо делать это через выдачу публичного ключа.
  • Необходимо всегда минимизировать передачи паролей через любые средства коммуникации. Преимущество отдавать публичным ключам, токенам, ключам доступа, доступам по IP/VPN и т.д. Всегда стараться минимизировать риск утечки паролей.
  • Доступы не должны попадать в git-репозитории и в кодовую базу проекта.
  • На серверах заказчика нельзя использовать запросы от root пользователей к нашим внутренним серверам.
    Например такое запрещено, или вход под ssh с сервера заказчика на наш внутренний сервер scp root@our_server.njsoft.dev:/some_file /home/customer/some_file
  • По-умолчанию считать сервера и инфраструктуру заказчиков небезопасными и использовать максимально безопасные методы передачи, получения и исправления информации.
  • Доступы, которые не относятся к тестовым стендам не должны публиковаться в документации по проекту.
  • Всё прикладное и вспомогательное ПО должно ограничивать доступ к данным по уникальным логинам и паролям. (например: когда используем SQL сервер, то всегда нужно задавать уникальный стойкий к подбору пароль от любого пользователя БД)
  • Запрещается публиковать phpmyadmin и другого ПО для работы с данными в публичный доступ без защиты паролем, а также с легко подбираемыми ссылками, а также необходимо исключить попадание ссылок в поисковой индекс. Например если нужно опубликовать phpmyadmin, то надо закрыть его HTTP BASIC авторизацией, а также сделать доступ только по уникальной ссылке (вместо /phpmyadmin/index.php сделать /48vngh8vuh4/sfa/index.php, т.е ссылка которую трудно подобрать).
  • Запрещается запускать ПО на серверах заказчика из под root пользователя.Если такое происходит необходимо об этом сообщать и извещать заказчика о проблемах безопасности и необходимости внесения правок в инфраструктуру.

web