- 締切済み
データベース名postgresは使わない方がいい?
データベース名postgresは使わない方がいい? PostgreSqlでデータベースを作成する際にデフォルトのデータベースやロールとしてpostgresが存在しますが、セキュリティの事を考えると、これは使用しない方が良いですか? postgres(データベース)とpostgres(ロール、ユーザー)でやって問題ないですか? database1(仮名)とrole1(仮名)でやった方がいいですか? もちろんpostgresユーザーのパスワードはしっかりしたものを設定します。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- t_ohta
- ベストアンサー率38% (5238/13705)
> でも、パスワードを教えていないですよね。 > 10文字以上英数大文字小文字を混ぜてもなお危険ですか? 数回パスワードを間違えたらロックが掛かるプラグインを使用していればマシですが、そうで無ければ無限に試せます。 クラッキングツールを使えばコンピュータが勝手にいろんなパスワードを試すので難しいことではありません。 必ず破られる訳ではありませんがリスクは高いと言えますので、リスクヘッジのためにはDB名やロール名を変えておく方がいいと言う事になります。(出来ればポート番号も変えると安心) 外部に晒しているサービスのログを見たら判りますが、24時間絶え間なく複数の発信元から攻撃が行われるので、偶然一致するという事態も想定しておかないと被害を出すことになります。
- t_ohta
- ベストアンサー率38% (5238/13705)
> その場合、変更すべき根拠と言うか、なんとなくではない部分を言語化することはできますか? グローバルIPが割り当てられていて外部接続を受け付ける設定になっているという事は、悪意を持って攻撃を企てる者ががどこからでも攻撃できる環境にあると言う事です。 外部からポートスキャンをしてPostgreSQLに接続できる環境を見つけたら、まずデフォルト設定されているモノで接続できないか試されるので、デフォルトのまま使用するという事は攻撃者に対してDB名やロール名を教えているの同じという事になります。 そのため不正アクセスされる危険性を高めることになります。
- t_ohta
- ベストアンサー率38% (5238/13705)
> すでにpostgresに作っている場合、変更するべきかどうか、微妙なのですが、どう思いますか? サーバの設置環境次第です。 グローバルIPが割り当てられていて外部接続を受け付ける環境なら変えた方がいいと思いますが、プライベートIPが割り当てられているLAN環境でDBはlocalhostからしか接続を受付ない環境ならそのままでもいいと思います。
お礼
ありがとうございます。 グローバルIPが割り当てられていて外部接続を受け付ける環境だとします。 その場合、変更すべき根拠と言うか、なんとなくではない部分を言語化することはできますか?
- t_ohta
- ベストアンサー率38% (5238/13705)
セキュリティを考える場合、サーバの設置環境などによって考え方が変わります。 一番最悪の条件を考慮するならデフォルトのモノは使用しない方がいいでしょうね。 また、実際の使用を考えると格納されるデータが何かわかりやすい名称や誰がアクセスしているか判りやすい名称を付ける方が運用面ではいいと思います。
お礼
ありがとうございます。 私も使わない方が良いと思っていますが、うっすらとそう思っているだけです。 例えば、 すでにpostgresに作っている場合、変更するべきかどうか、微妙なのですが、どう思いますか?
お礼
ありがとうございます。 でも、パスワードを教えていないですよね。 10文字以上英数大文字小文字を混ぜてもなお危険ですか?