Подбирая кусочки после пропавшего администратора Linux [закрыто]

8

Поэтому наш администратор Linux покинул наш проект, и внезапно я (веб-кодер с базовыми знаниями о Linux / сервере) отвечаю за наш выделенный сервер (Ubuntu Server), в основном работающий с веб-сайтом (apache / mysql / php) и почтой (Postfix). Наш администратор на самом деле не был профессиональным администратором Linux, а скорее парнем с базовыми знаниями Linux, который разбирался с делами в процессе работы. Поэтому я ожидаю, что конфигурации будут нестандартными, небезопасные службы и т. Д.

Мои вопросы:

  1. Как выполнить «аудит» сервера, чтобы выяснить его текущее состояние, убедиться, что все настроено правильно, что нет ненужных учетных записей пользователей, что у нас нет ненужных служб и т. Д. И т. Д. И т. Д.

  2. Я не уверен, как сделать резервную копию нашего производственного веб-сайта. Помимо реальных файлов CMS и базы данных, есть конфигурации Apache, почтовые базы данных и многое другое, которые необходимо резервировать. Любое предложение о том, как автоматизировать это?

  3. Каковы самые важные повседневные обязанности администратора Linux, которые я должен выполнять? Огромный вопрос, я знаю.


источник
Что вы подразумеваете под «фанки» конфигурации? Когда мое поколение использовало это слово, это означало, что что-то было хорошо.
Джон Гарденье

Ответы:

11

Ух ты. Когда начать.

Это то, что я хотел бы сделать, но, надеюсь, другие придут с более / лучше предложений.

Сначала не паникуйте. Я предполагаю, что вы теперь root. В настоящее время вы являетесь самой опасной угрозой для сервера, так как у вас есть много власти и мало понятия о том, что с ней делать.

Запишите, какие службы должны работать на сервере. Вы знаете, Apache, MySQL и Postfix необходимы. Я полагаю, что у вас там есть ftp-сервер, и вы можете использовать ssh, так что вам нужно запустить sshd. Запишите, какие службы установлены. Самый быстрый способ выяснить это, вероятно, перечислив /etc/init.d/*. Затем вам нужно выяснить, что работает. Я не знаю, что такое эквивалент Red Hat chkconfig, но в случае сбоя альтернативного ps -ef будет показан список запущенных процессов. Также выясните, установлен ли межсетевой экран (например, iptables) и как он настроен.

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

Опять я бы все это записал.

Теперь запишите, у кого должен быть доступ к серверу, а у кого есть права root. Получите список пользователей, которые имеют учетные записи из / etc / passwd.

Сделайте то же самое для доступа по FTP и других служб, если это уместно, таких как Subversion или удаленные соединения MySQL.

Теперь вы знаете немного больше о том, что делает ваш сервер и кто может получить к нему доступ, вам следует перейти к тому, насколько хорошо он работает. Проверьте файлы журналов в / var / log, особенно в / var / log / messages, и потратьте некоторое время на поиск ошибок.

Проверьте наличие ожидающих обновлений с помощью apt-get update && apt-get upgrade

Когда будет предложено обновить, выберите нет на данный момент.

Пока вы не должны были вносить никаких изменений.

Теперь вам нужно просмотреть собранную информацию и решить, что (если что-то) нужно исправить. Приоритеты - это попытки взлома в /var/log/auth.log, закрытие ненужных сервисов и ужесточение брандмауэра.

Сделайте копии всех файлов перед тем, как их редактировать, и часто проверяйте изменения, чтобы вы могли легко вернуться, если что-то сломается.

Резервные копии

Вам нужно будет решить, что нужно сохранить. Очевидными кандидатами являются базы данных, / home / / etc / / var / log / / var / spool / cron / / var / www / и любые пользовательские скрипты, вызываемые crontabs. Затем большинство людей пишут сценарий оболочки для локального резервного копирования, а затем используют что-то вроде rsync для копирования файлов на USB-диск другого компьютера.

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

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

Ричард Холлоуэй
источник
3
Прежде чем делать что-либо еще, я хотел бы изобразить и / или P2V этой присоски.
Orangutech
+1 для получения текущего снимка. Tarball сервер по SSH или Rsync по крайней мере.
Джеральд Комбс
1
При получении информации о том, какие службы установлены, также запустите «dpkg -l> ~ / instal_software». При этом список пакетов, которые были установлены с помощью apt-get, будет записан в файл с именем «instal_software» в вашем домашнем каталоге. Проверьте все запущенные сервисы, которые не были установлены через apt-get. Старый администратор, возможно, не установил серверы через apt-get, и эти службы должны будут обновляться другими способами, кроме «apt-get upgrade». Казалось бы, это будет редко, но это не так.
Dru
Другим подходящим предложением было бы получить файлы конфигурации в той или иной форме контроля версий. Затем, когда вы вносите коррективы или изменяете вещи в соответствии со своим мышлением, вы можете отслеживать эти изменения и точно видеть, где вы облажались. Или, может быть, вам повезло, но это все же хороший совет.
OldTroll
Все это отличный совет. В дополнение к вышесказанному я бы запустил netstat -tanp и / или -anp, чтобы показать подробности об активных и прослушивающих соединениях и связанных с ними процессах.
Недм
5

Некоторые вещи, с которых можно начать:

  1. найдите кого-нибудь, кто уже провел такой аудит - или, по крайней мере, имеет некоторые знания о распространенных ошибках обслуживания сервера. Серьезно - это окупается.

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

  3. Обновляйте, читайте уведомления о безопасности, следите за лог-файлами и автоматизируйте все это, когда вы знаете, что искать.

Olaf
источник
3
+1 за поиск кого-то, кто знает, что они делают. Это будет дешевле в долгосрочной перспективе.
Дэвид Макинтош
1
+1 за то же самое, но я бы пошел еще дальше и предложил бы привлечь кого-то, кто явно более опытен, чтобы убедиться, что вся система находится в надлежащем состоянии. Живая система - это не место, где можно учиться практически с нуля.
Джон Гарденерс
полностью согласен, но так как система уже работает, я думаю, что нет никакого способа учиться на живой системе.
Олаф
1

Чтобы упростить управление дескрипторами файлов журналов, вы можете рассмотреть возможность установки (или активации ... Я не знаю, если в Ubuntu есть это при установке по умолчанию) LOGWATCH. Очень приятно, что вы каждый день отправляете сводку на электронную почту. Обычно он подхватывает некоторые интересные вещи, которые может не раскрыть glance @ configs.


источник
1

Если вы цените свой сервер и его данные, обратитесь за помощью. Попросите кого-нибудь проверить это.

Если вы не знаете, как выглядит «правильно», тогда может быть трудно определить, где что-то «неправильно» (или, как вы говорите «фанк»). Когда-то сервер находится в известном исправном состоянии.

Использование чего-то вроде VMWare Converter для создания промежуточной виртуальной машины на сервере - это ОТЛИЧНАЯ идея, вы должны рассмотреть это.

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

JamesBarnett
источник
0

Сделав то, что говорит Ричард Холлоуэй; затем выполните сканирование сети системы, чтобы проверить, какие услуги предоставляет сервер, и сопоставить это с имеющимися у вас данными. Можно сделать действительно интересное Linux вещи, которые трудно найти, просто просматривая логи.

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

Dru
источник