SlideShare une entreprise Scribd logo
1  sur  17
Télécharger pour lire hors ligne
SSL証明書とApache運用
 ~ちょっと気をつけるだけでトラブル防止~



サーバ運用超入門勉強会

            Copyright Digital-Effect Network Co., Ltd. All rights reserved.
アジェンダ


       お話する内容

       • httpはOKでも、httpsはNG

       • SSL証明書の更新で失敗

       • パスフレーズ確認
         OS起動時 CentOS5と6の違い?



2012/12/21         -1-   Copyright Digital-Effect Network Co., Ltd. All rights reserved.
httpはOKでも、httpsはNG


       httpはOKでも、httpsはNG
       •     Linuxをインストール
              ↓
       •     Apacheをインストール
              ↓
       •     Webコンテンツをアップロード
             –   サイトが見れたので、問題なしと判断。
             –   Apacheを再起動してみても問題なく再起動できる。
              ↓
       •     SSL証明書を設置
             –   SSLを使いたいので、mod_sslモジュールをインストール
              ↓
       •     Apache再起動
              ↓

      # /etc/init.d/httpd restart
2012/12/21                       -2-      Copyright Digital-Effect Network Co., Ltd. All rights reserved.
httpはOKでも、httpsはNG
      httpd を起動中: Syntax error on line 114 of /etc/httpd/conf.d/ssl.conf:
      SSLCertificateFile: file '/root/ssl/server.crt' does not exist or is empty

                                                                                              [失敗]




       「 file '/root/ssl/server.crt' does not exist or is empty 」
       証明書がない・・・?

       •     証明書(server.crt)は、確かに指定の場所に存在する。
       •     ファイル名も間違っていない。
       •     ファイルのパーミッションも間違っていない。

             →エラーメッセージの意味が分からないよ。。。
              でも、サイト停止した状態だよ。
              なんとかしないと。

2012/12/21                               -3-          Copyright Digital-Effect Network Co., Ltd. All rights reserved.
httpはOKでも、httpsはNG


       原因は?
       SELinuxが邪魔をしています。
      Nov 2 15:56:30 www1 kernel: type=1400 audit(1351839390.871:6): avc: denied { search } for
      pid=1592 comm="httpd" name="ssl" dev=vda3 ino=545136
      scontext=system_u:system_r:httpd_t:s0 tcontext=root:object_r:user_home_t:s0 tclass=dir
                                                                                    (※/var/log/messagesより抜粋)


       CentOS5以降の場合、意図的に停止しない限り、SELinuxが有効になっています。
       (Version4までは、OSインストール時にSELinuxの有効/無効を指定できます)


       今回は「httpdが、新たにインストールされたmod_sslにアクセスしようとした際、
       SELinuxのアクセス制御機能によって拒否された」ということが原因です。




2012/12/21                              -4-           Copyright Digital-Effect Network Co., Ltd. All rights reserved.
httpはOKでも、httpsはNG


       許可するには?

      allow httpd_t user_home_t:dir search;
       という許可をポリシーに追加すればいいですが、都度書くのは面倒。




       それ以前に、SELinux難しい・・・。
       こんなこと益々やってらんない!!


                                                                    既に絶版・・・
2012/12/21                  -5-   Copyright Digital-Effect Network Co., Ltd. All rights reserved.
httpはOKでも、httpsはNG

                                       これでアクセス制御はしなくなりますが、動作は
       対策                              し続けているので、若干サーバのパフォーマン
                                       スが下がります。
                                       完全に停止させておいた方がよいでしょう。
       [SELinuxのアクセス制御停止]
       サーバを停止させずにSELinuxの機能を切りたい場合

      確認方法
      # getenforce
      Enforcing        ←SELinuxのアクセス制御が有効になっています。

       変更方法
      # setenforce 0   ←「0」で「Permissive」モードに変更します。
      # getenforce     ←設定が変わったかどうか確認します。
      Permissive       ←確かに変わりました。

       Permissiveモードは、アクセス制御機能は停止していますが、SELinux自体は各種アクセ
       スを監視し、情報をログに出力しています。


2012/12/21                     -6-     Copyright Digital-Effect Network Co., Ltd. All rights reserved.
httpはOKでも、httpsはNG


       対策
       [SELinuxの完全停止]
       完全にSELinuxを停止させたい場合
       「/etc/sysconfig/selinux」という設定ファイルを変更します。

      SELINUX=enforcing
       ↓
      SELINUX=disabled


       設定を反映させる為、サーバを再起動します。

       サーバ起動後
      # getenforce
      Disabled       ←SELinuxのアクセス制御が完全に停止しています。


2012/12/21                   -7-     Copyright Digital-Effect Network Co., Ltd. All rights reserved.
証明書の更新で失敗


       証明書の更新で失敗
       •     Goolgle検索
              ↓
       •     コマンドをそのままコピペで実行(諸々の作業をopensslコマンドで実行)
              ↓
       •     証明書の設置完了!
              ↓
              ↓ 時は流れて、証明書の更新時期が。
              ↓
       •     Google検索
              ↓
       •     証明書のファイルを置き換え(中身を書き換え)
              ↓
       •     Apache再起動で更新完了!
              ↓

      # /etc/init.d/httpd restart
2012/12/21                  -8-   Copyright Digital-Effect Network Co., Ltd. All rights reserved.
証明書の更新で失敗
       httpd を停止中:                          [ OK ]
       httpd を起動中: Apache/2.2.3 mod_ssl/2.2.3 (Pass Phrase Dialog)

       Enter pass phrase: パスワード入力待ち

       パスフレーズを入力するまで、Apacheは起動できません。

       パスフレーズを思い出せなかったり、メモ書きが行方不明の場合は、、、
       Web閲覧できない障害になります!!




2012/12/21                     -9-       Copyright Digital-Effect Network Co., Ltd. All rights reserved.
証明書の更新で失敗


       対策
       [パスフレーズの削除]
       秘密鍵ファイルを直接見てみます。
      -----BEGIN RSA PRIVATE KEY-----
      Proc-Type: 4,ENCRYPTED
      DEK-Info: AES-128-CBC,8F3BC65766447343B453530E499C9F11
      +lSpfYi0jWe9zcd3kOVJ4F…
      (以下略)

       パスフレーズがかかっていると、ENCRYPTEDという文字列が入ります。
      パスフレーズの解除
      openssl rsa -in [鍵ファイル] -out [鍵ファイル]
       -inで指定した鍵ファイルを読み込み、-outで指定したファイルに書き込む形になります。
       上記で、入出力共に同じファイルを指定する場合、最初に作成した鍵ファイルが上書きされます。
       上書きを避けるには、別のファイル名を指定してください。
       ※上書きする場合は、元のファイルのバックアップは必ずとっておきましょう!

2012/12/21                      - 10 -       Copyright Digital-Effect Network Co., Ltd. All rights reserved.
証明書の更新で失敗
      やってみます。
      # openssl rsa -in server.key -out server.key

       「server.key」ファイルの中身を見てみます。

      -----BEGIN RSA PRIVATE KEY-----
      MIICXAIBAAKBgQCfvnag0XZs1gGkVe8BQP5GaaA
      (以下略)]


       「ENCRYPTED」という記述がなくなり、パスフレーズが外れました。




2012/12/21                           - 11 -          Copyright Digital-Effect Network Co., Ltd. All rights reserved.
証明書の更新で失敗

       パスフレーズが入っていると困ること
       例) 急なトラブルでOSそのものを再起動しなければいけないとき

             自宅から、データセンターにあるサーバ自体を再起動した。
              ↓
             パスフレーズの入力待ちで、サーバ起動処理自体が途中で停止。
              ↓
             気づかず、長時間のサイト停止!


   こういう場合は、リモートからサーバへログインして手動でApacheを起動させます。

   ※SSHの起動順序がApacheの起動よりも後になるように変えていた場合、Apacheのパスフ
     レーズ待ちでOSの起動処理が停止するので、リモートログインできなくなります。
     この場合、サーバに直接モニターをつなぎ、パスフレーズを入力して起動処理を進めないと
     いけなくなります。




2012/12/21            - 12 -   Copyright Digital-Effect Network Co., Ltd. All rights reserved.
CentOS5/6の違いってある?
       実際の画面 (CentOS5の場合)




   OS起動時の画面。
   Apache起動時に、SSL証明書(ssl.example.com)のパスフレーズを聞いてきています。
   ここで、パスフレーズを入力すると、OS起動処理が進みます。

2012/12/21                  - 13 -   Copyright Digital-Effect Network Co., Ltd. All rights reserved.
CentOS5/6の違いってある?
       実際の画面 (CentOS6の場合)

       デフォルトの場合、起動画面は白いプログレスバーが伸びていくアニメーションに
       なっています。




       SSLのパスフレーズがかかっていると、どうなるでしょうか?
       このように、起動が完了したように見えても、ログインプロンプトが出て来ません。




       通常は、OSの起動が完了すると、以下のようにログインプロンプトが出てきます。




       ※「Esc」キーで、以前のようなブートプロセス表示とプログレスバー表示の交互に切り替えることができます。

2012/12/21                  - 14 -   Copyright Digital-Effect Network Co., Ltd. All rights reserved.
CentOS5/6の違いってある?
       実際の画面 (CentOS6の場合)

       パスフレーズの入力を促すような表示はありませんが、この状態でもパスフレーズの
       入力待ちなので、このまま入力すると、処理が進みます。




       以前のように、起動シーケンスが見えるようにするには、「grub.conf」を編集します。
       (grub.confから「rhgb quiet」を削除するだけです。詳細は割愛。)




2012/12/21                  - 15 -   Copyright Digital-Effect Network Co., Ltd. All rights reserved.
ご清聴ありがとうございました。




広告スペース
                          設計から運用まで、
                          安全・安心ホスティング
                        単体サーバから複数台構成まで幅広く対応致します。

      証明書取得、設置~更新代行まで承ります。
2012/12/21     - 16 -      Copyright Digital-Effect Network Co., Ltd. All rights reserved.

Contenu connexe

Tendances

Spring Boot ユーザの方のための Quarkus 入門
Spring Boot ユーザの方のための Quarkus 入門Spring Boot ユーザの方のための Quarkus 入門
Spring Boot ユーザの方のための Quarkus 入門tsukasamannen
 
SAP S/4HANA化に向けたAWS構築・移行の勘所(インフラベーシス編)
SAP S/4HANA化に向けたAWS構築・移行の勘所(インフラベーシス編)SAP S/4HANA化に向けたAWS構築・移行の勘所(インフラベーシス編)
SAP S/4HANA化に向けたAWS構築・移行の勘所(インフラベーシス編)BeeX.inc
 
Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理Cloudera Japan
 
20200826 AWS Black Belt Online Seminar AWS CloudFormation
20200826 AWS Black Belt Online Seminar AWS CloudFormation 20200826 AWS Black Belt Online Seminar AWS CloudFormation
20200826 AWS Black Belt Online Seminar AWS CloudFormation Amazon Web Services Japan
 
開発者におくるサーバーレスモニタリング
開発者におくるサーバーレスモニタリング開発者におくるサーバーレスモニタリング
開発者におくるサーバーレスモニタリングAmazon Web Services Japan
 
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性Ohyama Masanori
 
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアルAzure API Management 俺的マニュアル
Azure API Management 俺的マニュアル貴志 上坂
 
Awsでつくるapache kafkaといろんな悩み
Awsでつくるapache kafkaといろんな悩みAwsでつくるapache kafkaといろんな悩み
Awsでつくるapache kafkaといろんな悩みKeigo Suda
 
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)NTT DATA Technology & Innovation
 
Oracle運用Tips大放出! ~ RAC環境のRMANのパラレル化を極める 編 ~ @2016-02-23 JPOUG
Oracle運用Tips大放出! ~ RAC環境のRMANのパラレル化を極める 編 ~ @2016-02-23 JPOUG Oracle運用Tips大放出! ~ RAC環境のRMANのパラレル化を極める 編 ~ @2016-02-23 JPOUG
Oracle運用Tips大放出! ~ RAC環境のRMANのパラレル化を極める 編 ~ @2016-02-23 JPOUG Yuya Ohta
 
今だから!Amazon CloudFront 徹底活用
今だから!Amazon CloudFront 徹底活用今だから!Amazon CloudFront 徹底活用
今だから!Amazon CloudFront 徹底活用Yasuhiro Araki, Ph.D
 
イルカさんチームからゾウさんチームに教えたいMySQLレプリケーション
イルカさんチームからゾウさんチームに教えたいMySQLレプリケーションイルカさんチームからゾウさんチームに教えたいMySQLレプリケーション
イルカさんチームからゾウさんチームに教えたいMySQLレプリケーションyoku0825
 
Amazon EKS への道 ~ EKS 再入門 ~
Amazon EKS への道 ~ EKS 再入門 ~Amazon EKS への道 ~ EKS 再入門 ~
Amazon EKS への道 ~ EKS 再入門 ~Hideaki Aoyagi
 
20190130 AWS Well-Architectedの活用方法とレビューの進め方をお伝えしていきたい
20190130 AWS Well-Architectedの活用方法とレビューの進め方をお伝えしていきたい20190130 AWS Well-Architectedの活用方法とレビューの進め方をお伝えしていきたい
20190130 AWS Well-Architectedの活用方法とレビューの進め方をお伝えしていきたいAmazon Web Services Japan
 
PostgreSQL監査
PostgreSQL監査PostgreSQL監査
PostgreSQL監査Ayumi Ishii
 
20190220 AWS Black Belt Online Seminar Amazon S3 / Glacier
20190220 AWS Black Belt Online Seminar Amazon S3 / Glacier20190220 AWS Black Belt Online Seminar Amazon S3 / Glacier
20190220 AWS Black Belt Online Seminar Amazon S3 / GlacierAmazon Web Services Japan
 
中小規模サービスのApacheチューニング
中小規模サービスのApacheチューニング中小規模サービスのApacheチューニング
中小規模サービスのApacheチューニング勲 國府田
 

Tendances (20)

Amazon DynamoDB Advanced Design Pattern
Amazon DynamoDB Advanced Design PatternAmazon DynamoDB Advanced Design Pattern
Amazon DynamoDB Advanced Design Pattern
 
Spring Boot ユーザの方のための Quarkus 入門
Spring Boot ユーザの方のための Quarkus 入門Spring Boot ユーザの方のための Quarkus 入門
Spring Boot ユーザの方のための Quarkus 入門
 
SAP S/4HANA化に向けたAWS構築・移行の勘所(インフラベーシス編)
SAP S/4HANA化に向けたAWS構築・移行の勘所(インフラベーシス編)SAP S/4HANA化に向けたAWS構築・移行の勘所(インフラベーシス編)
SAP S/4HANA化に向けたAWS構築・移行の勘所(インフラベーシス編)
 
Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理
 
20200826 AWS Black Belt Online Seminar AWS CloudFormation
20200826 AWS Black Belt Online Seminar AWS CloudFormation 20200826 AWS Black Belt Online Seminar AWS CloudFormation
20200826 AWS Black Belt Online Seminar AWS CloudFormation
 
開発者におくるサーバーレスモニタリング
開発者におくるサーバーレスモニタリング開発者におくるサーバーレスモニタリング
開発者におくるサーバーレスモニタリング
 
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
 
第18回しゃちほこオラクル俱楽部
第18回しゃちほこオラクル俱楽部第18回しゃちほこオラクル俱楽部
第18回しゃちほこオラクル俱楽部
 
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアルAzure API Management 俺的マニュアル
Azure API Management 俺的マニュアル
 
Awsでつくるapache kafkaといろんな悩み
Awsでつくるapache kafkaといろんな悩みAwsでつくるapache kafkaといろんな悩み
Awsでつくるapache kafkaといろんな悩み
 
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
 
Oracle運用Tips大放出! ~ RAC環境のRMANのパラレル化を極める 編 ~ @2016-02-23 JPOUG
Oracle運用Tips大放出! ~ RAC環境のRMANのパラレル化を極める 編 ~ @2016-02-23 JPOUG Oracle運用Tips大放出! ~ RAC環境のRMANのパラレル化を極める 編 ~ @2016-02-23 JPOUG
Oracle運用Tips大放出! ~ RAC環境のRMANのパラレル化を極める 編 ~ @2016-02-23 JPOUG
 
今だから!Amazon CloudFront 徹底活用
今だから!Amazon CloudFront 徹底活用今だから!Amazon CloudFront 徹底活用
今だから!Amazon CloudFront 徹底活用
 
イルカさんチームからゾウさんチームに教えたいMySQLレプリケーション
イルカさんチームからゾウさんチームに教えたいMySQLレプリケーションイルカさんチームからゾウさんチームに教えたいMySQLレプリケーション
イルカさんチームからゾウさんチームに教えたいMySQLレプリケーション
 
Amazon EKS への道 ~ EKS 再入門 ~
Amazon EKS への道 ~ EKS 再入門 ~Amazon EKS への道 ~ EKS 再入門 ~
Amazon EKS への道 ~ EKS 再入門 ~
 
20190130 AWS Well-Architectedの活用方法とレビューの進め方をお伝えしていきたい
20190130 AWS Well-Architectedの活用方法とレビューの進め方をお伝えしていきたい20190130 AWS Well-Architectedの活用方法とレビューの進め方をお伝えしていきたい
20190130 AWS Well-Architectedの活用方法とレビューの進め方をお伝えしていきたい
 
PostgreSQL監査
PostgreSQL監査PostgreSQL監査
PostgreSQL監査
 
AWSではじめるDNSSEC
AWSではじめるDNSSECAWSではじめるDNSSEC
AWSではじめるDNSSEC
 
20190220 AWS Black Belt Online Seminar Amazon S3 / Glacier
20190220 AWS Black Belt Online Seminar Amazon S3 / Glacier20190220 AWS Black Belt Online Seminar Amazon S3 / Glacier
20190220 AWS Black Belt Online Seminar Amazon S3 / Glacier
 
中小規模サービスのApacheチューニング
中小規模サービスのApacheチューニング中小規模サービスのApacheチューニング
中小規模サービスのApacheチューニング
 

Similaire à Ssl証明書を設定したらapacheが起動しない?

Webサーバのチューニング
WebサーバのチューニングWebサーバのチューニング
WebサーバのチューニングYu Komiya
 
STNSサーバーを書いてみた
STNSサーバーを書いてみたSTNSサーバーを書いてみた
STNSサーバーを書いてみたYoshinori Teraoka
 
VPS借りたけどセキュリティが心配! 初心者が気をつけたいセキュリティの話
VPS借りたけどセキュリティが心配! 初心者が気をつけたいセキュリティの話VPS借りたけどセキュリティが心配! 初心者が気をつけたいセキュリティの話
VPS借りたけどセキュリティが心配! 初心者が気をつけたいセキュリティの話Takashi Uemura
 
Azure CLI あずにゃんの CLI を使ってみた結果www
Azure CLI あずにゃんの CLI を使ってみた結果wwwAzure CLI あずにゃんの CLI を使ってみた結果www
Azure CLI あずにゃんの CLI を使ってみた結果wwwMasahito Zembutsu
 
Webサーバ勉強会4 nginx で php-fpm を動かしてみた
Webサーバ勉強会4 nginx で php-fpm を動かしてみたWebサーバ勉強会4 nginx で php-fpm を動かしてみた
Webサーバ勉強会4 nginx で php-fpm を動かしてみたdo_aki
 
Try! cms2012標準マニュアル2013 03
Try! cms2012標準マニュアル2013 03Try! cms2012標準マニュアル2013 03
Try! cms2012標準マニュアル2013 03博康 三井
 
Aws cent os7_wordpress_2
Aws cent os7_wordpress_2Aws cent os7_wordpress_2
Aws cent os7_wordpress_2Naoyuki Sano
 
配布用Beginnerならきっと役立つmaster slave環境
配布用Beginnerならきっと役立つmaster slave環境配布用Beginnerならきっと役立つmaster slave環境
配布用Beginnerならきっと役立つmaster slave環境yut148atgmaildotcom
 
超簡単!Subversion入門 準備編
超簡単!Subversion入門 準備編超簡単!Subversion入門 準備編
超簡単!Subversion入門 準備編Shin Tanigawa
 
Docker hands on nifty sakura jul19
Docker hands on nifty sakura jul19Docker hands on nifty sakura jul19
Docker hands on nifty sakura jul19Masahito Zembutsu
 
自分色のLinuxホームサーバーを作ってみよう
自分色のLinuxホームサーバーを作ってみよう自分色のLinuxホームサーバーを作ってみよう
自分色のLinuxホームサーバーを作ってみようMasahiko Hashimoto
 
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介Midori Oge
 
SANsymphony-Vを使ったSoftLayerへの簡単データ移行
SANsymphony-Vを使ったSoftLayerへの簡単データ移行SANsymphony-Vを使ったSoftLayerへの簡単データ移行
SANsymphony-Vを使ったSoftLayerへの簡単データ移行Hironori Tanaka
 
Webサーバ構築で心がけるべき二つのこと
Webサーバ構築で心がけるべき二つのことWebサーバ構築で心がけるべき二つのこと
Webサーバ構築で心がけるべき二つのことTrinityT _
 
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-賢 秋穂
 
webstart-maven-pugin + 無償で正統?なコード署名証明書を入手する方法
webstart-maven-pugin + 無償で正統?なコード署名証明書を入手する方法webstart-maven-pugin + 無償で正統?なコード署名証明書を入手する方法
webstart-maven-pugin + 無償で正統?なコード署名証明書を入手する方法hiroya
 
Power shellmemo
Power shellmemoPower shellmemo
Power shellmemoytanno
 

Similaire à Ssl証明書を設定したらapacheが起動しない? (20)

Webサーバのチューニング
WebサーバのチューニングWebサーバのチューニング
Webサーバのチューニング
 
STNSサーバーを書いてみた
STNSサーバーを書いてみたSTNSサーバーを書いてみた
STNSサーバーを書いてみた
 
VPS借りたけどセキュリティが心配! 初心者が気をつけたいセキュリティの話
VPS借りたけどセキュリティが心配! 初心者が気をつけたいセキュリティの話VPS借りたけどセキュリティが心配! 初心者が気をつけたいセキュリティの話
VPS借りたけどセキュリティが心配! 初心者が気をつけたいセキュリティの話
 
Azure CLI あずにゃんの CLI を使ってみた結果www
Azure CLI あずにゃんの CLI を使ってみた結果wwwAzure CLI あずにゃんの CLI を使ってみた結果www
Azure CLI あずにゃんの CLI を使ってみた結果www
 
Webサーバ勉強会4 nginx で php-fpm を動かしてみた
Webサーバ勉強会4 nginx で php-fpm を動かしてみたWebサーバ勉強会4 nginx で php-fpm を動かしてみた
Webサーバ勉強会4 nginx で php-fpm を動かしてみた
 
Azure de debian
Azure de debianAzure de debian
Azure de debian
 
Try! cms2012標準マニュアル2013 03
Try! cms2012標準マニュアル2013 03Try! cms2012標準マニュアル2013 03
Try! cms2012標準マニュアル2013 03
 
Aws cent os7_wordpress_2
Aws cent os7_wordpress_2Aws cent os7_wordpress_2
Aws cent os7_wordpress_2
 
配布用Beginnerならきっと役立つmaster slave環境
配布用Beginnerならきっと役立つmaster slave環境配布用Beginnerならきっと役立つmaster slave環境
配布用Beginnerならきっと役立つmaster slave環境
 
超簡単!Subversion入門 準備編
超簡単!Subversion入門 準備編超簡単!Subversion入門 準備編
超簡単!Subversion入門 準備編
 
20121205 jjbug
20121205 jjbug20121205 jjbug
20121205 jjbug
 
Version管理 1
Version管理 1Version管理 1
Version管理 1
 
Docker hands on nifty sakura jul19
Docker hands on nifty sakura jul19Docker hands on nifty sakura jul19
Docker hands on nifty sakura jul19
 
自分色のLinuxホームサーバーを作ってみよう
自分色のLinuxホームサーバーを作ってみよう自分色のLinuxホームサーバーを作ってみよう
自分色のLinuxホームサーバーを作ってみよう
 
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
 
SANsymphony-Vを使ったSoftLayerへの簡単データ移行
SANsymphony-Vを使ったSoftLayerへの簡単データ移行SANsymphony-Vを使ったSoftLayerへの簡単データ移行
SANsymphony-Vを使ったSoftLayerへの簡単データ移行
 
Webサーバ構築で心がけるべき二つのこと
Webサーバ構築で心がけるべき二つのことWebサーバ構築で心がけるべき二つのこと
Webサーバ構築で心がけるべき二つのこと
 
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
 
webstart-maven-pugin + 無償で正統?なコード署名証明書を入手する方法
webstart-maven-pugin + 無償で正統?なコード署名証明書を入手する方法webstart-maven-pugin + 無償で正統?なコード署名証明書を入手する方法
webstart-maven-pugin + 無償で正統?なコード署名証明書を入手する方法
 
Power shellmemo
Power shellmemoPower shellmemo
Power shellmemo
 

Ssl証明書を設定したらapacheが起動しない?

  • 2. アジェンダ お話する内容 • httpはOKでも、httpsはNG • SSL証明書の更新で失敗 • パスフレーズ確認 OS起動時 CentOS5と6の違い? 2012/12/21 -1- Copyright Digital-Effect Network Co., Ltd. All rights reserved.
  • 3. httpはOKでも、httpsはNG httpはOKでも、httpsはNG • Linuxをインストール ↓ • Apacheをインストール ↓ • Webコンテンツをアップロード – サイトが見れたので、問題なしと判断。 – Apacheを再起動してみても問題なく再起動できる。 ↓ • SSL証明書を設置 – SSLを使いたいので、mod_sslモジュールをインストール ↓ • Apache再起動 ↓ # /etc/init.d/httpd restart 2012/12/21 -2- Copyright Digital-Effect Network Co., Ltd. All rights reserved.
  • 4. httpはOKでも、httpsはNG httpd を起動中: Syntax error on line 114 of /etc/httpd/conf.d/ssl.conf: SSLCertificateFile: file '/root/ssl/server.crt' does not exist or is empty [失敗] 「 file '/root/ssl/server.crt' does not exist or is empty 」 証明書がない・・・? • 証明書(server.crt)は、確かに指定の場所に存在する。 • ファイル名も間違っていない。 • ファイルのパーミッションも間違っていない。 →エラーメッセージの意味が分からないよ。。。 でも、サイト停止した状態だよ。 なんとかしないと。 2012/12/21 -3- Copyright Digital-Effect Network Co., Ltd. All rights reserved.
  • 5. httpはOKでも、httpsはNG 原因は? SELinuxが邪魔をしています。 Nov 2 15:56:30 www1 kernel: type=1400 audit(1351839390.871:6): avc: denied { search } for pid=1592 comm="httpd" name="ssl" dev=vda3 ino=545136 scontext=system_u:system_r:httpd_t:s0 tcontext=root:object_r:user_home_t:s0 tclass=dir (※/var/log/messagesより抜粋) CentOS5以降の場合、意図的に停止しない限り、SELinuxが有効になっています。 (Version4までは、OSインストール時にSELinuxの有効/無効を指定できます) 今回は「httpdが、新たにインストールされたmod_sslにアクセスしようとした際、 SELinuxのアクセス制御機能によって拒否された」ということが原因です。 2012/12/21 -4- Copyright Digital-Effect Network Co., Ltd. All rights reserved.
  • 6. httpはOKでも、httpsはNG 許可するには? allow httpd_t user_home_t:dir search; という許可をポリシーに追加すればいいですが、都度書くのは面倒。 それ以前に、SELinux難しい・・・。 こんなこと益々やってらんない!! 既に絶版・・・ 2012/12/21 -5- Copyright Digital-Effect Network Co., Ltd. All rights reserved.
  • 7. httpはOKでも、httpsはNG これでアクセス制御はしなくなりますが、動作は 対策 し続けているので、若干サーバのパフォーマン スが下がります。 完全に停止させておいた方がよいでしょう。 [SELinuxのアクセス制御停止] サーバを停止させずにSELinuxの機能を切りたい場合 確認方法 # getenforce Enforcing ←SELinuxのアクセス制御が有効になっています。 変更方法 # setenforce 0 ←「0」で「Permissive」モードに変更します。 # getenforce ←設定が変わったかどうか確認します。 Permissive ←確かに変わりました。 Permissiveモードは、アクセス制御機能は停止していますが、SELinux自体は各種アクセ スを監視し、情報をログに出力しています。 2012/12/21 -6- Copyright Digital-Effect Network Co., Ltd. All rights reserved.
  • 8. httpはOKでも、httpsはNG 対策 [SELinuxの完全停止] 完全にSELinuxを停止させたい場合 「/etc/sysconfig/selinux」という設定ファイルを変更します。 SELINUX=enforcing ↓ SELINUX=disabled 設定を反映させる為、サーバを再起動します。 サーバ起動後 # getenforce Disabled ←SELinuxのアクセス制御が完全に停止しています。 2012/12/21 -7- Copyright Digital-Effect Network Co., Ltd. All rights reserved.
  • 9. 証明書の更新で失敗 証明書の更新で失敗 • Goolgle検索 ↓ • コマンドをそのままコピペで実行(諸々の作業をopensslコマンドで実行) ↓ • 証明書の設置完了! ↓ ↓ 時は流れて、証明書の更新時期が。 ↓ • Google検索 ↓ • 証明書のファイルを置き換え(中身を書き換え) ↓ • Apache再起動で更新完了! ↓ # /etc/init.d/httpd restart 2012/12/21 -8- Copyright Digital-Effect Network Co., Ltd. All rights reserved.
  • 10. 証明書の更新で失敗 httpd を停止中: [ OK ] httpd を起動中: Apache/2.2.3 mod_ssl/2.2.3 (Pass Phrase Dialog) Enter pass phrase: パスワード入力待ち パスフレーズを入力するまで、Apacheは起動できません。 パスフレーズを思い出せなかったり、メモ書きが行方不明の場合は、、、 Web閲覧できない障害になります!! 2012/12/21 -9- Copyright Digital-Effect Network Co., Ltd. All rights reserved.
  • 11. 証明書の更新で失敗 対策 [パスフレーズの削除] 秘密鍵ファイルを直接見てみます。 -----BEGIN RSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED DEK-Info: AES-128-CBC,8F3BC65766447343B453530E499C9F11 +lSpfYi0jWe9zcd3kOVJ4F… (以下略) パスフレーズがかかっていると、ENCRYPTEDという文字列が入ります。 パスフレーズの解除 openssl rsa -in [鍵ファイル] -out [鍵ファイル] -inで指定した鍵ファイルを読み込み、-outで指定したファイルに書き込む形になります。 上記で、入出力共に同じファイルを指定する場合、最初に作成した鍵ファイルが上書きされます。 上書きを避けるには、別のファイル名を指定してください。 ※上書きする場合は、元のファイルのバックアップは必ずとっておきましょう! 2012/12/21 - 10 - Copyright Digital-Effect Network Co., Ltd. All rights reserved.
  • 12. 証明書の更新で失敗 やってみます。 # openssl rsa -in server.key -out server.key 「server.key」ファイルの中身を見てみます。 -----BEGIN RSA PRIVATE KEY----- MIICXAIBAAKBgQCfvnag0XZs1gGkVe8BQP5GaaA (以下略)] 「ENCRYPTED」という記述がなくなり、パスフレーズが外れました。 2012/12/21 - 11 - Copyright Digital-Effect Network Co., Ltd. All rights reserved.
  • 13. 証明書の更新で失敗 パスフレーズが入っていると困ること 例) 急なトラブルでOSそのものを再起動しなければいけないとき 自宅から、データセンターにあるサーバ自体を再起動した。 ↓ パスフレーズの入力待ちで、サーバ起動処理自体が途中で停止。 ↓ 気づかず、長時間のサイト停止! こういう場合は、リモートからサーバへログインして手動でApacheを起動させます。 ※SSHの起動順序がApacheの起動よりも後になるように変えていた場合、Apacheのパスフ レーズ待ちでOSの起動処理が停止するので、リモートログインできなくなります。 この場合、サーバに直接モニターをつなぎ、パスフレーズを入力して起動処理を進めないと いけなくなります。 2012/12/21 - 12 - Copyright Digital-Effect Network Co., Ltd. All rights reserved.
  • 14. CentOS5/6の違いってある? 実際の画面 (CentOS5の場合) OS起動時の画面。 Apache起動時に、SSL証明書(ssl.example.com)のパスフレーズを聞いてきています。 ここで、パスフレーズを入力すると、OS起動処理が進みます。 2012/12/21 - 13 - Copyright Digital-Effect Network Co., Ltd. All rights reserved.
  • 15. CentOS5/6の違いってある? 実際の画面 (CentOS6の場合) デフォルトの場合、起動画面は白いプログレスバーが伸びていくアニメーションに なっています。 SSLのパスフレーズがかかっていると、どうなるでしょうか? このように、起動が完了したように見えても、ログインプロンプトが出て来ません。 通常は、OSの起動が完了すると、以下のようにログインプロンプトが出てきます。 ※「Esc」キーで、以前のようなブートプロセス表示とプログレスバー表示の交互に切り替えることができます。 2012/12/21 - 14 - Copyright Digital-Effect Network Co., Ltd. All rights reserved.
  • 16. CentOS5/6の違いってある? 実際の画面 (CentOS6の場合) パスフレーズの入力を促すような表示はありませんが、この状態でもパスフレーズの 入力待ちなので、このまま入力すると、処理が進みます。 以前のように、起動シーケンスが見えるようにするには、「grub.conf」を編集します。 (grub.confから「rhgb quiet」を削除するだけです。詳細は割愛。) 2012/12/21 - 15 - Copyright Digital-Effect Network Co., Ltd. All rights reserved.
  • 17. ご清聴ありがとうございました。 広告スペース 設計から運用まで、 安全・安心ホスティング 単体サーバから複数台構成まで幅広く対応致します。 証明書取得、設置~更新代行まで承ります。 2012/12/21 - 16 - Copyright Digital-Effect Network Co., Ltd. All rights reserved.