アプリケーション名 | ファイル名 |
【apache2】 | httpd.x86_64 2.4.53-11.el9_2.5 httpd-devel.x86_64 2.4.53-11.el9_2.5 mod_ssl.x86_64 1:2.4.53-11.el9_2.5 |
【postgresql】 | postgresql16-server.x86_64 16.0-1PGDG.rhel9 postgresql16.x86_64 16.0-1PGDG.rhel9 postgresql16-libs.x86_64 16.0-1PGDG.rhel9 postgresql16-contrib.x86_64 16.0-1PGDG.rhel9 |
【pgsql】 | apr-util-pgsql.x86_64 1.6.1-20.el9_2.1 |
・データベース名 | login | ||||
・テーブル名 | idpw | ||||
・接続情報 | 所有者:sslweb / パスワード:uebu 権限:select / update / insert / delete | ||||
テーブル内容 |
|
# "local" is for Unix domain socket connections only local all all peer <--- ここを変更 ↓ local all all md5
login=> \du ロール一覧 ロール名 | 属性 ----------+------------------------------------------------------------------------------ postgres | スーパーユーザー, ロール作成可, DB作成可, レプリケーション可, RLS のバイパス sslweb | ロール作成可
login=> \dp アクセス権限 スキーマ | 名前 | タイプ | アクセス権限 | 列の権限 | ポリシー ----------+------+----------+-----------------------+----------+---------- public | idpw | テーブル | sslweb=arwdDxt/sslweb | | (1 行)
最初に現状の拡張機能を確認
# su - postgres
$ psql login sslweb
ユーザー sslweb のパスワード:
psql (16.0)
"help"でヘルプを表示します。
login=> \dx
インストール済みの拡張一覧
名前 | バージョン | スキーマ | 説明
---------+------------+------------+------------------------------
plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
(1 行)
今インストールされている拡張機能のは『PostgreSQL Global Development Group』を基にデータベース言語SQLを拡張して開発された言語です。
ここに暗号化・複合化の機能を追加します。
login=> create extension pgcrypto;
CREATE EXTENSION
追加できたか確認をします。
login=> \dx
インストール済みの拡張一覧
名前 | バージョン | スキーマ | 説明
----------+------------+------------+------------------------------
pgcrypto | 1.3 | public | cryptographic functions
plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
(2 行)
pgcrypto が増えています。これが、追加した拡張機能です。
# /etc/httpd/conf.d/sslweb.conf # Basic authentication with PostgreSQL for encrypt <VirtualHost *:80> ServerName sslweb.usi.nu ServerAdmin hogehoge@usi.nu DocumentRoot "/var/www/sslweb" <Directory "/var/www/sslweb"> Options FollowSymLinks AllowOverride All Order deny,allow Allow from all # core authentication and mod_auth_basic configuration # for mod_authn_dbd AuthType Basic AuthName "sslweb" AuthBasicProvider dbd # core authorization configuration Require valid-user # mod_authn_dbd SQL query to authenticate a user AuthDBDUserPWQuery "SELECT pass FROM idpw WHERE userid = %s" </Directory> ErrorLog logs/error_log_sslweb CustomLog logs/access_log_sslweb combined </VirtualHost>---- EOF ----