AWSEC2マイクロインスタンスでPostgreSQL10.10(Ubuntu 10.10-0ubuntu0.18.04.1)を実行しています。以前は、どこからでもpostgresdbへのリモート接続を許可していました。数日後、postgres
ユーザーによって実行された不明なプロセスがCPU使用率の100%を使用しているのがわかります。 top
コマンドを実行すると、同様の出力が得られます。
8092 postgres 20 0 302872 266776 0 S 99.3 26.5 2574:21 WI0oUt
バックグラウンドで長時間実行されているアクティブなクエリはありません。そのゴーストプロセスが実行されている場合でも、postgresDBを停止しました。私は問題のありそうな答えを得ました ここ 。しかし、どの親プロセスがそのようなゴースト子プロセスの実行を開始しているかを知る必要がありますか? ps
をPID
と一緒に実行すると、PPID
が1になります。これらの子プロセスを実行している感染したプログラムを知る必要がありますか?
プロセス名に対してman
、appros
を実行しようとしましたが、侵害に対処するためにpostgres
ユーザーパスワードをリセットしようとしましたが、効果はありませんでした。とにかく、どの感染したプログラムがこれを引き起こしているのかを知るために?または、サーバーをフォーマットせずにこの状況を処理するにはどうすればよいですか?
サーバーを妥協しないことは非常に困難です。最善の策は次のとおりです。
pg_dump
を使用)、レッスン:データベースサーバーを世界に公開したままにしないでください。セキュリティグループを使用して、実際にアクセスが必要なIPのみにアクセスを制限します。また、理想的には、データベースに自動的にパッチを適用してセキュリティの問題を軽減できるAWSRDSを使用します。