基本に立ち返る:SSL/TLSとNGINXによるWebトラフィックの暗号化

NGINX | 2023年1月26日

インターネット上の悪意ある攻撃者は、執拗かつ巧妙な手口を際限なく繰り出しています。ネットワーク侵害やデータ窃取、ランサムウェア攻撃のニュースが、ほぼ毎日のように報じられています。その被害は甚大になり得るため、Web資産とトラフィックがハッカーの手に渡らないよう保護することが、ますます重要になっています。

インターネットトラフィックの主要な種類の1つである、ブラウザとWebサイト間のHTTPトラフィックも、当然ながらこうした攻撃の対象となります。HTTPトラフィックを盗聴や改ざんから保護する基本的な方法の1つは、Transport Layer Security(TLS)プロトコルを使用して暗号化することです。暗号化されたトラフィックは、正確には「HTTPSトラフィック」と呼ばれ、Sは「secure」を意味しますが、ほとんどの場合、単に「HTTP」という用語で両方のトラフィックを指します。

URLを見ると、Webサイトが暗号化に対応しているかどうかを確認できます。

  • 先頭が「https://」のURLでは暗号化が使用されています
  • 先頭が「http://」のURLは暗号化されていません

多くのブラウザでは、暗号化が使用されている場合、アドレスバーの左端に南京錠のアイコンも表示されます。

注: TLSの前身であるSecure Sockets Layer(SSL)は現在非推奨ですが、セキュリティ上の脆弱性があるにもかかわらず、今なお広く使用されています。同様に、HTTPトラフィックの暗号化を指す際には、実際にはTLSが使用されている場合でも「SSL」(または「SSL/TLS」)という用語がよく使われます。

SSL/TLSとNGINX

NGINXにおけるSSL/TLS暗号化の概要として、いくつかのディレクティブを見てみましょう。HTTPS向けの基本的なNGINX設定は非常にシンプルです。

server {    listen              443 ssl;
    server_name         www.example.com;
    ssl_certificate     www.example.com.crt;
    ssl_certificate_key www.example.com.key;
    ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers         HIGH:!aNULL:!MD5;
    #...
}

The listenディレクティブは、sslパラメーターを使用して、server_nameディレクティブで指定されたドメイン(ここではwww.example.com)へのHTTPSトラフィックをポート443で待ち受けるようNGINXに指示します。

The ssl_certificateおよびssl_certificate_keyディレクティブは、ドメインのTLS証明書と鍵が保存されているファイルを指定します。ssl_protocolsおよびssl_ciphersディレクティブは、このNGINX仮想サーバーがサポートするSSL/TLSのバージョンと暗号スイート(暗号化アルゴリズム)をそれぞれ指定します。これらのディレクティブを設定すると、NGINXはクライアントとのセキュアな接続をネゴシエートし、証明書によって認証されたHTTPSコンテンツを配信します。

ウェビナーを視聴

HTTPS用ディレクティブの使用方法を説明するだけなら簡単ですが、証明書、鍵、暗号スイートの背後にある概念を理解するには、より深い知識が必要です。詳しくわかりやすく学ぶには、無料のオンデマンドウェビナー「NGIN 101:SSL/TLSとNGINによるWebトラフィックの暗号化」をご覧ください。

このウェビナーでは、Webトラフィックの暗号化について詳しく掘り下げ、以下の内容を学べます。

  • NGINXがクライアントとの間にHTTPSで保護されたセッションを確立する仕組み
  • リアルタイムデモで紹介するNGINXの基本設定と高度な設定
  • HTTPリクエストをHTTPSにリダイレクトする方法
  • 推奨されるTLS設定

NGINX Open Sourceの利用開始に関心があり、まだご不明な点がある場合は、NGINX Community Slackにご参加ください。自己紹介をして、NGINXのパワーユーザーが集まるコミュニティと交流しましょう。NGINX Plusを導入する準備ができている場合は、今すぐ30日間の無料トライアルを開始するか、ユースケースについてご相談ください。


共有
タグ: SSL/TLS, F5 NGINX, 2023, Tech

著者について

Robert Haynes
Robert Haynesテクニカルマーケティングマネージャー

Robert Haynesのその他のブログ記事

関連するブログ記事

チュートリアル:NGINXを使用してアプリケーション向けにOpenTelemetryを構成する
NGINX | 2024/01/18

チュートリアル:NGINXを使用してアプリケーション向けにOpenTelemetryを構成する

OpenTelemetryを使用してNGINXサーバーの状態と健全性をより明確に把握することで、問題のトラブルシューティングを行い、Webアプリケーションのパフォーマンスを向上できます。

AkitaのNGINX Plus認定モジュールでAPIエンドポイントの問題を特定・修正
NGINX | 2023/05/31

AkitaのNGINX Plus認定モジュールでAPIエンドポイントの問題を特定・修正

Akita SoftwareのAPIオブザーバビリティ向け新しいNGINX Plus Certified Moduleを活用して、APIエンドポイントの問題をより迅速に特定し、修正できます。

JavaプロジェクトをスキャフォールディングしてKubernetesネイティブアプリを構築する方法
NGINX | 2023/02/09

JavaプロジェクトをスキャフォールディングしてKubernetesネイティブアプリを構築する方法

Red HatのシニアプリンシパルデベロッパーアドボケイトであるDaniel Oh氏が、Javaプロジェクトをゼロから構築するためのひな形を作成し、Kubernetesネイティブアプリケーションとしてビルドする方法を解説します。

F5 NGINXaaS for Azureのご紹介:Microsoft Azureでネイティブに利用できるSaaS型ロードバランシング
NGINX | 2022/05/24

F5 NGINXaaS for Azureのご紹介:Microsoft Azureでネイティブに利用できるSaaS型ロードバランシング

NGINXaaS for Azureは、NGINX PlusをAzureネイティブのSaaSとして利用できるサービスです。NGINXの設定を容易にリフト&シフトできるため、クラウド導入とモダンアプリの展開を加速できます。

SELinuxでNGINXおよびNGINX Plusを使用する
NGINX | 2018/08/17

SELinuxでNGINXおよびNGINX Plusを使用する

Red Hat Enterprise Linux(RHEL)および関連ディストリビューションでSecurity-Enhanced Linux(SELinux)を有効にすると、デフォルト設定によりNGINXとNGINX Plusの一部の操作が制限されます。この記事では、すべての機能を利用できるようにSELinuxの設定を変更する方法について説明します。

NGINX PlusによるAWS Auto Scalingグループの負荷分散
NGINX | 2017/03/06

NGINX PlusによるAWS Auto Scalingグループの負荷分散

新しいnginx-asg-sync統合ソフトウェアにより、NGINX PlusはAWS Auto Scalingグループの負荷を直接分散できるため、クラウドでの負荷分散がさらに柔軟になります