げんきちの秘密基地

エンジニアリングが世の中の思いを実現してきた歴史に気づき、29歳未経験からWEBエンジニアとして転生!【Danger】綺麗事を割と本気で言ってきます【GitHub】https://github.com/0840kg【Twitter】https://twitter.com/0840kg

AWSで個人情報を不正利用されないためには? その2

ぞす!げんきちです!\\\\٩( 'ω' )و ////

 

「いや、誰だよ」って方は、下記リンクを見てやってください。

  1. はじめまして!げんきちです! - げんきちの秘密基地

  2. 僕がエンジニアになりたい理由 - げんきちの秘密基地

目次〜

f:id:Genkichi:20190314001946j:plain

 

昨日の続きです。

genkichi.hateblo.jp

 

ヒューマンエラーを防ぐ方法です。

 

git-secrets

AWSが提供しているツール。パスワード、secret_keyなどの秘密にしたい情報を、誤ってコミットされることを防いでくれる。

 

インストールします。

$ brew install git-secrets

 

設定を適用したいリポジトリに移動して、git-secretsを有効化する。

$ cd hoge

$ git secrets --install

 

続いて、「どのようなコードのコミットを防ぐのか」を設定する。

下記のコマンドを実行することで、secret_key, access_keyなど、アップロードしたくないAWS関連の秘密情報を一括で設定することができる。

$ git secrets --register-aws --global

 

現在のgit-secretsの設定は、下記のコマンドで確認することができる。

$ git secrets --list

secrets.providers git secrets --aws-provider
secrets.patterns [A-Z0-9]{20}
secrets.patterns ("|')?(AWS|aws|Aws)?_?(SECRET|secret|Secret)?_?(ACCESS|access|Access)?_?(KEY|key|Key)("|')?\s*(:|=>|=)\s*("|')?[A-Za-z0-9/\+=]{40}("|')?
secrets.patterns ("|')?(AWS|aws|Aws)?_?(ACCOUNT|account|Account)_?(ID|id|Id)?("|')?\s*(:|=>|=)\s*("|')?[0-9]{4}\-?[0-9]{4}\-?[0-9]{4}("|')?
secrets.allowed AKIAIOSFODNN7EXAMPLE
secrets.allowed wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

 

今後作成する全てのリポジトリについて、git-secretsの設定を適用したい場合は、下記のコマンドを実行することで、自動で設定が適用されるようになる。

$ git secrets --install ~/.git-templates/git-secrets
$ git config --global init.templatedir '~/.git-templates/git-secrets'

 

github Desktop経由でgit secretsを利用したい場合、次のコマンドを実行する。

$ sudo cp /usr/local/bin/git-secrets /Applications/GitHub\ Desktop.app/Contents/Resources/git/bin/git-secrets

 

.gitignore

.gitignoreに書かれたディレクトリやファイルはGitのコミット対象から外れるため、プッシュする際にリモートリポジトリに登録されることを防ぐことができる。

 

ファイルに追記する。

.gitignore

config/secrets.yml

 

.gitignoreに記載した変更は、一度gitの監視下に置かれてしまったファイルには適用されない。

config/secrets.ymlをgitの監視から外す。

$ git rm --cached config/secrets.yml

 

確認事項

aws_access_key_id, aws_secret_access_keyをGithubにプッシュしていないか。

 

Github,、もしくはAWSから、「secret_keyがGithubにアップロードされている」旨の警告メールが届いていないか。

AWSGithubの監視を行っており、もしアップロードされてしまった場合は下記のような文言のメールが届く。

Dear AWS Customer,
Your AWS Account is compromised!
Please review the following notice and take immediate action to secure your account.

 

AWS マネジメントコンソールの「請求ダッシュボード」に記載されている請求予測が不自然に高額でないか。

 

<一日一新>

初確定申告。すっごい並んでた。

 

<学習進捗>

学習開始からの期間 :94日
今日までの合計時間:923h
今日までに到達すべき目標時間:856h
目標との解離:67h
10,000時間」まで、

 

残り・・・9,077時間!」

 

以上です。

読んでくれた方々、ありがとうございました!((_ _ (´ω` )ペコ。

genkichi.hateblo.jp

genkichi.hateblo.jp

 

f:id:www08056561815:20190224095507g:plain

twitter.com