0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【IT業界25年目】ADHDポンコツ鬱エンジニアが人生賭けて運営中の求人サービス『ヴェテラン』で学ぶ『postgreSQL』のセキュリティ基礎についてその⑤

0
Posted at

皆さんこんにちは!

東京はようやく猛暑が終わりそうですね。

例年に比べると比較的過ごしやすかった気もしますがいかがでしょうか。

もう9月になりますが今年も残り4か月頑張っていきましょう。

さて、前回までに人生を賭けた求人サービスを構築するために『PHP』『postgreSQL』『AWS』を選んだ理由や、

サービス名の由来、求職者様向け&企業様向け機能のご紹介、面談の採用確率UP方法、

『PHP』『postgreSQL』『AWS』の実機練習用サイトをご紹介させていただき、

さらに『SQL』『PHP』『AWS』の基本的な操作方法とセキュリティについて書かせていただきました。

今回も調子に乗って

『postgreSQL』のセキュリティについて掘り下げていきます!

今日はセキュリティ編の第5回目として、

『AWSとpostgreSQL』について語ります。

実際の構成を考えると、PostgreSQL単体の設定だけでなく、

AWS側のネットワーク・IAM・Secrets・監視まで含めて考えるのが重要です。


RDSならPublic Accessを基本的にOFF

RDSならPublic Accessを基本的にOFF

RDSをインターネットから直接アクセス可能にするのではなく、Private Subnetに配置して、

EC2 / ECS
    ↓
Security Group
    ↓
RDS PostgreSQL

という形にします。


Security Groupで「誰が5432に接続できるか」を制限
例えば、

RDS Security Group

Inbound:
TCP 5432
Source: App Server Security Group

とします。

これは、

0.0.0.0/0 → 5432

よりはるかに安全です。

特に、

TCP 5432
Source: 0.0.0.0/0

になっていたら、優先的に見直した方がいいです。


DBパスワードをコードに書かない

例えばアプリケーションに、

DATABASE_PASSWORD = "MySecretPassword123"

のように書くのは避けます。

AWSなら AWS Secrets Manager などを利用して、

Application
    │
    │ IAM
    ▼
Secrets Manager
    │
    ▼
DB password

という構成にできます。

これならGitHubなどにDBパスワードを置く必要がありません。


IAMとDB権限を分けて考える
AWSでは、

IAM

AWSリソースへの権限

と、

PostgreSQL Role
 ↓
DB内の権限

は別物です。

例えば、

ECS Task
  ↓
IAM Role
  ↓
Secrets ManagerからDBパスワード取得
  ↓
PostgreSQL
  ↓
app_user

という設計にします。

そして app_user には必要なDB権限だけ与えます。


AWSとの関係性を考えて安全に運営している求人サービスは以下になります。

企業の方、エンジニアの方、どちらも使ってみてください!

 ▼求人マッチングサービス【ヴェテラン】
  https://veteran-work.com/

「AWSじゃなくてAzuruだったらどうなるの!」

「ヴェテランってセキュリティどうなってるの?」

など質問やご意見いただけますとモチベーション爆上げします!

本日もお疲れ様でした。

明日もコツコツと頑張りましょう。7802dc9d-eeb8-42f1-9e32-5f115e75f6ba.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?