2020/11/26公開
IPA より「TLS暗号設定ガイドライン」第3.0版が公開されました。
第3.0版では、TLS1.3 の採用及び SSL3.0 が禁止されたと共に、前ガイドラインまでは推奨セキュリティ型での利用が認められてきた TLS1.0 や TLS1.1 がセキュリティ例外型のみでの利用に限定といった変更がなされています。
また、暗号化プロトコルだけでなく、推奨される暗号スイートについても紹介されています。
これを機会に、管理しているWebサイトの暗号化プロトコルと暗号スイートの設定の見直しをおこなうことは大切です。
そこで、対象のサイトにてどのような暗号化プロトコルと暗号スイートが有効になっているかをチェックするための簡単な方法として、Nmap の利用をご紹介します。
Nmap (Network Mapper) は、ネットワーク検出とセキュリティ監査のためのオープンソース (ライセンス) ユーティリティです。ポートスキャンツールとして幅広く利用されています。
Nmap は、Linux、Windows、および Mac OS Xといった多くのコンピューターオペレーティング システムで実行が可能です。
基本的にはコマンドラインにて実行する形を取りますが、GUI上で実行可能な Zenmap といったツールも利用可能です。
また、Nmap Scripting Engine (NSE) いう拡張機能があり、検知したポートに対する脆弱性の検出や更なる調査といった機能をスクリプトで拡張することができます。
今回は、Nmap Scripting Engine (NSE) の中の「ssl-enum-ciphers」というスクリプトを利用します。
Nmapのインストール方法をご説明します。今回は、WindowsOS(Windows10)へのインストールと LinuxOS(Ubuntu)へのインストールのご紹介となります。
https://nmap.org/download.html
「Microsoft Windows binaries」の「Latest stable release self-installer:」の先にプログラムへのリンクがありますので、リンクを選択してダウンロードします。
※2020年11月現在:nmap-7.91-setup.exe が最新となります。
実行を開始した時にユーザーアカウント制御のメッセージが表示される場合は、「はい」を選択して下さい。
内容に問題がなければ「I Agree」を選択して進みます。
選択されている Components はそのままで「Next」を選択します。
表示されているインストール先のままで問題がなければ、そのままで「Install」を選択します。
Npcap は、Nmap を利用する上でインストールする必要があります。
内容に問題がなければ、このまま「I Agree」を選択します。
選択されている Options はそのままで、「Install」を選択します。
「Next」を選択して先に進みます。
「Finish」を選択して先に進みます。
「Next」を選択します。
Nmap のショートカットが不要な場合は、選択されているチェックを外して下さい。
「Next」を選択します。
「Finish」を選択して完了です。
Linux(Ubuntu)では、リポジトリからインストールが可能です。
sudo apt update
パッケージリストを更新します。
sudo apt -y install nmap
インストールが開始されます。
sudo dpkg-query -l | grep nmap
nmap がインストールされたかを確認します。nmap が表示されていれば OK です。
(nmap-common は、nmap と一緒にインストールされる関連ファイルです。)
nmap -sV --
script ssl-enum-ciphers -p 443 <host>
<host> には対象のIPアドレスまたはホスト名を指定します。
sudo nmap -sV --
script ssl-enum-ciphers -p 443 <host>
<host> には対象のIPアドレスまたはホスト名を指定します。
実行結果の表示内容は、Windows、Linux ともに同じとなります。Windows での実行結果を見て行きます。
次が Windows での実行結果となります。
検知されてきた結果は、暗号化プロトコルのバージョン毎にツリー上に表示されます。
ツリーの先頭には、対象の Port とHTTP サーバーの情報が表示されます。
続いて、暗号化プロトコルのバージョン毎にセクションが分かれて表示されます。
下記は、TLSv1.0 にて利用可能な暗号スイートの一覧です。これにより、まず TLSv1.0 が有効になっていることが確認出来ます。
さらに、どのような暗号スイートが利用可能であるということも確認出来ます。
表示されている暗号スイート名からも確認出来る情報があります。
下記の場合は、「公開鍵アルゴリズムに RSA、対称鍵の暗号化アルゴリズムに Triple-DES 、 暗号化ハッシュ・アルゴリズムに SHA-1」を用いていることが確認出来ます。
また、セクションの下部の「warnings:」に利用可能な暗号スイートに対する警告情報が表示されます。
下記の場合、3DES 、RC4 、MD5 を利用したに暗号スイートに対しての警告内容が確認出来ます。
これらの実行結果を元に、ご自身のサイトの設定とTLS暗号設定ガイドラインでの推奨設定を見比べてみて、よりセキュアな環境を目指しましょう。
今回は、自身が管理しているWebサイトにて利用可能な暗号化プロトコルと暗号スイートのチェック方法として、Nmap をご紹介しました。
Nmap には、利用可能な暗号化プロトコルと暗号スイートのチェック以外にも様々な拡張機能があります。機会があれば、ご紹介したいと思います。