Linux глазами хакера
Шрифт:
В этом случае права доступа к файлу будут
Привилегии SUID и GUID достаточно удобны и полезны, но, с другой стороны, они таят в себе очень много проблем. Например, гость, обладающий минимальными правами, запускает программу с установленным битом SUID, владельцем которой является пользователь root. Это значит, что программа будет работать с правами root, а не гостевыми параметрами пользователя. Если в ней окажется ошибка, через которую можно выполнять команды на сервере, то эти директивы будут реализовываться от
Биты SUID и GUID нужно использовать аккуратно, и в любом случае владельцем программ не должен быть root или другой привилегированный пользователь. Лучше, если это будет специально заведенная для этой программы учетная запись, которая обладает только теми правами, которые необходимы пользователю.
Рассмотрим еще один пример. Допустим, гость не должен иметь прямого доступа к каталогу /home/someone, а для работы программы он необходим. Чтобы не открывать ему лишних возможностей, нужно завести отдельного пользователя с правами доступа на каталог /home/someone, сделать его владельцем программы и установить бит SUID. Если в программе будет найдена ошибка, то взломщик получит доступ к /home/someone, но все остальные разделы диска останутся недоступными.
Такая политика соответствует нашему основному правилу "Что не разрешено, то запрещено" и обеспечит максимальную безопасность сервера.
4.6. Дополнительные возможности защиты
Помимо прав доступа у любого файла есть еще и атрибуты, которые позволяют построить дополнительную стену безопасности на пути взломщика. Единственное условие — атрибуты могут использоваться только на файловых системах Ext2 и Ext3. Но ограничением это можно назвать с большой натяжкой, потому что Ext3 уже давно становится стандартом для всех дистрибутивов.
Просмотреть текущие атрибуты можно с помощью команды
Первая строка демонстрирует использование команды, а во второй — отображается результат работы. Как видите, мы получили набор символов тире вместо атрибутов, а значит, ни один из них не определен.
Для установки атрибута применяется команда
Если требуется рекурсивное изменение доступа к каталогу и всем содержащимся в нем файлам и подкаталогам, можно использовать ключ
Приведу перечень атрибутов, применяемых в команде
□
□
□
□
□
□
Для установки атрибута перед ним нужно поставить знак плюс, для снятия — знак минус. Рассмотрим несколько примеров:
В первой строке мы добавляем атрибут
Итак, у нашего файла два взаимоисключающих атрибута. Один запрещает изменения, другой требует полного стирания с диска. Что произойдет, если мы попытаемся удалить файл. Посмотрим?
В первой строке мы выполняем команду удаления файла. На это ОС просит подтвердить операцию над защищенным от записи файлом (сообщение показано во второй строке). Как видите, ОС определила наш атрибут
Давайте снимем атрибут
После отмены атрибута я использовал команду
4.7. Защита служб
В данной книге будет рассматриваться множество серверных служб. Безопасность их работы для системы в целом зависит не только от правильной настройки самой службы, но и от прав, которые вы ей дадите. Хакеры очень часто атакуют определенные сервисы и ищут в них изъяны, через которые можно было бы проникнуть в систему, а как мы знаем, ошибки есть всегда и везде.
Во время написания этой книги на мой сайт было произведено несколько удачных атак, потому что в силу занятости я просто не обновлял свой сайт, который располагался на сервере известной хостинговой компании. За два дня на сайте дважды меняли главную страницу, а потом злоумышленники захватили форум. Мне пришлось его убирать в недоступное место, чтобы восстановить свои права администратора, напрямую редактируя базу данных MySQL.
Как произошел взлом? На сайте стоял форум phpBB. Это один из популярных движков и абсолютно бесплатный, поэтому его выбирают многие владельцы сайтов. Большинство хакеров стремятся найти ошибки в наиболее известных разработках, и иногда им это удается. Только своевременное обновление форума (в данном случае) позволяет защититься от нападения.