Недавно мы наняли внешнего программиста, который разработал для нас несколько новых серверных систем. Он запросил SSH-доступ к нашему веб-серверу. Мы работали с ним в течение многих лет, и я доверяю ему так же, как и любому штатному сотруднику, поэтому я не беспокоюсь о том, что он что-то намеренно сломает. Но какие разрешения ему дать? Какая хорошая политика разрешить внешнему подрядчику работать с вашим сервером, предполагая, что ему потребуется много разрешений. В идеале я хотел бы дать ему все полномочия root, кроме изменения паролей других людей, но не уверен, возможно ли это вообще.
Хорошая политика - всегда предоставлять разрешения только на то, что необходимо, но это может быть связано с большими административными издержками. Изучите файл sudoers (/ etc / sudoers), чтобы начать работу, и вы можете задавать конкретные вопросы о том, какие разрешения вы хотите предоставить.
Что ж, поскольку вы можете дать ему полномочия root, вы могли бы скорее отслеживать, что он делает, чем ограничивать. Смена паролей будет одной из менее проблемных вещей, потому что, в конце концов, вы это узнаете довольно быстро.
Вы можете предоставить ему доступ с обычным пользователем, а затем позволить этому пользователю выполнять необходимые ему команды с помощью sudo. В идеале вы не позволяете ему делать такие вещи, как sudo su другого пользователя, потому что в этом случае вы больше не увидите, что он отслеживается.
Также подумайте о том, чтобы журнал его команд отправлялся на другой сервер, чтобы он не смог полностью скрыть свои следы.
Я создал отдельные chrooted-окружения для внешних подрядчиков, чтобы они не могли попасть в наши файлы, даже если где-то неверны права доступа. SSH имеет параметр chroot, который можно использовать в этих случаях. Вы даже можете указать определенную группу пользователей, которая получит chrooted логин.
Ваш опыт доверия к подрядчикам может быть разным, но я буду осторожен и предлагаю доступ именно к тому, что необходимо, ни меньше, ни больше.
Начните с предоставления ему обычного доступа и расширяйте его по мере необходимости. Судо будет лучшим инструментом для этого. Он обеспечивает выборочные права root с его собственным паролем и регистрирует все, что вызывается.