Михаил Флёнов - Linux глазами хакера
- Название:Linux глазами хакера
- Автор:
- Жанр:
- Издательство:БХВ-Петербург
- Год:2005
- Город:Санкт-Петербург
- ISBN:5-94157-635-8
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Михаил Флёнов - Linux глазами хакера краткое содержание
Рассмотрены вопросы настройки ОС Linux на максимальную производительность и безопасность. Описаны потенциальные уязвимости и рекомендации по предотвращению возможных атак. Дается подробное описание настройки прав доступа и конфигурирования сетевого экрана. Показано, как действовать при атаке или взломе системы, чтобы максимально быстро восстановить ее работоспособность и предотвратить потерю данных.
Для пользователей, администраторов и специалистов по безопасности
Linux глазами хакера - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Пример результата выполнения команды:
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/hda2 16002200 2275552 12913760 15% /
none 127940 0 127940 0% /dev/shm
Результирующая таблица состоит из следующих колонок:
□
Filesystem
— диск, файловая система которого смонтирована;
□
1k-blocks
— количество логических блоков;
□
Used
— количество использованных блоков;
□
Available
— количество доступных блоков;
□
Use%
— процент использованного дискового пространства;
□
Mounted on
— монтировка файловой системы.
mount
Команда предназначена для монтирования файловых систем. Она достаточно сложна, и ее используют системные администраторы.
Если вы работали с ОС Windows, то скорей всего привыкли к тому, что дискеты, CD-диски и другие съемные носители становятся доступными сразу же, как только вы поместили их в устройство чтения. В Linux это не так, и многие не могут сжиться с этой особенностью. К таким пользователям отношусь и я, т.к. до сих пор не могу привыкнуть, что нужно выполнять дополнительные команды, хотя и прекрасно понимаю, что они необходимы.
Итак, чтобы CD-ROM стал доступным, надо выполнить команду
mount
, указав в качестве параметра устройство /dev/cdrom:
mount /dev/cdrom
После этого содержимое CD можно посмотреть в директории /mnt/cdrom. Получается, что файлы и директории диска как бы сливаются с файловой системой.
Почему именно в директорию /mnt/cdromподсоединяется CD-ROM? Секрет заключается в том, что для подключения CD-ROM нужно намного больше данных, чем дает одна команда
mount dev/cdrom
. Эти сведения хранятся в двух файлах, уже имеющихся в ОС и описывающих основные устройства и параметры по умолчанию — файлы fstab и mtab. Давайте по очереди разберем эти файлы.
Для начала взглянем на fstab:
# /etc/fstab: static file system information.
#
#
/dev/hda2 / ext3 defaults,errors=remount-ro 0 1
/dev/hda1 none swap sw 0 0
proc /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
none /dev/pts/ devpts gid=5,mode=620 0 0
/dev/cdrom /mnt/cdrom iso9660 noauto,owner,kudzu,ro 0 0
/dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0
Файл содержит строки для основных дисков. Каждая запись состоит из 6 колонок. Обратите внимание на первую строку. Здесь описывается подключение диска hda2. В моей файловой системе это основной диск, поэтому второй параметр — "/". Это значит, что диск будет монтирован как корневой. Третья колонка описывает файловую систему, в данном случае это Ext2. Параметр
rw
указывает на то, что устройство доступно для чтения и записи.
Предпоследняя строка в файле описывает устройство CD-ROM. Посмотрите внимательно на второй параметр
/mnt/cdrom
. Вот откуда берется путь к содержимому CD-диска. Четвертая колонка содержит опции монтирования, в которых можно описать параметры безопасности. В данном случае для CD-ROM здесь указано несколько опций: noauto, owner, kudzu, ro
. Очень важным здесь является параметр ro
, который говорит о возможности только чтения CD-ROM. Вполне логично установить этот параметр для всех приводов и устройств, с помощью которых хакер сможет снять информацию с сервера.
Файл mtab имеет примерно такое же содержимое:
#
/dev/hda2 / ext3 rw,errors=remount-ro 0 0
proc /proc proc rw 0 0
none /dev/shm tmpfs rw 0 0
none /dev/pts devpts rw,gid=5,mode=620 0 0
none /proc/sys/fs/binfmt_misc binfmt misc rw 0 0
/dev/cdrom /mnt/cdrom iso9660 ro,nosuid,nodev 0 0
Если вы создали какие-то разделы на отдельных дисках, то сможете настраивать и их. Я вам рекомендовал выделить таким образом раздел /homeс пользовательскими директориями. Если вы так и сделали, то в файле может быть еще одна строка примерно следующего вида:
/dev/hda3 /home ext3 rw,errors=remount-ro 0 0
Посмотрим на четвертый параметр. В нем содержатся опции монтирования, которыми можно управлять для повышения безопасности системы. Они перечислены через запятую. В нашем примере это
rw, errors=remount-ro
. В качестве опций монтирования дополнительно можно использовать:
□
noexec
— запрет выполнения файлов. Если вы уверены, что в разделе не должно быть исполняемых файлов, то можно использовать эту опцию. Например, в некоторых системах директория /homeдолжна хранить только документы. Чтобы хакер не смог записать в этот раздел свои программы, с помощью которых будет происходить взлом, добавьте этот параметр. Точнее сказать, программы поместить можно будет, а запустить — нет;
□
nosuid
— запрещает использование программ с битами SUID и SGID. В разделе /homeих быть не должно, поэтому можно явно запретить применение привилегированных программ. О SUID- и SGID-программах мы поговорим в разд . 4.5 ;
□
nodev
— запрещает использование файлов устройств;
□
nosymfollow
— запрещает использование мягких ссылок.
Опции
nodev
и nosymfollow
не сильно влияют на безопасность, но могут пригодиться.
Использование параметра
noexec
— бесполезное занятие и абсолютно не защищает систему от профессионального хакера, потому что опытный взломщик сможет запустить программу, если для выполнения разрешен хотя бы один раздел. А таковым всегда является раздел с директорией /binи другие каталоги, которые содержат необходимые для работы программы.
Допустим, что ваш сайт разрабатывается с использованием языка Perl. Если его интерпретатор доступен для выполнения, то взломщик сможет запускать сценарии программ Perl в любом разделе, в том числе и с установленным параметром
noexec
. Если для запуска сценария использовать командную строку, то вы получите сообщение о нарушении прав доступа. Но программа выполнится, если написать следующую команду:
perl file.pl
Несмотря на то, что
file.pl
находится в разделе, в котором запрещены исполняемые файлы, ошибки не будет, потому что запускается разрешенная программа perl
, которая в свою очередь читает файл (дозволенная операция) и выполняет его в своем адресном пространстве.
Вспомните описание файла mtab, где для CD-ROM стоит запрет на использование SUID- и SGlD-программ. То же самое необходимо сделать, как минимум, с разделами /homeи /tmp. Тогда пользователи не смогут создавать в своих директориях привилегированные программы, что позволит предотвратить большое количество возможных атак.
Итак, давайте попробуем смонтировать CD-ROM в другую директорию. Для этого сначала создадим ее:
mkdir /mnt/cd
Теперь выполним команду
mount /dev/cdrom /mnt/cd
Если на вашем компьютере установлено две ОС — Windows и Linux, то диск, скорее всего, содержит файловую систему FAT32 или NTFS. Следующие команды позволяют подключить FAT32 к Linux:
Интервал:
Закладка: