【Ubuntu 22.04 LTS Server】仮のSSL証明書で https:// 通信テストする

スポンサーリンク

ローカルネットワークからの通信テストなどで、正式なSSLを使う前にとりあえずWebサーバーやメールサーバー等のSSL機能が動作しているか確認したい場合がある。
Ubuntuサーバで”snakeoil”という仮のSSL証明書を使ったテストを行ったので備忘録を残す。

”snakeoil”仮のSSL証明書

Ubuntu 22.04 LTS Serverでは、apache2パッケージをインストールすると、ssl-certパッケージがインストールされて”snakeoil”という仮のSSL証明書が利用できるようになっている。

apache2のインストール

$ sudo apt install apache2

手動でssl-certパッケージを利用する場合

上記の、apache2パッケージをインストールする事で、ssl-certパッケージによる仮のSSL証明書も同時にインストールされるが、何らかの都合で手動でインストールしたい場合は下記コマンドを実行。

$ sudo apt install ssl-cert
$ sudo make-ssl-cert generate-default-snakeoil

ApacheでHTTPSサーバーのテスト

ApacheのSSLモジュールと、デフォルトのSSLのサイトを有効化し、Apacheを再起動する。

$ sudo a2enmod ssl
$ sudo a2ensite default-ssl
$ sudo service apache2 restart

通信ポートの確認

nmapコマンドで、443ポートが開いているかを確認。

$ nmap localhost
Starting Nmap 7.80 ( https://nmap.org ) at 2022-08-15 09:34 JST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00020s latency).
Other addresses for localhost (not scanned): ::1
rDNS record for 127.0.0.1: localhost.localdomain
Not shown: 993 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
443/tcp  open  https
【Ubuntu 18.04/16.04 LTS Server】開いてるポートの確認(nmap ポートスキャン)
nmapという、ポートスキャンソフトで確認できる。 インストール $ sudo apt install nmap ヘルプ表示 $ sudo nmap -h 使っているTCP/UDPポートを調べる $ sudo nmap -sTU local...

サンプルのSSL証明書について

SSLで通信を行うには、SSL証明書をサーバーにインストールしなければなりません。ですがUbuntuの場合、Apache Webサーバーをインストールした段階でサンプルのSSL証明書が自動的に作成され、利用可能になっている。
Ubuntuでは、apache2パッケージのインストール時に下記コマンドが自動的に実行されて、”snakeoil”という仮のSSL証明書を生成する。

make-ssl-cert generate-default-snakeoil

生成されたサンプルの証明書の秘密鍵と公開鍵のファイル所在は下記。

/etc/ssl/private/ssl-cert-snakeoil.key
/etc/ssl/certs/ssl-cert-snakeoil.pem

又、ApacheのデフォルトのSSLサイト設定である /etc/apache2/sites-available/default-ssl.conf にも、下記のようにこの証明書と秘密鍵が指定されている。

SSLEngine on
SSLCertificateFile      /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

Webブラウザからのhttps://通信確認

Webブラウザーから https://(サーバーのIPアドレス)にアクセス。

以下のような警告が表示されてるはずです。これはサーバーが(信頼できる認証局の署名のない)自己署名証明書を利用しているため。

画像10

[詳細情報…] を押す。

画像11

[危険性を承知で続行] を押す。

画像12

https:// 通信で表示できた。

画像15

証明書の情報を確認すると、2028年までの有効期限となっていた。

補足

  • snakeoilとは日本で言うガマの油のような、効果のあやしげな胡散臭い商品のことを指す単語だそうです。そこから転じて、自己署名証明書の名前に使われている。当然ですが、そのまま本番サイトに利用できる証明書ではない。
【Ubuntu 18.04/16.04 LTS Server】WordPressをSSL通信化(https)する(公式SSL証明書:CoreSSLを使う)
前の記事でWordPressをインストールして運用していた。公式なSSL証明書(SSLボックス)を取得したので、本サイトのWordPressをSSL通信化(https)した。 尚、SSL証明書の取得に関しては、以下の記事参照。 追記(201...

関連記事

【Ubuntu 22.04 LTS Server】新規にインストールする
Ubuntu 22.04 LTS が、2022年4月21日にリリースされた。 そこで、新規に「Ubuntu 22.04 LTS Server」をインストールしたので備忘録を残す。 インストール媒体の入手 下記URLから、「Ubuntu Se...

参考

  1. UbuntuでSSLを利用したサービスを構築する
  2. (正しい)オレオレ証明書の作り方
  3. CentOS 7 で仮のSSL証明書をとりあえず簡単に生成する方法

コメント

タイトルとURLをコピーしました