apacheのSSL化

自宅PCのvineを6.5にアップグレードしました。

やっと32bitから64bitOSに載せ替えたのでやったことを日記に残します。

今回はapachessl化です。

まずはapacheのインストール

    apt-get install apache2

普段はCentをいじっているんでhttpdではなくapache2と指定するのに違和感を覚えます。

サービスを起動して動作確認します。

    service apache2 restart

 

f:id:gamsj2015:20180901120215p:plain

そっけない画面が出たのでapacheが無事起動できました。

 

次にSSL化に必要なモジュールを入れます。

    apt-get install mod_ssl-apache2

mod_sslがインストールされたら、次にSSLで使用する秘密鍵を作ります。まずはkeyファイルから

    openssl genrsa > server.key

こんな感じでできます

    Generating RSA private key, 1024 bit long modulus
    ........++++++
    .......++++++
    e is 65537 (0x10001)

次にCSRファイルです。CSRファイルは認証局サーバ証明書を発行してもらう時に使用するファイルで すが今回は、オレオレ認証のため適当に作ります。

    openssl req -new -key server.key > server.csr
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    -----
    Country Name (2 letter code) [AU]:JP
    State or Province Name (full name) [Some-State]:
    Locality Name (eg, city) []:
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:
    Organizational Unit Name (eg, section) []:
    Common Name (e.g. server FQDN or YOUR name) []:
    Email Address []:

    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []:
    An optional company name []:

最後にサーバ証明書です。本来は認証局csrファイルを提出して正式な証明書を発行してもらうところですが今回は、ローカルで使うものなのでオレオレ証明書を作ります。

    openssl x509 -req -signkey server.key < server.csr > server.crt
    Signature ok
    subject=/C=JP/ST=Some-State/O=Internet Widgits Pty Ltd
    Getting Private key

出来上がった秘密鍵サーバ証明書の配置します。どこに配意という明確なものはないですが デフォルトで設定されている場所にkeyファイルとcrtファイルを配置します。

    mv server.key /etc/apache2/conf/ssl.key
    mv server.crt /etc/apache2/conf/ssl.crt

移動先のフォルダパスが存在しない場合はあらかじめ作ってから移動しますが、vineでは 作られていたので特にmkdirコマンドは不要です。

配置したら/etc/httpd/conf.d/ssl.confの中に、配置した鍵と証明書のパスを設定します。

    emacs /etc/apache2/conf.d/ssl.conf

ssl.confの以下2行を修正します。

    SSLCertificateFile /etc/apache2/conf/ssl.crt/server.crt
    SSLCertificateKeyFile /etc/apache2/conf/ssl.key/server.key

保存してapacheを再起動します。

    service apache2 restart

これでhttpsでアクセスできると思うのでhttps://でアクセスします。

 f:id:gamsj2015:20180901120250p:plain

port443と出ていますのでhttpsでアクセスできました。

今回はオレオレ証明書で作りましたが、正式な所ではちゃんと認証キーを作ってくださいね。