Как работать с паролями, ключами API и т. Д. В стеке разработки? (git, веб-серверы и т. д.)

1

Я планирую большой проект PHP для коммерческого веб-сайта, связанного с услугами, связанными с Bitcoin. Это будет привлекательной целью для хакеров.

Помимо того, что сайт максимально безопасен, я также оборачиваюсь вокруг таких вещей, как: логины и пароли базы данных, общедоступные и закрытые ключи, секретные ключи аутентификации для удаленных API-интерфейсов или внешних служб, ключи SSH, кошельки с биткойнами и т.д.

Очевидно, что я нуждаюсь в них где-то в моих PHP-источниках. Обычно я помещаю все секретные или конфиденциальные данные в отдельный файл include (например, "passwords.php"), который я размещаю вне корня документа HTTP. Таким образом, посетители не могут напрямую обращаться к самому файлу.

Но там больше:

  1. Что относительно хостинг-провайдера? Конечно, я должен доверять им, если сначала у меня будет свой сервер с ними, но могу ли я что-нибудь сделать, чтобы снизить риск того, что какой-то сотрудник злоупотребляет рискованными вещами, такими как ключи API биткойнского обмена?

  2. Репозитории Git: особенно если мы хотим удаленно размещать объекты git удаленно, должен ли я полностью хранить файл passwords.php из репозитория git, чтобы убедиться, что данные не протекают нигде? (но как же я могу перейти к управлению версиями или распространить его на членов команды?)

  3. Строгие коммуникационные политики: я буду работать с несколькими людьми, и я хочу, чтобы кто-либо никогда не отправлял по электронной почте или просто не тратил на них эти секретные данные. Некоторым людям нужен только доступ к тестовой среде, а не к фактическому серверу. Как ограничить доступ к passwords.php (содержащий фактические серверные логины и т.д.) Только тем, кто действительно нуждается?

У меня пока нет четкого представления о том, как решить эти проблемы. У кого-нибудь есть какие-то предложения или указание, как правильно настроить это?

Теги:
security
passwords
secret-key

1 ответ

1

Это звучит как серьезное начинание. Много риска. Но реквизит для вашей цели.

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

Я бы предложил разместить ваше приложение с помощью Amazon Web Services. Они обеспечивают удобство управления, надежные и надежные веб-службы. После того, как вы начнете сегментировать свое приложение (серверы db, кластеры кешей, медиа-серверы и т.д.), Он станет меньше: "Надеюсь, что меня не взломают" и больше "Я надеюсь, что смогу справиться со всем этим дерьмом".,

Я предлагаю вам искать опытного разработчика полного стека или даже небольшой команды с акцентом на безопасность и шифрование. Со всем материалом MtGox, который спустился, вы стучите по очень серьезной дороге, поэтому будьте очень осторожны и старательны. Удачи.

  • 0
    Спасибо за ответ. Как вы имеете в виду тяжелое шифрование, шифрование что? Они должны быть в моих файлах PHP так или иначе, и среда выполнения должна будет прочитать пароли и ключи API в какой-то момент и использовать их. Что касается решения для хостинга - теперь, когда вы упомянули пример MtGox, мне интересно, как текущие биржи (например, kraken или bittamp) заботятся о своем хостинге и, что более важно, о безопасности своих данных? С сотнями миллионов долларов на линии, я бы сказал, что даже самый маленький риск или возможность использования - это катастрофа, ожидающая ...?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню