• 締切済み

VPSにpostgresインストールで気を付ける事

VPSのLinuxにpostgresqlをインストールする上でセキュリティ上で気を付ける事を教えて下さい。 postgresqlの環境をセットアップしたくて、レンタルVPSの無料期間を利用し試しに構築してみました。 すると、僅か数時間で乗っ取られ、サーバーの管理者から連絡があり、サーバーを止められました。 VPSのOSはLinuxでした。 VPS上のpostgresqlをインストールして、DBやテーブルを作り、pgadmin3でPCから弄ったり、 ダンプを取ったり、取ったダンプをリストアしたり、 firewallを起動させて使えなくしたり、 firewallにpostgresqlの通信を許可したり、 環境構築を一通りやってそのまま放置したところ、翌日には乗っ取られていてサーバーを止められました。 原因は、postgresqlをインストールすると生成されるlinuxユーザー(postgres)のパスワードが脆弱だった事です。 いろんな操作を試したかっただけなので、パスワードはテキトーでした。 postgresとか、passwordとかそういう類のパスワードでした。 容易に推測され、 sshでログインされ、 postgresでパイソンで作ったマルウェアをインストールされ、 cronにマルウェアを起動するスケジュールを組まれていました。 linuxユーザーのpostgres、ロールのpostgresともに複雑なパスワードにしなければ速攻でやられる事は分かりました。 そもそも、postgresユーザーで直接ログインする必要もないので、nologinにしといた方が良いのでしょうか? それ以外を含め、セキュリティ上で気を付けるべき事を教えて下さい。 なお、この質問は「VPSなど外部サーバーのLinuxにpostgresqlをインストールする上で」に限定しています。

みんなの回答

  • heburusu
  • ベストアンサー率85% (140/164)
回答No.1

数時間で狙われることもあるんですね・・・。 対策としては、 - postgresユーザはnologin - 同日サーバ上でアプリを動かすのであれば、postgresのlisten_addresses は localhost(127.0.0.1) に限定する - postgresへのアクセス元/パスワードを厳密にする or クライアント証明書を使った認証 などでしょうか

参考URL:
http://www.postgresql.jp/document/9.5/html/runtime.html

関連するQ&A