GNU/Linux >> Linux の 問題 >  >> Linux

NginxとApacheでHSTS(HTTP Strict Transport Security)ポリシーを有効にする方法

Netcraftの調査によると、HTTPSサーバーの95%が中間者攻撃に対して脆弱です。したがって、HSTSを適切に実装することが非常に重要です。 HSTS(HTTP Strict Transport Security)は、以前の記事で説明したように、クリックジャッキング、プロトコルのダウングレード、中間者攻撃などの悪意のある攻撃からWebサイトを保護するポリシーです。この記事では、NGINXとApacheでHSTSを有効にするためのさまざまな手順を説明します。

NginxでHSTSを有効にする方法

HSTSを有効にするために必要なドメインのNginx構成ファイルを開きます。

例: /etc/nginx/conf.d/tg.conf

HTTPSのサーバーブロックに次の行を追加します。

HSTSをHTTPブロックに追加しないでください
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains; preload" always;
includeSubDomainsパラメーター

オプションのincludeSubDomains パラメータは、HSTSポリシーが現在のドメインのすべてのサブドメインにも適用されることをブラウザに通知します。

常にパラメータ

常に パラメータにより、内部で生成されたエラー応答を含むすべての応答にヘッダーが設定されます。

1年間のHSTSを構成するには、max-ageを31536000(秒単位)に設定します。セキュリティ要件を満たすには、少なくとも3か月は必要です。

Nginxサービスを再起動します

再起動する前に、以下のように構成ファイルを確認してください。

# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Nginxサーバーを再起動して、新しい変更を加えます。

# systemctl restart nginx

ApacheでHSTSを有効にする方法

ApacheでHSTSを有効にするには、 mod_headersが必要です。 モジュールがインストールされています。以下のコマンドを実行して、モジュールがすでにインストールされているかどうかを確認します。

# apachectl -M | grep headers
 headers_module (shared)

お持ちの場合は、HSTSを有効にするために必要なドメインのヘッダー設定の構成に進みましょう。 VirtualHostを含む構成ファイルを開きます SSLを使用します。

For eg: /etc/httpd/conf.d/tg.conf

VirtualHost内に以下の構成を追加します 以下のポート443の場合:

<VirtualHost *:443>
......
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
......
</VirtualHost>
を設定します

Apacheサービスを再起動します

再起動する前に、以下のように構成ファイルを確認してください。

# apachectl configtest
Syntax OK

構文に問題がない場合は、Apacheサーバーを再起動して新しい変更を加えます。

# systemctl restart httpd       ## Redhat systems

# systemctl restart apache2     ## Debian systems

それでおしまい! Webサーバーをテストして、HSTSが有効になっているかどうかを確認します。

$ curl -kIs https://example.com | grep Strict
Strict-Transport-Security: max-age=31536000; includeSubDomains

Linux
  1. NGINXでHTTP2を有効にする方法

  2. UbuntuとCentOSのNginxでHTTP/2を有効にする方法

  3. ApacheまたはNginxでSSL/TLSの完全転送秘密を有効にする方法

  1. NginxでHTTPをHTTPSにリダイレクトする方法

  2. NginxでHTTP/2を有効にする方法

  3. NginxでTLS1.3を有効にする方法

  1. Ubuntu20.04でApacheを使用してHTTP/2プロトコルを有効にする方法

  2. NginxでIPv6を有効にする方法は?

  3. NginxでGZIP圧縮を有効にする方法