commit f64c6b4e70dde047d0be246dabfc40907777359a Author: Alexander Zhirov Date: Wed May 7 21:20:05 2025 +0300 Добавлена конфигурация openslp 2.0.0 diff --git a/README.md b/README.md new file mode 100644 index 0000000..c69c919 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# Конфигурационные файлы сервисов и утилит Linux + +- [openslp](services/openslp/) diff --git a/services/openslp/etc/openslp/slp.conf b/services/openslp/etc/openslp/slp.conf new file mode 100644 index 0000000..1bb2fa0 --- /dev/null +++ b/services/openslp/etc/openslp/slp.conf @@ -0,0 +1,264 @@ +############################################################################# +# +# Конфигурационный файл OpenSLP +# +# Формат и содержимое соответствуют спецификации IETF RFC 2614, поэтому +# комментарии используют терминологию RFC. В OpenSLP демон SLPD выполняет +# функции SA и DA. Функциональность UA инкапсулирована в библиотеке SLPLIB. +# +############################################################################# + +#---------------------------------------------------------------------------- +# Конфигурация статических областей и DA +#---------------------------------------------------------------------------- + +# Этот параметр представляет собой список строк, разделенных запятыми, указывающий +# единственные области, которые UA или SA могут использовать при выполнении запросов +# или регистрации, либо области, которые должен поддерживать DA. (Значение по умолчанию — "DEFAULT") +;net.slp.useScopes = myScope1, myScope2, myScope3 + +# Позволяет администратору заставить агентов UA и SA использовать определенные DA. +# Если этот параметр не используется, для определения DA будет применяться динамическое +# обнаружение DA. (По умолчанию используется динамическое обнаружение DA) +;net.slp.DAAddresses = myDa1, myDa2, myDa3 + +#---------------------------------------------------------------------------- +# Конфигурация, специфичная для DA +#---------------------------------------------------------------------------- + +# Включает функционирование slpd в качестве DA. DA должно быть немного. +# Рекомендуется администратору ознакомиться с руководством пользователя OpenSLP +# перед включением этого параметра. По умолчанию — false. Раскомментируйте строку ниже, +# чтобы включить работу DA. +;net.slp.isDA = true + +# 32-битное целое число, задающее количество секунд для сердцебиения DA. +# По умолчанию — 3 часа (10800 секунд). Этот параметр соответствует +# спецификации протокола CONFIG_DA_BEAT [7]. Игнорируется, если isDA = false. +;net.slp.DAHeartBeat = 10800 + +# 32-битное целое число, задающее количество секунд, по истечении которого DA +# считается устаревшим и удаляется из списка известных DA, если объявление DA +# не было получено. Этот параметр влияет на DA, переопределяя net.slp.DAHeartBeat, +# чтобы обеспечить отправку объявлений DA с соответствующей частотой. Также влияет +# на работу SA, поддерживая в списке известных DA только активные DA. +# По умолчанию — 0 (отключено). Минимальное значение 60 секунд, если задано ненулевое. +;net.slp.staleDACheckPeriod = 60 + +#---------------------------------------------------------------------------- +# Конфигурация, специфичная для SA +#---------------------------------------------------------------------------- + +# Если net.slp.watchRegistrationPID установлено в true, локальные регистрации, +# выполненные через API SLPReg(), будут отслеживаться. Если PID процесса +# (и/или потока в Linux) исчезает (процесс регистрации неожиданно завершился +# без вызова SLPDereg()), регистрация автоматически снимается. По умолчанию — true. +# Обратите внимание, что инструмент 'slptool' всегда использует false для команды 'register'. +# Раскомментируйте строку ниже, чтобы отключить отслеживание PID. +;net.slp.watchRegistrationPID = false + +#---------------------------------------------------------------------------- +# Конфигурация, специфичная для UA +#---------------------------------------------------------------------------- + +# 32-битное целое число, задающее максимальное количество результатов для +# накопления и возврата для синхронного запроса до истечения времени ожидания +# или максимальное количество результатов для возврата через обратный вызов, +# если результаты запроса сообщаются асинхронно. (По умолчанию — 256) +;net.slp.maxResults = 256 + +# Экспериментальная/тестовая настройка, которая указывает библиотеке libslp +# отправлять команды SLP v1 вместо команд v2 там, где это поддерживается. +# По умолчанию — false. +;net.slp.preferSLPv1 = false + +#---------------------------------------------------------------------------- +# Свойства конфигурации сети +#---------------------------------------------------------------------------- + +# Принудительное использование широковещательной передачи вместо многоадресной. +# Эта настройка редко необходима, так как OpenSLP автоматически использует +# широковещание, если многоадресная передача недоступна. (По умолчанию — false) +;net.slp.isBroadcastOnly = true + +# Булево значение, указывающее, следует ли использовать пассивное обнаружение DA. +# По умолчанию — true. Раскомментируйте следующую строку, чтобы отключить +# пассивное обнаружение DA. +;net.slp.passiveDADetection = false + +# Булево значение, указывающее, следует ли использовать активное обнаружение DA. +# Это полезно, когда доступные DA явно ограничены теми, что получены через DHCP +# или свойство net.slp.DAAddresses. По умолчанию — true. Раскомментируйте +# следующую строку, чтобы отключить активное обнаружение DA. +;net.slp.activeDADetection = false + +# Свойство net.slp.DAActiveDiscoveryInterval управляет *периодической* +# передачей запросов активного обнаружения DA (SrvRqsts). По умолчанию — 1, +# что отключает отправку периодических запросов активного обнаружения DA. +# Однако даже при net.slp.DAActiveDiscoveryInterval=1 агенты OpenSLP отправляют +# запрос активного обнаружения DA только при инициализации. Чтобы полностью +# отключить активное обнаружение DA, необходимо установить +# net.slp.passiveDADetection = false. (Также можно установить +# net.slp.DAActiveDiscoveryInterval=0) +;net.slp.DAActiveDiscoveryInterval = 1 + +# Положительное целое число, не превышающее 255. (По умолчанию — 255) +;net.slp.multicastTTL = 255 + +# Целое число, задающее максимальное время (в миллисекундах) для выполнения +# запросов активного обнаружения DA. (По умолчанию — 2000 мс или 2 секунды) +;net.slp.DADiscoveryMaximumWait = 2000 + +# Список значений 32-битных целых чисел, используемых в качестве таймаутов +# (в миллисекундах) для реализации алгоритма многоадресной конвергенции при +# активном обнаружении DA. Каждое значение указывает время ожидания перед +# отправкой следующего запроса или до тех пор, пока не будет получено ничего +# нового от двух последовательных запросов. +# По умолчанию: 500,750,1000,1500,2000,3000. +;net.slp.DADiscoveryTimeouts = 500,750,1000,1500,2000,3000 + +# Целое число, задающее максимальное время (в миллисекундах) для выполнения +# многоадресных запросов. (По умолчанию — 5000 мс или 5 секунд) +;net.slp.multicastMaximumWait = 5000 + +# Список значений 32-битных целых чисел, используемых в качестве таймаутов +# (в миллисекундах) для реализации алгоритма многоадресной конвергенции. +# Каждое значение указывает время ожидания перед отправкой следующего запроса +# или до тех пор, пока не будет получено ничего нового от двух последовательных +# запросов. По умолчанию: 500,750,1000,1500,2000,3000. В медленных сетях менее +# агрессивные значения 3000,3000,3000,3000,3000 обеспечивают лучшую производительность. +;net.slp.multicastTimeouts = 500,750,1000,1500,2000,3000 + +# Целое число, задающее максимальное время (в миллисекундах) для выполнения +# одноадресных запросов. (По умолчанию — 5000 мс или 5 секунд) +;net.slp.unicastMaximumWait = 5000 + +# Список значений 32-битных целых чисел, используемых в качестве таймаутов +# (в миллисекундах) для реализации передачи одноадресных датаграмм DA. +# N-е значение указывает время ожидания ответа на n-ю попытку связи с DA. +;net.slp.unicastTimeouts = 500,750,1000,1500,2000,3000 + +# Для OpenSLP это то же самое, что net.slp.unicastTimeouts. Используйте +# net.slp.unicastTimeouts вместо этого. +;net.slp.datagramTimeouts = IGNORED + +# Целое число, задающее максимальное значение для всех параметров случайного +# ожидания. (По умолчанию — 5000 или 5 секунд) +;net.slp.randomWaitBound = 5000 + +# Целое число, задающее MTU сетевого пакета в байтах. (По умолчанию — 1400) +;net.slp.MTU = 1400 + +# Если работает как SA или DA, задает максимальное количество активных интерфейсов. +# (По умолчанию — 100) +;net.slp.max_ifaces = 100 + +# Если работает как SA или DA, все используемые локальные адреса должны быть указаны. +# Можно указать адреса как IPv4, так и IPv6. Для многоадресной передачи SLP IPv6 +# могут использоваться только адреса локальной связи. Любые адреса локального сайта +# или глобальные адреса будут использоваться только для одноадресной передачи SLP. +# Параметр "%" можно использовать для указания интерфейса, если на хосте присутствует +# несколько экземпляров одного и того же адреса локальной связи. Если параметр +# интерфейса не указан, демон привяжется к первому интерфейсу с указанным IP. +# Этот параметр действителен только для адресов IPv6 локальной связи. +# Например: fe80::215:58ff:fe7e:c037%eth0 +;net.slp.interfaces = 192.168.0.1 + +# Строка, указывающая широковещательный адрес для отправки широковещательных +# пакетов. Этот параметр применим только при использовании других параметров +# конфигурации широковещания (по умолчанию используется многоадресная передача). +;net.slp.broadcastAddr = 255.255.255.255 + +# Порт для всех сообщений SLP. Изменение этого порта с зарезервированного порта +# прослушивания SLP нарушит соответствие RFC 2608. (По умолчанию — 427) +;net.slp.port = 427 + +# Булево значение, указывающее, следует ли использовать DHCP для обнаружения DA +# и/или областей. (По умолчанию — true) +;net.slp.useDHCP = true + +#---------------------------------------------------------------------------- +# Безопасность +#---------------------------------------------------------------------------- + +# Булево значение, указывающее, следует ли агенту включать безопасность для URL, +# списков атрибутов, объявлений DA и SA. (По умолчанию — false, и код +# ENABLE_SECURITY должен быть скомпилирован) +;net.slp.securityEnabled = true + +# Булево значение, указывающее, будет ли DA или SA разрешать снятие регистрации +# и повторную регистрацию только с *того же самого* хоста, который выполнил +# регистрацию. По умолчанию — true. Раскомментируйте строку ниже, чтобы отключить +# проверку адреса источника. +;net.slp.checkSourceAddr = false + +#---------------------------------------------------------------------------- +# Индексирование +#---------------------------------------------------------------------------- + +# Булево значение, указывающее, следует ли индексировать типы служб SLP. +# Это использует дополнительную память, но ускоряет поиск по (конкретному) +# типу службы и получение атрибутов. (По умолчанию — false) +;net.slp.indexSrvtype = true + +# Список имен атрибутов со строковыми значениями, которые должны быть +# индексированы. Это использует дополнительную память, но ускоряет поиск +# по равенству (включая поиск с использованием символов-джокеров), +# например: (location=Main Building Second Floor) или (location=Main Building*). +# Индекс также будет использоваться, если выражение равенства является частью +# выражения верхнего уровня с оператором '&', например: +# (&(grade>=C)(location=Main Building*)) будет использовать индекс для атрибута location. +# Обратите внимание, что пробелы в списке имен имеют значение. +;net.slp.indexedAttributes = attr1, attr2,... + +#---------------------------------------------------------------------------- +# Трассировка и логирование +#---------------------------------------------------------------------------- + +# Булево значение, управляющее выводом сообщений о трафике с DA. +# По умолчанию — false. Раскомментируйте следующую строку, чтобы включить +# трассировку трафика DA. +;net.slp.traceDATraffic = true + +# Булево значение, управляющее выводом всех зарегистрированных служб при +# регистрации и снятии регистрации. Если true, содержимое сервера DA или SA +# выводится после регистрации или снятия регистрации. По умолчанию — false. +# Раскомментируйте следующую строку, чтобы включить логирование сообщений +# регистрации. +;net.slp.traceReg = true + +# Булево значение, управляющее выводом деталей при отклонении сообщения SLP +# по любой причине. По умолчанию — false. Раскомментируйте следующую строку, +# чтобы отслеживать все отклоненные сообщения. +;net.slp.traceDrop = true + +# Булево значение, управляющее выводом деталей сообщений SLP. Поля всех +# входящих сообщений и исходящих ответов выводятся. Очень многословно. +# По умолчанию — false. Раскомментируйте следующую строку, чтобы включить +# подробную трассировку сообщений. +;net.slp.traceMsg = true + +# Булево значение, определяющее, будет ли slpd добавлять сообщения в лог slpd.log +# или перезаписывать существующий лог. По умолчанию — true. Раскомментируйте +# следующую строку, чтобы перезаписывать существующий лог. +;net.slp.appendLog = false + +#---------------------------------------------------------------------------- +# Сериализованная прокси-регистрация +#---------------------------------------------------------------------------- + +# Параметр net.slp.serializedRegURL не поддерживается net.slp.serializeRegURL. +# +# Демон slpd принимает параметр командной строки [-r], который указывает +# файл сериализованной регистрации. Файл сериализованной регистрации по умолчанию — +# /etc/slp.reg + +#---------------------------------------------------------------------------- +# Параметры конфигурации IPv6 +#---------------------------------------------------------------------------- + +# Эти настройки определяют, какие IP-протоколы использовать для SLP. +# По умолчанию IPv4 включен, а IPv6 отключен. Раскомментируйте одну из +# следующих строк, чтобы изменить это. +;net.slp.useIPv4 = false +;net.slp.useIPv6 = true diff --git a/services/openslp/etc/openslp/slp.reg b/services/openslp/etc/openslp/slp.reg new file mode 100644 index 0000000..5e49596 --- /dev/null +++ b/services/openslp/etc/openslp/slp.reg @@ -0,0 +1,44 @@ +############################################################################# +# +# Файл регистрации OpenSLP +# +# Может использоваться для регистрации служб для устаревших приложений, которые +# не используют API SLP для самостоятельной регистрации. +# +# Формат и содержимое соответствуют спецификации IETF RFC 2614, поэтому +# комментарии используют терминологию RFC. В OpenSLP демон SLPD выполняет +# функции SA и DA. Функциональность UA инкапсулирована в библиотеке libslp. +# +############################################################################# + +#комментарий +;комментарий +#service-url,language-tag,lifetime,[service-type] +#["scopes="scope-list] +#[attrid"="val1] +#[attrid"="val1,val2,val3] +# + +# +# Ниже приведены примеры записей для этого файла +# + +##Регистрация тестовой службы OpenSLP +#service:test.openslp://192.168.100.1,en,65535 +#scopes=test1,test2 +#description=OpenSLP Testing Service +#authors=mpeterson,jcarey + +##Регистрация службы SSH +#service:ssh.openslp://192.168.100.1,en,65535 +#использовать области по умолчанию +#description="Secure Shell" + +##Регистрация службы Telnet без атрибутов +#service:telnet.myorg://192.168.100.1,en,65535 +#использовать области по умолчанию + +##Регистрация службы VNC KDM, может использоваться через krdc +#service:remotedesktop.kde:vnc://192.168.100.1:1,en,65535 +#attrid=(type=shared),(username=joe),(fullname=Joe User),(serviceid=1235456) +#description=KDE remote login diff --git a/services/openslp/etc/openslp/slp.spi b/services/openslp/etc/openslp/slp.spi new file mode 100644 index 0000000..2246025 --- /dev/null +++ b/services/openslp/etc/openslp/slp.spi @@ -0,0 +1,74 @@ +############################################################################# +# +# Файл SPI OpenSLP +# +# Индекс параметров безопасности (SPI) — это неформатированная строка, используемая +# SLP для идентификации информации безопасности, необходимой для аутентификации +# сообщений SLPv2. Дополнительную информацию см. в RFC 2608. +# +# Формат и содержимое этого файла специфичны для реализации аутентификации SLPv2 +# в OpenSLP. См. комментарии ниже для более подробного объяснения формата файла. +# +# ПРИМЕЧАНИЕ: OpenSLP поддерживает только ключи DSA!!! +# +############################################################################# +# +#------------- +# Формат файла: +#------------- +# Каждая строка этого файла сопоставляет строку SPI с файлом ключа в формате PEM. +# +# +# +# +#-------------- +# ПРИВАТНЫЙ ключ: +#-------------- +# Строка ПРИВАТНОГО ключа указывает местоположение файла ключа, содержащего +# приватный ключ DSA в формате PEM для заданного SPI. ПРИВАТНЫЙ ключ используется +# для подписи сообщений SLP, отправляемых SA/DA на этом хосте. +# +# Указание ПРИВАТНОГО ключа не обязательно. Если запись ПРИВАТНОГО ключа отсутствует, +# то сообщения SLP, отправляемые с этого хоста, не будут подписываться. Поскольку +# UA не обязаны подписывать сообщения, часто полезно специально исключить запись +# ПРИВАТНОГО ключа на хостах, которые не выступают в роли SA или DA. +# +# ***ВАЖНО*** +# Реализация распознает только один ПРИВАТНЫЙ ключ. Если указано несколько +# приватных ключей, будет использоваться только ключ, обозначенный первой записью +# ПРИВАТНОГО ключа в этом файле. +# +# Ниже приведен закомментированный пример записи ПРИВАТНОГО ключа: +# +# PRIVATE myprivateslpkey /etc/secure/myprivateslpkey.pem +# +# +#-------------- +# ПУБЛИЧНЫЕ ключи: +#-------------- +# Строка ПУБЛИЧНОГО ключа указывает местоположение файла ключа, содержащего +# публичный ключ DSA в формате PEM. Этот ключ используется для проверки сообщений, +# отправленных другими агентами SLP. +# +# Для корректной работы безопасного OpenSLP требуется хотя бы одна запись +# ПУБЛИЧНОГО ключа на всех хостах. Возможно, потребуется несколько записей, +# чтобы проверить подписи, если по какой-либо причине (которую сложно представить) +# SA и DA настроены с различными ПРИВАТНЫМИ ключами. +# +# Ниже приведен закомментированный пример записи ПУБЛИЧНОГО ключа: +# +# PUBLIC mypublicslpkey /etc/secure/mypublicslpkey.pem +# +#----------------------- +# Файлы ключей в формате PEM +#----------------------- +# Файлы ключей в формате PEM могут быть созданы с использованием OpenSSL или +# инструментов, включенных в OpenSLP. +# +# +#------------ +# Заключительное замечание +#------------ +# Если вы не уверены в своих действиях, перед настройкой безопасности SLP +# рекомендуется ознакомиться с более подробной документацией на сайте +# http://www.openslp.org.