Чтение онлайн

ЖАНРЫ

Linux глазами хакера

Флёнов Михаил Евгеньевич

Шрифт:

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

Если при загрузке LILO отображается в виде простого текстового приглашения (характерно для дистрибутивов Red Hat), то необходимо ввести имя загружаемой системы (linux), потом ключевое слово

init=
и команду:

Linux Boot: linux init=команда

Чтобы

хакер не смог запустить систему, необходимо защитить LILO с помощью пароля. Для этого в конфигурационном файле после ключевого слова
image
добавьте строку:

password=пароль

Вот пример задания пароля qwerty на загрузку:

image=/boot/vmlinuz-2.4.18-5asp

password=qwerty

initrd=/boot/initrd.2.4.18-5asp.img

label=linux-2.4.18

root=/dev/hda2

read-only

Если на вашем компьютере установлены разные варианты системы, то необходимо для каждого из них указывать пароль. В следующем примере LILO позволяет загружать два ядра, и для обоих вводится свой пароль:

image=/boot/vmlinuz-2.4.18-5asp

password=qwerty

initrd=/boot/initrd.2.4.18-5asp.img

label=linux-2.4.18

root=/dev/hda2

read-only

image=/boot/vmlinuz-2.6.2

password=123456

initrd=/boot/initrd.2.6.2.img

label=linux-2.6.2

root=/dev/hda2

read-only

О конфигурировании LILO с двумя ядрами мы поговорим в разд. 3.8.4.

Если добавить параметр

password
до описания
image
, то указанный пароль будет действовать для всех ОС и ядер, загружаемых с помощью LILO.

Но пароль запрещает только основную загрузку, а возможность выполнения команд при старте системы сохраняется. Чтобы сделать и это невозможным, добавьте в конфигурационный файл lilo.conf после объявления пароля строку С ключевым словом

restricted
:

image=/boot/vmlinuz-2.4.18-5asp

password=qwerty

restricted

initrd=/boot/initrd.2.4.18-5asp.img

label=linux-2.4.18

root=/dev/hda2

read-only

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

lilo
. Таким образом, новые параметры будут записаны в загрузочную область и начнут действовать при следующем старте системы.

3.2.3. init

С помощью

LILO
запускается программа загрузки ОС, которая настраивает все необходимое оборудование, загружает драйверы и монтирует жесткие диски. По окончании этого процесса с винчестера запускается программа init, которая завершает загрузку.

У

программы init, как и у большинства других утилит Linux, есть свой конфигурационный файл, в котором можно производить определенные настройки (листинг 3.2). Этот файл называется inittab и расположен в папке /etc (полный путь /etc/inittab).

Листинг 3.2. Файл настройки программы inittab

#

# inittab This file describes how the INIT process

# should set up

# the system in a certain run-level.

#

# Author: Miquel van Smoorenburg,

# <miquels@drinkel.nl.mugnet.org>

# Modified for RHS Linux by Marc Ewing and

# Donnie Barnes

#

# Default runlevel. The runlevels used by RHS are:

# 0 - halt (Do NOT set initdefault to this)

# 1 - Single user mode

# 2 - Multiuser, without NFS (The same as 3, if you do not

# have networking)

# 3 - Full multiuser mode

# 4 - unused

# 5 - X11

# 6 - reboot (Do NOT set initdefault to this)

# id:5:initdefault:

# System initialization.

si::sysinit:/etc/rc.d/rc.sysinit

# What to do in single-user mode.

~~:S:wait:/sbin/sulogin

10:0:wait:/etc/rc.d/rc 0

11:1:rwait:/etc/rc.d/rc 1

12:2:wait:/etc/rc.d/rc 2

13:3:wait:/etc/rc.d/rc 3

14:4:wait:/etc/rc.d/rc 4

15:5:wait:/etc/rc.d/rc 5

16:6:wait:/etc/rc.d/rc 6

# Things to run in every runlevel.

ud::once:/sbin/update

# Trap CTRL-ALT-DELETE

ca::ctrlaltdel:/sbin/shutdown -t3 -r now

# When our UPS tells us power has failed,

# assume we have a few minutes

# of power left. Schedule a shutdown for 2 minutes from now.

# This does, of course, assume you have powerd installed

# and your

# UPS connected and working correctly.

pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"

# If power was restored before the shutdown kicked in,

Поделиться с друзьями: