Назад | Перейти на главную страницу

Собираем детали после отсутствия администратора Linux

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

Мои вопросы:

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

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

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

Вот это да. Когда начать.

Я бы так и поступил, но, надеюсь, другие подбегут и предложат больше / лучше.

Сначала не паникуйте. Я предполагаю, что вы теперь 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-накопитель другой машины.

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

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

Некоторые вещи для начала:

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

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

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

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

Если вы цените свой сервер и его данные, получите помощь. Найдите кого-нибудь для аудита.

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

Используя что-то вроде VMWare Converter для сделать промежуточную виртуальную машину сервера является ЗДОРОВО идея, вы должны изучить это.

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

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

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