@pipkin07

Как безопасно передавать доступы к сайту новым программистам?

Доброго времени суток. Меня зовут Илья. Собственно некоторое время назад мне пришла идея создать сайт. Чтобы вы понимали я не программист. Нашел хорошего человека на фрилансе. Он сделал свою работу качественно. Вложил довольно большую сумму денег (для меня). На данный момент сайт успешно функционирует.

Вопрос заключается в том, как безопасно предоставлять данные от хостинга программистам? Допустим, когда мой проверенный человек не сможет помочь, мне придется иметь дело со свежей кровью, так сказать. Я боюсь давать данные от хостинга и от сервера (где находится сайт), поскольку могут спиз****ть все доступы, важные файлы или просто вшить вредоносный код, который будет таскать деньги (с баланса).

Пожалуйста, подскажите мне, основываясь на своем опыте. И если знаете, то расскажите, пожалуйста, как в серьезных компаниях не крадут файлы их программисты. Например, у какого-нибудь топового банка или биржи. Ведь там соблазн велик)
  • Вопрос задан
  • 4198 просмотров
Пригласить эксперта
Ответы на вопрос 10
Mx21
@Mx21
Software engineer
Договор надо заключать, если без договора, то смотреть отзывы, работать через безопасные сделки, если это фриланс. Я конечно, не знаю, что у вас за сайт, но, если у человека куча отзывов + высокий рейт, смысла ему нет портить репутацию.

А, вообще неплохо использовать какую-нибудь систему контроля версий и не давать доступы к продакшену. Сторонние разработчики делают изменения, заливают в репозиторий, ваш проверенный человек смотрит, если все ок, то деплоит на продакшен.
Ответ написан
Комментировать
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
Работать по договору.
Использовать систему контроля версий.
Не давать доступ к продакшену.
Использовать докер для быстрого разворачивания сайта на локальных машинах разработчиков, либо держать отдельный сервер для разработки.
Выкатку допиленных фичь на основной сервер разрешить только доверенным лицам (и естественно не через (s)ftp или ssh).
Платить разработчикам вовремя и столько, чтобы не хотелось напакосничать.
Ответ написан
KorniloFF
@KorniloFF
Работаю по font-end / JS
Делать бета-версию сайта, давать доступы к ней.
А потом ооочень тщательно проверять работу, в т.ч. и онлайн-антивирями. И только после этого синхронизировать с основным сайтом.
Других, кардинально отличных от описанного, способов не знаю.
Ответ написан
Комментировать
Maksclub
@Maksclub
maksfedorov.ru
Чтобы у вас не своровали пароли — нужно, чтобы не было такой возможности...

1. Как уже сказали выше — контроль версий (GIT, Mercurial)... то есть код будет виден через хостинг GIT (например Github) полностью с историей где и как изменяли его, выглядит примерно так:
5a413fc724582712004587.pngкрасное — удаленная стркоа, зеленая — добавленная

Также это даст вам возможность отделить работу с проектом от реального проекта на боевом сервере — к нему просто не будет доступа :) то есть работа идет с актуальной копией и у фрилансера есть код, с которым нужно работать.

2. Как понимаете 1 способ не избавит вас от воровства самого кода, потому перейдем вот к чему — нужно тщательно искать специалиста, не отдавать все доступы первому же попавшемуся... если ваш программист занят, пусть порекомендует или даже он вас и проконсультирует!

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

Советы предпринимателю
Чтобы со всем этим разобраться рекомендую отдельно нанять консультанта, который бы прямо вам сел и нарисовал на А4 все виды способа работы, чтобы не превратиться в неприступного маньяка и при том выполнить все ваши бизнес-задачи... безопасность не должна вредить... НА 3-4 часа вполне хватит обдумать все...
Также конечно есть разумный предел всему, может так оказаться, что воровство паролей может вполне входить в вашу бизнес-модель по затратам, если вы просто будете делать бекапы, а всякие GIT и сложные схемы вам не рентабельны... мало ли, посчитать нужно...
Все нужно считать и смотреть!

Даже у более правильных компаний с целым штатом прогеров есть косяки, доступ к боевой базе имеют программисты, он не контролируемый никак и все через 5 точку... и нормально компании себя чувствуют...
Ответ написан
@vism
Не работать с фрилансерами.
Защититься никак.
Ответ написан
morihaos
@morihaos
На 99% вопросов уже есть ответы в инетке...
Привет,

Вариант 1. "Допустим, когда мой проверенный человек не сможет помочь, мне придется иметь дело со свежей кровью, так сказать." - вы сами ответили на свой вопрос - надо иметь еще одного или более проверенного человека. То есть таких, которым вы доверяете.

Вариант 2. Разбираться в том, что делают для вас программисты, фактически стать им.

Всякие системы контроля версий не могут вас защитить, они могут вам только помочь проанализировать код на изменения, причем вам надо понимать этот код, то есть опять быть программистом. И неважно, фрилансер ли это на другом конце света или программист, сидящий за стенкой в вашем офисе. Все дело в доверии.
Ответ написан
Комментировать
@khrisanfov
Программист
1. Положить проект в Git
2. Вынести логины и пароли к БД в конфиг, который не будет хранится в git
3. Создать dev-сервер с полной копией сайта за исключением логина и пароля к БД и давать доступ только к нему
4. Научиться выкладывать новый код самому. В git это делается одной командой, супер способностей для этого не надо.
Ответ написан
opium
@opium
Просто люблю качественно работать
гит
Ответ написан
Комментировать
Задайте этот вопрос тому, кому доверяете. Очевидно, это человек, разработавший сайт. Нормальный человек все поймет и объяснит. Он тоже может догадываться, что работает с Вами не вечно.

Если бы мне задали такой вопрос (пока не задавали), я бы призадумался. Защиты нет вообще никакой. Ни контроль версий, ни архивы, ни сложные схемы распространения (сервер разработки, тестирования, рабочий) не спасут от всех рисков.

Разумеется, все зависит от того, чем занимаетесь. Может так случиться, что банальной кражи данных из одной таблиц СУБД будет достаточно, чтобы убить все дело.

Также есть разница на какую задачу нужен человек. Если сомневаетесь в человеке/ситуации, прав нужно давать ровно столько и на то, что позволит выполнить задачу. Но Вы то откуда это можете знать (про необходимый минимум прав)?

Попробуйте подумать, чтобы чуть отвлечься, над тем, как Вы защитите собственный ПК, ноутбук от неправомерных действий. И посмотрите как меняются меры защиты в зависимости от покрываемых рисков. Я, в свое время, шифровал жесткий диск. Просто для того, чтобы в случае кражи мои данные не стали достоянием общественности. Есть риски попроще (например, подбор паролей сомнительными гостями с клавиатуры ПК). И на каждый риск есть свой ответ. От ключей на корпус ПК, до более сложных схем.

Для сайтов и Инет-бизнеса свой набор рисков. Если Вы думаете, что рейтинги на бирже или трудовой договор защитят от всего на свете, Вы заблуждаетесь.
Ответ написан
Комментировать
@InoMono
Чтобы вы понимали я не программист.


Никак, если вы сам не специалист и не можете нанять другого специалиста для проверки.

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

В вашем случае:

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

Хороший вариант с Гитом и CI/CD. Для этого нужен админ (разумеется это должен быть не тот человек, что и программист), который настроит CI/CD
И программист, который будет работать, выкладывая результаты в git, где можно будет запросто отследить (другим программистом) что он там делал.
А код будет уезжать на сайт автоматически.

Как вариант - делать сайт на уже готовой платформе PaaS, тогда можно обойтись без админа (это например: Heroku, Google AppEngine, Openshift). Процедура накатывания кода на сайт в этом случае очень проста и вы можете даже самостоятельно её делать.

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

Я боюсь давать данные от хостинга и от сервера (где находится сайт), поскольку могут спиз****ть все доступы, важные файлы или просто вшить вредоносный код, который будет таскать деньги (с баланса).


Если у вас действительно есть что терять и эти суммы превышают найм дополнительного человека для проверки, то смысл есть заморачиваться.

Если же ваши потери на уровне 1000 рублей в месяц - смиритесь, проверка обойдется дороже.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы