インターネットの開発により、Webサービスのセキュリティがますます重要になっています。ユーザーデータとプライバシーを保護するために、SSL(Secure Sockets Layer)証明書を使用したデータ送信を暗号化することが最も一般的な慣行です。 NGINXは、高性能のオープンソースWebサーバーおよびリバースプロキシサーバーとして、SSL証明書の展開をSimple Configurationによってサポートしています。
この記事では、Webサービスのセキュリティを確保するために、NginxでSSL証明書を構成する方法を詳細に紹介します。
まず、SSL証明書を取得する必要があります。信頼できる証明書局(CA)からSSL証明書を購入するか、Let's Encryptが提供する証明書などの無料認証局を使用することを選択できます。
SSL証明書を取得したら、次にサーバーにインストールする必要があります。通常、証明書は.pemまたは.crtファイルの形式で提供されます。サーバー上のどこにでも証明書ファイルを保存できますが、管理の利便性(/etc/nginx/ssl/)のために特別なディレクトリに保存することをお勧めします。
[/nginx/ssl/directoryの/etc/nginx/ssl/directoryに証明書ファイルを保存したと仮定して、example.com.pem and embles.com.keyと呼ばれます。 NGINX構成ファイルの例を次に示します。
サーバー{ 443 SSLを匂いいてください。 server_name example.com; ssl_certificate /etc/nginx/ssl/example.com.pem; ssl_certificate_key /etc/nginx/ssl/example.com.key; 位置 / { #彼のnginxオプションを構成} }
上記の構成では、 443 SSLを聞くことはSSLを有効にし、ポート443を聴くことを意味します。Server_Nameは仮想ホストのドメイン名を指定し、 SSL_CertificateとSSL_Certificate_Keyはそれぞれ証明書とプライベートキーのパスを指定します。
Webサービスのセキュリティをさらに強化するために、SSLプロトコルバージョンとパスワードスイートを構成できます。強化されたセキュリティのためのnginx構成は次のとおりです。
サーバー{ 443 SSLを匂いいてください。 server_name example.com; ssl_certificate /etc/nginx/ssl/example.com.pem; ssl_certificate_key /etc/nginx/ssl/example.com.key; SSL_ProtoCols TLSV1.2 TLSV1.3; SSL_CIPHERS 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH'; ssl_prefer_server_ciphers on; 位置 / { #彼のnginxオプションを構成} }
この構成では、 SSL_ProtoColsを使用して、有効なSSLプロトコルバージョン(TLSV1.2やTLSV1.3など)を指定し、 SSL_CIPHERSは使用されたCipherスイートを指定し、 SSL_PREFER_SERVER_CIPHERSはサーバーのCIPHESスイートを示します。
SSL証明書の構成を完了した後、構成を有効にするには、nginxを再起動する必要があります。次のコマンドを使用してnginxを再起動できます。
sudo systemctl restart nginx
再起動後、Nginxはポート443の聴取を開始し、構成されたSSL証明書との通信を暗号化します。
上記の手順を通じて、NGINXのSSL証明書を正常に構成し、Webサービスにセキュリティを提供しました。 SSL暗号化プロトコルを使用すると、送信中にデータの機密性と整合性を確保し、ハッカー攻撃やデータ侵害を防ぎます。 SSL証明書の構成は、Webサービスのセキュリティを改善するための基礎であり、ユーザーのプライバシーを保護するための効果的な手段です。
注:この記事では、HSTS(HTTP Strict Transport Security)やOCSP(オンライン証明書ステータスプロトコル)を有効にするなど、プロジェクトの要件に従って構成をさらに調整できる基本的なSSL構成例を提供します。詳細な構成により、Webサービスにより包括的なセキュリティ保護を提供できます。