Linux глазами хакера - [28]

Шрифт
Интервал

Для начала взглянем на 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

Теперь выполним команду


Рекомендуем почитать
Это ваше Fido

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


Безопасность информационных систем

В пособии излагаются основные тенденции развития организационного обеспечения безопасности информационных систем, а также подходы к анализу информационной инфраструктуры организационных систем и решению задач обеспечения безопасности компьютерных систем.Для студентов по направлению подготовки 230400 – Информационные системы и технологии (квалификация «бакалавр»).


UNIX — универсальная среда программирования

В книге американских авторов — разработчиков операционной системы UNIX — блестяще решена проблема автоматизации деятельности программиста, системной поддержки его творчества, выходящей за рамки языков программирования. Профессионалам открыт богатый "встроенный" арсенал системы UNIX. Многочисленными примерами иллюстрировано использование языка управления заданиями shell.Для программистов-пользователей операционной системы UNIX.


QNX/UNIX: Анатомия параллелизма

Книга адресована программистам, работающим в самых разнообразных ОС UNIX. Авторы предлагают шире взглянуть на возможности параллельной организации вычислительного процесса в традиционном программировании. Особый акцент делается на потоках (threads), а именно на тех возможностях и сложностях, которые были привнесены в технику параллельных вычислений этой относительно новой парадигмой программирования. На примерах реальных кодов показываются приемы и преимущества параллельной организации вычислительного процесса.


Виртуальные  машины: несколько компьютеров в  одном

Применение виртуальных машин дает различным категориям пользователей — от начинающих до IT-специалистов — множество преимуществ. Это и повышенная безопасность работы, и простота развертывания новых платформ, и снижение стоимости владения. И потому не случайно сегодня виртуальные машины переживают второе рождение.В книге рассмотрены три наиболее популярных на сегодняшний день инструмента, предназначенных для создания виртуальных машин и управления ими: Virtual PC 2004 компании Microsoft, VMware Workstation от компании VMware и относительно «свежий» продукт — Parallels Workstation, созданный в компании Parallels.


Недокументированные и малоизвестные возможности Windows XP

Книга содержит подробные сведения о таких недокументированных или малоизвестных возможностях Windows XP, как принципы работы с программами rundll32.exe и regsvr32.exe, написание скриптов сервера сценариев Windows и создание INF-файлов. В ней приведено описание оснасток, изложены принципы работы с консолью управления mmc.exe и параметрами реестра, которые изменяются с ее помощью. Кроме того, рассмотрено большое количество средств, позволяющих выполнить тонкую настройку Windows XP.Эта книга предназначена для опытных пользователей и администраторов, которым интересно узнать о нестандартных возможностях Windows.