Глава 40 Действия при нештатных ситуациях
Глава 40 Действия при нештатных ситуациях
Эта глава посвящена возможным решениям проблем, возникающих с операционной системой либо с жестким диском. Большая часть таких ситуаций должна учитываться при составлении планов восстановления. Как правило, эти проблемы возникают неожиданно, и иметь соответствующие навыки по их решению необходимо, поскольку по известным законам неприятность возникает именно тогда, когда «упавшая» система нужна всем и немедленно. Большая часть материала этой главы основывается на книге «Системное администрирование Linux» (см. приложение 5).
Утрата пароля root
Обычно эта ситуация встречается при смене администратора либо когда в фирме работают несколько администраторов, а сопровождение системы поставлено плохо. Иногда такая неприятность случается, когда кто-то редактирует файл /etc/passwd вручную, а в это время отключают электроэнергию. Пароль, наконец, можно просто забыть.
Для решения этой проблемы существуют несколько вариантов, которые мы сейчас и рассмотрим.
Восстановление без перезагрузки
Если на одной из виртуальных консолей сохранился открытым сеанс пользователя root (работать под пользователем root, вообще-то, вопиющее нарушение трудовой дисциплины и безопасности системы), восстановить пароль root проще простого – можно воспользоваться командой passwd. Как вариант – отредактировать файлы passwd и shadow таким образом, чтобы пользователя root пускали без пароля и опять-таки воспользоваться командой passwd.
Перезагрузка в однопользовательском режиме
Для доступа к системным файлам можно перегрузить систему в режиме одиночного пользователя.
Для безопасного выполнения перезагрузки с системной консоли достаточно нажать комбинацию клавиш <Ctrl>+<Alt>+<Delete>. Однако не везде операционная система настроена таким образом, что позволяет любому пользователю перегрузить операционную систему. Также можно попробовать команды reboot, poweroff, halt, однако на серверах обычно операционная система настраивается таким образом, что перегрузить ее может либо пользователь root, либо специально выделенный пользователь.
При компиляции ядра в него иногда включают средства поддержки функции Magic SysRq, предназначенной для принудительного выполнения перезагрузки компьютера или ввода команд sync и unmount.
Ниже перечислены комбинации клавиш, которые удобно использовать для обращения к данной функции.
• <Alt>+<SysRq>+<s> – предпринимается попытка выполнить команду sync для всех смонтированных файловых систем;
• <Alt>+<SysRq>+<u> – последовательно выполняются команды unmount и remount в режиме "только для чтения";
• <Alt>+<SysRq>+<b> – выполняется перезагрузка системы.
Если перезагрузить систему с помощью упомянутых корректных методов все же не удастся, постарайтесь минимизировать разрушения файловых систем, которые могут возникнуть в связи с аварийным выключением системы. Лучше всего такие действия производить тогда, когда для восстановления операционной системы у вас будет достаточно много времени, например по окончании рабочего дня или на выходные. При аварийном выключении компьютера файловые системы не будут корректно демонтированы, и после перезагрузки системы автоматически запустится программа fsck. На сервере с большим объемом дискового пространства выполнение программы может занять несколько часов.
После перезагрузки компьютера нам необходимо загрузить операционную систему в однопользовательском режиме. Как правило, для этого достаточно указать параметр single. При использовании в качестве загрузчика операционной системы программы LILO в командную строку достаточно ввести следующую команду:
LILO: linux single
После этого операционная система должна загрузиться в однопользовательском режиме. Однако иногда операционная система настраивается так, что для перевода операционной системы в однопользовательский режим необходимо указывать пароль пользователя root. Если операционная система настроена именно так, то при выполнении команды init она потребует ввести соответствующий пароль. Для решения этой проблемы можно воспользоваться следующим вариантом запуска операционной системы Linux:
LILO: linux init=/bin/sh
В результате нормальное выполнение загрузки операционной системы будет отменено, лишь только запустится командная оболочка.
В вышеприведенных примерах подразумевается, что используется пункт меню программы LILO, имеющий название linux. Узнать, какие, собственно, варианты загрузки существуют на вашем компьютере можно в тот момент, когда программа LILO ожидает ввода команды. Список доступных для загрузки ядер можно вывести с помощью клавиши <ТаЬ>.
Помимо вышеописанных сложностей, вполне может оказаться, что ваш загрузчик операционной системы (LILO в данном случае) настроен на использование паролей, значения которых указываются в файле /etc/lilo.conf. Этот режим применяется для запроса специальных паролей в случае загрузки определенных конфигураций системы.
В этом случае без так называемой гевсие-дискеты делать нам нечего. В дистрибутиве Red Hat Linux инсталляционный диск содержит вариант использования компакт-диска в качестве гевсие-дискеты.
Восстановление пароля root после перезагрузки
После успешной загрузки выполните команду mount для корневой файловой системы (в том случае, если вы производили загрузку операционной системы с дискеты или CD-ROM) или заново смонтируйте ее в режиме доступа «для чтения/записи» (в случае обычной загрузки в режиме single или init=/bin/sh).
Для монтирования корневой файловой системы в режиме доступа "для чтения/записи" можно воспользоваться приведенной ниже командой:mount -о remount, rw /
Если схема размещения файловых систем вам незнакома, можно с помощью команды fdisk -1 вывести список существующих дисковых разделов. Монтируя по очереди дисковые разделы, выясните, на каком именно разделе находится каталог /etc.
Теперь можно удалить прежний пароль пользователя root путем редактирования файлов /etc/passwd или /etc/shadow. Однако иногда удобней изменить пароль, просто скопировав его из записи пользователя, пароль которого достоверно известен.
Если в системе применяется РАМ или подобный ему пакет, настроенный на предупреждение использования пустых паролей, скопируйте хэшированное значение пароля, соответствующее некоторому известному вам паролю.
Если корневая файловая система жесткого диска была смонтирована в каталоге /mnt (при загрузке системы с аварийной дискеты), то с помощью команды chroot можно указать, с какой именно копией файла passwd должны работать такие команды, как passwd.
После того как корневая файловая система будет смонтирована в режиме доступа "для чтения/записи", с помощью команды chroot можно сделать ее корневой для всех процессов оболочки. В этом случае для установки нового значения пароля можно просто воспользоваться командой passwd. Данный вариант обеспечивает автоматическое корректное обновление любых файлов, используемых средствами синхронизированной аутентификации.
Если файл /etc/passwd был разрушен, скопируйте его с любой машины, имеющей сходные параметры настройки, или с аварийной дискеты, а еще лучше – извлеките этот файл из резервной копии системы.
Устранение последствий атак хакеров
Это большая и сложная тема. Действия, которые следует предпринимать после различных нарушений защиты системы, описывались в главе, посвященной безопасности системы (см. гл. 7).
Вкратце алгоритм решения проблемы, вызванной атакой, приведен ниже.
1. Отключить компьютер от сети как Интернет, так и от локальной, поскольку зачастую целью атаки является либо получение информации, находящейся на атакованном компьютере, либо использование взломанного компьютера в качестве плацдарма для организации атак на другие компьютеры сети.
2. Переустановить с нуля операционную систему, безжалостно уничтожив всю информацию на жестком диске. В принципе, если вам позволяют время и возможности – желательно установить, каким образом был произведен взлом операционной системы. Для этого необходимо действовать двумя путями:
– на основании log-файлов операционной системы попытаться выяснить, когда и каким образом произошел взлом;
– просмотреть на сайте производителя дистрибутива (в разделе bagtraq или в рассылках по безопасности) информацию о всех найденных со времени выхода дистрибутива (или обновления вами соответствующих пакетов операционной системы) брешах в безопасности используемых вами пакетов. При обнаружении в пакетах различных «дыр», как правило, патчи этих пакетов выходят достаточно оперативно – обычно это занимает день-два.Данный текст является ознакомительным фрагментом.