| ||||||
|
ДОПОЛНИТЕЛЬНЫЕ ДИРЕКТИВЫ ДЛЯ HTTP.CONFTCTLSConfig - Директива обязательная и должна указываться только один раз и только в основном разделе конфигурационного файла http.conf. Параметром к данной директиве является полный путь к внешнему файлу с настройками Модуля. Пример: TCTLSConfig /usr/local/apache/tctls/tctls.cfg TCTLSTokenConfig - Директива обязательная и должна указываться только один раз и только в основном разделе конфигурационного файла http.conf. Параметром к данной директиве является полный путь к внешнему файлу с настройками КТ. Структура файла и примеры настроек приведены в (3.3). Пример: TCTLSTokenConfig /usr/local/apache/tctls/pkcs11.cfg TCTLSSetEnv* - Директива необязательная. Может быть указана произвольное количество раз в разделе описания сервера (как основного, так и виртуального). Позволяет задать переменную окружения с необходимым именем и установить ее значение содержимым произвольного элемента X.509-сертификата клиента либо соответствующего атрибутного сертификата. Директива принимает два параметра:
Примечание: по умолчанию Модуль устанавливает следующие переменные окружения:
PEER_ADDR – IP-адрес клиента в формате десятичное с точкой. PEER_CERTIFICATE – X.509 сертификат клиента в виде BASE64. PEER_SERIAL – серийный номер X.509 сертификата клиента. Если серийный номер меньше либо равен 0xfffffffe, формат – десятичное число, иначе – последовательность байт в шестнадцатеричной записи, с символом ”:” в качестве разделителя Примеры: PEER_SERIAL 123 PEER_SERIAL 0a:ff:45:44:he:09 PEER_ISSUER – имя издателя из X.509 сертификата клиента, представленное в соответствии с RFC 2253 в кодировке UTF8. PEER_SUBJECT – имя субъекта из X.509 сертификата клиента, представленное в соответствии с RFC 2253 в кодировке UTF8. PEER_MACL – список мандатных меток из X.509 сертификата клиента с уровнями доступа по каждой из политик доступа. Формат: delimiter ::= ‘|’ label ::= OID ‘:’ LEVEL peer_macl ::= delimiter | delimiter label peer_macl Примеры: PEER_MACL |1.2.3.4.5.6:100|1.2.3.4.5.14:101|1.2.34.41:1| PEER_MACL | PEER_POLICY – список идентификаторов политик применения сертификата из X.509 сертификата клиента. Формат: delimiter ::= ‘|’ peer_policy ::= delimiter | delimiter OID peer_policy Примеры: PEER_POLICY |1.2.3.4.5.6:100|1.2.3.4.5.14:101|1.2.34.41:1| PEER_POLICY | TCTLSEnvPrefix - Директива необязательная. Может быть указана один раз и только в основном разделе конфигурационного файла http.conf. Параметром к данной директиве является префикс, добавляемый к переменным окружения, выставляемым Модулем. Пример (значение по умолчанию): TCTLSEnvPrefix HTTP_X_TCTLS_ TCTLSEnable - Директива необязательная. Может быть указана только один раз в разделе описания каждого сервера (как основного, так и виртуального). В зависимости от значения параметра директивы включается (либо нет) установление защищенных соединений посредством Модуля. Допустимые значения { “yes”, “no” } Пример (значение по умолчанию): TCTLSEnable no TCTLSTrustSelfIssued - Директива необязательная. Может быть указана только один раз в разделе описания каждого сервера (как основного, так и виртуального). В зависимости от значения параметра директивы самоподписанные сертификаты могут считаться доверенными. Допустимые значения { “yes”, “no” } Пример (значение по умолчанию): TCTLSTrustSelfIssued no Примечание: Распространение на рабочие места и установка в КТ сертификатов издателей доверенным образом является основой безопасности автоматизированных систем в инфраструктуре с открытым распределением ключей. Стандарт PKCS#11 предусматривает специальный атрибут (CKA_TRUSTED) которым отмечаются сертификаты установленные в КТ доверенным способом. Однако некоторые КТ (в частности NSS) не поддерживают данный атрибут. При использовании таких КТ необходимо устанавливать TCTLSTrustSelfIssued yes TCTLSSlotIndex - Директива необязательная. Может быть указана только один раз в разделе описания каждого сервера (как основного, так и виртуального). Принимает один или два численных параметра – номера КТ в соответствии с конфигурацией указанной в файле TCTLSTokenConfig.
Примечание 1: По умолчанию хранилища всех КТ открываются с доступом только на чтение, что позволяет, в частности, располагать хранилища программных КТ на защищенных от записи отчуждаемых носителях – например на компакт-дисках. Примечание 2: Из соображений безопасности, не рекомендуется устанавливать оба параметра в одно и то же значение. Особенно в случае если соответствующий КТ не поддерживает атрибут (CKA_TRUSTED) - как КТ NSS. Примеры: TCTLSSlotIndex 3 TCTLSSlotIndex 1 3 Примечание 3: Хранилище КТ, открытое на запись не используется для загрузки доверенных сертификатов, за исключением случая, когда этот же КТ используется для организации защищенных соединений. TCTLSValidationMode - Директива необязательная. Может быть указана только один раз в разделе описания каждого сервера (как основного, так и виртуального). Определяет режим проверки сертификата TLS-клиента. Принимает от одного до трех параметров. Допустимые значения: (через запятую указаны синонимы)
Примеры: TCTLSValidationMode fast (1) TCTLSValidationMode ocsp (2) TCTLSValidationMode ocsp fast invalid (3) TCTLSValidationMode ocsp fast forced (4) TCTLSValidationMode ocsp valid invalid (5)
Примеры (2) и (3) эквивалентны: в обоих случаях проверка ответа OCSP-сервера будет
производиться без проверки статуса сертификата автора ЭЦП в ответе.
TCTLSDeltaSecons - Директива необязательная и может указываться только один раз и только в основном разделе конфигурационного файла http.conf. Определяет интервал времени в секундах, с момента получения дополнительного СОС (delta-CRL) в течении которого дополнительный СОС считается актуальным и не обновляется. Значение по умолчанию [ 90 ].
TCTLSRequireExpression* -
Директива необязательная и может указываться только по одному разу и только в разделах КОНФИГУРАЦИОННЫЙ ФАЙЛ МОДУЛЯКонфигурационный файл является текстовым (XML) представлением ASN.1 структуры описанной ниже. Преобразование ASN.1 => XML основано на Basic XML encoding rules (ITU.T Rec. 693), но не тождественно ему.
TCTLSLicensedConfig ::= SEQUENCE {
config TCTLSConfig,
license OCTET STRING
}
config – содержит список настраиваемых параметров
license – содержит лицензионную информацию, заверенную ЭЦП производителя
TCTLSConfig ::= SEQUENCE {
hashList [ 0 ] TCTLSDigestList,
p11PIN [ 1 ] TCTLSP11PIN,
cRLCache [ 2 ] IA5String, OPTIONAL
cRLURI [ 3 ] IA5String, OPTIONAL
deltaURI [ 4 ] IA5String, OPTIONAL
cRLFile [ 5 ] IA5String, OPTIONAL
deltaFile [ 6 ] IA5String, OPTIONAL
lDAPs [ 7 ] GenericServices, OPTIONAL
oCSP [ 8 ] GenericService, OPTIONAL
aAdefinitions [ 9 ] AttributeModules, OPTIONAL
}
hashList – содержит список полных путей к файлам с дополнительной информацией
для встроенных механизмов контроля целостности по каждому из файлов.
TCTLSDigestList ::= SEQUENCE OF TCTLSDigest SIZE(0..MAX)
TCTLSDigest ::= SEQUENCE {
fileName UTF8String,
algId AlgorithmIdentifier
digest OCTET STRING
}
Пример:
<TCTLSDigestList>
<TCTLSDigest>
<UTF8String>/usr/local/apache/bin/httpd</UTF8String>
<AlgorithmIdentifier>
<AlgId>1.2.643.2.2.19</AlgId>
<gostR3410EC_CryptoPro>
<OBJECT_IDENTIFIER>
1.2.643.2.2.35.1
</OBJECT_IDENTIFIER>
<OBJECT_IDENTIFIER>
1.2.643.2.2.30.1
</OBJECT_IDENTIFIER>
</gostR3410EC_CryptoPro>
</AlgorithmIdentifier>
<DigestValue>00:00:00:00 </DigestValue>
</TCTLSDigest>
</TCTLSDigestList>
p11PIN – обязательный элемент. Задает либо способ получения PIN
для авторизации в КТ, либо сам PIN:
TCTLSP11PIN ::= CHOICE {
pinValue [ 0 ] IA5String
pinFile [ 1 ] IA5String
pinFeeder [ 2 ] IA5String
}
При задании PIN возможны следующие варианты:
Примечание: Указанный данным элементом PIN используется для авторизации во всех КТ, подключаемых Модулем. Примеры: <TCTLSPIN> <pinValue>123456</pinValue> </TCTLSPIN> <TCTLSPIN> <pinFile>/cdrom/smena-00-08/pin.txt</pinFile> </TCTLSPIN> <TCTLSPIN> <pinFeeder>/usr/local/apache/tctls/demo_pin_feeder</pinFeeder> </TCTLSPIN> cRLCache – необязательный элемент. Задает директорию на файловой системе, которая будет использоваться для локального хранения СОС (CRL), полученных различными способами в процессе проверки клиентских сертификатов. Использование кэша СОС дает существенный выигрыш в производительности системы, особенно в режимах проверки использующих обновления к СОС (delta-CRL). cRLURI, deltaURI – необязательныe элементы. Задают HTTP-URL, которые будут использоваться соответственно для получения регулярных СОС и обновлений к ним в случае если не задан кэш СОС, либо в нем отсутствуют актуальные СОС. cRLFile, deltaFile – необязательные элементы. Задают полные пути на файловой системе к файлам с СОС и обновлениями к СОС. Файлы должны быть в формате PEM и могут содержать по нескольку СОС и обновлений к ним (например от разных издателей). Доставка СОС в систему указанием URL или пути к файлу с СОС актуальна для корпоративных систем, локальная сеть которых не имеет доступа к online-сервисам распространения информации о статусе сертификатов поддерживаемых системой издателей. К online-сервисам по распространению информации о статусе сертификатов относятся:
GenericService ::= SEQUENCE {
dnsName IA5String, OPTIONAL
port INTEGER (1..65535)
ipAddress OCTET_STRING, SIZE=4, OPTIONAL
-- one and only one of ipAddress and dnsName must be present
}
GenericServices ::= SEQUENCE OF GenericService
lDAPs – необязательный элемент. Задает список LDAP-серверов, которые будут использоваться при построении цепочки сертификации и поиска СОС и обновлений к ним. oCSP – необязательный элемент. Задает адрес OCSP-сервера, который будет использоваться для получения информации о статусе сертификата клиента (если выбран соответствующий режим проверки – см. описание директивы TCTLSValidationMode)
Пример: заданы два LDAP-сервера: {DNS-имя; порт}
и OCSP-сервер: {ip адрес; порт}
<LDAPServers>
<GenericService>
<DNSName>ldap.myorg.ru</DNSName>
<Port>389</Port>
</GenericService>
<GenericService>
<DNSName>ldap.friendly-org.ru</DNSName>
<Port>555</Port>
</GenericService>
</LDAPServers>
<OCSPServer>
<Port>85</Port>
<IPAddress>7f:00:00:01</IPAddress>
</OCSPServer>
aAdefinitions – необязательный элемент. Задает список разделяемых библиотек, содержащих описания ASN.1-типов специфичных да данной автоматизированной системы. Может передавать описания произвольных типов для использования в атрибутных сертификатах. Элементами списка являются полные пути к файлам разделяемых библиотек. TCTLSAttributeModules ::= SEQUENCE OF TCTLSAttributeModule TCTLSAttributeModule ::= UTF8String Пример: <TCTLSAttributeModules> <TCTLSAttributeModule> /usr/local/apache/tctls/aa/aa_0.so </TCTLSAttributeModule> <TCTLSAttributeModule> /usr/local/apache/tctls/aa/aa_1.so </TCTLSAttributeModule> </TCTLSAttributeModules> Пример полного конфигурационного файла:
<TCTLSLicensedConfig>
<TCTLSConfig>
<TCTLSDigestList>
<TCTLSDigest>
<UTF8String>/usr/local/apache/bin/httpd</UTF8String>
<AlgorithmIdentifier>
<AlgId>1.2.643.2.2.19</AlgId>
<gostR3410EC_CryptoPro>
<OBJECT_IDENTIFIER>
1.2.643.2.2.35.1
</OBJECT_IDENTIFIER>
<OBJECT_IDENTIFIER>
1.2.643.2.2.30.1
</OBJECT_IDENTIFIER>
</gostR3410EC_CryptoPro>
</AlgorithmIdentifier>
<DigestValue>00:00:00:00 </DigestValue>
</TCTLSDigest>
</TCTLSDigestList>
<TCTLSPIN>
<pinValue>123456</pinValue>
</TCTLSPIN>
<CRLCache>/usr/local/apache/tctls/crlcache</CRLCache>
<LDAPServers>
<GenericService>
<DNSName>XXX.XXX.ru</DNSName>
<Port>389</Port>
</GenericService>
</LDAPServers>
<OCSPServer>
<DNSName>YYY.YYY.ru</DNSName>
<Port>85</Port>
</OCSPServer>
<AttributeModules>
<AttributeModule>
/usr/local/apache/tctls/aa/aa_0.so
</AttributeModule>
</AttributeModules>
</TCTLSConfig>
<License>
00:00:00:00:00
</License>
</TCTLSLicensedConfig>
|
|
|||||||||||||||||||