Исследование уровня безопасности операционной системы Linux
, перечисленных в файле fstab, на
которых включена поддержка квот, и которые не являются файловыми системами
NFS. Параметр –u указывает выполнить проверку квот для пользователей на
разделах, перечисленных в файле /etc/mtab. Файл /etc/mtab модифицируется
при монтировании и размонтировании любой файловой системы и содержит все
файловые системы, смонтированные на текущий момент. Параметр –g выполняет
ту же функцию, что и параметр –u, но только для групп. Последний параметр
не имеет значения, если квота включена только для пользователей, но, чтобы
в дальнейшем при изменении конфигурации не возникало проблем, рекомендую
добавлять этот параметр.
Желательно сделать так, чтобы механизм квот активировался сразу после
монтирования файловых систем. Монтирование файловых систем при запуске
Linux RedHat выполняется в файле /etc/rc.d/init.d/rc.sysinit. В том же
файле сразу после монтирования следует код, который запускает программы
quotacheck и quoaton с указанными параметрами, если они присутствуют в
системе. Следовательно, для Linux RedHat добавлять код запуска программ не
нужно, поскольку он уже присутствует по умолчанию. Для других версий ОС
Linux этот код, возможно, придется добавлять вручную.
Во время загрузки системы программа quotacheck выполнит проверку
файловых систем с включенными квотами на наличие файлов квот и, если файлы
отсутствуют, quotacheck создаст их в корневом каталоге этой файловой
системы. В данном случае в каталоге /home появится файл aquota.user, в
котором будет храниться информация о пользовательских квотах.
Далее, используя программу setquota, необходимо выполнить настройку
квот для каждого пользователя, имеющего домашний каталог в разделе /home.
Это можно сделать командой:
[root@app /]# setquota –u <имя_пользователя> 10240 0 1000 0 /dev/hda3
Приведенная команда установит ограничение дискового пространства в 10
Мбайт с максимальным количеством возможных файлов – 1000 для указанного
пользователя. Для пользователя anna эта команда будет иметь вид:
[root@app /]# setquota –u anna 10240 0 1000 0 /dev/hda3
Если квота остальных пользователей должна быть идентична приведенной,
что как раз и требуется для реализации, квоту пользователя anna можно
использовать как шаблон. Далее при создании квоты для пользователя igor
параметры квотирования пользователя anna просто копируются:
[root@app /]# setquota –u –p anna igor /dev/hda3
В результате выполнения команды пользователь igor получает те же
настройки квоты, что и пользователь anna, в данном случае ему выделяется 10
Мбайт на хранение 1000 файлов. Вышеприведенную команду необходимо выполнить
для всех пользователей системы.
Просмотр сделанных настроек позволяет выполнить программа repquota.
Вызов этой программы с параметрами –a выводит достаточно удобочитаемый
подробный отчет по всем файловым системам с включенной поддержкой квот.
[root@app /]# repquota -a
*** Report for user quotas on device /dev/hda3
Block grace time: 00:00; Inode grace time: 00:00
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------
...
anna -- 4 2097152 0 1 0 0
igor -- 4 2097152 0 1 0 0
...
Для обеспечения надежности работы механизма квот, необходимо время от
времени производить проверку целостности файла aquota.user на предмет
наличия ошибок. Для этой цели можно использовать программу-планировщик
cron, которая является стандартной практически для всех версий ОС Linux.
На момент проверки файловой системы рекомендуется отключить поддержку
механизма квот для этой файловой системы во избежание повреждений. Для
этого перед запуском quotacheck необходимо выполнить программу quotaoff.
Выполнение указанной последовательности можно реализовать, создав отдельный
исполняемый файл, например /usr/sbin/chkquota, который может иметь
следующее содержание:
#!/bin/bash
# Turn off quotas
quotaoff –aug
# Check quotas
quotacheck –aug
# Turn on quotas
quotaon –aug
Тогда строка запуска проверки квот в конфигурационном файле
/etc/crontab программы cron может выглядеть следующим образом:
0 3 * * 0 root /usr/sbin/chkquota
Эта конфигурация позволяет выполнять проверку квот каждое воскресенье в
три часа ночи. Для более детального ознакомления с форматом файла
/etc/crontab существуют man-руководства, включенные в пакет cron.
ПРИМЕР 5.
Исходные данные: ОС Linux RedHat 7.3 без графической оболочки.
Назначение - сервер приложений. Программное обеспечение – библиотека pam-
0.75-32.
Задача: настроить ограничения ресурсов, используемых в процессе работы,
для пользователей группы users. Необходимо ограничить количество
одновременно запущенных процессов до 20, количество одновременно открытых
файлов до 30 и запретить создание каких-либо файлов ядра.
Реализация.
Ограничением ресурсов занимается модуль pam_limits. Этот модуль
использует файл конфигурации /etc/security/limits.conf, в котором и
задаются необходимые параметры ограничения. Файл состоит из строк, каждая
из которых определяет ограничение на определенный вид ресурса. Формат
строки следующий:
<субъект_ограничения> <тип> <объект_ограничения> <значение>
Субъектом ограничения может быть либо одиночный пользователь, либо
группа, которая определяется добавлением знака @ перед ее именем, либо
значок *, означающий, что ограничение должно распространяться на всех без
исключения. Для реализации задачи субъектом ограничения будет служить слово
@users.
Тип ресурса может быть либо soft, либо hard. Значение soft задает
мягкое ограничение на использование указанного ресурса, а значение hard
определяет жесткое или абсолютное предельное значение использования
ресурса. Для реализации задачи лучше всего будет указать жесткое
ограничение на все виды ресурсов.
Объект ограничения указывает, на какой вид ресурса распространяется это
ограничение. Для реализации задачи в качестве ограничиваемых объектов
необходимо указать следующие параметры:
nproc – количество одновременно запущенных процессов. Должно иметь
значение 20.
nofile – количество одновременно открытых файлов. Должно быть
установлено в 30.
core – размер файла ядра. Для запрета на создание файлов ядра значение
этого параметра должно быть установлено в 0.
В результате файл /etc/security/limits.conf будет иметь вид:
@users hard nproc 20
@users hard nofile 30
@users hard core 0
Для того, чтобы активизировать ограничение ресурсов для конкретного
приложения, вызов модуля pam_limits необходимо добавить в соответствующий
файл сценария библиотеки PAM. Для локального входа пользователей этим
приложением является программа login, которая имеет одноименный файл
сценария в каталоге /etc/pam.d. После модификации файл /etc/pam.d/login
может выглядеть следующим образом:
#%PAM-1.0
auth required pam_securetty.so
auth required pam_stack.so service=system-auth
auth required pam_nologin.so
account required pam_stack.so service=system-auth
password required pam_stack.so service=system-auth
session required pam_stack.so service=system-auth
session optional pam_console.so
session required pam_limits.so
Последняя строка предписывает библиотеке PAM использовать модуль
pam_limits, причем успешное прохождение через этот модуля является
необходимым для успешного завершения процесса аутентификации в целом.
Для терминального доступа по протоколу ssh вызов модуля pam_limits
необходимо также добавить в файл /etc/pam.d/sshd. В итоге этот файл может
быть таким:
#%PAM-1.0
auth required pam_stack.so service=system-auth
auth required pam_nologin.so
account required pam_stack.so service=system-auth
password required pam_stack.so service=system-auth
session required pam_stack.so service=system-auth
session optional pam_console.so
session required pam_limits.so
При такой конфигурации как локальный, так и удаленный доступ для
пользователей группы users будет иметь ограничения на указанные ресурсы.
ПРИМЕР 6.
Исходные данные: ОС Linux RedHat 7.3 без графической оболочки.
Назначение - маршрутизатор. Программное обеспечение – iptables-1.2.5,
ядро версии 2.4.22, собранное с поддержкой netfilter и iptables. На сервере
установлены три сетевые карты. С помощью двух сетевых карт под
символическими именами eth0 и eth1 сервер связывает две локальные TCP/IP
сети с различными диапазонами IP адресов. Первая сеть имеет адрес
192.168.0.0, вторая – 192.168.1.0, обе сети имеют маску 255.255.255.0.
Сетевая карта eth0 имеет IP адрес 192.168.0.1, а eth1 – 192.168.1.1. Третья
сетевая карта с символическим именем eth2 имеет реальный сетевой адрес
144.333.333.333 обеспечивает выход в Интернет.
Задача: настроить межсетевой экран с повышенными требованиями к
безопасности. Из сети Интернет необходимо открыть доступ к HTTP-серверу,
почтовой службе, функционирующей по протоколу SMTP, серверу имен DNS, а
также терминальный доступ по протоколу SSH. Компьютеры обеих локальных
се
| | скачать работу |
Исследование уровня безопасности операционной системы Linux |