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

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

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

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

OpenSSL

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

Q&A

解決済

2回答

21026閲覧

OpenSSL使用有無の確認方法

SSL_beginner01

総合スコア45

Apache

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

OpenSSL

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

0グッド

0クリップ

投稿2016/02/29 10:45

初めてこのサイトを利用させていただきます。
ネットワーク関連の知識に疎いため、もしかしたら初歩的な内容かもしれませんが、ご質問させていただきます。

【環境】
開発環境で、サーバA(クライアントの位置づけ)・サーバB(サーバの位置づけ)というLinuxがあり、2台とも以下の構成となっています。

Linux version 2.6.18-194.el5PAE
Apache1.3.41
OpenSSL 0.9.8e-fips-rhel5

【確認したい事】
①サーバA上に、サーバBに対して通信するプログラムが3種類(Java, perl, php)があるのですが、これらがサーバBに対して通信を行う際、OpenSSLを使用しているかを確認する方法はあるでしょうか?
(恐縮ながら、実ソースは未確認です)
②またOpenSSLを使用していないとしたら、通信を行っているのはどのような方法が考えられるでしょうか?

【調べた内容】
・Apacheの設定で、OpenSSLを使う設定となっていない。
※「LoadModule ssl_module」や「AddModule mod_ssl.c」がコメント行となっている。
※「httpd -l」を発行した中に、mod_sslが存在しない。

・OpenSSLはインストールされているものの、証明書関連のファイルは(開発環境ということもあり)未整備。
※「yum list installed | grep openssl」の結果は以下。
openssl.i686 0.9.8e-12.el5_4.6 installed
openssl-devel.i386 0.9.8e-12.el5_4.6 installed
※「/etc/pki/tls/openssl.cnf」の設定で、「dir」(コメントに# Where everything is keptと記載のある部分)が存在しないディレクトリを指している(OpenSSLが使用できる設定になっていない?)。
※サーバAのファイルにHTTPSでアクセスすると、(IEでは)「この Web サイトのセキュリティ証明書には問題があります。」が出力される。

・ssl.confは存在しない。
(OSすべての箇所をfindで探した結果)

上記より、OpenSSLは使用していないのでは?と推測していますが、【確認したい事】についてご回答をいただければ幸いです。
不足している情報などありましたら、ご指摘ください。

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

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

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

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

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

guest

回答2

0

ベストアンサー

rouge_pawn さんが書かれている通り、netstat で調べればわかります。

サーバ B 側で(root権限で)netstat -tlnp すると、どのポートで
どのプログラムが待ち受けしているかわかります。443 ポートが空いて
いれば OpenSSL(というか、Apache+SSL)が有効になっています。
SSL が完全に無効になっている場合は、Apache は 80 番を LISTEN
しているのが普通です。

それ以外に空いているポートがあれば、それで通信している可能性もあり
ます(プログラム欄に表示されます)が、クライアント側のプログラムの
中で接続先を確認するのが一番確実かと。

Apache で気をつけるべきは、LISTEN しているのが /usr/sbin/httpd
(RPM パッケージ版)か、/usr/local/apache/bin/httpd など(ソース
からの野良ビルド)か、でしょうか。

投稿2016/02/29 14:02

hotta

総合スコア1613

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

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

SSL_beginner01

2016/03/01 00:39

ご回答ありがとうございます。 サーバA側の調査に注力しており、サーバB側の確認をしていませんでしたが、netstatで確認できるとのことで、確認してみました。 サーバB側で確認したところ、以下の結果が出てきましたので、HTTP(SSLなし)もHTTPS(SSLあり)もどちらも有効になっていると判断しました。 Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 2059/httpd tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 2059/httpd なお、サーバB側のhttpdプロセスは一律「/usr/sbin/httpd」でした。 サーバA側のApacheの設定では、SSLが有効になっているようには見えませんでしたが、確認方法をご教授いただきありがとうございました。
guest

0

(apacheやopensslはあまり詳しくないのですが、、)

AとBが接続している状態で、 netstat -n などで、接続しているポートを確認すると、SSLを使っているかわかりそうです。標準の設定なら、SSLはポート443を使っていると思います。

例えば、こんな表示です。
tcp 0 0 <AのIPアドレス>:<Aの使ってるポート番号> <BのIPアドレス>:443 ESTABLISHED

SSLを使っていなければ、HTTPで、ポート80を使っているのではないかと思います。

投稿2016/02/29 13:35

imokurity

総合スコア297

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

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

SSL_beginner01

2016/03/01 00:39

ご回答ありがとうございます。 サーバB側で確認したところ、80も443もどちらも設定がありましたので、どちらも有効と判断しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問