Apache Версия 2.0 Сервера HTTP
Description: | сильная криптография, используя Безопасный Слой Гнезд (SSL) и Транспортная Безопасность Слоя (TLS) протоколы |
---|---|
Status: | расширение |
Module Identifier: | ssl_module |
Source File: | mod_ssl.c |
этот модуль обеспечивает SSL v2/v3 и TLS v1 поддержка Apacheскому Серверу HTTP. Это было внесено Ралфом С. Энджешолом, основанным на его проекте mod_ssl и первоначально произошло из работы Беном Лори.
этот модуль полагается OpenSSL обеспечивать двигатель криптографии.
дальнейшие детали, обсуждение, и примеры обеспечиваются в SSL documentation .
этот модуль обеспечивает много информации SSL как дополнительные переменные окружающей среды к ПЕРВОЙ СТЕПЕНИ ИНТЕГРАЦИИ и CGI namespace. Произведенные переменные перечислены в столе ниже. Для обратной совместимости информация может быть сделана доступный под различными названиями, также. Загляньте Compatibility глава для деталей относительно переменных совместимости.
Variable Name: | Тип Ценности: | описание: |
---|---|---|
HTTPS
|
флаг | HTTPS используется. |
SSL_PROTOCOL
|
вереница | версия протокола SSL (SSLv2, SSLv3, TLSv1) |
SSL_SESSION_ID
|
вереница | закодированная ведьмой сессия SSL id |
SSL_CIPHER
|
вереница | название спецификации шифра |
SSL_CIPHER_EXPORT
|
вереница |
true
если шифр - экспортный шифр
|
SSL_CIPHER_USEKEYSIZE
|
число | число битов шифра (фактически используемый) |
SSL_CIPHER_ALGKEYSIZE
|
число | число (возможных) битов шифра |
SSL_VERSION_INTERFACE
|
вереница | mod_ssl версия программы |
SSL_VERSION_LIBRARY
|
вереница | версия программы OpenSSL |
SSL_CLIENT_M_VERSION
|
вереница | версия свидетельства клиента |
SSL_CLIENT_M_SERIAL
|
вереница | сериал свидетельства клиента |
SSL_CLIENT_S_DN
|
вереница | подчиненное отличительное имя в свидетельстве клиента |
SSL_CLIENT_S_DN_
x509
|
вереница | компонент Подчиненного отличительного имени клиента |
SSL_CLIENT_I_DN
|
вереница | отличительное имя выпускающего свидетельства клиента |
SSL_CLIENT_I_DN_
x509
|
вереница | компонент отличительного имени Выпускающего клиента |
SSL_CLIENT_V_START
|
вереница | законность свидетельства клиента (начинают время), |
SSL_CLIENT_V_END
|
вереница | законность свидетельства клиента (заканчивают время), |
SSL_CLIENT_A_SIG
|
вереница | алгоритм, используемый для подписи свидетельства клиента |
SSL_CLIENT_A_KEY
|
вереница | алгоритм, используемый для общественного ключа свидетельства клиента |
SSL_CLIENT_CERT
|
вереница | PEM-закодированное свидетельство клиента |
SSL_CLIENT_CERT_CHAIN
n
|
вереница | PEM-закодированные свидетельства в цепи свидетельства клиента |
SSL_CLIENT_VERIFY
|
вереница |
NONE
,
SUCCESS
,
GENEROUS
или
FAILED:
причина
|
SSL_SERVER_M_VERSION
|
вереница | версия свидетельства сервера |
SSL_SERVER_M_SERIAL
|
вереница | сериал свидетельства сервера |
SSL_SERVER_S_DN
|
вереница | подчиненное отличительное имя в свидетельстве сервера |
SSL_SERVER_S_DN_
x509
|
вереница | компонент Подчиненного отличительного имени сервера |
SSL_SERVER_I_DN
|
вереница | отличительное имя выпускающего свидетельства сервера |
SSL_SERVER_I_DN_
x509
|
вереница | компонент отличительного имени Выпускающего сервера |
SSL_SERVER_V_START
|
вереница | законность свидетельства сервера (начинают время), |
SSL_SERVER_V_END
|
вереница | законность свидетельства сервера (заканчивают время), |
SSL_SERVER_A_SIG
|
вереница | алгоритм, используемый для подписи свидетельства сервера |
SSL_SERVER_A_KEY
|
вереница | алгоритм, используемый для общественного ключа свидетельства сервера |
SSL_SERVER_CERT
|
вереница | PEM-закодированное свидетельство сервера |
[где
x509
является компонентом отличительного имени X.509:
C,ST,L,O,OU,CN,T,I,G,S,D,UID,Email
]
когда
mod_ssl
встроен в Apacheа или по крайней мере загружен (под ситуацией цифрового запоминающего осциллографа), дополнительные функции существуют для
Custom Log Format
из
mod_log_config
. сначала есть дополнительное "
%{
varname
}x
"расширение форматирует функцию, которая может использоваться, чтобы расширить любые переменные, обеспеченные любым модулем, особенно обеспеченные mod_ssl, который может Вы находить в вышеупомянутом столе.
для обратной совместимости есть дополнительно специальное "
%{
название
}c
"функция формата криптографии обеспечила. Информация об этой функции обеспечивается в
Compatibility
глава.
пример:
CustomLog logs/ssl_request_log \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
Description: | файл связанных PEM-закодированных Свидетельств Калифорнии для Автора Клиента |
---|---|
Syntax: |
SSLCACertificateFile
file-path
|
Context: | сервер config, действительный хозяин |
Status: | расширение |
Module: | mod_ssl |
эта директива устанавливает
единый
файл, где Вы можете собрать Свидетельства о Властях Свидетельства (Калифорния) чей
клиенты
Вы имеете дело с. Они используются для Установления подлинности Клиента. Такой файл - просто связь различных PEM-закодированных файлов Свидетельства, в порядке предпочтения. Это может использоваться альтернативно и/или дополнительно к
SSLCACertificatePath
.
SSLCACertificateFile /usr/local/apache2/conf/ssl.crt/ca-bundle-client.crt
Description: | справочник PEM-закодированных Свидетельств Калифорнии для Автора Клиента |
---|---|
Syntax: |
SSLCACertificatePath
directory-path
|
Context: | сервер config, действительный хозяин |
Status: | расширение |
Module: | mod_ssl |
эта директива устанавливает справочник, где Вы держите Свидетельства о Властях Свидетельства (Калифорния), с клиентами которой Вы имеете дело. Они используются, чтобы проверить свидетельство клиента на Установлении подлинности Клиента.
файлы в этом справочнике должны быть PEM-закодированы и получаются доступ через имена файла мешанины. Так обычно Вы не можете только поместить файлы Свидетельства туда: Вы также должны создать символические названные связи
ценность мешанины
.N
. и Вы должны всегда удостоверяться, что этот справочник содержит соответствующие символические связи. Использование
Makefile
который идет с mod_ssl, чтобы выполнить эту задачу.
SSLCACertificatePath /usr/local/apache2/conf/ssl.crt/
Description: | файл связанной PEM-закодированной Калифорнии CRLs для Автора Клиента |
---|---|
Syntax: |
SSLCARevocationFile
file-path
|
Context: | сервер config, действительный хозяин |
Status: | расширение |
Module: | mod_ssl |
эта директива устанавливает
единый
файл, где Вы можете собрать Списки Аннулирования Свидетельства (CRL) Властей Свидетельства (Калифорния) чей
клиенты
Вы имеете дело с. Они используются для Установления подлинности Клиента. Такой файл - просто связь различных PEM-закодированных файлов CRL, в порядке предпочтения. Это может использоваться альтернативно и/или дополнительно к
SSLCARevocationPath
.
SSLCARevocationFile /usr/local/apache2/conf/ssl.crl/ca-bundle-client.crl
Description: | справочник PEM-закодированной Калифорнии CRLs для Автора Клиента |
---|---|
Syntax: |
SSLCARevocationPath
directory-path
|
Context: | сервер config, действительный хозяин |
Status: | расширение |
Module: | mod_ssl |
эта директива устанавливает справочник, где Вы держите Списки Аннулирования Свидетельства (CRL) Властей Свидетельства (Калифорния), с клиентами которой Вы имеете дело. Они используются, чтобы отменить свидетельство клиента на Установлении подлинности Клиента.
файлы в этом справочнике должны быть PEM-закодированы и получаются доступ через имена файла мешанины. Так обычно Вы должны только поместить файлы CRL туда. Дополнительно Вы должны создать символические названные связи
ценность мешанины
.rN
. и Вы должны всегда удостоверяться, что этот справочник содержит соответствующие символические связи. Использование
Makefile
который идет
mod_ssl
выполнять эту задачу.
SSLCARevocationPath /usr/local/apache2/conf/ssl.crl/
Description: | файл PEM-закодированного Сервера Свидетельства Калифорнии |
---|---|
Syntax: |
SSLCertificateChainFile
file-path
|
Context: | сервер config, действительный хозяин |
Status: | расширение |
Module: | mod_ssl |
эта директива устанавливает дополнительное единый файл, где Вы можете собрать свидетельства о Властях Свидетельства (Калифорния), которые формируют цепь свидетельства свидетельства сервера. Это начинает с издания свидетельство Калифорнии о свидетельства сервера и может расположиться до корня свидетельство Калифорнии. Такой файл - просто связь различных PEM-закодированных файлов Свидетельства Калифорнии, обычно в заказе цепи свидетельства.
это должно использоваться альтернативно и/или дополнительно к
SSLCACertificatePath
чтобы явно строить цепь свидетельства сервера, которую посылают браузеру в дополнение к свидетельству сервера. Особенно полезно избежать конфликтов со свидетельствами Калифорнии, используя установление подлинности клиента. Поскольку, помещая свидетельство Калифорнии о цепи свидетельства сервера в
SSLCACertificatePath
имеет тот же самый эффект для строительства цепи свидетельства, это имеет побочный эффект, что свидетельства клиента, выпущенные этим тем же самым свидетельством Калифорнии также приняты на установлении подлинности клиента. Это - обычно не, каждый ожидает.
но быть осторожным: Обеспечение цепи свидетельства работает, только если Вы используете a единственный (любой RSA или DSA) базируемое свидетельство сервера. Если Вы будете использовать двойную пару свидетельства RSA+DSA, то это будет работать, только если фактически оба свидетельства используют то же самое цепь свидетельства. Еще браузеры будут перепутаны в этой ситуации.
SSLCertificateChainFile /usr/local/apache2/conf/ssl.crt/ca.crt
Description: | сервер PEM-закодированный файл Свидетельства X.509 |
---|---|
Syntax: |
SSLCertificateFile
file-path
|
Context: | сервер config, действительный хозяин |
Status: | расширение |
Module: | mod_ssl |
эта директива указывает на PEM-закодированный файл Свидетельства для сервера и произвольно также к передаче RSA или Частный Ключевой файл DSA для этого (содержавшийся в том же самом файле). Если содержавшийся Частный Ключ зашифрован, диалог Фразы Прохода вызван во время запуска. Эта директива может использоваться до двух раз (ссылающийся на различные имена файла), когда и RSA и DSA базировался, свидетельство сервера используется параллельно.
SSLCertificateFile /usr/local/apache2/conf/ssl.crt/server.crt
Description: | сервер PEM-закодированный Частный Ключевой файл |
---|---|
Syntax: |
SSLCertificateKeyFile
file-path
|
Context: | сервер config, действительный хозяин |
Status: | расширение |
Module: | mod_ssl |
эта директива указывает на PEM-закодированный Частный Ключевой файл для сервера. Если Частный Ключ не объединен со Свидетельством в
SSLCertificateFile
, используйте эту дополнительную директиву, чтобы указать на файл с автономным Частным Ключом. Когда
SSLCertificateFile
используется и файл содержит и Свидетельство и Частный Ключ это, директива не должна использоваться. Но мы настоятельно препятствуем этой практике. Вместо этого мы рекомендуем Вам отделить Свидетельство и Частный Ключ. Если содержавшийся Частный Ключ зашифрован, диалог Фразы Прохода вызван во время запуска. Эта директива может использоваться до двух раз (ссылающийся на различные имена файла), когда и RSA и DSA базировался, частный ключ используется параллельно.
SSLCertificateKeyFile /usr/local/apache2/conf/ssl.key/server.key
Description: | Набор Шифра, доступный для переговоров в рукопожатии SSL |
---|---|
Syntax: |
SSLCipherSuite
cipher-spec
|
Default: |
SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
|
Context: | сервер config, действительный хозяин, справочник, .htaccess |
Override: | AuthConfig |
Status: | расширение |
Module: | mod_ssl |
эта сложная директива использует отделенный двоеточием спекуляция шифра веренице, состоящей из спецификаций шифра OpenSSL, чтобы формировать Набор Шифра клиент разрешают вести переговоры в фазе рукопожатия SSL. Заметьте, что эта директива может использоваться и во в-сервер и в-справочник контексте. Во в-сервер контексте это обращается к стандартному рукопожатию SSL, когда связь установлена. Во в-справочник контексте это вызывает SSL renegotation с повторно формируемым Набором Шифра после того, как запрос HTTP был прочитан, но прежде, чем ответ HTTP посылают.
спецификация шифра SSL в спекуляция шифра составлен из 4 главных признаков плюс несколько дополнительных незначительных:
шифр SSL может также быть экспортным шифром и - или SSLv2 или шифр SSLv3/TLSv1 (здесь, TLSv1 эквивалентен SSLv3). Определить, какие шифры использовать, можно или определить все Шифры, по одному, или использовать псевдонимы, чтобы определить предпочтение и заказ относительно шифров (см. Table 1 ).
Tag | описание |
---|---|
Ключевой Обменный Алгоритм: | |
kRSA
|
обмен ключа RSA |
kDHr
|
обмен ключа Diffie-Hellman с ключом RSA |
kDHd
|
обмен ключа Diffie-Hellman с ключом DSA |
kEDH
|
эфемерный (temp.key) Diffie-Hellman ключевой обмен (никакое свидетельство) |
Опознавательный Алгоритм: | |
aNULL
|
никакое установление подлинности |
aRSA
|
установление подлинности RSA |
aDSS
|
установление подлинности DSS |
aDH
|
установление подлинности Diffie-Hellman |
Шифр, Кодирующий Алгоритм: | |
eNULL
|
никакое зашифровывание |
DES
|
зашифровывание DES |
3DES
|
тройное-DES зашифровывание |
RC4
|
зашифровывание RC4 |
RC2
|
зашифровывание RC2 |
IDEA
|
ИДЕЯ кодировать |
Алгоритм Обзора МАКИНТОША : | |
MD5
|
функция мешанины MD5 |
SHA1
|
функция мешанины SHA1 |
SHA
|
функция мешанины SHA |
псевдонимы: | |
SSLv2
|
все шифры версии 2.0 SSL |
SSLv3
|
все шифры версии 3.0 SSL |
TLSv1
|
все шифры версии 1.0 TLS |
EXP
|
все экспортные шифры |
EXPORT40
|
все 40-битовые экспортные шифры только |
EXPORT56
|
все 56-битовые экспортные шифры только |
LOW
|
все низкие шифры силы (никакой экспорт, единственный DES) |
MEDIUM
|
все шифры с шифрованием на 128 битов |
HIGH
|
все шифры, используя Тройной-DES |
RSA
|
все шифры, используя обмен ключа RSA |
DH
|
все шифры, используя обмен ключа Diffie-Hellman |
EDH
|
все шифры, используя Эфемерный ключевой обмен Diffie-Hellman |
ADH
|
все шифры, используя Анонимный ключевой обмен Diffie-Hellman |
DSS
|
все шифры, используя установление подлинности DSS |
NULL
|
все шифры не, используя никакого шифрования |
теперь, где это становится интересным - то, что они могут быть соединены, чтобы определить заказ и шифры, которые Вы желаете использовать. Ускорять это есть также псевдонимы (
SSLv2, SSLv3, TLSv1, EXP, LOW, MEDIUM, HIGH
) для определенных групп шифров. Эти признаки могут быть объединены с приставками, чтобы сформироваться
спекуляция шифра
. доступные приставки:
+
: добавьте шифры, чтобы перечислить и тянуть их к текущему местоположению в списке
-
: удалите шифр из списка (может быть добавлен позже снова),
!
: убейте шифр от списка полностью (может
нет
быть добавлен позже снова),
более простой способ смотреть на все это состоит в том, чтобы использовать "
openssl ciphers -v
"команда, которая обеспечивает хороший путь последовательно создать правильное
спекуляция шифра
вереница. Неплатеж
спекуляция шифра
вереница - "
ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
"что означает следующее: сначала, удалите из рассмотрения любые шифры, которые не подтверждают подлинность, то есть для SSL только Анонимные шифры Diffie-Hellman. Затем, используйте шифры, используя RC4 и RSA. Затем включите высокое, средний и затем низкие шифры безопасности. Наконец
напряжение
весь SSLv2 и экспортные шифры до конца списка.
$ openssl ciphers -v 'ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP' NULL-SHA SSLv3 Kx=RSA Au=RSA Enc=None Mac=SHA1 NULL-MD5 SSLv3 Kx=RSA Au=RSA Enc=None Mac=MD5 EDH-RSA-DES-CBC3-SHA SSLv3 Kx=DH Au=RSA Enc=3DES(168) Mac=SHA1 ... ... ... ... ... EXP-RC4-MD5 SSLv3 Kx=RSA(512) Au=RSA Enc=RC4(40) Mac=MD5 export EXP-RC2-CBC-MD5 SSLv2 Kx=RSA(512) Au=RSA Enc=RC2(40) Mac=MD5 export EXP-RC4-MD5 SSLv2 Kx=RSA(512) Au=RSA Enc=RC4(40) Mac=MD5 export
полный список специфического RSA & шифры централизованного теплоснабжения для SSL поданы Table 2 .
SSLCipherSuite RSA:!EXP:!NULL:+HIGH:+MEDIUM:-LOW
Cipher-Tag | протокол | Ключ напр. | автор. | Enc. | МАКИНТОШ | напечатать |
---|---|---|---|---|---|---|
Шифры RSA: | ||||||
DES-CBC3-SHA
|
SSLv3 | RSA | RSA | 3DES (168) | SHA1 | |
DES-CBC3-MD5
|
SSLv2 | RSA | RSA | 3DES (168) | MD5 | |
IDEA-CBC-SHA
|
SSLv3 | RSA | RSA | ИДЕЯ (128) | SHA1 | |
RC4-SHA
|
SSLv3 | RSA | RSA | RC4 (128) | SHA1 | |
RC4-MD5
|
SSLv3 | RSA | RSA | RC4 (128) | MD5 | |
IDEA-CBC-MD5
|
SSLv2 | RSA | RSA | ИДЕЯ (128) | MD5 | |
RC2-CBC-MD5
|
SSLv2 | RSA | RSA | RC2 (128) | MD5 | |
RC4-MD5
|
SSLv2 | RSA | RSA | RC4 (128) | MD5 | |
DES-CBC-SHA
|
SSLv3 | RSA | RSA | DES (56) | SHA1 | |
RC4-64-MD5
|
SSLv2 | RSA | RSA | RC4 (64) | MD5 | |
DES-CBC-MD5
|
SSLv2 | RSA | RSA | DES (56) | MD5 | |
EXP-DES-CBC-SHA
|
SSLv3 | RSA (512) | RSA | DES (40) | SHA1 | экспорт |
EXP-RC2-CBC-MD5
|
SSLv3 | RSA (512) | RSA | RC2 (40) | MD5 | экспорт |
EXP-RC4-MD5
|
SSLv3 | RSA (512) | RSA | RC4 (40) | MD5 | экспорт |
EXP-RC2-CBC-MD5
|
SSLv2 | RSA (512) | RSA | RC2 (40) | MD5 | экспорт |
EXP-RC4-MD5
|
SSLv2 | RSA (512) | RSA | RC4 (40) | MD5 | экспорт |
NULL-SHA
|
SSLv3 | RSA | RSA | ни один | SHA1 | |
NULL-MD5
|
SSLv3 | RSA | RSA | ни один | MD5 | |
Шифры Diffie-Hellman: | ||||||
ADH-DES-CBC3-SHA
|
SSLv3 | ЦЕНТРАЛИЗОВАННОЕ ТЕПЛОСНАБЖЕНИЕ | ни один | 3DES (168) | SHA1 | |
ADH-DES-CBC-SHA
|
SSLv3 | ЦЕНТРАЛИЗОВАННОЕ ТЕПЛОСНАБЖЕНИЕ | ни один | DES (56) | SHA1 | |
ADH-RC4-MD5
|
SSLv3 | ЦЕНТРАЛИЗОВАННОЕ ТЕПЛОСНАБЖЕНИЕ | ни один | RC4 (128) | MD5 | |
EDH-RSA-DES-CBC3-SHA
|
SSLv3 | ЦЕНТРАЛИЗОВАННОЕ ТЕПЛОСНАБЖЕНИЕ | RSA | 3DES (168) | SHA1 | |
EDH-DSS-DES-CBC3-SHA
|
SSLv3 | ЦЕНТРАЛИЗОВАННОЕ ТЕПЛОСНАБЖЕНИЕ | DSS | 3DES (168) | SHA1 | |
EDH-RSA-DES-CBC-SHA
|
SSLv3 | ЦЕНТРАЛИЗОВАННОЕ ТЕПЛОСНАБЖЕНИЕ | RSA | DES (56) | SHA1 | |
EDH-DSS-DES-CBC-SHA
|
SSLv3 | ЦЕНТРАЛИЗОВАННОЕ ТЕПЛОСНАБЖЕНИЕ | DSS | DES (56) | SHA1 | |
EXP-EDH-RSA-DES-CBC-SHA
|
SSLv3 | ЦЕНТРАЛИЗОВАННОЕ ТЕПЛОСНАБЖЕНИЕ (512) | RSA | DES (40) | SHA1 | экспорт |
EXP-EDH-DSS-DES-CBC-SHA
|
SSLv3 | ЦЕНТРАЛИЗОВАННОЕ ТЕПЛОСНАБЖЕНИЕ (512) | DSS | DES (40) | SHA1 | экспорт |
EXP-ADH-DES-CBC-SHA
|
SSLv3 | ЦЕНТРАЛИЗОВАННОЕ ТЕПЛОСНАБЖЕНИЕ (512) | ни один | DES (40) | SHA1 | экспорт |
EXP-ADH-RC4-MD5
|
SSLv3 | ЦЕНТРАЛИЗОВАННОЕ ТЕПЛОСНАБЖЕНИЕ (512) | ни один | RC4 (40) | MD5 | экспорт |
Description: | Выключатель Операции Двигателя SSL |
---|---|
Syntax: |
SSLEngine on|off
|
Default: |
SSLEngine off
|
Context: | сервер config, действительный хозяин |
Status: | расширение |
Module: | mod_ssl |
эти направляющие пуговицы использование Двигателя Протокола SSL/TLS. Это обычно используется внутри a
<VirtualHost>
секция, чтобы позволить SSL/TLS для специфического действительного хозяина. По умолчанию Двигатель Протокола SSL/TLS - инвалиды и для главного сервера и для всех формируемых действительных хозяев.
<VirtualHost _default_:443>
SSLEngine on
...
</VirtualHost>
Description: | семафор для внутреннего взаимного исключения операций |
---|---|
Syntax: |
SSLMutex
type
|
Default: |
SSLMutex none
|
Context: | сервер config |
Status: | расширение |
Module: | mod_ssl |
это формирует семафор двигателя SSL (иначе. замок), который используется для взаимного исключения операций, которые должны быть сделаны синхронизированным способом между предразветвленными Apacheскими процессами сервера. Эта директива может только использоваться в глобальном контексте сервера, потому что только полезно иметь один глобальный mutex. Эта директива разработана, чтобы близко соответствовать AcceptMutex директива
следующий Mutex типы являются доступными:
none | no
это - неплатеж, где никакой Mutex не используется вообще. Используйте это при вашем собственном риске. Но потому что в настоящее время Mutex главным образом используется для синхронизации, пишут доступ к Тайнику Сессии SSL, Вы можете жить без этого, пока Вы принимаете иногда искаженный Тайник Сессии. Таким образом не рекомендуют оставить это неплатежом. Вместо этого формируйте реальный Mutex.
posixsem
это - изящный вариант Mutex, где Семафор Posix используется когда возможно. Только доступно, когда основная платформа и АПРЕЛЬ поддерживают это.
sysvsem
это - несколько изящный вариант Mutex, где Семафор МЕЖДУНАРОДНОЙ ФАРМАЦЕВТИЧЕСКОЙ ОРГАНИЗАЦИИ SystemV используется когда возможно. Возможно "пропустить" семафоры SysV, если крушение процессов перед семафором удалено. Только доступно, когда основная платформа и АПРЕЛЬ поддерживают это.
sem
эта директива говорит Модулю SSL выбирать "лучшее" выполнение семафора, доступное для этого, выбирая между Posix и МЕЖДУНАРОДНОЙ ФАРМАЦЕВТИЧЕСКОЙ ОРГАНИЗАЦИЕЙ SystemV, в том заказе. Только доступно, когда основная платформа и АПРЕЛЬ поддерживают по крайней мере один из 2.
pthread
эта директива говорит, что Модуль SSL, чтобы использовать Posix пронизывает mutexes. Только доступно, если основная платформа и АПРЕЛЬ поддерживают это.
fcntl:/path/to/mutex
это - портативный вариант Mutex где физическое (замок-) файл и
fcntl()
fucntion используются как Mutex. Всегда используйте местную дисковую файловую систему для
/path/to/mutex
и никогда файл, проживающий на NFS - или AFS-файловой-системе. Только доступно, когда основная платформа и АПРЕЛЬ поддерживают это. Отметьте: Внутренне, удостоверение личности Процесса (ИЗОДРОМНОЕ С ПРЕДВАРЕНИЕМ) из Apacheского родительского процесса автоматически приложено к
/path/to/mutex
сделать это уникальным, таким образом Вы не должны волноваться о конфликтах самостоятельно. Заметьте, что этот тип mutex не доступен под окружающей средой Win32. Там Вы
иметь
использовать семафор mutex.
flock:/path/to/mutex
это подобно
fcntl:/path/to/mutex
метод за исключением того, что
flock()
функция используется, чтобы обеспечить захват файла. Только доступно, когда основная платформа и АПРЕЛЬ поддерживают это.
file:/path/to/mutex
эта директива говорит Модулю SSL выбирать "лучший" файл, захватывающий выполнение, доступное для этого, выбирая между
fcntl
и
flock
, в том заказе. Только доступно, когда основная платформа и АПРЕЛЬ поддерживают по крайней мере один из 2.
default | yes
эта директива говорит Модулю SSL выбирать неплатеж, захватывающий выполнение как определено платформой и апрелем.
SSLMutex file:/usr/local/apache/logs/ssl_mutex
Description: | формировать различные машинные варианты во время выполнения SSL |
---|---|
Syntax: |
SSLOptions [+|-]
option
...
|
Context: | сервер config, действительный хозяин, справочник, .htaccess |
Override: | варианты |
Status: | расширение |
Module: | mod_ssl |
эта директива может использоваться, чтобы управлять различными вариантами во время выполнения на в-справочник основании. Обычно, если кратное число
SSLOptions
мог обратиться к справочнику, тогда самый определенный взят полностью; варианты не слиты. Однако, если
все
варианты на
SSLOptions
директиве предшествуют плюс (
+
) или минус (
-
) символ, варианты слиты. Любые варианты, которым предшествует a
+
добавлены к вариантам в настоящее время в силе, и любых вариантах, которым предшествует a
-
удалены от вариантов в настоящее время в силе.
доступное выбор s:
StdEnvVars
когда этот выбор позволяется, стандартный набор SSL имел отношение, переменные окружающей среды CGI/SSI созданы. Это в неплатеж - инвалиды по причинам работы, потому что информационный шаг извлечения - довольно дорогая операция. Таким образом каждый обычно позволяет этот выбор для CGI, и ПЕРВАЯ СТЕПЕНЬ ИНТЕГРАЦИИ просит только.
CompatEnvVars
когда этот выбор позволяется, дополнительные переменные окружающей среды CGI/SSI созданы для обратной совместимости к другим Apacheским решениям SSL. Загляньте Compatibility глава для деталей относительно специфических произведенных переменных.
ExportCertData
когда этот выбор позволяется, дополнительные переменные окружающей среды CGI/SSI созданы:
SSL_SERVER_CERT
,
SSL_CLIENT_CERT
и
SSL_CLIENT_CERT_CHAIN
n
(с
n
= 0,1,2..). Они содержат PEM-закодированные Свидетельства X.509 о сервере и клиенте для текущей связи HTTPS и могут использоваться подлинниками CGI для более глубокой проверки Свидетельства. Дополнительно все другие свидетельства о цепи свидетельства клиента обеспечиваются, также. Это раздувается окружающая среда немного, которая является, почему Вы должны использовать этот выбор позволить это по требованию.
FakeBasicAuth
когда этот выбор позволяется, Подчиненное Выдающееся Название (отличительное имя) Свидетельства Клиента Кс509а переведено на Основное имя пользователя Разрешения HTTP. Это означает, что стандартные Apacheские опознавательные методы могут использоваться для контроля доступа. Имя пользователя - только Предмет Свидетельства Кс509а Клиента (может быть определен, управляя Опенсслом
openssl x509
команда:
openssl x509 -noout -subject -in
свидетельство
.crt
). Отметьте, что никакой пароль не получен от пользователя. Каждый вход в пользовательском файле нуждается в этом пароле: "
xxj31ZMTZzkVA
", который является DES-зашифрованной версией слова `
password
". Те, кто живет под MD5-базирующимся шифрованием (например под FreeBSD или BSD/OS, и т.д.) должны использовать следующую мешанину MD5 того же самого слова:"
$1$OXLyS...$Owx8s2/m9/gfkcRVXzgoE/
".
StrictRequire
это
силы
запрещенный доступ, когда
SSLRequireSSL
или
SSLRequire
успешно решенный, что доступ нужно запретить. Обычно неплатеж состоит в том что в случае где "
Satisfy any
"директива используется, и другие ограничения доступа передают, опровержение доступа из-за
SSLRequireSSL
или
SSLRequire
отвергнут (потому что это - то, как Apache
Satisfy
механизм должен работать.), Но для строгого ограничения доступа Вы можете использовать
SSLRequireSSL
и/ИЛИ
SSLRequire
в комбинации с "
SSLOptions +StrictRequire
". Тогда дополнительное"
Satisfy Any
"не имеет никакого шанса, как только mod_ssl решил отрицать доступ.
OptRenegotiate
это позволяет оптимизированную обработку пересмотра связи SSL, когда директивы SSL используются во в-справочник контексте. По умолчанию строгая схема позволяется где каждый в-справочник переконфигурация параметров SSL вызывает a полный рукопожатие пересмотра SSL. Когда этот выбор используется попытки mod_ssl избежать ненужных рукопожатий, делая более гранулированный (но все еще сейф) чеки параметра. Однако эти гранулированные чеки иногда возможно не, что пользователь ожидает, так позволите этому на в-справочник основании только, пожалуйста.
SSLOptions +FakeBasicAuth -StrictRequire
<Files ~ "\.(cgi|shtml)$">
SSLOptions +StdEnvVars +CompatEnvVars -ExportCertData
<Files>
Description: | тип диалога фразы прохода для зашифрованных частных ключей |
---|---|
Syntax: |
SSLPassPhraseDialog
type
|
Default: |
SSLPassPhraseDialog builtin
|
Context: | сервер config |
Status: | расширение |
Module: | mod_ssl |
то, когда Apache запускает это, должно прочитать различное Свидетельство (см.
SSLCertificateFile
) и Частный Ключ (см.
SSLCertificateKeyFile
) файлы SSL-позволенных действительных серверов. Поскольку для соображений безопасности Частные Ключевые файлы обычно зашифруются, mod_ssl должен подвергнуть сомнению администратора для Фразы Прохода, чтобы расшифровать те файлы. Этот вопрос может быть сделан двумя способами, которые могут формироваться
напечатать
:
builtin
это - неплатеж, где диалоговый предельный диалог происходит во время запуска непосредственно перед тем, как Apache отделяет от терминала. Здесь администратор должен вручную войти во Фразу Прохода для каждого зашифрованного Частного Ключевого файла. Поскольку много SSL-позволенных действительных хозяев может формироваться, следующая схема повторного использования используется, чтобы минимизировать диалог: Когда Частный Ключевой файл зашифрован, все известные Фразы Прохода (вначале нет ни одного, конечно) пробуются. Если одна из тех известных Фраз Прохода преуспевает, никакой диалог не выскочил для этого специфического Частного Ключевого файла. Если ни один не преуспел, другая Фраза Прохода подвергнута сомнению на терминале и помнится для следующего раунда (где это возможно может многократно использоваться).
эта схема позволяет mod_ssl быть максимально гибким (потому что для N зашифровал Частные Ключевые файлы Вы может использовать различные Фразы Прохода N - но тогда Вы должны войти все их, в конечно), минимизируя предельный диалог (то есть когда Вы используете единственную Фразу Прохода для всех Частных Ключевых файлов N, эта Фраза Прохода подвергнута сомнению только однажды).
exec:/path/to/program
здесь внешняя программа формируется, который называют при запуске для каждого зашифрованного Частного Ключевого файла. Это называют с двумя аргументами (первое имеет форму "
servername:portnumber
", второе - любой"
RSA
"или"
DSA
"), которые указывают, для какого сервера и алгоритма это должно напечатать соответствующую Фразу Прохода к
stdout
. намерение состоит в том, что эта внешняя программа сначала управляет проверками безопасности, чтобы удостовериться, что система не поставлена под угрозу нападавшим, и только когда эти чеки передавали успешно, это обеспечивает Фразу Прохода.
и эти проверки безопасности, и способ, которым Фраза Прохода определена, могут быть столь же сложными, как Вы любите. Mod_ssl только определяет интерфейс: выполнимая программа, которая обеспечивает Фразу Прохода на
stdout
. ничто более или менее! Так, если Вы действительно параноидальны о безопасности, вот - ваш интерфейс. Что - нибудь еще нужно оставить как осуществление администратору, потому что местные требования безопасности настолько отличны.
алгоритм повторного использования выше используется здесь, также. Другими словами: Однажды внешняя программа называется только в уникальную Фразу Прохода.
пример:
SSLPassPhraseDialog exec:/usr/local/apache/sbin/pp-filter
Description: | формировать ароматы протокола SSL годные к употреблению |
---|---|
Syntax: |
SSLProtocol [+|-]
protocol
...
|
Default: |
SSLProtocol all
|
Context: | сервер config, действительный хозяин |
Override: | варианты |
Status: | расширение |
Module: | mod_ssl |
эта директива может использоваться, чтобы управлять ароматами протокола SSL mod_ssl, должен использовать, устанавливая его окружающую среду сервера. Клиенты тогда могут только соединиться с одним из обеспеченных протоколов.
доступный нечувствительный к случаю протокол s:
SSLv2
это - Безопасный Слой Гнезд (SSL) протокол, версия 2.0. Это - оригинальный протокол SSL как разработано Корпорацией Netscape.
SSLv3
это - Безопасный Слой Гнезд (SSL) протокол, версия 3.0. Это - преемник SSLv2, и в настоящее время (на февраль 1999) де-факто стандартизировал протокол SSL от Корпорации Netscape. Это поддержано почти всеми популярными браузерами.
TLSv1
это - Транспортная Безопасность Слоя (TLS) протокол, версия 1.0. Это - преемник SSLv3 и в настоящее время (на февраль 1999) все еще в работе Интернетом, Проектируя Целевую группу (IETF). Это все еще не поддержано никакими популярными браузерами.
All
это - сокращенное для "
+SSLv2 +SSLv3 +TLSv1
"и convinient путь для того, чтобы позволять все протоколы кроме того когда используется в комбинации с минус признак на протоколе как пример выше показов.
# enable SSLv3 and TLSv1, but not SSLv2
SSLProtocol all -SSLv2
Description: | файл связанных PEM-закодированных Свидетельств Калифорнии для Отдаленного Автора Сервера |
---|---|
Syntax: |
SSLProxyCACertificateFile
file-path
|
Context: | сервер config, действительный хозяин |
Status: | расширение |
Module: | mod_ssl |
эта директива устанавливает
единый
файл, где Вы можете собрать Свидетельства о Властях Свидетельства (Калифорния) чей
отдаленные серверы
Вы имеете дело с. Они используются для Отдаленного Установления подлинности Сервера. Такой файл - просто связь различных PEM-закодированных файлов Свидетельства, в порядке предпочтения. Это может использоваться альтернативно и/ИЛИ дополнительно к
SSLProxyCACertificatePath
.
SSLProxyCACertificateFile /usr/local/apache2/conf/ssl.crt/ca-bundle-remote-server.crt
Description: | справочник PEM-закодированных Свидетельств Калифорнии для Отдаленного Автора Сервера |
---|---|
Syntax: |
SSLProxyCACertificatePath
directory-path
|
Context: | сервер config, действительный хозяин |
Status: | расширение |
Module: | mod_ssl |
эта директива устанавливает справочник, где Вы держите Свидетельства о Властях Свидетельства (Калифорния), с отдаленными серверами которой Вы имеете дело. Они используются, чтобы проверить отдаленное свидетельство сервера на Отдаленном Установлении подлинности Сервера.
файлы в этом справочнике должны быть PEM-закодированы и получаются доступ через имена файла мешанины. Так обычно Вы не можете только поместить файлы Свидетельства туда: Вы также должны создать символические названные связи
ценность мешанины
.N
. и Вы должны всегда удостоверяться, что этот справочник содержит соответствующие символические связи. Использование
Makefile
который идет с mod_ssl, чтобы выполнить эту задачу.
SSLProxyCACertificatePath /usr/local/apache2/conf/ssl.crt/
Description: | файл связанной PEM-закодированной Калифорнии CRLs для Отдаленного Автора Сервера |
---|---|
Syntax: |
SSLProxyCARevocationFile
file-path
|
Context: | сервер config, действительный хозяин |
Status: | расширение |
Module: | mod_ssl |
эта директива устанавливает
единый
файл, где Вы можете собрать Списки Аннулирования Свидетельства (CRL) Властей Свидетельства (Калифорния) чей
отдаленные серверы
Вы имеете дело с. Они используются для Отдаленного Установления подлинности Сервера. Такой файл - просто связь различных PEM-закодированных файлов CRL, в порядке предпочтения. Это может использоваться альтернативно и/ИЛИ дополнительно к
SSLProxyCARevocationPath
.
SSLProxyCARevocationFile /usr/local/apache2/conf/ssl.crl/ca-bundle-remote-server.crl
Description: | справочник PEM-закодированной Калифорнии CRLs для Отдаленного Автора Сервера |
---|---|
Syntax: |
SSLProxyCARevocationPath
directory-path
|
Context: | сервер config, действительный хозяин |
Status: | расширение |
Module: | mod_ssl |
эта директива устанавливает справочник, где Вы держите Списки Аннулирования Свидетельства (CRL) Властей Свидетельства (Калифорния), с отдаленными серверами которой Вы имеете дело. Они используются, чтобы отменить отдаленное свидетельство сервера на Отдаленном Установлении подлинности Сервера.
файлы в этом справочнике должны быть PEM-закодированы и получаются доступ через имена файла мешанины. Так обычно Вы должны только поместить файлы CRL туда. Дополнительно Вы должны создать символические названные связи
ценность мешанины
.rN
. и Вы должны всегда удостоверяться, что этот справочник содержит соответствующие символические связи. Использование
Makefile
который идет
mod_ssl
выполнять эту задачу.
SSLProxyCARevocationPath /usr/local/apache2/conf/ssl.crl/
Description: | Набор Шифра, доступный для переговоров в рукопожатии по доверенности SSL |
---|---|
Syntax: |
SSLProxyCipherSuite
cipher-spec
|
Default: |
SSLProxyCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
|
Context: | сервер config, действительный хозяин, справочник, .htaccess |
Override: | AuthConfig |
Status: | расширение |
Module: | mod_ssl |
эквивалентный
SSLCipherSuite
, но для связи по доверенности. Пожалуйста обратитесь к
SSLCipherSuite
для дополнительной информации.
Description: | Полномочие SSL Машинный Выключатель Операции |
---|---|
Syntax: |
SSLProxyEngine on|off
|
Default: |
SSLProxyEngine off
|
Context: | сервер config, действительный хозяин |
Status: | расширение |
Module: | mod_ssl |
эти направляющие пуговицы использование Двигателя Протокола SSL/TLS для полномочия. Это обычно используется внутри a
<VirtualHost>
секция, чтобы позволить SSL/TLS для использования по доверенности в специфическом действительном хозяине. По умолчанию Двигатель Протокола SSL/TLS - инвалиды для изображения по доверенности и для главного сервера и всех формируемых действительных хозяев.
<VirtualHost _default_:443>
SSLProxyEngine on
...
</VirtualHost>
Description: | файл связанных PEM-закодированных свидетельств клиента и ключей, которые используются полномочием |
---|---|
Syntax: |
SSLProxyMachineCertificateFile
filename
|
Context: | сервер config |
Override: | не применимый |
Status: | расширение |
Module: | mod_ssl |
эта директива устанавливает единый файл, где Вы держите свидетельства и ключи используемыми для установления подлинности сервера по доверенности к отдаленным серверам.
этот файл, на который ссылаются, - просто связь различных PEM-закодированных файлов свидетельства, в порядке предпочтения. Используйте эту директиву альтернативно или дополнительно к
SSLProxyMachineCertificatePath
.
в настоящее время нет никакой поддержки зашифрованным частным ключам
пример:
SSLProxyMachineCertificateFile /usr/local/apache2/conf/ssl.crt/proxy.pem
Description: | справочник PEM-закодированных свидетельств клиента и ключей, которые используются полномочием |
---|---|
Syntax: |
SSLProxyMachineCertificatePath
directory
|
Context: | сервер config |
Override: | не применимый |
Status: | расширение |
Module: | mod_ssl |
эта директива устанавливает справочник, где Вы держите свидетельства и ключи используемыми для установления подлинности сервера по доверенности к отдаленным серверам.
файлы в этом справочнике должны быть PEM-закодированы и получаются доступ через имена файла мешанины. Дополнительно, Вы должны создать символические названные связи
hash-value
.N
. и Вы должны всегда удостоверяться, что этот справочник содержит соответствующие символические связи. Используйте Makefile, который идет с mod_ssl, чтобы выполнить эту задачу.
в настоящее время нет никакой поддержки зашифрованным частным ключам
пример:
SSLProxyMachineCertificatePath /usr/local/apache2/conf/proxy.crt/
Description: | формировать ароматы протокола SSL годные к употреблению для использования по доверенности |
---|---|
Syntax: |
SSLProxyProtocol [+|-]
protocol
...
|
Default: |
SSLProxyProtocol all
|
Context: | сервер config, действительный хозяин |
Override: | варианты |
Status: | расширение |
Module: | mod_ssl |
эта директива может использоваться, чтобы управлять ароматами протокола SSL mod_ssl, должен использовать, устанавливая его окружающую среду сервера для полномочия. Это только соединится с серверами, используя один из обеспеченных протоколов.
пожалуйста обратитесь к
SSLProtocol
для дополнительной информации.
Description: | тип отдаленной проверки Свидетельства сервера |
---|---|
Syntax: |
SSLProxyVerify
level
|
Default: |
SSLProxyVerify none
|
Context: | сервер config, действительный хозяин, справочник, .htaccess |
Override: | AuthConfig |
Status: | расширение |
Module: | mod_ssl |
эта директива устанавливает уровень проверки Свидетельства для отдаленного Установления подлинности сервера. Заметьте, что эта директива может использоваться и во в-сервер и в-справочник контексте. Во в-сервер контексте это обращается к отдаленному процессу установления подлинности сервера, используемому в стандартном рукопожатии SSL, когда связь установлена. Во в-справочник контексте это вызывает SSL renegotation с повторно формируемым отдаленным уровнем проверки сервера после того, как запрос HTTP был прочитан, но прежде, чем ответ HTTP посылают.
следующие уровни доступны для уровень :
практически только уровни ни один и требовать являются действительно интересными, потому что уровень дополнительный не работает со всеми серверами и уровнем optional_no_ca является фактически против идеи относительно установления подлинности (но может использоваться, чтобы установить страницы теста SSL, и т.д.),
SSLProxyVerify require
Description: | максимальная глубина Свидетельств Калифорнии в Отдаленной проверке Свидетельства Сервера |
---|---|
Syntax: |
SSLProxyVerifyDepth
number
|
Default: |
SSLProxyVerifyDepth 1
|
Context: | сервер config, действительный хозяин, справочник, .htaccess |
Override: | AuthConfig |
Status: | расширение |
Module: | mod_ssl |
эта директива устанавливает, как глубоко mod_ssl должен проверить перед решением, что отдаленный сервер не имеет действительного свидетельства. Заметьте, что эта директива может использоваться и во в-сервер и в-справочник контексте. Во в-сервер контексте это обращается к процессу установления подлинности клиента, используемому в стандартном рукопожатии SSL, когда связь установлена. Во в-справочник контексте это вызывает SSL renegotation с повторно формируемой отдаленной глубиной проверки сервера после того, как запрос HTTP был прочитан, но прежде, чем ответ HTTP посылают.
глубина фактически - максимальное число промежуточных выпускающих свидетельства, то есть число свидетельств Калифорнии, которые являются Максом, позволило сопровождаться, проверяя отдаленное свидетельство сервера. Глубина 0 средств, которые самоподписали отдаленные свидетельства сервера, принята только, глубина по умолчанию 1 средства отдаленное свидетельство сервера может быть самоподписано или должно быть подписано Калифорнией, которая непосредственно известна серверу (то есть свидетельство Калифорнии находится под
SSLProxyCACertificatePath
), и т.д.
SSLProxyVerifyDepth 10
Description: | Псевдо Случайный Генератор Числа (PRNG) источник отбора |
---|---|
Syntax: |
SSLRandomSeed
context
source
[
bytes
]
|
Context: | сервер config |
Status: | расширение |
Module: | mod_ssl |
это формирует один или более источников для отбора Псевдо Случайный Генератор Числа (PRNG) в Опенссле во время запуска (
контекст
startup
) и/ИЛИ непосредственно перед тем, как новая связь SSL установлена (
контекст
connect
). Эта директива может только использоваться в глобальном контексте сервера, потому что PRNG - глобальное средство.
следующий источник варианты доступны:
builtin
это - всегда доступный встроенный источник отбора. Это - использование, потребляет минимальные циклы центрального процессора под временем выполнения и следовательно может всегда использоваться без недостатков. Источник, используемый для отбора PRNG содержит из текущего времени, текущий процесс id и (когда применимый) беспорядочно choosen извлечение 1 КБ структуры табло межпроцесса Apacheа. Недостаток состоит в том, что это не действительно сильный источник и во время запуска (где табло все еще не доступно), этот источник только производит несколько байтов энтропии. Таким образом Вы должны всегда, по крайней мере для запуска, использовать дополнительный источник отбора.
file:/path/to/source
этот вариант использует внешний файл
/path/to/source
как источник для отбора PRNG. Когда
байты
определен, только первое
байты
число байтов файла формирует энтропию (и
байты
дается
/path/to/source
как первый аргумент). Когда
байты
не определен целый файл формирует энтропию (и
0
дается
/path/to/source
как первый аргумент). Используйте это особенно во время запуска, например с доступным
/dev/random
и/ИЛИ
/dev/urandom
устройства (которые обычно существуют на современных производных числах Unix как FreeBSD и Linux).
но быть осторожным
: Обычно
/dev/random
обеспечивает только такие большие данные энтропии, как это фактически имеет, то есть когда Вы просите 512 байтов энтропии, но устройство в настоящее время имеет только 100-байтовые доступные две вещи, может случиться: На некоторых платформах Вы получаете только 100 байтов, в то время как на других платформах прочитанные блоки достаточно до многих байтов доступны (который может отнять много времени). Здесь использование существующего
/dev/urandom
лучше, потому что это никогда не блокирует и фактически дает количество требуемых данных. Недостаток состоит только в том, что качество полученных данных, возможно, не лучшее.
на некоторых платформах как FreeBSD можно даже управлять, как энтропия фактически произведена, то есть которым система прерывает. Больше деталей можно найти под
rndcontrol (8)
на тех платформах. Альтернативно, когда ваша система испытывает недостаток в таком случайном устройстве, Вы можете использовать инструмент как
EGD
(Энтропия, Собирающая Демона) и управляемый это - программа клиента с
exec:/path/to/program/
вариант (см. ниже), или использование
egd:/path/to/egd-socket
(см. ниже).
exec:/path/to/program
этот вариант использует внешнее выполнимое
/path/to/program
как источник для отбора PRNG. Когда
байты
определен, только первое
байты
число байтов
stdout
содержание формирует энтропию. Когда
байты
не определен, полнота данных, произведенных на
stdout
сформировать энтропию. Используйте это только во время запуска, когда Вы нуждаетесь в очень сильном отборе с помощью внешней программы (например как в примере выше с
truerand
полезность, которую Вы можете найти в mod_ssl распределении, которое является основанным на AT&T
truerand
библиотека). Используя это в связи контекст замедляет сервер слишком драматично, конечно. Так обычно Вы должны избежать использовать внешние программы в том контексте.
egd:/path/to/egd-socket
(Unix только)
этот вариант использует гнездо области Unix внешней Энтропии, Собирающей Демона (EGD) (см. http://www.lothar.com/tech /crypto/ ), чтобы отобрать PRNG. Используйте это, если никакое случайное устройство не существует на вашей платформе.
SSLRandomSeed startup builtin
SSLRandomSeed startup file:/dev/random
SSLRandomSeed startup file:/dev/urandom 1024
SSLRandomSeed startup exec:/usr/local/bin/truerand 16
SSLRandomSeed connect builtin
SSLRandomSeed connect file:/dev/random
SSLRandomSeed connect file:/dev/urandom 1024
Description: | позволить доступ только, когда произвольно сложное булево выражение верно |
---|---|
Syntax: |
SSLRequire
expression
|
Context: | справочник, .htaccess |
Override: | AuthConfig |
Status: | расширение |
Module: | mod_ssl |
эта директива определяет общее требование доступа, которое должно быть выполнено, чтобы позволить доступ. Это - очень мощная директива, потому что спецификация требования - произвольно сложное булево выражение, содержащее любое число чеков доступа.
выражение должен соответствовать следующему синтаксису (данный как примечание грамматики BNF):
expr:: = " верный "|" ложный "|" ! "expr | expr" && "expr | expr" || "expr |" ( "expr" ) "| аккомпанемент аккомпанируют:: = слово" == "слово | слово" eq "слово | слово" ! = "слово | слово" ne "слово | слово" < "слово | слово" lt "слово | слово" <= "слово | слово" le "слово | слово" > "слово | слово" gt "слово | слово" >= "слово | слово" ge "слово | слово" в "" { "список слов" } "| слово" = ~ "regex | слово" ! ~ "список слов regex:: = слово | список слов" , "слово слова:: = цифра | cstring | переменная | цифра функции:: = [0-9] + cstring:: =" ... "переменная:: =" % { "varname" } "функционируйте:: = funcname" ( "funcargs" ) "
в то время как для
varname
любая переменная от
Table 3
может использоваться. Наконец для
funcname
следующие функции доступны:
file(
имя файла
)
эта функция берет один аргумент вереницы и расширяется к содержанию файла. Это особенно полезно для того, чтобы соответствовать, это удовлетворяет против регулярного выражения, и т.д.
заметить это выражение сначала разобран во внутреннее представление машины и затем оценен во втором шаге. Фактически, в Глобальном и В-сервер контексте Класса выражение разобран во время запуска и во времени выполнения, только представление машины выполнено. Для В-справочник контекста это отлично: здесь выражение должен быть разобран и немедленно выполнен для каждого запроса.
SSLRequire ( %{SSL_CIPHER} !~ m/^(EXP|NULL)-/ \
and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \
and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \
and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \
and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20 ) \
or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/
стандартный CGI/1.0 и Apacheские переменные:
HTTP_USER_AGENT PATH_INFO AUTH_TYPE HTTP_REFERER QUERY_STRING SERVER_SOFTWARE HTTP_COOKIE REMOTE_HOST API_VERSION HTTP_FORWARDED REMOTE_IDENT TIME_YEAR HTTP_HOST IS_SUBREQ TIME_MON HTTP_PROXY_CONNECTION DOCUMENT_ROOT TIME_DAY HTTP_ACCEPT SERVER_ADMIN TIME_HOUR HTTP:headername SERVER_NAME TIME_MIN THE_REQUEST SERVER_PORT TIME_SEC REQUEST_METHOD SERVER_PROTOCOL TIME_WDAY REQUEST_SCHEME REMOTE_ADDR ВРЕМЯ REQUEST_URI REMOTE_USER КОНВЕРТ: variablename REQUEST_FILENAME
SSL-связанные переменные:
HTTPS SSL_CLIENT_M_VERSION SSL_SERVER_M_VERSION SSL_CLIENT_M_SERIAL SSL_SERVER_M_SERIAL SSL_PROTOCOL SSL_CLIENT_V_START SSL_SERVER_V_START SSL_SESSION_ID SSL_CLIENT_V_END SSL_SERVER_V_END SSL_CIPHER SSL_CLIENT_S_DN SSL_SERVER_S_DN SSL_CIPHER_EXPORT SSL_CLIENT_S_DN_C SSL_SERVER_S_DN_C SSL_CIPHER_ALGKEYSIZE SSL_CLIENT_S_DN_ST SSL_SERVER_S_DN_ST SSL_CIPHER_USEKEYSIZE SSL_CLIENT_S_DN_L SSL_SERVER_S_DN_L SSL_VERSION_LIBRARY SSL_CLIENT_S_DN_O SSL_SERVER_S_DN_O SSL_VERSION_INTERFACE SSL_CLIENT_S_DN_OU SSL_SERVER_S_DN_OU SSL_CLIENT_S_DN_CN SSL_SERVER_S_DN_CN SSL_CLIENT_S_DN_T SSL_SERVER_S_DN_T SSL_CLIENT_S_DN_I SSL_SERVER_S_DN_I SSL_CLIENT_S_DN_G SSL_SERVER_S_DN_G SSL_CLIENT_S_DN_S SSL_SERVER_S_DN_S SSL_CLIENT_S_DN_D SSL_SERVER_S_DN_D SSL_CLIENT_S_DN_UID SSL_SERVER_S_DN_UID SSL_CLIENT_S_DN_Email SSL_SERVER_S_DN_Email SSL_CLIENT_I_DN SSL_SERVER_I_DN SSL_CLIENT_I_DN_C SSL_SERVER_I_DN_C SSL_CLIENT_I_DN_ST SSL_SERVER_I_DN_ST SSL_CLIENT_I_DN_L SSL_SERVER_I_DN_L SSL_CLIENT_I_DN_O SSL_SERVER_I_DN_O SSL_CLIENT_I_DN_OU SSL_SERVER_I_DN_OU SSL_CLIENT_I_DN_CN SSL_SERVER_I_DN_CN SSL_CLIENT_I_DN_T SSL_SERVER_I_DN_T SSL_CLIENT_I_DN_I SSL_SERVER_I_DN_I SSL_CLIENT_I_DN_G SSL_SERVER_I_DN_G SSL_CLIENT_I_DN_S SSL_SERVER_I_DN_S SSL_CLIENT_I_DN_D SSL_SERVER_I_DN_D SSL_CLIENT_I_DN_UID SSL_SERVER_I_DN_UID SSL_CLIENT_I_DN_Email SSL_SERVER_I_DN_Email SSL_CLIENT_A_SIG SSL_SERVER_A_SIG SSL_CLIENT_A_KEY SSL_SERVER_A_KEY SSL_CLIENT_CERT SSL_SERVER_CERT SSL_CLIENT_CERT_CHAIN n SSL_CLIENT_VERIFY
Description: | отрицать доступ, когда SSL не используется для запроса HTTP |
---|---|
Syntax: |
SSLRequireSSL
|
Context: | справочник, .htaccess |
Override: | AuthConfig |
Status: | расширение |
Module: | mod_ssl |
эта директива не запрещает доступ если HTTP по SSL (то есть. HTTPS), позволяется для текущей связи. Это очень удобно в SSL-позволенном действительном хозяине или справочниках для того, чтобы защитить против ошибок конфигурации, которые выставляют материал, который должен быть защищен. Когда эта директива присутствует, все запросы отрицаются, которые не используют SSL.
SSLRequireSSL
Description: | тип global/inter-process SSL Тайник Сессии |
---|---|
Syntax: |
SSLSessionCache
type
|
Default: |
SSLSessionCache none
|
Context: | сервер config |
Status: | расширение |
Module: | mod_ssl |
это формирует тип хранения global/inter-process SSL Тайник Сессии. Этот тайник - дополнительное средство, которое ускоряет параллельную обработку запроса. Для запросов к тому же самому процессу сервера (через HTTP держат - живым), Опенссл уже прячет информацию сессии SSL про запас в местном масштабе. Но потому что современные клиенты просят изображения inlined и другие данные через параллельные запросы (обычно, до четырех параллельных запросов обычны), теми запросами служат отличный предразветвленные процессы сервера. Здесь тайник межпроцесса помогает избегать unneccessary рукопожатий сессии.
следующие два хранения напечатать s в настоящее время поддерживаются:
none
это - неплатеж и только повреждает global/inter-process Тайник Сессии. В функциональных возможностях нет никакого недостатка, но значимый штраф скорости может быть соблюден.
dbm:/path/to/datafile
это использует DBM hashfile на местном диске, чтобы синхронизировать местные тайники памяти Опенссла процессов сервера. Небольшое увеличение ввода / вывода на сервере приводит к видимому ускорению запроса для ваших клиентов, таким образом этот тип хранения вообще рекомендуется.
shm:/path/to/datafile
[
(
размер
)
]
это использует высокоэффективный стол мешанины (приблизительно.
размер
байты в размере) в совместно используемой памяти сегментируют в RAM (установленный через
/path/to/datafile
), чтобы синхронизировать местные тайники памяти Опенссла процессов сервера. Этот тип хранения не доступен на всех платформах.
SSLSessionCache dbm:/usr/local/apache/logs/ssl_gcache_data
SSLSessionCache shm:/usr/local/apache/logs/ssl_gcache_data(512000)
Description: | число секунд перед сессией SSL истекает в Тайнике Сессии |
---|---|
Syntax: |
SSLSessionCacheTimeout
seconds
|
Default: |
SSLSessionCacheTimeout 300
|
Context: | сервер config, действительный хозяин |
Status: | расширение |
Module: | mod_ssl |
эта директива устанавливает перерыв в секундах для информации, сохраненной в global/inter-process SSL Тайник Сессии и Опенссл внутренний тайник памяти. Это может быть установлено столь же низко как 15 для испытания, но должно собираться более высокие ценности как 300 в действительности.
SSLSessionCacheTimeout 600
Description: | переменное название, чтобы определить имя пользователя |
---|---|
Syntax: |
SSLUserName
varname
|
Context: | сервер config, справочник, .htaccess |
Override: | AuthConfig |
Status: | расширение |
Module: | mod_ssl |
Compatibility: | доступный в Apacheе 2.0.51 и позже |
эта директива устанавливает "пользовательскую" область в Apacheском объекте запроса. Это используется более низкими модулями, чтобы идентифицировать пользователя со строкой символов. В частности это может вызвать переменную окружающей среды
REMOTE_USER
быть установленным.
varname
может быть любой из
SSL environment variables
.
SSLUserName SSL_CLIENT_S_DN_CN
Description: | тип проверки Свидетельства Клиента |
---|---|
Syntax: |
SSLVerifyClient
level
|
Default: |
SSLVerifyClient none
|
Context: | сервер config, действительный хозяин, справочник, .htaccess |
Override: | AuthConfig |
Status: | расширение |
Module: | mod_ssl |
эта директива устанавливает уровень проверки Свидетельства для Установления подлинности Клиента. Заметьте, что эта директива может использоваться и во в-сервер и в-справочник контексте. Во в-сервер контексте это обращается к процессу установления подлинности клиента, используемому в стандартном рукопожатии SSL, когда связь установлена. Во в-справочник контексте это вызывает SSL renegotation с повторно формируемым уровнем проверки клиента после того, как запрос HTTP был прочитан, но прежде, чем ответ HTTP посылают.
следующие уровни доступны для уровень :
практически только уровни ни один и требовать являются действительно интересными, потому что уровень дополнительный не работает со всеми браузерами и уровнем optional_no_ca является фактически против идеи относительно установления подлинности (но может использоваться, чтобы установить страницы теста SSL, и т.д.),
SSLVerifyClient require
Description: | максимальная глубина Свидетельств Калифорнии в проверке Свидетельства Клиента |
---|---|
Syntax: |
SSLVerifyDepth
number
|
Default: |
SSLVerifyDepth 1
|
Context: | сервер config, действительный хозяин, справочник, .htaccess |
Override: | AuthConfig |
Status: | расширение |
Module: | mod_ssl |
эта директива устанавливает, как глубоко mod_ssl должен проверить перед решением, что клиенты не имеют действительного свидетельства. Заметьте, что эта директива может использоваться и во в-сервер и в-справочник контексте. Во в-сервер контексте это обращается к процессу установления подлинности клиента, используемому в стандартном рукопожатии SSL, когда связь установлена. Во в-справочник контексте это вызывает SSL renegotation с повторно формируемой глубиной проверки клиента после того, как запрос HTTP был прочитан, но прежде, чем ответ HTTP посылают.
глубина фактически - максимальное число промежуточных выпускающих свидетельства, то есть число свидетельств Калифорнии, которые являются Максом, позволило сопровождаться, проверяя свидетельство клиента. Глубина 0 средств, которые самоподписали свидетельства клиента, принята только, глубина по умолчанию 1 средства свидетельство клиента может быть самоподписано или должно быть подписано Калифорнией, которая непосредственно известна серверу (то есть свидетельство Калифорнии находится под
SSLCACertificatePath
), и т.д.
SSLVerifyDepth 10