Управление доступом к службам
Глава 20. Управление доступом к службам
Поддержка безопасности вашей системы Red Hat Linux чрезвычайно важна, и один из способов её обеспечить — аккуратно управлять доступом к системым службом. Иногда необходимо открыть доступ к некоторым службам вашей системы (например, httpd, если у вас работает веб-сервер). Однако, если вам не нужно предоставлять службу клиентам, следует отключить её, чтобы уменьшить степень воздействия на систему программ, эксплуатирующих возможные ошибки.
Существует несколько различных способов управления доступом к системным службам. Выбирайте подходящий способ, учитывая особенности службы, конфигурацию системы и уровень ваших знаний Linux.
Самый простой способ запретить доступ к службе — отключить её. Запускать и останавливать службы, управляемые xinetd, а также службы в иерархии /etc/rc.d/init.d (также называемые службами SysV) можно с помощью трёх различных приложений:
Средство Настройка служб (Services Configuration Tool) — графическое приложение, отображающее описание каждой службы, тип запуска при загрузки системы (для уровней выполнения 3, 4, и 5), и позволяющее запускать, останавливать или перезапускать службы.
ntsysv — текстовое приложение, позволяющее определить службы, запускаемые при загрузке системы для каждого уровня выполнения. С помощью этой программы не могут быть запущены, остановлены или перезапущены не-xinetd службы.
chkconfig — программа командной строки, позволяющая включать и отключать службы для различных уровней выполнения. С помощью этой утилиты не могут быть запущены, остановлены или перезапущены не-xinetd службы.
Использовать эти средства проще, чем альтернативный способ — редактировать множество ссылок, расположенных в каталогах: /etc/rc.d вручную или изменять файлы настроек xinetd в /etc/xinetd.d.
Другой способ управления доступом к системным службам — использовать iptables для настройки IP-брандмауэра. Если вы новичок в Linux, вам следует понять, что iptables может оказаться для вас не лучшим решением. Настройка iptables может быть непростой задачей, её лучше выполнять опытным системным администраторам Linux.
С другой стороны, преимуществом использования iptables является гибкость. Например, если вам нужны особые правила, разрешающие доступ определённых узлов к определённым службам, вы сможете определить их в iptables. Обратитесь к Справочному руководству по Red Hat Enterprise Linux и Руководству по безопасности Red Hat Enterprise Linux за дополнительной информацией об iptables.
Если же вам нужна утилита для назначения простых правил доступа к вашему домашнему компьютеру и/или вы мало знакомы с Linux, попробуйте средство Настройка уровня безопасности (Security Level Configuration Tool) (system-config-securitylevel), с помощью которого вы можете выбрать уровень безопасности для своей системы, так же, как и в диалоге Настройка брандмауэра (Firewall Configuration) во время установки системы.
За дополнительными сведениями обратитесь к главе 19 Основная настройка брандмауэра. Если вам нужны более точные правила брандмауэра, обратитесь к разделу iptables Справочного руководства по Red Hat Enterprise Linux.
20.1. Уровни выполнения
Для того чтобы суметь правильно настроить доступ к службам, вы должны понимать, что такое уровни выполнения Linux. Уровень выполнения — это состояние или режим, который определяется службами, перечисленными в каталоге /etc/rc.d/rc<x>.d, где <x> — номер уровня выполнения.
Существуют следующие уровни выполнения:
0 — Останов
1 — Режим одного пользователя
2 — Не используется (определяется пользователем)
3 — Полный многопользовательский режим
4 — Не используется (определяется пользователем)
5 — Полный многопользовательский режим (с графическим экраном входа в систему)
6 — Перезагрузка
Если вы используете текстовый экран входа, вы работаете в уровне выполнения 3. Если вы используете графический экран, вы работаете в уровне выполнения 5.
Уровень выполнения по умолчанию может быть изменён в файле /etc/inittab, который содержит в начале строку, подобную следующей:
id:5:initdefault: |
Подставьте вместо числа в этой строке требуемый уровень выполнения. Изменения не вступают в силу до перезапуска системы.
Чтобы изменить уровень выполнения немедленно, выполните команду telinit, добавив номер уровня выполнения. Чтобы использовать эту команду, вы должны быть пользователем root. Команда telinit не меняет файл /etc/inittab, она меняет только текущий уровень выполнения. После перезагрузки система по-прежнему будет загружать уровень выполнения, указанный в файле /etc/inittab.