【反省メモ】AWSアクセスキーをGitHubに上げてしまった

AWSのアクセスキーをGItHubのパブリックリポジトリに上げてしまいました。
AWSのサポートチームからすぐに連絡いただいて対応できたので不正利用などの被害は出なかったのですが、メモしておいて今後気をつけるようにしたいと思います。

まずアクセスキーをパブリックリポジトリに上げてしまった原因は、秘匿情報をgitの管理に含め内容に設定していた.gitignoreを謝って削除していたことでした。

.gitignoreを削除した後にgit commitを行ったことで.envファイルがパブリックリポジトリに上がってしまいました。

これの再発防止策としてはやっぱりgit commitする前にgit statusコマンドなどで差分をちゃんと確かめることかと考えています。

実務ではコミット前に入念に差分を見たりしますが、個人開発では状況によって急いで作業している時があったりして、commit前の確認もちゃんとできていませんでした。
git commitする時は時間に余裕があるタイミングでやるのも大事そうですね。
いろいろ改善していきます。

アクセスキーがパブリックリポジトリにpushされてから5~10分ぐらいでAWSチームからメールが届き、自分も事態に気づいて以下の対応を行いました。
(ちなみにメールではアプリケーションを運用している場合も考慮されて、IAMユーザーは消さないでパスワードを変更すれば良いと書かれていましたが、自分は運用しているアプリはなかったので消せるものは全部消去しました。)
- 対象のリポジトリを削除
- ルートアカウントのパスワード変更
- EC2などで自分が作成していない不正なインスタンスが起動されていないか確認(幸いありませんでした)
- その他EBSやAMIなど不正なリソースがないか確認(ありませんでした)
- 全てのIAMユーザーを削除(メールではIAMユーザーのキーを変更してとありましたが怖いので一応削除しました)
- ルートユーザーアクセスキーがあれば削除と指示があったので確認(ありませんでした)
- その他AWSリソースも念の為削除

上記対応した後にAWSのサポートチームに十分な対応できているか確認したところ、問題ないとの回答をいただきました。
しばらく時間がたって改めてマネジメントコンソールから請求や各サービスのページを確認しても、特に不正な使用はなさそうだったので一旦落ち着きました。

今回はAWSからの連絡が早かったため助かりましたが、本当に気をつけないといけないと思いました。

今回アクセスキーをGitHubに上げてしまったのは開発用のIAMだったのですが、そのIAMユーザーには開発で使う以上の権限は与えていなかったのでよかったです。

やっぱりミスはするものだという前提で、IAMユーザーの権限の設定は慎重にするべきですね。IAMの権限周りはまだ知見んが浅いのですが、しっかり身につけていきたいと思います。

反省するところはちゃんと反省して、この経験を今後に活かしていきます。