さくらVPSにオレオレ証明書を設定する方法

itpro.nikkeibp.co.jp

CSR(証明書お申込みデータ)の作成|Cybertrust.ne.jp

f:id:kenta_everyday:20170730205752p:plain

前準備

インストー
yum install openssl *opensslのコマンド使うため
yum install mod_ssl *ssl使用するため

鍵の作成

秘密鍵の作成
openssl genrsa -aes128 1024 > /etc/httpd/conf/server.key
Generating RSA private key, 1024 bit long modulus
......++++++
..++++++
e is 65537 (0x10001)
Enter pass phrase:
Verifying - Enter pass phrase:

openssl rsa -text < /etc/httpd/conf/server.key

CSR(Certificate Signing Request)の作成 公開鍵の作成

CSR(Certificate Signing Request)とは、SSLサーバ証明書を発行するための証明書署名要求のことです。CSRには公開鍵の情報と、組織名や所在地等の情報(Distinguished Name=識別名)が含まれており、提出されたCSRにサーバ認証機関の署名を行い、サーバ 証明書として発行します。

openssl req -new -key /etc/httpd/conf/server.key > /etc/httpd/conf/server.csr
サーバ証明書の作成

自己書名ではプライベートCAを使って、サーバ証明書(server.crt)を発行する。
・x509 :X.509形式の証明書を作成する。
・-in CSRファイル:CSRファイルを指定する。
・-days 日数   :証明書の有効期限を指定する。
・-req :入力ファイルがCSRファイルであることを明示する。
・-signkey :事故証明書作成時に使用するオプション。秘密鍵ファイルを指定する。

openssl x509 -in /etc/httpd/conf/server.csr -days 36500 -req -signkey /etc/httpd/conf/server.key > /etc/httpd/conf/server.crt
mv /etc/httpd/conf/server.key /etc/httpd/conf/server.key.bak
openssl rsa -in /etc/httpd/conf/server.key.bak > /etc/httpd/conf/server.key

サーバの設定

sslのサーバ設定

追記:2017/07/29
気づくと当たり前なのだけど、、httpdのrestartが出来なくなった。
原因は、ssl.confに既存のlocalhost.keyとlocalhost.crtが残っているから。コメントアウトする必要あり。

[root@ik1-313-16875 etc]# /etc/init.d/httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [FAILED]

[root@ik1-313-16875 etc]#
[Sat Jul 29 16:38:39 2017] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Sat Jul 29 16:38:39 2017] [error] Init: Multiple RSA server certificates not allowed

/etc/httpd/conf.d/ssl.conf
#SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
#SSLCertificateFile /etc/pki/tls/certs/localhost.crt
vi /etc/httpd/conf.d/ssl.conf
<VirtualHost _default_:443>以下に
SSLCertificateFile /etc/httpd/conf/server.crt
SSLCertificateKeyFile /etc/httpd/conf/server.key
iptablesの設定

ファイアウォールiptablesを簡単解説~初心者でもよくわかる!VPSによるWebサーバー運用講座(4) - さくらのナレッジ

vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
service iptables restart
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Unloading modules:                               [  OK  ]
iptables: Applying firewall rules:                         [  OK  ]
httpd再起動
service httpd restart