У меня VPS работает Ubuntu 12.04 - я не очень хорошо разбираюсь в управлении сервером, но могу делать базовые вещи CL.
У нас есть некоторые сторонние (от odesk) рабочие в веб-приложении для нас, которое будет размещаться на VPS, как часть сборки, для которой им нужен доступ к серверу через ssh для запуска миграции базы данных и других вещей.
Моя основная забота заключается в том, что у меня есть не знаю, что они на самом деле ставят на сервер, я считаю, что они только ставят вопросы о разработке веб-приложения, но в равной степени они могут устанавливать вредоносное ПО в фоновом режиме.
Я планирую установить ClamAV для сканирования вирусов, но если кто-то имеет доступ с правами root, может быть обойден?
Есть ли лучшая практика для A) защитить сервер, вист в то же время все еще предоставляя сторонний доступ и B) Есть ли команда или где-нибудь я вижу все установленные элементы, поэтому я могу видеть, что на самом деле там?
На самом деле хорошие методы предоставили бы им как можно меньший доступ,
1) Нужен ли им ssh-доступ?
Если им нужно просто работать с базой данных, тогда вы можете открыть порт базы данных для их IP или использовать инструменты веб-управления, например. PhpMyAdmin. Они могут запрашивать определенные пакеты, а не делать это сами. Если они действительно нуждаются в доступе ssh по какой-то причине, тогда вы можете зайти в SSH Chroot Jails, которые предоставляют ограниченный доступ к некоторым ресурсам в системе.
1) Нужен ли им ssh-доступ? [!d2 ]
Вы можете перечислить все установленные приложения, установленные менеджером пакетов, выдав команду sudo dpkg -l, но откуда вы знаете, что они не просто поместили некоторые файлы в систему и обошли диспетчер пакетов? или отредактированные cronjobs. Вы можете использовать такие приложения, как tripwire, и точно настроить это для проверки изменений в системе.
Это действительно сводится к небольшому доступу, который, возможно, необходим третьей стороне для выполнения этой работы. Если вы дадите кому-то root доступ к системе, то, на мой взгляд, вы можете доверять только этой системе, насколько вы доверяете администратору, которому вы дали доступ.
Вы также должны использовать Tripwire, если боитесь, что ваша команда (или кто-то) может пойти на саботаж.