![]() | |||||||||
15.15. Другой пример: Использование MAC для защиты веб сервераБудет создано отдельное хранилище для веб данных, к которому пользователи должны иметь доступ. Это позволит biba/high управлять доступом к веб данным. Начните с создания каталога для хранения веб данных: # mkdir /usr/home/cvs Теперь инициализируйте его командой cvs: # cvs -d /usr/home/cvs init Для начала необходимо включить политику biba, добавив mac_biba_enable="YES" в /boot/loader.conf. Предполагается, что ядро скомпилировано с поддержкой MAC. Далее установите метку biba/high для всей системы по умолчанию. В файл login.conf, класс default, необходимо внести следующие изменения: :ignoretime@:\ :umask=022:\ :label=biba/high: Каждого пользователя необходимо поместить в класс по умолчанию; такая команда: # for x in `awk -F: '($3 >= 1001) && ($3 != 65534) { print $1 }' \ /etc/passwd`; do pw usermod $x -L default; done; быстро решит эту задачу. Теперь создадим другой класс, web, копию класса default с меткой, установленной в biba/low. Создайте пользователя для работы с основными веб данными, хранящимися в репозитории cvs. Этого пользователя необходимо поместить в новый класс, web. Поскольку метка по умолчанию biba/high, на репозитории она будет той же. Веб данные должны иметь ту же метку, чтобы у пользователей был доступ к ним на чтение/запись. Веб сервер должен иметь доступ к тем же данным, к которым есть доступ у пользователей с меткой biba/high, для этого необходимо понизить метку данных. Все, что потребуется, это следующий sh(1) скрипт, который может быть запущен из cron(8): PATH=/bin:/usr/bin:/usr/local/bin; export PATH; CVSROOT=/home/repo; export CVSROOT; cd /home/web; cvs -qR checkout -P htdocs; exit;
Этот скрипт теперь может быть помещен в домашний каталог каталог пользователя web, необходимо также добавить следующую запись crontab(1): # Выполнять checkout web данных под меткой biba/low каждые 12 часов: 0 */12 * * * web /home/web/checkout.sh Эта запись будет извлекать HTML страницы каждые двенадцать часов. Метод запуска веб сервера по умолчанию также должен быть изменен для запуска процесса с меткой biba/low. Это может быть сделано путем следующего изменения в скрипте /usr/local/etc/rc.d/apache.sh: command="setpmac biba/low /usr/local/sbin/httpd" Настройки Apache должны быть изменены для работы с политикой biba/low. В этом случае необходимо указать для хранения лог файлов каталог с меткой biba/low, иначе будут возвращены ошибки “access denied”.
Необходимо также изменить другие параметры конфигурации, включая PID файл, Scoreboardfile, DocumentRoot, или любые другие настройки для каталогов, где необходим доступ на запись. При использовании biba будет запрещен доступ на запись во все каталоги сервера, на которых нет метки biba/low.
Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ | |||||||||
2008 © osinf.ru, при публикации активная ссылка обязательна. |