- 1. hands on SSRF(Server Side Request Forgery)
- 2. 25歳専門新卒がSESに就職して半年が経ち、転職を決意。
- 3. プログラミング言語別の求人数を一覧で見ることができるサービス「Nojov」を作ってみました
- 4. 【AWS EC2】mysqlにログインできない時最後に見る記事 for mac【凡ミス系】
- 5. IT初心者が1ヶ月でAWSアソシエイトレベル3冠とってみたよ.
- 6. 【AWS入門】会話アプリの移植とtext2speech@AWSで遊んでみた♪
- 7. 【88日目】AWS Cloud9でMySQLで新規Railsアプリを立ち上げる際のエラー
- 8. AWS CLIを用いてEC2インスタンスを起動停止させる(windows)
- 9. MediaPackageに新しく登場したVOD生成機能でコンテンツをパッケージングする
- 10. 【AWS EC2】Mysql2::Error: Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’
- 11. お名前.com から Route53 へ移管して, CloudFront を介して S3 の静的ページを公開
- 12. mome
- 13. Amazon S3 REST APIのHTTPプロトコルシーケンス
- 14. NGTによるベクトル検索を使ってポケモンの画像検索をやってみた
- 15. AWS Amplify を使って WEB アプリを実装してみた(環境構築編)
- 16. Terraform Tips
- 17. for_eachを使用したAWS WAFの設定
- 18. 素人がAWSに手を出してみた様子-2
- 19. awsのec2にApacheを入れてwebサーバーとして使う
- 20. AWS CLIでAmazon Cognito(IDプール)を使ってみるサンプルメモ
hands on SSRF(Server Side Request Forgery)
#OWASP Nagoya
**Little Deep Dive AWS Security**
by 田中隆博 氏
AWS Solutions Architect
ラーメン好き**テーマ**
Capital One で発生した情報漏洩事象を題材に、Server Side Request Forgeryを利用したクラウド上のメタ情報の窃取手法について*Capital Oneの漏洩事例*
Slack Channel へ投稿
>I’ve basically strapped myself with a bomb vest, f—ing dropping Capital One dox and admitting it. I wanna distribute those buckets …There’s SSNs..with full name and [date of birth].
Paige A. Thompson・・・そして発覚
2005年から2019年にかけてクレジットカードの申請をした人など、1億600万人分の個人情報が不正アクセスをうけた事が判明。[Matt
25歳専門新卒がSESに就職して半年が経ち、転職を決意。
【専門学校時代の経歴】
システム開発コースを専攻。
・1年次
4月~10月 基本情報技術者試験の勉強。『不合格』
11月~2月 Javaオラクルブロンズの勉強。『合格』
3月~ 基本情報技術者試験の勉強。『合格』・2年次
4月~7月 Javaオラクルシルバーの勉強。『合格』
7月~10月 応用情報技術者試験の勉強。『不合格』
11月~3月 卒業研究※C言語、C#、Javaでプログラミングもやってました。
【入社してからの経歴】
4月~6月 入社式当日運用部署に配属決定。
3か月間の意味のない研修のスタート。素直に「は?」って思いました。システム開発希望で入社してたので意味が分からなかったですね。
研修はほぼ自習勉強でしたね。時間の無駄です。7月~11月 常駐先決定。
金融システムのサーバ保守業務。
とりあえず、やりがいがありません。
配属ガチャ、案件ガチャ共にハズレを引きました。人によっては良いかもしれませんが、5年後10年後のキャリアアップを見据えてやりたい事があったので個人的にはハズレです。
いかんせん、サーバの保守に興味が持てません
プログラミング言語別の求人数を一覧で見ることができるサービス「Nojov」を作ってみました
# アプリ
[Nojov \- プログラミング言語別求人数ビューア](https://www.nojov.net/)
[![nojov-screenshot.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/349145/74fb99cd-993d-9421-ec43-b0c450eb927a.png)](https://www.nojov.net)
# 作った動機
– とりあえずGo言語に触ってみたかった!
– とりあえずReactに触ってみたかった!
– 以上!初学者の方にとって言語選択の際の一つの指針になればいいなーと思っています。
# 集計対象の求人サイト
以下の求人サイトに1日1回クロールを行なっています。
会員限定の非公開求人等は集計の対象外になっています。– [forkwell jobs](https://jobs.forkwell.com/)
– [ITプロパートナーズ](https://itpropartners.com)
– [レバテックフリーランス](https:/
【AWS EC2】mysqlにログインできない時最後に見る記事 for mac【凡ミス系】
#コトの顛末
パスワードが間違っている地獄に陥り、探っている中でOSの罠のような事案が発生。
パスワード設定の仕方のプロセスに罠があり、ハマってました。#こんな注意文言が出ました。
まずはじめに、mysqlのパスワードを設定した時に“`
$ sudo /usr/libexec/mysql56/mysqladmin -u root password ‘xxxx’
Warning: Using a password on the command line interface can be insecure.
“`
Google翻訳するとこんな感じの返答がきました。**警告:コマンドラインインターフェイスでパスワードを使用することは安全ではありません。**
私はこれを「直打ちするとミスるからやめようね」って意味だと思って、
メモ帳でパスワードをシングルクォーテーション内に入れたコマンドをあらかじめ作ってペーストするコトで**安全**なんだって思ってました。本来の意味は**「直に書いていることがセキュアじゃない!!というWarningで、パスワードの部分をconfファイル
IT初心者が1ヶ月でAWSアソシエイトレベル3冠とってみたよ.
はじめまして.IT初心者のAllenieです.拙著ではありますが,IT経験歴1年ちょっとの私がAWSアソシエイト3種に1ヶ月程度で合格した体験記を書きました.
これからAWS資格勉強を始める方,IT苦手だけど資格を取らなければならない方のお役に少しでも立つことができたなら幸いです.
# はじめに
## 前提
タイトルで「IT初心者」と述べました.どのくらい初心者かと言うと,
– IT歴:1年程度
– AWS歴:6ヶ月程度
– Java歴:6ヶ月程度といった感じです.AWSについては6ヶ月と書いていますが,資格勉強前の経験はVPC構築+EC2構築をしたことがある程度でした.(仕事でPOC用にAPサーバを作った程度)
そもそもの話で,新卒で現在の会社(IT)に入社したのですが,大学院では紙とペンだけで物理学の研究をしていました.というのも,機械が苦手・PCが苦手・プログラミング嫌々症候群だったからです.
つまるところ,今の会社に入るまで,ITなるものに文字通りノータッチで生きてきたわけです.資格勉強開始時点では,至極当然のように使われるIT専門用語はチンプンカンプンな状態で
【AWS入門】会話アプリの移植とtext2speech@AWSで遊んでみた♪
このところ、将棋AIで遊んでいたので記事がおろそかになっていたが、金曜日から土曜日まで「自前AWSハッカソン(仮)」というのに参加して、題名のことをやってAWSデビューできたので残しておこうと思う。
ほんとに参加者各位におんぶにだっこ状態の初心者でしたが、とても充実した24時間でした。
###24時間でやったこと
**以下が時系列的な履歴です。**
・awsに繋げる
・AIソリューションの種類を確認
・speech2textの確認
**・将棋AI学習**
・Pykakasi確認
**・Mecabインストール@AWS**
**・QA_conversationをAWS対応に改変**
**・text2speech@AWSにてmp3ファイルに録音**
・mp3ファイルの一括ダウンロード@TeraTerm
**・mp3ファイルのS3への公開#confidentialファイルが邪魔でした**
**・S3公開音声ファイルの自動生成****以下は時間切れで出来ませんでした**
。。。
・会話進行に合わせてmp3転送&再送
。。。
・speech2textにより音声テキスト変換
・スマホで会話
・完
【88日目】AWS Cloud9でMySQLで新規Railsアプリを立ち上げる際のエラー
つい先日までパーフェクトPHPガーなどと言っていたのに突然のRailsで申し訳ありません。
実は神里さん(@yoshito410kam)という方のオンラインサロンで[「チーム開発が経験できる」プログラミング初学者向けの企画](https://note.mu/yoshitokamizato/n/ne9fb7cd06b46)がある(現在は募集中断?)とのことで、言語は違ったのですが、思い切って参加しました。チームでgitのブランチを切ってプルリクやマージを活用する経験は一人ではなかなかできないため、自分の学習を中断してでも参加する価値があると考えたからです。
まずチーム開発を開始する前に課題があるとのことで、その課題をやる必要があるため、パーフェクトPHPは一旦中断となります。
==================================================================================
# MySQLのインストールのエラー
さて、早速環境構築でつまづきました。
Cloud9でMySQLを使ってRailsアプリを新規作成して、H
AWS CLIを用いてEC2インスタンスを起動停止させる(windows)
#目的
コンソールにいちいちログインして起動停止するのが面倒なため
自動で起動停止させたい。#事前準備
windows環境の場合、事前にインストーラーをダウンロードしていないと
CLIを実行出来ないため、以下からダウンロードを行う。
[・Windows に AWS CLI をインストールする](https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-windows.html)※因みに上記インストーラはwinSV2008の場合使用出来ないので、
winSV2008にてAWS CLIを使用したい場合はpipを使ってください。
[・Windows で Python と pip を使用して AWS CLI をインストールする](https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-windows.html#awscli-install-windows-pip)#初期設定
“`:セットアップ
aws configure
“`
“`:各項
MediaPackageに新しく登場したVOD生成機能でコンテンツをパッケージングする
AWS MediaPackageで今年5月に登場したVOD生成機能を使ってmp4ファイルをパッケージングしてみたんですが、
色々ドキュメントに載っていない箇所でつまづいたので所感を書いておきます。## MediaPackageのドキュメントには載っていないポイント
### 入力ファイルは親子構造でなければならない。
公式フォーラムにも載っていたんですが、m3u8ファイルを入力に使う場合は、親子構造のマニフェストでなければうまくパッケージングしてくれませんでした。ためしに単一のマスターファイルのみの構成のm3u8ファイルを入力すると、結果的に生成されたurlは404になるようでした(CloudWatchLogsを設定していればログに出る)。MediaPackageではABRできるようなのでその都合上親子構造である必要があるんだと思います。
試しにMedia Convertでmp4ファイルをm3u8にトランスコードしてみると、親子構造でマニフェストファイルが生成されたので、そういうことなんでしょう。
### SAMPLE-AES(Fairplay)でマニフェストを生成した時のe
【AWS EC2】Mysql2::Error: Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’
#あなたのターミナルにはこんなエラーが出てますか?
“`
[ec2-user@ip-XXX-XX-XX-XX chat-space2]$ rails db:create Mysql2::Error: Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’
“`
このようなエラーがでた場合、mysqlが起動していない可能性があります。
起動し直し、再度DB作成コマンドを打ち込むことで解決できるかと思います。#入力するコマンド
“`
$ sudo service mysqld start
#=> Starting mysqld: [ OK ]
“`
OKとなったら再度DB作成しましょう。“`
$ rails db:create RAILS_ENV=production
“`
#終わりに
お互いにエラーにめげずに頑張りましょう!
お名前.com から Route53 へ移管して, CloudFront を介して S3 の静的ページを公開
## はじめに
今回は様々な方の記事に助けられながらタイトルの通りのことを行った記録のようなもので, あまり細かく説明していくことは長くなってしまうため行いません。## S3 のバケット作成
S3 の公開用のバケットを作成します。公開するのあたって気をつけたこととして, アクセス権限を読み取り許可にしました。## CloudFront で Distribution を作成
CloudFlont にて Create Distribution から Origin Domain Name に該当の S3 のバケットを選択して作成します。## CloudFront での CNAME 作成用に証明書を発行
AWS Certificate Manager(https://aws.amazon.com/jp/certificate-manager/) から証明書を発行します。こちらを発行しないと現在 AWS では, CloudFront にて CNAME を設定することができないようです。
ドメイン名を入力して発行を続けると, DNS認証かメール認証になると思います。
DNS 認証にして
mome
memo
##セキュリティーポート追加
##jenkins用サーバを作成
##java
$ sudo yum update -y
$ sudo yum search all java-1.8.0-openjdk
$ sudo yum install -y java-1.8.0-openjdk
$ sudo yum install -y java-1.8.0-openjdk-devel
$ java -version##jenkins
$ sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo$ sudo rpm –import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
$ sudo yum install jenkins
$ sudo yum install -y git
sudo service jenkins start
jenkinsにログイン
http://():8080
Amazon S3 REST APIのHTTPプロトコルシーケンス
この記事は、**Amazon S3 REST API**を呼び出した時のhttpプロトコルシーケンスをパケットキャプチャした結果を記録したものです(読んで面白いものではない)。
# 前提
* S3のTokyoリージョン(`ap-northeast-1`)のバケット(*`samplebucket`*)に対して、オブジェクト(*`sample.txt`*)をPut/Get/Deleteしました。
* APIの署名は、署名バージョン4を使用したものです。
* アクセスキーID(*`AKIAXXXXXXXXXXXXXXXX`*)はダミーなので、HTTPリクエストの`Authorization`ヘッダの署名とはリンクしません。
* *`samplebucket`*には、ライフサイクルポリシー *`sample-lifecycle`*が設定済みです。
* クライアントプログラムはC#で実装しています。また、ビルド時のターゲットフレームワークは`.NET Framework 4.6.1`を指定しています。
* HTTPクライアントのクラスは`System.Net.Http.HttpClient`を
NGTによるベクトル検索を使ってポケモンの画像検索をやってみた
# やってみたこと
– [NGT](https://github.com/yahoojapan/NGT)を使って高次元ベクトルの高速検索を実現してみた。– AWS EC2にとりあえずNGTをインストールして画像検索ができるようにしてみた。
– 使用画像はポケモン# ベクトル検索の嬉しみ
ベクトル検索の実現によって、テキスト以外の検索が可能となります。つまり、一度ベクトルにさえ変換してしまえば、どんなデータでも類似検索ができるようになります。# 作業概要
– EC2インスタンスの作成
– Python3インストール
– NGTインストール
– 検索用のインデックスデータの作成
– 検索# 作業内容
## EC2インスタンスの作成インスタンスタイプを `t2.micro` で、AMIには今回は `Amazon Linux 2 AMI (HVM), SSD Volume Type ` を筆者は採用しました。下記コマンドを実行する前に、`–dry-run` をつけることをお勧めします。またネットワークやセキュリティーグループなどのパラメータは各自の環境に合わせてください。
AWS Amplify を使って WEB アプリを実装してみた(環境構築編)
# はじめに
AWS Amplify は使ったことはないけれど色々な投稿を見ていると使ってみたいと思ったので、
環境構築や WEB アプリの実装を通じて理解を深めたいと思います
間違っている点などありましたら、ご指摘ください# AWS Amplify とは
WEB やモバイルアプリケーションを容易に開発するためのフレームワーク
Amplify を用いることで、以下のような機能を手軽に実装することができてサービスの本質的な開発に注力することが出来る
* 認証機能
* アクセス権限制御ロジックの実装
* WebSocket サーバーの構築、運用、監視
* ネイティブアプリの Push 通知基盤の構築
* データ分析のためのダッシュボードの開発# 開発環境
* Windows 10
* nodist(nodeのバージョン管理)
* node 12.13.0# Windows 環境に開発環境を構築する
## amplify-cli をインストールする
“`
npm install -g @aws-amplify/cli“`
インストールが完了したこ
Terraform Tips
# スクリプト
## バージョンを固定する
– 環境差異によるトラブルを防ぐために必ず記載する“`
terraform {
required_version = “0.12.12”
}
“`## プロバイダバージョンを固定する
– AWSを使う場合は下記の通り
– プロバイダバイナリは進化が早く環境差異が生じやすい“`
provider “aws” {
version = “2.35.0”
}
“`# コマンドライン
## コードフォーマット
– `-recursive`オプションで再帰的にフォーマットしてくれる“`
$ terraform fmt -recursive
“`## バリデーション
– 構文エラーをチェックしてくれる
– これは再帰的には実行されない
– `$ terraform init`を実行した後にやる“`
$ terraform validate
“`## オートコンプリート
– terraformコマンドを補完してくれるようになる“`
$ terraform -install-autocomp
for_eachを使用したAWS WAFの設定
# 動的なブロックの作成
– Terraform 0.12からfor_eachを使用して動的にブロックを定義できるようになり、ブロックの数を変更する場合の修正が容易になった
– ここではAWSのWAFに設定するIPアドレスを例に紹介する# バージョン
– Terraform 0.12.12
– AWSプロバイダ 2.35.0# AWSのWAF
– WAFを作成するには以下3つのリソースが必要になる
– IP addresses
– IPアドレスの集合
– Rules
– 上記のIP addressesと組み合わせ、「そのIPアドレスにマッチした場合」、「マッチしない場合」などのルールを決める
– Web ACLs
– 上記のRulesと組み合わせ、そのルールに合致した場合の許可・拒否の設定、また合致しない場合の許可・拒否の設定ができる# IP addressesの記載(for_eachを使用しない場合)
– IPアドレスの設定方法は下記の通り“`tf
resource “aws_waf_ipset
素人がAWSに手を出してみた様子-2
どうもはじめまして。
前回初めてAWSのEC2インスタンス作成してみました。
前回:【素人がAWSに手を出してみた様子-1】
https://qiita.com/entakar/items/4ee87782e02e34eac14dEC2でインスタンス立ち上げただけなのですがね
## nginxの設定を終え
EC2でなんとかnginxの設定を完了させindex.htmlの表示が完成
ただそれだとEC2じゃなくてS3で十分じゃん!!!## 何をするのか
そもそもAWSに手を出したのはlinebotをphpで作成した環境が
さくらスタンダードの環境があったので試してみた。
から始まっています。
その時に、そうかこれはAWSを構築してBOT用のPHPをAWSにおいてみれば
AWS構築の勉強にもなるじゃないか!でした
## そして・・・課金の壁
linebotで使用するmessageAPIそのフックとなるのが
【Webhook URL】これがhttpsでないと設定不可(2019年11月時点)
もしかしたら前はhttpでも大丈夫だったかもしれないけれど、
近年https通信が
awsのec2にApacheを入れてwebサーバーとして使う
# 0-1. 環境
aws – ec2 – ubuntu
インスタンスタイプ:t2.micro# 0-2. 前提(今回作業前の状態)
awsアカウントは持ってた
一つインスタンスを作っていて、実行中のがあった
sshの設定なども済ませていて、すぐにログインできる状態# 0-3. 大いに参考にさせて頂いたページたち
* [今更聞けない!Webサーバーの仕組みと構築方法
](https://eng-entrance.com/web-server-mechanism)
* [AWS EC2を使って無料枠でWebサーバを立ててみた(2015年12月版)](https://sil.hatenablog.com/entry/aws-ec2-free-webserver)
* [Ubuntu16.04にApache2をインストール・設定する](https://chee-s.net/ubuntu16-04%E3%81%ABapache2%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%83%BB%E8%A8%A
AWS CLIでAmazon Cognito(IDプール)を使ってみるサンプルメモ
# 概要
IDプールを用いて認証されたID(Facebook連携)と、認証されていないIDを用いた認証を試す
# メモ
## 認証されたID(Facebook)
### 前提
– Facebook のデベロッパーアカウントでアプリ登録済み
– テスト用のユーザートークン取得済み
– Cognito のIDプールを作成済み(認証プロバイダーはFacebook)
– IDプールのIDを確認済み### メモ
“`sh
> aws cognito-identity get-id –identity-pool-id “[IDプールのID]” –logins “graph.facebook.com=[ユーザートークン]”
{
“IdentityId”: “ap-northeast-1:0cde9dab-cb6d-465e-903f-b339f612609a”
}
# ↑のIDは控えておく
> aws cognito-identity get-credentials-for-identity –identity-id “[取得したID]” –logins “