У меня есть VPS под управлением Ubuntu 12.04 - я не очень хорошо разбираюсь в управлении сервером, но могу выполнять базовые функции CL.
У нас есть несколько сторонних разработчиков (из odesk), которые работают над веб-приложением для нас, которое будет размещено на VPS как часть сборки, для которой им необходим доступ к серверу через ssh
для запуска миграции баз данных и других вещей. .
Моя главная проблема в том, что я понятия не имею, что они на самом деле помещают на сервер, я полагаю, что они только надевают элементы, касающиеся разработки веб-приложения, но в равной степени они могут устанавливать вредоносные программы в фоновом режиме. [ 114]
Я планирую установить ClamAV
для проверки на вирусы, но если кто-то имеет доступ с правами root, можно ли это обойти?
Есть ли лучшая практика для A) защиты сервера, в то же время все еще вист? предоставление доступа третьей стороне и B) Есть ли команда или где-нибудь, где я могу увидеть все установленные элементы, чтобы я мог видеть, что там на самом деле?
Действительно хорошие практики дали бы им как можно меньше доступа,
1) Нужен ли им доступ по SSH вообще?
Если им нужно просто работать с базы данных, то вы можете открыть порт базы данных для их IP или использовать инструменты веб-управления, например. PhpMyAdmin. Они могут запросить установку определенных пакетов, а не делать это самостоятельно. Если им действительно нужен доступ по SSH по какой-либо причине, вы можете обратиться к SSH Chroot Jails, которые предоставляют ограниченный доступ к некоторым ресурсам в системе.
2) Как вывести список всех программ?
Вы можете получить список всех установленных приложений, установленных менеджером пакетов, введя команду sudo dpkg -l
, но откуда вы знаете, что они не просто поставить несколько бинарных файлов в систему и обойти менеджер пакетов? или отредактированные cronjobs. Вы можете использовать такие приложения, как tripwire
, и точно настроить его для проверки изменений в системе.
Это действительно сводится к небольшому доступу, который, возможно, необходим для третьей стороны, чтобы сделать работу. Если вы предоставляете кому-то root-доступ к системе, то, по моему мнению, вы можете доверять этой системе столько, сколько доверяете администратору, которому вы предоставили доступ.
На первую часть (SSH и антивирус / вредоносное ПО) справедливо ответил Rinzwind & amp; Shutupsquare, поэтому я бы не стал повторять это. Я согласен с их мнением и проголосовал за них. Ответ Ринзвинда на SSH Ответ Шутпскура на SSH & amp; Антивирус
Что касается перечисления всех пакетов, установленных локально, и сохранения их в виде текстового файла «пакеты» на рабочем столе, сделайте это в своем терминале (вам не требуется 'sudo'): dpkg --get-selections > ~/Desktop/packages
Вам также следует использовать Tripwire
, если вы боитесь, что ваша команда (или кто-то другой) может пойти на диверсию.
Я планирую установить ClamAV для сканирования на вирусы, но если кто-то имеет права root, можно ли это обойти?
Для сканирования для чего? Винды вирусы? Зачем вам это нужно? Пожалуйста, прочитайте эту тему: Нужно ли устанавливать «антивирусное программное обеспечение»? о необходимости наличия антивирусного сканера в Linux. Но для проверки на наличие подозрительных действий в вашей системе детектор корневого набора кажется более подходящим.
Сканер корневого комплекта - это сканирующий инструмент, который обеспечивает вам на 99,9% * чистоту от неприятных инструментов. Этот инструмент сканирует корневые комплекты, задние двери и локальные эксплойты, выполняя такие тесты, как:
- Сравнение хэшей MD5
- Поиск файлов по умолчанию, используемых корневыми комплектами
- Неверно права доступа к файлам для двоичных файлов
- Поиск подозрительных строк в модулях LKM и KLD
- Поиск скрытых файлов
- Дополнительное сканирование в виде простого текста и двоичных файлов
Root kit Hunter выпущен по лицензии GPL и бесплатен для всех желающих.
- Нет, не совсем на 99,9% .. Это просто еще один уровень безопасности
Есть ли лучшая практика для защиты сервера, в то же время все еще предоставление доступа третьим лицам
Не давайте им свой пароль администратора. Создайте для них отдельного пользователя с такими полномочиями, как вы считаете. И пусть они будут вам жаловаться, если им нужно сделать что-то, что они не могут, а затем решат либо принять их просьбу, либо отклонить ее. Отрицание может быть уместным, если вы сможете выполнить эту задачу самостоятельно.
И когда они закончат, заблокируйте этого пользователя и смените пароль администратора. Когда им снова понадобится доступ, разблокируйте пользователя.
Есть ли команда или где-то я могу видеть все установленные элементы, чтобы я мог видеть, что там на самом деле?
Нет. Во всяком случае, не дурацкими методами. Если они использовали apt-get, они регистрируются. но нет никакого способа зарегистрировать сценарий, добавляемый в вашу систему (и я ожидаю, что эти сценарии будут скрываться среди программного обеспечения, которое вы разрешаете odesk устанавливать в любом случае; давайте предположим, что они говорят вам установить 10 файлов, и 9 из них являются законными, и один из них - пользователь odesk, который хочет установить что-то нежелательное ... как вы это найдете?).
Существует лучший метод: вам нужно проверить трафик и найти его в /var/log/
. Если вы видите (что вы считаете) странными соединениями, файлы журналов укажут вам на виновника. Но это не только для этого случая: регулярная проверка трафика - это задача, которую должен выполнить любой администратор (вредоносная программа полезна, только если она получает свои результаты за дверью, поэтому вам нужно играть в привратника).