Раздел 10. Модули Апача Пункты: 85 86 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 163 164 165 166 167 168 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 203 204 205 206 207 208 209 210 211 212 213 RU EN Пункт 191. Модуль Apache mod_session_crypto Модули сеанса используют файлы cookie HTTP и, как таковые, могут стать жертвой атак межсайтового скриптинга или предоставить клиентам потенциально личную информацию. Пожалуйста, убедитесь, что соответствующие риски были приняты во внимание, прежде чем включать функции сеанса на вашем сервере. Этот подмодуль Это может помочь обеспечить конфиденциальность пользовательских сеансов, когда содержимое сеанса должно быть скрыто от пользователя, или когда требуется защита от последствий атак с использованием межсайтовых сценариев. Дополнительные сведения об интерфейсе сеанса см. в документации к модулю Основное использованиеЧтобы создать простой зашифрованный сеанс и сохранить его в файле cookie с именем session , настройте сеанс следующим образом: Зашифрованный сеанс на основе браузераСессия включена Путь сеанса SessionCookieName=/ SessionCryptoPassphrase секрет Сессия будет зашифрована данным ключом. Разные серверы можно настроить для совместного использования сеансов, обеспечив использование одного и того же ключа шифрования на каждом сервере. При изменении ключа шифрования сеансы будут автоматически аннулированы. Документацию о том, как сеанс можно использовать для хранения сведений об имени пользователя и пароле, см. в Директива SessionCryptoCipher
Директива Возможные значения зависят от используемого драйвера шифрования и могут быть одним из следующих:
Директива SessionCryptoDriver
Директива Драйвер шифрования NSS требует некоторых параметров для настройки, которые указываются как параметры с необязательными значениями после имени драйвера. NSS без базы данных сертификатовSessionCryptoDriver nss NSS с базой данных сертификатовSessionCryptoDriver nss dir=certs NSS с базой данных сертификатов и параметрамиSessionCryptoDriver nss dir=certs key3=key3.db cert7=cert7.db secmod=secmod NSS с путями, содержащими пробелыSessionCryptoDriver nss "dir=My Certs" key3=key3.db cert7=cert7.db secmod=secmod Драйвер шифрования NSS мог быть уже настроен другой частью сервера, например, из
NSS с базой данных сертификатовSessionCryptoDriver nss noinit Чтобы избежать путаницы, убедитесь, что все модули, требующие NSS, настроены с одинаковыми параметрами. Драйвер шифрования openssl поддерживает необязательный параметр для указания механизма, который будет использоваться для шифрования. OpenSSL с поддержкой движкаДвижок SessionCryptoDriver openssl = имя Директива SessionCryptoPassphrase
Директива Ключи более безопасны, когда они длинные и состоят из действительно случайных символов. Изменение ключа на сервере приводит к аннулированию всех существующих сеансов. Можно указать несколько ключей для поддержки ротации ключей. Первый указанный ключ будет использоваться для шифрования, в то время как все перечисленные ключи будут предприняты для расшифровки. Чтобы чередовать ключи между несколькими серверами в течение определенного периода времени, добавьте новый секрет в конец списка, а после полного развертывания на всех серверах удалите первый ключ из начала списка. Начиная с версии 2.4.7, если значение начинается с exec: результирующая команда будет выполнена, и первая строка, возвращенная программой в стандартный вывод, будет использоваться в качестве ключа. #ключ используется как есть SessionCryptoPassphrase секрет # Запустите /путь/к/программе, чтобы получить ключ SessionCryptoPassphrase exec:/путь/к/программе # Запустите /path/to/otherProgram и укажите аргументы SessionCryptoPassphrase "exec:/path/to/otherProgram arguments1" Директива SessionCryptoPassphraseFile
Директива В отличие от Можно указать несколько ключей для поддержки ротации ключей. Первый указанный ключ будет использоваться для шифрования, в то время как все перечисленные ключи будут предприняты для расшифровки. Чтобы чередовать ключи между несколькими серверами в течение определенного периода времени, добавьте новый секрет в конец списка, а после полного развертывания на всех серверах удалите первый ключ из начала списка. Пункты: 85 86 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 163 164 165 166 167 168 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 203 204 205 206 207 208 209 210 211 212 213 |