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

セキュリティ構成のために Ubuntu サーバーに PostgreSQL をインストールする

PostgreSQL を Ubuntu サーバーにインストールする予定がありますが、どこから始めればよいかわかりませんか?運が良ければ、もう探す必要はありません。このチュートリアルでは、PostgreSQL Ubuntu サーバーをインストールし、基本的なセキュリティ構成を実行して開始するためのさまざまな方法を学習します。

読み続ければ、すぐに PostgreSQL サーバーを実行できるようになります!

前提条件

このチュートリアルは実践的なデモンストレーションです。フォローしたい場合は、次のものがあることを確認してください。

  • Ubuntu サーバー。このチュートリアルでは Ubuntu 20.04 を使用しています。
  • sudo 権限を持つ root 以外のユーザー アカウント。

Ubuntu に PostgreSQL をインストールする

Ubuntu サーバーの新規インストールから始めて、2 つの方法で PostgreSQL をインストールできます。どちらの方法を選択するかは、利便性 (少ない手順) を好むか、最新バージョンであることを確認するかによって異なります。

方法 1:Ubuntu に PostgreSQL をインストールする (Ubuntu リポジトリから)

デフォルトでは、Ubuntu のリポジトリには Postgres パッケージが含まれています。つまり、Advanced Package Tool (APT) を使用して PostgreSQL Ubuntu パッケージをインストールできます。 .

Ubuntu リポジトリ内の Postgres パッケージは、常に最新バージョンであるとは限りません。代わりに最新バージョンをインストールする場合は、方法 2 にスキップしてください。

1. まず、コンピューターでターミナル ウィンドウを開き、Ubuntu サーバーに SSH で接続します。

2. 次に、以下のコマンドを実行して、Ubuntu サーバーのパッケージ リストを更新します。

sudo apt update -y

3. 以下のコマンドを実行して、PostgreSQL パッケージをインストールします。このコマンドは postgresql-contrib もインストールします (追加の Postgres 機能) および postgresql-client (Postgres CLI)。

sudo apt install -y postgresql postgresql-contrib postgresql-client

4. インストール後、以下のコマンドを実行して Postgres のインストール ステータスを確認します。

sudo dpkg --status postgresql

以下に示すように、この記事の執筆時点で Ubuntu リポジトリからインストールされている最新バージョンはバージョン 12 です。

方法 2:Ubuntu に PostgreSQL をインストールする (公式リポジトリから)

公式リポジトリから PostgreSQL をインストールすると、確実に最新バージョンを取得できます。ただし、このインストール方法は、APT を使用したインストールと比較すると、より多くの手順を必要とします。

1. まず、コンピューターでターミナル ウィンドウを開き、Ubuntu サーバーに SSH で接続します。

2. 次のコマンドを実行して、/etc/apt/sources.list.d/pgdg.list という名前のファイルを作成します。 .このファイルには、Ubuntu サーバーのバージョンに固有の PostgreSQL の公式リポジトリのアドレスが含まれています。

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

3. 次に、以下のコマンドを実行して、PostgreSQL GPG キーをパッケージ マネージャーに追加します。 APT はこのキーを使用して、リポジトリ内のパッケージの信頼性を検証します。

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

キーの追加が成功すると、OK の応答が表示されます。

4. 次に、パッケージ リストを更新して apt 公式の PostgreSQL パッケージの場所を知っています。

sudo apt update -y

以下に示すように、パッケージをチェックするときに、コマンドに PostgreSQL の公式リポジトリのアドレスが含まれるようになりました。

5. 次のコマンドを実行して、PostgreSQL を Ubuntu にインストールします。インストールが完了するまで待ちます。

sudo apt install -y postgresql postgresql-contrib postgresql-client

6. 以下のコマンドを実行して、公式リポジトリからインストールした PostgreSQL のバージョンを確認します。

sudo dpkg --status postgresql

以下に示すように、公式リポジトリのバージョンは、この記事の執筆時点でバージョン 14 です。

PostgreSQL サービスの開始と確認

インストールが完了したら、以下の systemctl を実行します コマンドを使用して PostgreSQL サービスを開始します。

sudo systemctl start postgresql.service

最後に、以下のコマンドを実行して PostgreSQL のステータスを確認します。

sudo systemctl status postgresql.service

サービスのステータスは active である必要があります

デフォルトの PostgreSQL ユーザーを保護し、パスワード暗号化を有効にする

PostgreSQL のインストールにより、postgres というデフォルトのユーザー アカウントが作成されます PostgreSQL への完全な管理アクセス権を持っています。ただし、この特別なアカウントにはパスワードがありません。 Ubuntu サーバーにログインできるすべてのユーザーは、postgres として PostgreSQL にアクセスできます。

postgres アカウントが保護されていない場合、最初に取るべきアクションは、新しいパスワードを設定することです。そのためには、以下の手順に従ってください。

1. PostgreSQL シェル (psql ) 以下のコマンドを実行します。

sudo -u postgres psql

以下に示すように、Ubuntu サーバーにログインできるすべてのユーザーは、パスワードを入力しなくても PostgreSQL データベースにアクセスできます。

2. プロンプトで次のコマンドを実行して、パスワードの変更を開始します。選択した強力なパスワードを入力し、Enter キーを押します。

\password

3. 新しいパスワードを設定したら、\q と入力します。 Enter キーを押して psql を終了します

4. デフォルトでは、PostgreSQL はパスワードをプレーン テキストで送信しますが、これはセキュリティ リスクになる可能性があります。この潜在的な攻撃ベクトルを修正するには、PostgreSQL パスワードの認証方法を変更します md5 などの安全なものに .

/etc/postgresql/12/main/pg_hba.conf を開きます。 編集用の nano のファイル。このファイルは、PostgreSQL の認証方法のメイン構成ファイルです。

sudo nano /etc/postgresql/12/main/pg_hba.conf

5. 以下の行を見つけます。

# Database administrative login by Unix domain socket
local   all             postgres                                peer

行を見つけたら、peer という単語を md5 に置き換えます。行を編集すると、ファイルは下の画像のようになります。最後に、ファイルを保存してエディターを終了します。

md5 認証方式では、メッセージ ダイジェスト アルゴリズムを使用してパスワードを暗号化してからサーバーに送信します。

6. 変更を有効にするために PostgreSQL サーバーを再起動します。

sudo systemctl restart postgresql

7. postgres として PostgreSQL サーバーに再接続します。 ユーザー。

sudo -u postgres psql

プロンプトでパスワードを入力し、Enter キーを押します。

PostgreSQL データベースの作成と削除

PostgreSQL サーバーをインストールして構成したので、データベースの作成を開始できます。結局のところ、データベースのない RDBMS とは何でしょう?以下の手順に従って、データベースを作成および削除してサーバーをテストしてください。

1. PostgreSQL シェル (psql) にログインします。 ) まだ行っていない場合。

2. 次のコマンドを実行して、ata_db という名前の新しいデータベースを作成します。 .

参照 PostgreSQL のドキュメント データベースとさまざまなデータ型について詳しく知る

CREATE DATABASE ata_db;

3. 次に、サーバーで使用可能なすべてのデータベースを一覧表示して、データベースが正常に作成されたことを確認します。

\l

以下に示すように、前の手順で作成した ata_db という名前の新しいデータベースがサーバーに存在します。

4. 次のコマンドを実行して、ata_db に接続します。 データベース。

\c ata_db;

以下の画像は、新しいデータベースへの接続が成功したことを示しています。接続したデータベースとユーザー アカウントを示すステータス メッセージが表示されます。

テーブルを作成できるようになりました 作成を実行します 、読む更新削除 データベースに対する (CRUD) アクション。

5. 最終的にデータベースが不要になり、削除する必要がある場合は、psql で次のコマンドを実行します。 データベースを削除します。

最初の行は、動作中の接続をデフォルトの postgres データベースに切り替えることによって、ata_db データベースから切断します。開いているデータベースは削除できません。

2 行目はデータベースを削除します。

\c postgres
DROP DATABASE ata_db;

6. 最後に、PostgreSQL サーバー上のすべてのデータベースを再度リストします。 ata_db が 以下に示すように、データベースはもう存在しません。

\l

以下に示すように、ata_db データベースが存在しないことがわかります。

結論

このチュートリアルでは、Ubuntu サーバーに PostgreSQL をインストールし、基本的なセキュリティ設定を構成する方法を学習しました。また、PostgreSQL サーバーで新しいデータベースを作成、接続、削除する方法も学びました。

ここで学んだことは基本的なことであることに注意してください。 SSL 証明書ベースの認証の構成など、PostgreSQL でできることは他にもあります。 、新しいデータベース ユーザーの作成、およびレプリケーションの設定

この新しい知識により、アプリケーションで PostgreSQL を使用できるようになりました。 .


Linux
  1. Ubuntu20.04にPostgreSQLとpgAdmin4をインストールする方法

  2. Ubuntuサーバーにロケートをインストールする方法

  3. Ubuntu 18.04 に PostgreSQL サーバーをインストールする方法

  1. Ubuntu16.04にPostgreSQLをインストールする方法

  2. サーバー/サービスを監視するためのUbuntuLinux上のGraylog監視サーバー

  3. サーバー管理を改善するためにUbuntu22.04にコックピットをインストールする方法

  1. UbuntuServer22.04にOpenLDAPをインストールする方法

  2. Ubuntu18.04にPostgreSQL11とPgAdmin4をインストールします

  3. Ubuntu18.04にTigerVNCをインストールします