AlmaLinux9.3にhttpd2.4.57をDNFでインストール
篠原 隆司
アフィリエイト広告を利用しています
このページの内容が役に立ったら X (旧twitter) でフォローして頂けると励みになります
挨拶や報告は無しで大丈夫です
AlmaLinux9.3にhttpdをDNFでインストールしていってみたいと思います。
今回はhttpd2.4.57をインストールします。
httpdかNginxかって議論がありますが、さくっと便利なのはhttpdです。
Nginxは本番環境の性能が求められるようなときに威力を発揮しますが、ローカル環境や開発環境、勉強目的ではスペックオーバーとなります。
そもそも Nginx を必要とするほど大量アクセスのあるWebサイトってどれほどあるか。
そこまでサイトを育てるのがどんなに大変か。
「httpdとNginxを比べたら」って話ですが、httpd自体そんなに悪いものではありません。
どちらも一長一短です。
そういう話は良いから単純にNginxが使いたい場合はこちらです。
※CentOS8の記事ですがほぼ同じです
なお本番環境で利用される場合はここにある内容だけを鵜呑みにせずセキュリティ専門家に相談されることをお勧めします。
環境
実施日 | 2024-04-23 |
サーバ | さくらのVPS 2G |
OS | AlmaLinux9.3 |
cat /etc/redhat-release
AlmaLinux release 9.3 (Shamrock Pampas Cat)
インストール内容の確認
まずは対象バージョンを確認します。
dnf list httpd openssl
Last metadata expiration check: 3:51:18 ago on Fri 08 Sep 2023 05:50:27 AM JST.
Installed Packages
openssl.x86_64 1:3.0.7-25.el9_3 @baseos
Available Packages
httpd.x86_64 2.4.57-5.el9 appstream
opensslはもともとインストールされていると思います。
httpdはインストールされていないようです。
セットアップファイルを作成
cd
vi /root/setup_httpd.sh
#! /bin/sh
dnf -y install httpd mod_ssl
mv /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.backup
mv /etc/httpd/conf.d/welcome.conf /etc/httpd/conf.d/welcome.conf.stop
touch /etc/httpd/conf.d/ssl.conf
mkdir /etc/httpd/conf.d/vhosts
cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.backup
sed -i -e "/^#ServerName www.example.com:80$/a\ServerName localhost:80" /etc/httpd/conf/httpd.conf
cp /etc/httpd/conf.modules.d/00-base.conf /etc/httpd/conf.modules.d/00-base.conf.backup
sed -i -e "s/^LoadModule auth_digest_module modules\/mod_auth_digest.so$/# LoadModule auth_digest_module modules\/mod_auth_digest.so/" /etc/httpd/conf.modules.d/00-base.conf
sed -i -e "s/^LoadModule authn_anon_module modules\/mod_authn_anon.so$/# LoadModule authn_anon_module modules\/mod_authn_anon.so/" /etc/httpd/conf.modules.d/00-base.conf
sed -i -e "s/^LoadModule authn_dbm_module modules\/mod_authn_dbm.so$/# LoadModule authn_dbm_module modules\/mod_authn_dbm.so/" /etc/httpd/conf.modules.d/00-base.conf
sed -i -e "s/^LoadModule authz_owner_module modules\/mod_authz_owner.so$/# LoadModule authz_owner_module modules\/mod_authz_owner.so/" /etc/httpd/conf.modules.d/00-base.conf
sed -i -e "s/^LoadModule authz_groupfile_module modules\/mod_authz_groupfile.so$/# LoadModule authz_groupfile_module modules\/mod_authz_groupfile.so/" /etc/httpd/conf.modules.d/00-base.conf
sed -i -e "s/^LoadModule authz_dbm_module modules\/mod_authz_dbm.so$/# LoadModule authz_dbm_module modules\/mod_authz_dbm.so/" /etc/httpd/conf.modules.d/00-base.conf
sed -i -e "s/^LoadModule include_module modules\/mod_include.so$/# LoadModule include_module modules\/mod_include.so/" /etc/httpd/conf.modules.d/00-base.conf
sed -i -e "s/^LoadModule ext_filter_module modules\/mod_ext_filter.so$/# LoadModule ext_filter_module modules\/mod_ext_filter.so/" /etc/httpd/conf.modules.d/00-base.conf
sed -i -e "s/^LoadModule mime_magic_module modules\/mod_mime_magic.so$/# LoadModule mime_magic_module modules\/mod_mime_magic.so/" /etc/httpd/conf.modules.d/00-base.conf
sed -i -e "s/^LoadModule autoindex_module modules\/mod_autoindex.so$/# LoadModule autoindex_module modules\/mod_autoindex.so/" /etc/httpd/conf.modules.d/00-base.conf
sed -i -e "s/^LoadModule userdir_module modules\/mod_userdir.so$/# LoadModule userdir_module modules\/mod_userdir.so/" /etc/httpd/conf.modules.d/00-base.conf
sed -i -e "s/^LoadModule cache_module modules\/mod_cache.so$/# LoadModule cache_module modules\/mod_cache.so/" /etc/httpd/conf.modules.d/00-base.conf
sed -i -e "s/^LoadModule version_module modules\/mod_version.so$/# LoadModule version_module modules\/mod_version.so/" /etc/httpd/conf.modules.d/00-base.conf
sed -i -e "s/^LoadModule usertrack_module modules\/mod_usertrack.so$/# LoadModule usertrack_module modules\/mod_usertrack.so/" /etc/httpd/conf.modules.d/00-base.conf
sed -i -e "s/^LoadModule cache_disk_module modules\/mod_cache_disk.so$/# LoadModule cache_disk_module modules\/mod_cache_disk.so/" /etc/httpd/conf.modules.d/00-base.conf
sed -i -e "s/^LoadModule cache_socache_module modules\/mod_cache_socache.so$/# LoadModule cache_socache_module modules\/mod_cache_socache.so/" /etc/httpd/conf.modules.d/00-base.conf
mv /etc/httpd/conf.modules.d/00-dav.conf /etc/httpd/conf.modules.d/00-dav.conf.stop
mv /etc/httpd/conf.modules.d/00-lua.conf /etc/httpd/conf.modules.d/00-lua.conf.stop
cp /etc/httpd/conf.modules.d/00-proxy.conf /etc/httpd/conf.modules.d/00-proxy.conf.backup
sed -i -e "s/^LoadModule lbmethod_bybusyness_module modules\/mod_lbmethod_bybusyness.so$/# LoadModule lbmethod_bybusyness_module modules\/mod_lbmethod_bybusyness.so/" /etc/httpd/conf.modules.d/00-proxy.conf
sed -i -e "s/^LoadModule lbmethod_byrequests_module modules\/mod_lbmethod_byrequests.so$/# LoadModule lbmethod_byrequests_module modules\/mod_lbmethod_byrequests.so/" /etc/httpd/conf.modules.d/00-proxy.conf
sed -i -e "s/^LoadModule lbmethod_bytraffic_module modules\/mod_lbmethod_bytraffic.so$/# LoadModule lbmethod_bytraffic_module modules\/mod_lbmethod_bytraffic.so/" /etc/httpd/conf.modules.d/00-proxy.conf
sed -i -e "s/^LoadModule lbmethod_heartbeat_module modules\/mod_lbmethod_heartbeat.so$/# LoadModule lbmethod_heartbeat_module modules\/mod_lbmethod_heartbeat.so/" /etc/httpd/conf.modules.d/00-proxy.conf
sed -i -e "s/^LoadModule proxy_ajp_module modules\/mod_proxy_ajp.so$/# LoadModule proxy_ajp_module modules\/mod_proxy_ajp.so/" /etc/httpd/conf.modules.d/00-proxy.conf
sed -i -e "s/^LoadModule proxy_express_module modules\/mod_proxy_express.so$/# LoadModule proxy_express_module modules\/mod_proxy_express.so/" /etc/httpd/conf.modules.d/00-proxy.conf
sed -i -e "s/^LoadModule proxy_fcgi_module modules\/mod_proxy_fcgi.so$/# LoadModule proxy_fcgi_module modules\/mod_proxy_fcgi.so/" /etc/httpd/conf.modules.d/00-proxy.conf
sed -i -e "s/^LoadModule proxy_fdpass_module modules\/mod_proxy_fdpass.so$/# LoadModule proxy_fdpass_module modules\/mod_proxy_fdpass.so/" /etc/httpd/conf.modules.d/00-proxy.conf
sed -i -e "s/^LoadModule proxy_ftp_module modules\/mod_proxy_ftp.so$/# LoadModule proxy_ftp_module modules\/mod_proxy_ftp.so/" /etc/httpd/conf.modules.d/00-proxy.conf
sed -i -e "s/^LoadModule proxy_scgi_module modules\/mod_proxy_scgi.so$/# LoadModule proxy_scgi_module modules\/mod_proxy_scgi.so/" /etc/httpd/conf.modules.d/00-proxy.conf
sed -i -e "s/^LoadModule proxy_wstunnel_module modules\/mod_proxy_wstunnel.so$/# LoadModule proxy_wstunnel_module modules\/mod_proxy_wstunnel.so/" /etc/httpd/conf.modules.d/00-proxy.conf
mv /etc/httpd/conf.d/autoindex.conf /etc/httpd/conf.d/autoindex.conf.stop
mv /etc/httpd/conf.d/userdir.conf /etc/httpd/conf.d/userdir.conf.stop
touch /etc/httpd/conf.d/autoindex.conf
touch /etc/httpd/conf.d/userdir.conf
touch /etc/httpd/conf.d/welcome.conf
# sed -i -e "s/^LanguagePriority en ca cs da de el eo es et fr he hr it ja/LanguagePriority ja en ca cs da de el eo es et fr he hr it/" /etc/httpd/conf/httpd.conf
# sed -i -e "s/^IndexOptions /# IndexOptions /" /etc/httpd/conf/httpd.conf
# sed -i -e "s/^AddIconByEncoding /# AddIconByEncoding /" /etc/httpd/conf/httpd.conf
# sed -i -e "s/^AddIconByType /# AddIconByType /" /etc/httpd/conf/httpd.conf
# sed -i -e "s/^AddIcon /# AddIcon /" /etc/httpd/conf/httpd.conf
# sed -i -e "s/^DefaultIcon /# DefaultIcon /" /etc/httpd/conf/httpd.conf
# sed -i -e "s/^ReadmeName /# ReadmeName /" /etc/httpd/conf/httpd.conf
# sed -i -e "s/^HeaderName /# HeaderName /" /etc/httpd/conf/httpd.conf
# sed -i -e "s/^IndexIgnore /# IndexIgnore /" /etc/httpd/conf/httpd.conf
httpd -S
systemctl enable httpd.service
systemctl status httpd.service
systemctl start httpd.service
systemctl stop httpd.service
実行する
# 実行権限を与える
chmod 700 /root/setup_httpd.sh
# 実行する
/root/setup_httpd.sh
# 削除する
rm /root/setup_httpd.sh
# 設定の確認
vi /etc/httpd/conf/httpd.conf
確認
httpd -S
load modules/mod_cache_socache.so
次のエラーが出るとき
httpd: Syntax error on line 61 of /etc/httpd/conf/httpd.conf: Syntax error on line 29 of /etc/httpd/conf.modules.d/00-base.conf: Cannot load modules/mod_cache_socache.so into server: /etc/httpd/modules/mod_cache_socache.so: undefined symbol: ap_cache_cacheable_headers_in
Perlを使っていないなら外す
vi /etc/httpd/conf.modules.d/00-base.conf
LoadModule cache_socache_module modules/mod_cache_socache.so
▲を探して # でコメント
バーチャルホスト
vi /etc/httpd/conf.d/vhosts.conf
<Files .user.ini>
order deny,allow
deny from all
</Files>
ServerTokens ProductOnly
ServerSignature Off
##############################################################################
# ssl
##############################################################################
Listen 443
SSLPassPhraseDialog builtin
SSLSessionCache shmcb:/var/cache/mod_ssl/scache(512000)
SSLSessionCacheTimeout 300
# SSLMutex default
Mutex default ssl-cache
SSLRandomSeed startup file:/dev/urandom 256
SSLRandomSeed connect builtin
#SSLRandomSeed startup file:/dev/random 512
#SSLRandomSeed connect file:/dev/random 512
#SSLRandomSeed connect file:/dev/urandom 512
SSLCryptoDevice builtin
#SSLCryptoDevice ubsec
# SSLCompression off
SSLHonorCipherOrder On
SSLProtocol all -SSLv2 -SSLv3
# Apache/2.2以下
# Header add Strict-Transport-Security "max-age=15768000"
# Apache/2.2 以上
Header always set Strict-Transport-Security "max-age=15768000"
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:HIGH:MEDIUM:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA:!3DES
##############################################################################
# http default
##############################################################################
<VirtualHost *:80>
DocumentRoot "/var/www/html"
# PassengerEnabled off
</VirtualHost>
##############################################################################
# https default
##############################################################################
<VirtualHost _default_:443>
DocumentRoot "/var/www/html"
# ServerName www.example.com:443
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
LogLevel warn
SSLEngine on
# SSLProtocol all -SSLv2 -SSLv3
# SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
# SSLCertificateFile と SSLCertificateKeyFile は設定しないと起動できない
SSLCertificateFile /etc/httpd/ca/server.crt
SSLCertificateKeyFile /etc/httpd/ca/server.key
# SSLCertificateFile /etc/pki/tls/certs/localhost.crt
# SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
# SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt
# SSLCACertificateFile /etc/pki/tls/certs/ca-bundle.crt
# SSLVerifyClient require
# SSLVerifyDepth 10
# <Location />
# 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]+$/
# </Location>
# SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
<Files ~ "\.(cgi|shtml|phtml|php3?)$">
SSLOptions +StdEnvVars
</Files>
<Directory "/var/www/cgi-bin">
SSLOptions +StdEnvVars
</Directory>
SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
CustomLog logs/ssl_request_log \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>
##############################################################################
# Includes
##############################################################################
Include conf.d/vhosts/*.conf
確認
vhosts の下に何もなければエラーになるので、とりあえず空のファイルを追加
touch /etc/httpd/conf.d/vhosts/example.conf
httpd -S
module ssl_module is already loaded, skipping
次のエラーが出るとき
Starting The Apache HTTP Server...
AH00526: Syntax error on line 51 of /etc/httpd/conf.d/vhosts.conf:
SSLCertificateFile: file '/etc/pki/tls/certs/localhost.crt' does not exist or is empty
httpd.service: Main process exited, code=exited, status=1/FAILURE
httpd.service: Failed with result 'exit-code'.
Failed to start The Apache HTTP Server.
SSLCertificateFile と SSLCertificateKeyFile に設定しているファイルが無いと起動できないのでファイルを作成します。
正式な証明書でなく、証明書の形になっていれば良いので「おれおれ証明書」などでググって作成します。
▼作成例
# ディレクトリを作って移動
mkdir /etc/httpd/ca
chmod 0700 /etc/httpd/ca
ls -la /etc/httpd
cd /etc/httpd/ca
# 秘密鍵を作成
openssl genrsa 2048 > server.key
# CSRを作成
# すべてEnter(本番向けならきちんとする)
openssl req -new -key server.key > server.csr
# 確認
||
# 自己署名証明書を作る
# 100年分 = 36500 = 365 * 100年
openssl x509 -days 36500 -req -sha256 -signkey server.key < server.csr > server.crt
# 確認
openssl x509 -text < server.crt
証明書が出来たら、下記のパスを作成した証明書に書き換えて再起動します。
vi /etc/httpd/conf.d/vhosts.conf
SSLCertificateFile /etc/httpd/ca/server.crt
SSLCertificateKeyFile /etc/httpd/ca/server.key
systemctl restart httpd.service
ドメインごとの設定ファイル
バーチャルホスト設定は、1ファイル1ドメインとして作成するようにします。
複数ドメインで1つのシステムを構築するような場合は、1ファイル1サイト、1ファイル1システムで良いと思います。
ここではまず、雛形となる汎用的な設定ファイルを作成します。
新しいバーチャルホスト設定を追加するときはここで作った雛形をコピーして書き換えるような流れになります。
次のテキストファイルを作成します。
/etc/httpd/conf.d/vhosts/_sample.conf.txt
ファイル名は「アンダーバー、サンプル、ドット、コンフ、ドット、ティエックスティ」です。
アンダーバーで始めることで ls で並べたとき先頭に来るようにします。
拡張子 txt なのは、とりあえず .conf で終わらさないためです。
拡張子 conf にするとhttpdから読み込まれますが、サンプルファイルを読み込ませたくないので拡張子を変えます。
テキストエディタで開き、次の内容にします。
# CLIENT NAME : ローカルホスト
# GROUP NAME : ローカルホスト
# PROJECT NAME : ローカルホスト
# CREATE UPDATE : 2018-12-31
# LAST UPDATE : 2018-12-31
##############################################################################
# directory
##############################################################################
<directory "="" home="" sample="" public_html"="">
# AddHandler server-parsed html
# AddHandler server-parsed php
# AddOutputFilter INCLUDES .html
AddHandler cgi-script .cgi
# AddHandler fcgid-script .php
# AddHandler fcgid-script .php .html
DirectoryIndex index.php index.html index.htm index.cgi
Options Includes ExecCGI FollowSymLinks
AllowOverride All
Require ip 127.0.0.1
# Require ip 192.168.1.0/24
</directory>
##############################################################################
# http
##############################################################################
# SITE NAME : サイト名
# BASE URL : /
<virtualhost *:80="">
DocumentRoot "/home/sample/public_html"
ServerName group-project-local.example.com
ServerAlias group-project-local-1.example.com
</virtualhost>
##############################################################################
# https
##############################################################################
# SITE NAME : サイト名
# BASE URL : /
<virtualhost *:443="">
DocumentRoot "/home/sample/public_html"
ServerName group-project-local.example.com
ServerAlias group-project-local-1.example.com
LogLevel warn
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
SSLCertificateFile "G:/app_data/ssl/ssl-example.com_2.4.8.crt"
SSLCertificateKeyFile "G:/app_data/ssl/ssl-example.com-no-pass.key"
# SSLCertificateChainFile "G:/app_data/ssl/ssl-example.com.ca"
<files ~="" "\.(cgi|shtml|phtml|php3?)$"="">
SSLOptions +StdEnvVars
</files>
SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
# ErrorLog G:/app_data/projects/exampl.com/logs/ssl_error_log
# TransferLog G:/app_data/projects/exampl.com/logs/ssl_access_log
# CustomLog G:/app_data/projects/exampl.com/logs/ssl_request_log \
# "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</virtualhost>
CentOS Stream 8 にhttpd2.4.6 で1ユーザー1ドメイン権限を実現する
詳しくは▲もご覧ください。
脆弱性対策
TRACE メソッドが無効になっていることを確認する
参考サイト
http://d.hatena.ne.jp/eji/20081209/1228838413
確認
※ xxx.xxx.xxx.xxx は確認したいサーバのIPアドレスを示します。
※ yyy.yyy.yyy.yyy はクライアント(接続元)のIPアドレスを示します。
※ example.com は確認したいサーバのドメインを示します。
telnet xxx.xxx.xxx.xxx 80
Trying xxx.xxx.xxx.xxx...
Connected to xxx.xxx.xxx.xxx.
Escape character is '^]'.
OPTIONS / HTTP/1.1
HOST: yyy.yyy.yyy.yyy
HTTP/1.1 200 OK
Date: Wed, 13 Jul 2016 14:32:52 GMT
Server: Apache
Allow: GET,HEAD,POST,OPTIONS,TRACE
Content-Length: 0
Connection: close
Content-Type: httpd/unix-directory
Connection closed by foreign host.
Allow: ・・・TRACE の文字が確認できるので有効です。
openssl s_client -host example.com -port 443
[・・・途中省略・・・]
---
OPTIONS / HTTP/1.1
HOST: yyy.yyy.yyy.yyy
HTTP/1.1 200 OK
Date: Wed, 13 Jul 2016 14:34:10 GMT
Server: Apache
Allow: GET,HEAD,POST,OPTIONS,TRACE
Content-Length: 0
Connection: close
Content-Type: httpd/unix-directory
closed
Allow: ・・・TRACE の文字が確認できるので有効です。
対策
vi /etc/httpd/conf/httpd.conf
末尾に下記を記述
TraceEnable Off
# 再起動して反映
systemctl restart httpd.service
# 無効になっていることを確認する
telnet xxx.xxx.xxx.xxx 80
openssl s_client -host example.com -port 443
Allow: GET,HEAD,POST,OPTIONS
チェックツール
https://www.ssllabs.com/ssltest/index.html
チェックボックスにチェックを入れる、入れなければボードに結果が出てくる
Webサーバー nginx における SSL証明書設定の安全性向上 ~SSL Server Test で A+ 判定を目指して~
https://www.saintsouth.net/blog/safety-of-ssl-certificate-setting-improvements-in-web-server-nginx-to-get-rankaplus-from-ssl-server-test/
その他・メモ
# vi /etc/httpd/conf.d/vhosts.conf
VirtualHost ディレクティブの外側に書くと全体で有効
ただし、VirtualHost で上書きされていないことを確認する必要あり
# SSLCompression off
SSLHonorCipherOrder On
SSLProtocol all -SSLv2 -SSLv3
# Apache/2.2以下
Header add Strict-Transport-Security "max-age=15768000"
# Apache/2.2 以上
Header always set Strict-Transport-Security "max-age=15768000"
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:HIGH:MEDIUM:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA:!3DES