AWSで個人情報を不正利用されないためには? その1
ぞす!げんきちです!\\\\٩( 'ω' )و ////
「いや、誰だよ」って方は、下記リンクを見てやってください。
目次〜
きっかけ
こわー!!!!!!!!
その1 盗まれてはまずい情報について
その2 盗まれないためにしておくべきこと
鍵とは
暗号アルゴリズムの手順を制御するためのデータのこと。
ec2-userの秘密鍵(ローカル→EC2)
EC2インスタンス = 仮想サーバー
ec2-user = ec2インスタンスに最大の権限を持つユーザー
秘密鍵 = 名前は任意。ec2-userと紐付く。
生成
EC2インスタンス作成時に、ec2-userというユーザーと秘密鍵が自動生成される。
【AWS】https://aws.amazon.com/jp/
保存場所
【ローカル環境】
主な役割
AWSへのログイン時に使用する。
【ローカル環境】
MySQLのパスワード(EC2→EC2)
生成
MySQLインストール時にrootというユーザーがアクセルできるように設定される。
【本番環境】
コマンドを入力して、パスワードを設定できる。
【本番環境】
保存場所
【本番環境】
【config/database.yml(ローカル環境)】
主な役割
MySQLとのアクセス時に使用する。
【本番環境】
rails db:create時などにdatabase.ymlから呼ばれる。
【本番環境】
EC2インスタンスの公開鍵(EC2→Github)
生成
コマンドを入力して、EC2インスタンスのSSH鍵ペアを作成する。
【本番環境】
コマンドを入力して、SSH公開鍵を表示し、コピーする。
【本番環境】
保存場所
【Github】https://github.com/settings/keys
主な役割
Githubとのアクセス時に使用する。
【本番環境】
Railsのsecret_key_base(EC2→クライアント)
生成
コマンドを入力して、secret_key_baseを作成する。
【本番環境】
保存場所
【本番環境】
【config/secrets.yml(ローカル環境)】
主な役割
セッションハイジャックを防ぐため、セッションを暗号化してからcookieに格納するために使用する。
IAMユーザーのaws_access_key_idとaws_secret_access_key(ローカル→S3、EC2→S3)
rootユーザー = AWSのどんな操作もできるユーザー
IAMユーザー = 使える機能が制限されたユーザー(今回はS3のみ)
生成
IAMユーザー作成時に、User name(任意)に紐付く、aws_access_key_idとaws_secret_access_keyが自動生成される。
【AWS】https://aws.amazon.com/jp/
保存場所
【ローカル環境】
【本番環境】
【config/secrets.yml(ローカル環境)】
主な役割
IAMユーザーとしてアクセスする時に、使用する。
例)S3へアクセスする。
今日のまとめ
ec2-userの秘密鍵を盗まれると、AWSへログインされ、操作されてしまう。
MySQLのパスワードを盗まれると、MySQLへアクセスされ操作されてしまう。
EC2インスタンスの公開鍵を盗まれると、まー大丈夫...かな。
SECRET_KEY_BASEが盗まれるとセッションを復号化(セッションハイジャック)されてしまう。
IAMユーザーのaws_access_key_idとaws_secret_access_keyを盗まれると、例えばS3にアクセスされ、操作されてしまう。
盗めまれたくないものは、間違ってもGithub上にはあげてはいけない。
ヒューマンエラーを防ぐ方法を、明日追記します!\(^o^)/
<一日一新>
さっちゃんのカルビ丼。こだわりの味?
<学習進捗>
学習開始からの期間 :93日
今日までの合計時間:914h
今日までに到達すべき目標時間:847h
目標との解離:67h
「10,000時間」まで、
残り・・・「9,086時間!」
以上です。
読んでくれた方々、ありがとうございました!((_ _ (´ω` )ペコ。