質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

OpenSSL

OpenSSLはSSL/TLSのプロトコルと一般的な暗号のライブラリを導入するオープンソースのソフトウェアのツールキットです。

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

解決済

1回答

6575閲覧

ApacheのTLS無効化について

jet_eagle

総合スコア9

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

OpenSSL

OpenSSLはSSL/TLSのプロトコルと一般的な暗号のライブラリを導入するオープンソースのソフトウェアのツールキットです。

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

1クリップ

投稿2018/08/29 08:22

編集2018/08/29 08:26

###TLS1.2以外を無効にしたい

プロキシサーバから外部サイトへ暗号化通信をする際、
TLS1.2以外のプロトコルを無効にするため、
暗号化プロトコルをTLS1.2のみに絞る設定をしていました。
httpd.confのIncludeOptionalディレクティブから、
conf.dディレクトリへ読み込みを行っているのを確認しています。
###問題点
ssl.confのSSLProtocolに-all +TLSv1.2と記述してもTLS1とTLS1.1で疎通できてしまう。
all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1と記述しても疎通できる。

SSL3は疎通できなかったので、恐らくデフォルトのまま反映されていると予想しています。
Virtualhostが読み込まれていないのだろうかと考えましたが、
ログは指定した場所に取られていました。
httpd.confに記述しても結果は同じでした。

######サーバ情報
Apache/2.4.6 (Red Hat Enterprise Linux)
OpenSSL 1.0.2k-fips
通信している外部サイトは2つ

httpd.confの中身

一部情報を削除又は"/"で表記しています。

httpd

1ServerRoot "/etc/httpd" 2Listen 8080 3Include conf.modules.d/*.conf 4User 5Group 6ServerAdmin 7ServerName 192.168.xxx.xxx 8<Directory /> 9 AllowOverride none 10 Require all denied 11</Directory> 12DocumentRoot "/var/www/html" 13<Directory "/var/www"> 14 AllowOverride 15 Require 16</Directory> 17<Directory "/var/www/html"> 18 Options 19 Require 20</Directory> 21<IfModule dir_module> 22 DirectoryIndex 23</IfModule> 24<Files ""> 25 Require 26</Files> 27ErrorLog "/" 28LogLevel notice 29<IfModule log_config_module> 30 LogFormat 31 LogFormat 32 LogFormat 33 <IfModule logio_module> 34 LogFormat 35 </IfModule> 36CookieTracking on 37CookieExpires "" 38LogFormat 39 CustomLog / 40</IfModule> 41<IfModule alias_module> 42</IfModule> 43<IfModule mime_module> 44</IfModule> 45AddDefaultCharset off 46<IfModule mime_magic_module> 47 MIMEMagicFile 48</IfModule> 49EnableSendfile on 50IncludeOptional conf.d/*.conf 51SSLProxyEngine on 52ProxyPass ProxyPass /Bxxxxxxxxxxx https://www.yyyyyyyy.co.jp/Bxxxxxxxxxxxxx 53ProxyPassReverse /Bxxxxxxxxxxx https://www.yyyyyyyy.co.jp/Bxxxxxxxxxxxxx 54ProxyPass /Cxxxxxxxxxxx https://www.zzzzzzzz.co.jp/Cxxxxxxxxxxxxx 55ProxyPassReverse /Cxxxxxxxxxxx https://www.zzzzzzzz.co.jp/Cxxxxxxxxxxxxx 56<Location /Bxxxxxxxxxxxx> 57LoadModule headers_module modules/mod_headers.so 58RequestHeader append Authorization "Basic AAAAAAAAAAAAAA" 59Header edit Set-Cookie QQQQQQQQQQQQQQ 60</Location> 61TraceEnable off 62Header always append X-Frame-Options DENY 63Header always set X-Content-Type-Options nosniff 64ServerTokens ProductOnly 65KeepAlive On 66MaxKeepAliveRequests 0 67KeepAliveTimeout 10

ssl.confの中身

一部情報を削除又は"/"で表記しています。

ssl

1SSLCryptoDevice builtin 2<VirtualHost _default_:443> 3ServerName xxx.xxx.xxx.xxx #プロキシサーバのIPアドレス 4ErrorLog 5TransferLog 6LogLevel notice 7SSLEngine on 8SSLProtocol -all +TLSv1.2 9SSLCipherSuite HIGH:3DES:!aNULL:!MD5:!SEED:!IDEA 10SSLCertificateFile / 11SSLCertificateKeyFile / 12<Files ~ "\"> 13 SSLOptions 14</Files> 15<Directory "/"> 16 SSLOptions 17</Directory> 18BrowserMatch ""\ 19CustomLog 20 21</VirtualHost>

###補足
設定の手順は
vim ./ssl.conf
apachectl configtest
systemctl restart httpd
systemctl status httpd
openssl s_client -connect www.yyyyyyyy.co.jp:443 -tls1
上記5コマンドを実行しています。

どのようにすれば設定が有効になるのか、どこかおかしい点があるのかご教示頂きたく存じます。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

openssl s_client の接続先が www.yyyyyyyy.co.jp となっていますが、これはプロキシー先の Webサーバーではないですか?
リバースプロキシーの IPアドレス:443 に接続してみてください。

投稿2018/08/29 23:51

TaichiYanagiya

総合スコア12141

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jet_eagle

2018/08/31 01:31 編集

ssl.confのプロトコルを-all +TLSv1.2と記述し、リバースプロキシに対して接続確認を行い、設定前と設定後の比較をしたところ、1.2以外は接続できないことを確認しました。 この状態(プロキシサーバ側のみTLS制限の記述)では、外部サイト→プロキシサーバはTLS1.2以外の通信が出来ない状態、外部サイト←プロキシサーバはTLS1以降の通信が出来る状態、という認識で間違いないでしょうか。
jet_eagle

2018/08/30 06:06

問題点および疑問点が解消されました。ありがとうございます。助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問