Vaultを使用してLinuxに機密データを保存する方法

Vaultを使用してLinuxに機密データを保存する方法

Vaultは、さまざまな種類のデータ(認証キー、ログイン情報など)を安全に保つために使用される高度なセキュリティツールです。このガイドでは、基本情報を保存および暗号化するためにそれを使用する方法を示します。ただし、Vaultは、AWSパスワード、APIキー、SSHキー、データベースログイン情報などの複雑なシークレットを保存するためにも使用できることを理解してください。Vaultツールでできることの詳細については、ドキュメントを確認してください

LinuxへのVaultのインストール

Vaultアプリを使用してLinuxシステムにシークレットを保存する方法を説明する前に、Vaultアプリをシステムにインストールする必要があります。インストールを開始するには、キーボードのCtrl + Alt + T または Ctrl + Shift + T を押してターミナルウィンドウを開きます。その後、現在使用しているLinuxオペレーティングシステムに対応する以下のインストール手順に従ってください。

一般的なバイナリ命令

一般的なバイナリインストールは、ほとんどのLinuxディストリビューションで実行するのに最適な方法です。これは、実行するのに苦労する必要がないためです。Snapランタイムや、Arch LinuxAURのような依存関係をいじる必要はありません。Vault汎用バイナリファイルのインストールを開始するには、以下のwget コマンドを使用して最新リリースをダウンロードすることから始め ます。

wget https://releases.hashicorp.com/vault/1.3.1/vault_1.3.1_linux_amd64.zip

Vault ZIPアーカイブのダウンロードが完了したら、unzip コマンドを使用し てバイナリを解凍します。unzip コマンドを使用して 、ファイルを抽出します。

注:Unzipは、LinuxコマンドラインからZIPアーカイブファイルを抽出するために使用される標準ユーティリティです。Unzipアプリをまだインストールしていない場合は、Pkgs.orgにアクセスし、使用するディストリビューションの下にある「unzip」パッケージをクリックして開始してください。

vault_1.3.1_linux_amd64.zipを解凍します

いったん 解凍 コマンドが実行され、「ボールト」という名前のバイナリは、自分のホームディレクトリに表示されます。この時点で、このバイナリファイルを/usr/bin/ディレクトリに移動して、システム上の他のプログラムと同じように呼び出すことができるようにする必要があります。

sudo mv vault / usr / bin /

「vault」バイナリファイルが /usr/bin/ディレクトリにある場合、任意のターミナルウィンドウで以下のコマンドを実行することでアプリを使用できます。

ボールト

Arch LinuxAURの説明

VaultアプリはArchLinuxAURにあります。Arch Linuxを使用している場合は、以下のコマンドを入力してアプリを動作させることができます。

sudo pacman -S git base-devel git clone https://aur.archlinux.org/trizen.git cd trizen makepkg -sri trizen -S vault-bin

Vaultサーバーの構成

Vaultアプリは、使いやすいWebユーザーインターフェイスでキーにアクセスできるように実行されるサーバーです。また、ネットワーク上で実行することもでき、インターネット経由でキーにアクセスすることもできます。ただし、このガイドでは、ローカルサーバーについてのみ説明します。

Vaultはサーバーであるため、Linuxでは、ターミナルウィンドウから実行する必要があります。問題は、特にLinuxを初めて使用する場合、ターミナルサーバーの実行が混乱する可能性があることです。作業を簡単にするために、煩わしさを感じることなくシステム上でサーバーを実行できるスクリプトを作成します。

スクリプトを作成するには、ターミナルウィンドウを開き、touchコマンドを使用して、という名前の空のファイルを作成しますvault-server.sh

vault-server.shにタッチします

vault-server.shファイルを作成したら、Nanoテキストエディタで開きます。

nano -w vault-server.sh

以下のコードをNanoテキストエディタに貼り付けます。

#!/bin/bash

vault server -dev > ~/vault-server-info.txt

Ctrl + Oで編集内容を保存し、  Ctrl + Xで終了し ます。次に、chmod コマンドを使用してファイルのアクセス許可を更新します 。

sudo chmod + x vault-server.sh

Vaultへのアクセス

Vaultにアクセスするには、ターミナルウィンドウを開き、以下のコマンドでスクリプトファイルを実行します。

./vault-server.sh

スクリプトを起動すると、ターミナルにサーバーの読み取り値が表示されます。ただし、この読み取り値は常に変化するため、ホームディレクトリのテキストファイルにもパイプ処理しました。このテキストファイルはvault-server-info.txtです。

注:Vaultを起動するたびに、vault-server-info.txtが変更されます。それを確認して新しいトークンをコピーする必要があります。そうしないと、ログインが機能しません。

サーバーが実行されたら、Linuxファイルマネージャーを開き、[ホーム]をクリックして開きvault-server-info.txt、「ルートトークン:」の後のコードをクリップボードにコピーします。次に、お気に入りのWebブラウザーを起動し、以下のURLにアクセスします。

localhost:8200/ui/

からコピーしたトークンキーでログインしますvault-server-info.txt

Vaultを使用してLinuxに機密データを保存する方法

サーバーを停止します

Vaultサーバーを停止する必要がありますか?現在スクリプトを実行しているターミナルウィンドウをクリックし、Ctrl + Cを押し ます。

Vaultを使用してシークレットを保存する

サーバーが稼働しているので、以下のステップバイステップの手順に従って、Vaultでシークレットを安全に保つ方法を学習します。

手順1: WebブラウザでVault WebUIにログインしていることを確認します。次に、ページ上部の「シークレット」をクリックします。

ステップ2: 「Cubbyhole」を見つけてマウスでクリックします。Cubbyholeは、任意のデータ(パスワード、個人情報、アクセスコードなど)に使用できるデフォルトのシークレットエンジンです。

ステップ3: Cubbyhole内に、「このバックエンドにはまだ秘密はありません」というメッセージが表示されます。「シークレットの作成」ボタンを見つけて、マウスでクリックします。

Vaultを使用してLinuxに機密データを保存する方法

ステップ4:  [シークレットの作成]をクリックすると、ポップアップが表示されます。ポップアップで「この秘密のパス」を見つけ、それを記入して秘密を説明します。たとえば、FTPサーバーのパスワードを含む「シークレット」を保存するには、パスボックスに「FTPパスワード」と入力します。

Vaultを使用してLinuxに機密データを保存する方法

ステップ5:パスに従って、「シークレットデータ」を見つけます。ここから、「鍵」を見つけます。キーボックスに、保存するシークレットへの参照を入力します。

たとえば、FTPサーバーのパスワードを保存している場合は、サーバーのユーザー名を「キー」に入力できます。メモの場合は、「メモ#1」などと書くことができます。

Vaultを使用してLinuxに機密データを保存する方法

ステップ6: 「値」を見つけて、秘密にしておきたいテキストを入力します。繰り返しになりますが、たとえば、これがパスワード(FTPサーバーのパスワードなど)の場合は、[値]ボックスにパスワードを入力します。または、メモ、APIキー、または秘密として保護したいその他のものを入力します。

Vaultを使用してLinuxに機密データを保存する方法

すべてのフィールドに入力したら、[保存]をクリックしてシークレットをVaultに保存します。保存したシークレットにアクセスするには、Vaultサーバーが実行されていることを確認し、Web UIにログインして、[Cubbyhole]をクリックします。

Vaultを使用してLinuxに機密データを保存する方法


UbuntuサーバーにGitLabをインストールする方法

UbuntuサーバーにGitLabをインストールする方法

GitLab を Ubuntu サーバー上で動作させたいと考えていますか? GitLab は、GitHub のようなサービスに代わる、強力な自己ホスト可能な代替サービスです。これを使用すると、次のことができます

SELinux による Ubuntu Linux サーバーの保護

SELinux による Ubuntu Linux サーバーの保護

SELinux をインストールしてアクティブ化することで、Ubuntu Linux サーバーにセキュリティを追加する方法を学びます。

Cockpit を使用して Linux サーバー上で NFS を構成する

Cockpit を使用して Linux サーバー上で NFS を構成する

Linux サーバーに NFS 共有をマウントする簡単な方法が必要ですか? Cockpit アプリを使用して NFS 共有をマウントする方法を学びます。

Ubuntu 22.04 LTS にアップグレードする方法

Ubuntu 22.04 LTS にアップグレードする方法

Ubuntu 22.04 の長期サポートが登場しました! デスクトップまたはラップトップを最新の Ubuntu リリースにアップグレードする方法を学びます。

最新の Nvidia GPU ドライバーを Linux にインストールする方法

最新の Nvidia GPU ドライバーを Linux にインストールする方法

最新の Nvidia GPU ドライバーを Linux にインストールする方法

Dockerコンテナにファイルを転送する方法

Dockerコンテナにファイルを転送する方法

ファイルを Docker コンテナに転送する必要がありますか? Docker cp ツールを使用すると、コンテナーとの間でファイルを簡単に移動できます。

Linux に DEB ファイルをインストールする方法

Linux に DEB ファイルをインストールする方法

.DEB ファイルとは何ですか? それを使って何をしますか?Linux PC に DEB ファイルをインストールするさまざまな方法を学びましょう。

GOG Galaxy を Linux 上で動作させる方法

GOG Galaxy を Linux 上で動作させる方法

GOG.com のゲームを所有していますか? ビデオ ゲームを楽しむために Linux PC に GOG Galaxy クライアントをセットアップしたいですか? このガイドに従ってください。

CentOS に Docker エンジンをインストールする方法

CentOS に Docker エンジンをインストールする方法

Docker Engine は、Linux およびその他のプラットフォーム用のオープン コンテナ化プログラムです。Docker Engine は、次のように動作する自己完結型コンテナを管理します。

Ferdi とすべてのチャットを 1 つにまとめる方法

Ferdi とすべてのチャットを 1 つにまとめる方法

Slack、Discord、その他多くの生産性向上ツールを Linux システムにインストールすることにうんざりしていませんか? それらをすべて 1 つに結合できたらいいのにと思いますか