PostgreSQLの設定

先月のMT4検証で気になっていたのがデフォルトのPostgreSQLはローカルマシンでDBに接続するときは誰でも入れてしまうなーっと。これはpg_hba.confの設定でローカルマシンからの接続は無条件に許可しているからでした。

共用サーバになるといろいろな人が利用するのではこれではマズいと設定の見直し。

# TYPE DATABASE USER CIDR-ADDRESS METHOD

# “local” is for Unix domain socket connections only
local all all password
# IPv4 local connections:
host all all 127.0.0.1/32 password
# IPv6 local connections:
host all all ::1/128 password

localはコマンドラインで通常接続するときに使用しているUNIXドメインソケット、hostがTCP/IPで接続するときの設定です。デフォルトではMETHODがtrustになっていますがこれをpasswordに変えることでDB接続時にPostgreSQL内で設定したユーザパスワードが必要になります。但しパスワード未設定のユーザは接続できなくなるので事前に設定の確認をしてください。(特にpostgresは忘れがち)