SSL証明書を購入して、Nbuntu 14.04でNGinxを使っているサーバーにインストールする方法.

8664 ワード

SSL証明書を購入して、Nbuntu 14.04でNGinxを使っているサーバーにインストールする方法。


私がRailsアプリケーションを開発して、DigitalSeaサーバーに配備していたとき、私はSSL証明書をインストールしなければなりませんでした、しかし、私はどのようにSSLを買って、サーバーにインストールするかについての予備知識がありませんでした、しかし、結局たくさんの研究の後、私は正常に私のサーバーにSSLを加えました.
このガイドでは、

i. What are the steps you have to follow to buy SSL from the domain provider.
ii. Install SSL certificate on the server.


I .ドメインプロバイダからSSLを購入するには、まず証明書署名要求(CSR)を生成しなければなりません.
OpenSSLを使ってCSRを生成します.
次の手順

  • SSHを使ってサーバ経由でサーバにログインします.
    $ ssh [email protected]
  • これは最初に/etcの中にディレクトリを作り、これに切り替えるほうが良いでしょう.
  • 私のワーキングディレクトリが/etc/ssl/ssl certsだとします.
    $ cd /etc/ssl/ssl-certs
    
    次に、次のコマンドを端末に入力し、Enterキーを押します.
    $ openssl req -new -newkey rsa:2048 -nodes -keyout mydomain.key -out mydomain.csr
    

    Note: Make sure to replace mydomain with the name of your domain like mydomain.com

  • あなたは、以下に説明する一連の質問に答えるよう求められます.
  • 国名-これはあなたの国の2文字の略語です.例えば、米国は米国であり、イギリスはGBであろう.
    州または州名-これはあなたの組織が動作している状態の完全な名前です.例えば、これは「カリフォルニア」または「ミシガン」かもしれません.
    あなたの組織が運営する都市の名前.例は「ランシング」または「フェニックス」を含むかもしれません.この分野で略語を使わないでください.例えば、「聖ヘレナ」は「聖ヘレナ」でなければなりません
    組織名-組織の名前.あなたの法律の名前を使用する必要があります.
    組織のユニット名-ビジネスとして適用する場合は、“ビジネスとして”(DBA)の名前をここに入力することができます.代わりに、ここで部門名を使用することができます.たとえば、“IT部門”や“Web管理”.
    あなたがSSL証明書を購入しているドメイン名.これは完全修飾ドメイン名( FQDN )でなければなりません.例はMyDomainであるかもしれません.COM .

    Note:- If you are applying for a special wildcard SSL certificate, you will need to enter an asterisk for the subdomain. An example in that case might be **.mydomain.com*. Never include the “http://”, “https://”, or any other special characters in this field. Never include text after the top level domain at the end. For example, your common name should end in .com, .net, (or whatever other extension you are applying for.)


    電子メールアドレス-あなたのドメインの連絡先として使用することができます電子メールアドレス.アドレスが有効であることを確認してください!
    チャレンジパスワード-オプションのパスワードをさらに証明書を確保する.あなたがそれを使うほうを選ぶならば、必ずこのパスワードを覚えていてください.少なくとも4文字でなければなりません.閉じるこの動画はお気に入りから削除されています.
    *任意の会社名*-別のオプションのステップ.あなたが望むならば、あなたの会社名を満たしてください.これはWeb SSL証明書には必要ありません.

    はい、あなたのCSRファイルが生成されている!
    CSRタイプを見つけるには、現在の作業ディレクトリに次のコマンドを入力します.

    my current working directory is “/etc/ssl/ssl-certs”


    $ ls
    
    次に、“csr”と“key”で終わる2つの新しいファイルを取得します.

    .キーファイルは、サーバー上でプライベートにする必要があります..CSRファイルはあなたの証明書署名要求であり、GoDaddyのような認証局に送ることができます.
    MyDomainを開くために.COM .CSRファイルタイプ以下のコマンド.
    $ cat *mydomain.com.csr*
    
    そして、あなたは生成されるCSRの下で得られます.

    SSL証明書を注文するとき、あなたはCSRファイルのすべての内容をあなたの証明書当局にコピーして、ペーストする必要があります.

    Note: Be sure that you include the lines that read “BEGIN CERTIFICATE REQUEST” and “END CERTIFICATE REQUEST”.


    デコードする場合はvisit this linkです.
    ダウンロード
    ドメインをコントロールしているGodaddyに確認した後、SSL証明書が発行されたというメッセージをメールで確認してください.オープンし、ダウンロード証明書リンク(またはGodDaddyコントロールパネルのSSL証明書の横にある起動ボタンをクリック)に従ってください.
    ダウンロードボタンをクリックします.
    サーバータイプのドロップダウンメニューから使用しているサーバーソフトウェアを選択します.Apache HTTPまたはNGinXを使用している場合は“NGinx”を選択し、[ zipファイルのダウンロード]をクリックします.
    ZIPアーカイブを展開します.2つ含まれるはずです.CRTファイルあなたのSSL証明書(146 b 99449 cc 43104 . crtのようなランダムな名前を持っていなければなりません)、そして、Godaddy中間の証明書束(GdNoneバンドルG 2 - 1 . CRT).つのWebサーバーをコピーします.
    現在私の現在の作業ディレクトリ("/etc/ssl/ssl certs ")には以下の4つのファイルがあります.
    ***146b99449cc43104.crt *gd_bundle-g2–1.crt mydomain.com.csr mydomain.com.key**
    

    The certificate is now ready to be installed on your web server. This involves adding a few SSL-related lines to your web server software configuration.
    note: If you have a firewall enabled, be sure that it allows port 443 (HTTPS)


    ここで私はnbuntuの14.04にnginxの設定を行います.
    IIサーバー上の証明書のインストール
    これらの2つのファイルを使用して、単一の“連鎖”証明書ファイルを作成する必要があります*.CRT *と* GLINNのバンドルG 2 - 1.ブラウン管
    $ cat 146b99459cc43104.crt gd_bundle-g2–1.crt > mydomain.chained.crt
    
    NGNXサーバーブロック設定ディレクトリに移動します./etc/nginx/siteが有効になっていると仮定して、このコマンドを使って変更します.
    $ cd /etc/nginx/sites-enabled
    
    SSLをデフォルトのサーバーブロックファイルに追加したい場合は、編集用ファイルを開きます
    $ sudo vi default
    
    listenディレクティブを検索して変更し、このように変更します.
    listen 443 ssl;
    
    次に、serverRage名ディレクティブを見つけ、その値が証明書の一般名と一致することを確認します.また、SSLHUNE証明書とSSLHUNCTIONICATERAKEキーディレクティブを追加して、証明書と秘密キーファイルのパスを指定します
    server_name mydomain.com;
    ssl_certificate /etc/ssl/*ssl-certs*/mydomain.com.chained.crt;
    ssl_certificate_key /etc/ssl/*ssl-certs*/mydomain.com.key;
    
    最も安全なSSLプロトコルと暗号のみを許可するには、次の行をファイルに追加します.
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
    add_header Strict-Transport-Security max-age=63072000;
    
    HTTPトラフィックをhttpsにリダイレクトする場合は、ファイルの先頭にこの追加のサーバーブロックを追加できます.
    server {
        listen 80;
        server_name mydomain.com;
        return 301 https://$host$request_uri;
    }
    
    その後、保存して終了します.
    NGNXを再起動して、新しい設定をロードして、HTPSの上でTLS/SSLを可能にしてください!
    $ sudo service nginx restart
    
    httpsを通してあなたのサイトにアクセスすることによってそれをテストしてください
    失敗した場合はサーバーを再起動しますが、次のコマンドを使ってログを見て修正します.
    $ nginx -t
    
    さあ、今、我々は素晴らしい緑のロックのアイコンをWebブラウザで表示しているが、それは十分ではないことが判明.私がhttps://mydomain.com.でチェックしたように、RC 4のようないくつかのSSL暗号は脆弱で、SSL 3は壊れています(私の最初のテストスコアはB - ...).
    これを修正するには、以下のように* sslount ciphers *を変更しました.
    ssl_ciphers '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:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK';/etc/ssl/ssl-certs
    
    テストによると、私の次の脆弱性は、私の弱いDiffie Hellmanキーでした.Diffie Hellman Key Exchangeは、いくつかの攻撃者がサーバの秘密鍵を手にするとしても、サーバとクライアントの間の通信を解読するのは難しい.しかし、OpenSSLのデフォルトキーサイズは1024ビットです.したがって、いくつかのより良いパラメータを生成します.
    まず、OpenSSLでDHパラメータを生成します.
    ディレクトリに切り替えましょう.CRTと.キー拡張ファイルが存在します.
    $ cd /etc/ssl/*ssl-certs*
    
    次に、以下のコマンドを実行してDHパラメータを生成します.これは、より長い時間がかかるかもしれません.
    $ openssl dhparam -out dhparam.pem 4096
    
    再びサーバー構成ファイルを開きます.
    $ cd /etc/nginx/sites-enabled
    $ sudo vi default
    
    次の行を追加します.
    ssl_dhparam /etc/ssl/*ssl-certs*/dhparam.pem;
    
    今すぐエディタを保存し、サーバーを再起動します.
    $ sudo service nginx restart
    
    うん!SSLは正常にサーバーにインストールし、サイトにアクセスしてテストします
    これでSSL Server Testでチェックします
    参考文献
    Apacheサーバの
  • seems breakable
  • に移動します
  • i SSL Server Test
  • 私は、それはあなたに役立つことを願っています.あなたがいくつかの拍手を残して招待されているこの記事が好きなら.