Книга: Разработка приложений в среде Linux. Второе издание
22.2.3. Ограничение доступа к файловой системе
22.2.3. Ограничение доступа к файловой системе
Еще одним способом устранения ошибок в кодах, предоставляющих возможность для атак, является ограничение набора файлов, к которым программа имеет доступ, с помощью системного вызова chroot()
. Как обсуждалось в главе 14, метод chroot()
, сопровождающийся вызовом chdir()
, изменяет корневой каталог процесса, ограничивая совокупность файлов, доступных процессу. Это не предотвращает возможность эксплуатации, но иногда может нарушать работу приложения. Если сетевой сервер, работающий как не root, эксплуатируется удаленно, то данному удаленному пользователю значительно труднее применить этот сервер в качестве базы локальной эксплуатации, поскольку он не сможет получить доступ ни к каким setuid-файлам (этим могут воспользоваться наиболее простые локальные эксплуатации программ).
Анонимные ftp-серверы являются наиболее распространенными программами, использующими преимущества механизма chroot()
. В последнее время он становится более популярным и в других программах, многие системные администраторы применяют команду chroot
для того, чтобы перевести работу системных демонов в ограниченное окружение и предусмотреть проникновение "незваных гостей".
- Восстановление из резервной копии на системе-приемнике
- Ограничение времени ожидания для транзакций (Lock timeout)
- Ограничение результатов выборки FIRST
- 9.4. Права доступа к squid
- Создание многофайловой базы данных
- 10.5. Транзакции и пути доступа меню
- Глава 5. Разработка и анализ бизнес-планов в системе Project Expert
- Настройка доступа пользователей к рабочей книге
- 3. Ограничение целостности по состоянию
- 1. Ограничение функциональной зависимости
- 3.5 Проблемы доступа при использовании нескольких протоколов
- ГЛАВА 5. СИСТЕМНЫЕ ОПЕРАЦИИ ДЛЯ РАБОТЫ С ФАЙЛОВОЙ СИСТЕМОЙ