質問したいこと
アプリケーションサーバに画像をpostするとSSL終端をしているApacheでサイズ超過のエラーが発生した。
暫定的な回避方法は見つかったが、SSLCipherSuiteとSSLRenegBufferSizeの関係がよく分からないためSSLCipherSuiteとSSLRenegBufferSizeにどのような関連があるのか教えて頂きたいです。
構成
Client →(https) Apache(SSL終端) →(http) ApplicationServer
発生している問題・エラーメッセージ
画像をアプリケーションサーバにポストするとエラーが発生しアップロードに失敗する。
[error] [client 10.82.12.18] request body exceeds maximum size (131072) for SSL buffer, referer: https://sv.hoge.com/ [error] [client 10.82.12.18] could not buffer message body to allow SSL renegotiation to proceed, referer: https://sv.hoge.com/
試したこと
・アプリケーションサーバに直接アクセス(http)し画像をアップロードすると成功する。
・Apache経由でもSSLCipherSuiteを以下に設定すればエラー発生せずアップロードが成功する。
SSLCipherSuite HIGH:!MD5:!ADH
・以下のSSLCipherSuiteのときだけ事象が発生しアップロードに失敗する。
SSLCipherSuite HIGH:!MD5:!ADH:!DES-CBC3-SHA:!ECDHE-RSA-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA
・エラーメッセージでググるとSSLRenegBufferSize の上限を大きくしろ、という記事が出てくるがReverseProxyとして使ってるだけなので関係なさそう
(SSLRenegBufferSizeはdirectory に設定するDirectiveで下記のとおりReverseProxyの場合、設定箇所がない)
・オンプレ環境では本設定で問題なかったが、AWS環境だと本事象が発生するようになった。
補足情報(Apacheバージョン、該当箇所のconfig)
root:~$ httpd -V Server version: Apache/2.2.15 (Unix) Server built: Sep 19 2017 11:18:50 Server's Module Magic Number: 20051115:25 Server loaded: APR 1.3.9, APR-Util 1.3.9 Compiled using: APR 1.3.9, APR-Util 1.3.9 Architecture: 64-bit Server MPM: Prefork
root:~$ cat vhost.conf .. 一部省略 .. <VirtualHost *:443> ServerName sv.hoge.com:443 SSLEngine on SSLProtocol All -SSLv2 -SSLv3 SSLHonorCipherOrder On SSLCipherSuite HIGH:!MD5:!ADH # ←エラーでない SSLCipherSuite HIGH:!MD5:!ADH:!DES-CBC3-SHA:!ECDHE-RSA-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA # アップロードエラー SSLCertificateFile /etc/pki/sv.crt SSLCertificateKeyFile /etc/pki/sv.key SSLCertificateChainFile /etc/pki/CA.crt # Direcotry / にSSLRenegBufferSize をセットしてみるが事象変わらず # <Directory /> # SSLRenegBufferSize 100000000 # </Directory> # cipherlogを追加 CustomLog logs/ssl_cipher.log "%t %h %{SSL_PROTOCOL}e %{SSL_CIPHER}e %{SSL_SESSION_ID}e %{SSL_SESSION_RESUMED}e RequestHeader edit Referer https://sv.hoge.com/ / ProxyPass / http://appsv:8080/ ProxyPassReverse / http://appsv:8080/ </VirtualHost>
よろしくお願いします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/07 12:27 編集
2018/09/08 09:36
2018/09/09 12:54