Перейти к основному содержанию
Рецепты Linux

Main navigation

  • Основы
  • Система
  • Команды
  • Программы
  • Дистро
  • Интерфейсы
  • Устройства
  • Доки
User account menu
  • Войти

Строка навигации

  1. Главная
  2. Red Hat Enterprise Linux: Руководство по безопасности
  3. II. Настройка безопасности Red Hat Enterprise Linux
  4. Глава 5. Безопасность сервера

5.3. Защита NIS

NIS — это сокращение от Network Information Service (Сетевая информационная служба). Это RPC-служба ypserv, которая совместно с portmap и другими связанными службами распространяет карты имён, паролей и другую важную информацию компьютерам своего домена.

NIS-сервер состоит из нескольких приложений. Среди них следующие:

  • /usr/sbin/rpc.yppasswdd — так называемая служба yppasswdd, позволяющая пользователям менять свои пароли в NIS.

  • /usr/sbin/rpc.ypxfrd — служба ypxfrd, отвечающая за передачу карты NIS по сети.

  • /usr/sbin/yppush — приложение, реплицирующее изменяемые базы данных NIS на несколько серверов.

  • /usr/sbin/ypserv — демон NIS сервера.

Система NIS по современным стандартам довольно незащищённая. В ней отсутствуют механизмы проверки подлинности компьютера, а вся информация передаётся по сети в открытом виде, включая хэши паролей. Поэтому, настраивая в сети NIS, необходимо быть предельно осторожными. И что ещё больше усложняет ситуацию, стандартная конфигурация NIS небезопасна по своей природе.

Всем, кто собирается реализовать NIS сервер, рекомендуется сначала защитить службу portmap, как описывалось в разделе 5.2 Защита Portmap, а затем заняться следующими вопросами, например, проектированием сети.

5.3.1. Проектируйте сеть аккуратно

Так как NIS передаёт по сети важную информацию в открытом виде, важно, чтобы работающая служба была защищена брандмауэром и находилась в защищённой сети. Если информация NIS передаётся по незащищённой сети, она может быть перехвачена. Организовав сеть с учётом этих замечаний, вы избавляетесь от различных дыр в безопасности.

5.3.2. Используйте имя домена NIS и имя узла, подобные паролю

Все компьютеры в домене NIS могут с помощью команд получать информацию с сервера без проверки, если пользователь знает DNS имя узла NIS сервера и имя его NIS домена.

Например, если кто-то подключит к сети ноутбук или прорвётся в сеть снаружи (и умудрится подставить внутренний IP-адрес), следующая команда покажет карту /etc/passwd:

ypcat -d <NIS_domain> -h <DNS_hostname> passwd

Если взломщик имеет права root, он может получить файл /etc/shadow, выполнив следующую команду:

ypcat -d <NIS_domain> -h <DNS_hostname> shadow

ЗамечаниеЗамечание
 

Если используется Kerberos, файл /etc/shadow в карте NIS не хранится.

Чтобы усложнить для взломщика доступ к картам NIS, выберите для DNS имени узла случайную строку, например, o7hfawtgmhwg.domain.com. Аналогично выберите другое случайное имя для домена NIS. Это значительно усложнит доступ к NIS серверу для взломщика.

5.3.3. Отредактируйте файл /var/yp/securenets

Если файл /var/yp/securenets пустой или не существует (как в случае установки по умолчанию), NIS принимает подключение из любых сетей. Первое, что следует сделать — задать в этом файле пары «маска сети/сеть», чтобы ypserv отвечал на запросы только из определённых сетей.

Ниже приведён пример записи из файла /var/yp/securenets:

255.255.255.0     192.168.0.0

ПредупреждениеПредупреждение
 

Никогда не запускайте NIS сервер, не создав файла /var/yp/securenets.

Этот приём не защищает от атаки с подменой IP-адреса, но, по крайней мере, он ограничивает сети, обслуживаемые NIS-сервером.

5.3.4. Назначение статических портов и использование правил IPTables

Всем связанным с NIS службам можно назначить конкретные порты, кроме rpc.yppasswdd — демона, позволяющего пользователям менять свои пароли. Назначив порты двум другим демонам NIS: rpc.ypxfrd и ypserv, вы можете создать правила брандмауэра, чтобы сильнее защитить этих демонов от взломщиков.

Для этого поместите в /etc/sysconfig/network следующие строки:


YPSERV_ARGS="-p 834"
YPSERV_ARGS="-p 835"

Затем можно применить следующие правила IPTables и ограничить сеть, имеющую доступ к этим портам:

iptables -A INPUT -p ALL -s! 192.168.0.0/24  --dport 834 -j DROP
iptables -A INPUT -p ALL -s! 192.168.0.0/24  --dport 835 -j DROP

ПодсказкаПодсказка
 

Узнать больше о реализации брандмауэра на основе IPTables, вы сможете в главе 7 Брандмауэры.

5.3.5. Используйте проверку подлинности Kerberos

Одним из бросающихся в глаза недостатков использования NIS при проверке подлинности является то, что когда пользователь регистрируется на своём компьютере, по сети передаётся хэш пароля из карты /etc/shadow. Если взломщик получит доступ к домену NIS и прослушает сетевой трафик, он может незаметно собирать имена и пароли пользователей. За приемлемое время программа подбора паролей может угадать слабые пароли, и взломщик сможет войти в сеть под именем реального пользователя.

Так как Kerberos использует шифрование с секретным ключом, по сети никогда не передаются хэши паролей, что делает систему намного безопаснее. За дополнительными сведениями о Kerberos обратитесь к главе Kerberos Справочного руководства по Red Hat Enterprise Linux.

Перекрёстные ссылки книги для 5.3. Защита NIS

  • 5.2. Защита Portmap
  • Вверх
  • 5.4. Защита NFS

Book navigation

  • Введение
  • I. Общее введение в безопасность
  • II. Настройка безопасности Red Hat Enterprise Linux
    • Глава 3. Обновления системы безопасности
    • Глава 4. Безопасность рабочей станции
    • Глава 5. Безопасность сервера
      • 5.2. Защита Portmap
      • 5.3. Защита NIS
      • 5.4. Защита NFS
      • 5.5. Защита HTTP-сервера Apache
      • 5.6. Защита FTP
      • 5.7. Защита Sendmail
      • 5.8. Определение открытых портов
    • Глава 6. Виртуальные частные сети
    • Глава 7. Брандмауэры
  • III. Оценка собственной защиты
  • IV. Реакция на вторжения и инциденты
  • V. Приложения

Последние материалы

  • Эмулятор терминала Terminator
    3 hours 36 minutes ago
  • Приложение scanimage
    6 days 1 hour ago
  • Утилита sensors
    1 week 2 days ago
  • Сканер Rkhunter
    2 weeks 3 days ago
  • Программа resize2fs
    3 weeks 2 days ago
RSS feed

Secondary menu

  • О проекте

© 2008–2025 Олег Меньшенин mensh@yandex.ru