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

SSL を使用して Ubuntu 22.04 に Elasticsearch をインストールする方法

SSL を使用して Ubuntu 22.04 に Elasticsearch をインストールする方法。 Elasticsearch 8 は、強力でスケーラブルなリアルタイム分散検索およびデータ分析です。ここでは、Ubuntu 22.04 で Nginx リバース プロキシを使用して Elasticsearch インストールに SSL を構成する方法を学習します。

Elasticsearch サービスのサブドメインを作成し、Certbot を使用して無料の Let’s Encrypt SSL 証明書をインストールします。

このセットアップは、Ubuntu 22.04 LTS を実行している Google Cloud Platform でテストされています。したがって、このガイドは、AWS、Azure、VPS、または専用サーバーなどの他のクラウド サービス プロバイダーで完璧に機能します。

前提条件

  • 最低 2GB の RAM と 2vCPU を備えたサーバー
  • sudo 権限を持つユーザー

サーバーの初期設定

サーバー ソフトウェア パッケージを利用可能な最新バージョンに更新することから始めます。

sudo apt update 
sudo apt upgrade

サブドメインの構成

サブドメインを使用して Elasticsearch インストールにアクセスしてください。

DNS 管理セクションに移動し、新しい A を作成します サブドメインに使用する名前を記録します (例:search ) とサーバー IP アドレスの値。

したがって、サブドメインは次のようになります。メイン ドメインを構成したい場合は、それも可能です。

search.yourdomain.com

ステップ 1:エラスティックサーチをインストールする

Java はすでに Elasticsearch パッケージに含まれているため、Java を手動でインストールする必要はありません。 Ubuntu 22.04 への Java のインストールについて詳しくは、こちらをご覧ください。

ここでは、Elasticsearch 8 をインストールします。

まず、Elasticsearch リポジトリの GPG キーをインポートします。

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg

リポジトリを Ubuntu サーバーまたはシステムのソース リストに追加します。

echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list

パッケージ リストを更新し、ElasticSearch をインストールします。

sudo apt update
sudo apt install elasticsearch

インストールが完了すると、スーパー ユーザーのパスワードが送られてきます。注意して安全に保管してください。

------------------- Security autoconfiguration information ----------------------

Authentication and authorization are enabled.
TLS for the transport and HTTP layers is enabled and configured.

The generated password for the elastic built-in superuser is : houbJ1uivo5b=aVYYPa5

If this node should join an existing cluster, you can reconfigure this with
'/usr/share/elasticsearch/bin/elasticsearch-reconfigure-node --enrollment-token <token-here>'
after creating an enrollment token on your existing cluster.

You can complete the following actions at any time:

Reset the password of the elastic built-in superuser with 
'/usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic'.

Generate an enrollment token for Kibana instances with 
 '/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana'.

Generate an enrollment token for Elasticsearch nodes with 
'/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s node'.

---------------------------------------------------------------------------------

Elasticsearch サービスはインストール時に自動的に開始されません。以下のコマンドを実行して、systemd を使用して Elasticsearch サービスが自動的に開始されるように設定する必要があります。

sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service
sudo systemctl start elasticsearch.service

Elasticsearch をインストールしたら、ポート 9200 を制限できます elasticsearch.yml file を編集して外部からアクセスできないようにする network.host のコメントを外します 値を Internal IP or any IP or localhost に置き換えます .

sudo nano /etc/elasticsearch/elasticsearch.yml 

だから、このように見えます..

network.host: INTERNAL_IP

localhost も使用できます ホストまたは任意の IP アドレスとして。

Ctrl+X をヒット 続いて Y そして Enter ファイルを保存して終了します。

サーバーの起動時に Elasticsearch を起動して有効にします。

sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch

Elasticsearch サービスが実行されていることを確認してください。

sudo systemctl status elasticsearch

ステップ 2:Elasticsearch が機能するかどうかを確認する

以下のコマンドを使用して証明書を添付して HTTPS リクエストを送信し、インストールをテストします。

以前に受け取ったパスワードをメモしておいてください。プロンプトが表示されたら、それを使用する必要があります。

sudo su
curl --cacert /etc/elasticsearch/certs/http_ca.crt -u elastic https://INTERNAL_IP:9200

プロンプトが表示されたらパスワードを入力します。

以下に示すような応答が返されます。

{
  "name" : "elasticsearch-vm",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "vGrj3z4rQEWRBUdd9IhZWA",
  "version" : {
    "number" : "8.2.2",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "9876968ef3c745186b94fdabd4483e01499224ef",
    "build_date" : "2022-05-25T15:47:06.259735307Z",
    "build_snapshot" : false,
    "lucene_version" : "9.1.0",
    "minimum_wire_compatibility_version" : "7.17.0",
    "minimum_index_compatibility_version" : "7.0.0"
  },
  "tagline" : "You Know, for Search"
}

ステップ 3:Elasticsearch 用に Nginx をインストールして構成する

次に、Nginx をインストールして構成します。以下のコマンドを実行して、Nginx をインストールします。

sudo apt install nginx

これで、Elasticsearch から Nginx リバース プロキシを構成できます。

デフォルト設定を削除

sudo rm /etc/nginx/sites-available/default
sudo rm /etc/nginx/sites-enabled/default

新しい Nginx 構成ファイルを作成します。

sudo nano /etc/nginx/sites-available/search.conf

以下を貼り付けます。

注:まったく同じ IP を使用する必要があります または localhost Elasticsearch 構成のホストで使用したもの。

server {
     listen [::]:80;
     listen 80;

     server_name search.yourdomain.com;

location / {
     proxy_pass http://INTERNAL_IP:9200;
     proxy_redirect off;
     proxy_read_timeout    90;
     proxy_connect_timeout 90;
     proxy_set_header  X-Real-IP  $remote_addr;
     proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
     proxy_set_header  Host $http_host;
} 

ファイルを保存して終了します。

シンボリック リンクを作成して構成を有効にします。

sudo ln -s /etc/nginx/sites-available/search.conf /etc/nginx/sites-enabled/search.conf

ステップ 4:Let’s Encrypt SSL をインストールする

HTTPS は、サーバー (インスタンス) とクライアント (Web ブラウザー) 間の安全な通信のためのプロトコルです。無料の SSL 証明書を提供する Let’s Encrypt の導入により、HTTPS はすべての人に採用され、視聴者にも信頼をもたらします。

sudo apt install python3-certbot-nginx

これで、Ubuntu 22.04 用の Let’s Encrypt によって Certbot がインストールされました。このコマンドを実行して、証明書を受け取ります。

sudo certbot --nginx --agree-tos --no-eff-email --redirect -m [email protected] -d search.domainname.com

このコマンドは、無料の SSL をインストールし、HTTPS へのリダイレクトを構成し、Nginx サーバーを再起動します。

ステップ 5:SSL 証明書の更新

Let’s Encrypt が提供する証明書は 90 日間のみ有効であるため、頻繁に更新する必要があります。それでは、次のコマンドを使用して更新機能をテストしましょう。

sudo certbot renew --dry-run

このコマンドは、証明書の有効期限をテストし、自動更新機能を構成します。

情報技術の専門家として働く役割に備える Linux オペレーティング システムで

結論

これで、Elasticsearch 8 をインストールして、Ubuntu 22.04 で Let’s Encrypt フリー ssl を使用して保護する方法を学習しました。

御時間ありがとうございます。問題やフィードバックに直面した場合は、下にコメントを残してください。


Linux
  1. Ubuntu18.04にElasticsearchをインストールする方法

  2. ubuntu20.04にZammadコミュニティをインストールする方法

  3. Ubuntu 22.04 に Docker をインストールする方法

  1. Ubuntu18.04にApacheを使用してJoomlaをインストールする方法

  2. Ubuntu20.04にElasticsearchをインストールする方法

  3. Ubuntu 18.04 /Ubuntu16.04にNginxを使用してWordPress5.xをインストールする方法

  1. Ubuntu18.04にELKスタックをインストールする方法

  2. UbuntuでElasticsearchを使用してElastAlertをインストールする方法

  3. Apacheを使用してUbuntu20.04にNextCloudをインストールする方法