maetesのブログ

個人用Memoです

Email のセキュリティに関するメモ

SPF

https://www.ietf.org/rfc/rfc4408.txt

Google さんの例をもとに解説

  • dig してspf レコード確認
$dig google.com txt +noall +ans
google.com.             0       IN      TXT     "onetrust-domain-verification=de01ed21f2fa4d8781cbc3ffb89cf4ef"
google.com.             0       IN      TXT     "facebook-domain-verification=22rm551cu4k0ab0bxsw536tlds4h95"
google.com.             0       IN      TXT     "google-site-verification=TV9-DBe4R80X4v0M4U_bd_J9cpOJM0nikft0jAgjmsQ"
google.com.             0       IN      TXT     "globalsign-smime-dv=CDYX+XFHUw2wml6/Gb8+59BsH31KzUr6c1l2BPvqKX8="
google.com.             0       IN      TXT     "docusign=1b0a6754-49b1-4db5-8540-d2c12664b289"
google.com.             0       IN      TXT     "webexdomainverification.8YX6G=6e6922db-e3e6-4a36-904e-a805c28087fa"
google.com.             0       IN      TXT     "MS=E4A68B9AB2BB9670BCE15412F62916164C0B20BB"
google.com.             0       IN      TXT     "v=spf1 include:_spf.google.com ~all"
google.com.             0       IN      TXT     "google-site-verification=wD8N7i1JTNTkezJ49swvWW48f8_9xveREV4oB-0Hf5o"
google.com.             0       IN      TXT     "apple-domain-verification=30afIBcvSuDV2PLX"
google.com.             0       IN      TXT     "docusign=05958488-4752-4ef2-95eb-aa7ba8a3bd0e"

** "v=spf1 include:_spf.google.com ~all"という設定になっている。別のドメインを読み込んでいるのでそちらも確認


$ dig _spf.google.com txt +noall +ans
_spf.google.com.        0       IN      TXT     "v=spf1 include:_netblocks.google.com include:_netblocks2.google.com include:_netblocks3.google.com ~all"


$ dig _netblocks.google.com txt +noall +ans
_netblocks.google.com.  0       IN      TXT     "v=spf1 ip4:35.190.247.0/24 ip4:64.233.160.0/19 ip4:66.102.0.0/20 ip4:66.249.80.0/20 ip4:72.14.192.0/18 ip4:74.125.0.0/16 ip4:108.177.8.0/21 ip4:173.194.0.0/16 ip4:209.85.128.0/17 ip4:216.58.192.0/19 ip4:216.239.32.0/19 ~all"

include は10回までしかできないので気をつけること。 ~(チルダ)」はSoftFail、「-(ハイフン)」はFailを意味する ** SoftFail はSPF はNot pass だが、受信者のもとにメールは送ってしまう。Fail だと許可しないという意味になる

DKIM

  • 電子メールにおける送信ドメイン認証技術の一つであり、 メールを送信する際に送信元が電子署名を行い、 受信者がそれを検証することで、 送信者のなりすましやメールの改ざんを検知できるようにするものです。 引用元:

インターネット用語1分解説~DKIMとは~ - JPNIC

  • 実際の値をみてみる。セレクタを特定してその値を利用してQuery を書いてみる

dig +noall +ans 20230601._domainkey.google.com txt
20230601._domainkey.google.com. 0 IN    TXT     "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4zd3nfUoLHWFbfoPZzAb8bvjsFIIFsNypweLuPe4M+vAP1YxObFxRnpvLYz7Z+bORKLber5aGmgFF9iaufsH1z0+aw8Qex7uDaafzWoJOM/6lAS5iI0JggZiUkqNpRQLL7H6E7HcvOMC61nJcO4r0PwLDZKwEaCs8gUHiqRn/SS3wqEZX29v/VOUVcI4BjaOz" "OCLaz7V8Bkwmj4Rqq4kaLQQrbfpjas1naScHTAmzULj0Rdp+L1vVyGitm+dd460PcTIG3Pn+FYrgQQo2fvnTcGiFFuMa8cpxgfH3rJztf1YFehLWwJWgeXTriuIyuxUabGdRQu7vh7GrObTsHmIHwIDAQAB"

https://www.cloudflare.com/learning/dns/dns-records/dns-dkim-record/

  • 受信者はメールを受信後、セレクタからp=以降に記載している公開鍵を利用して、メールの正当性を確認する
  • これを自分で検証してみる。実際にGoogle から来たメールの署名と、公開されている公開鍵の情報を使ってDKIM としての検証ができるか見てみる
  • 公開鍵作成

$ echo "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4zd3nfUoLHWFbfoPZzAb8bvjsFIIFsNypweLuPe4M+vAP1YxObFxRnpvLYz7Z+bORKLber5aGmgFF9iaufsH1z0+aw8Qex7uDaafzWoJOM/6lAS5iI0JggZiUkqNpRQLL7H6E7HcvOMC61nJcO4r0PwLDZKwEaCs8gUHiqRn/SS3wqEZX29v/VOUVcI4BjaOzOCLaz7V8Bkwmj4Rqq4kaLQQrbfpjas1naScHTAmzULj0Rdp+L1vVyGitm+dd460PcTIG3Pn+FYrgQQo2fvnTcGiFFuMa8cpxgfH3rJztf1YFehLWwJWgeXTriuIyuxUabGdRQu7vh7GrObTsHmIHwIDAQAB" > dkim_public_key.pem

  • email をemail.txt とsignature.txt に分けて保存する
  • verify command を叩く

openssl dgst -sha256 -verify dkim_public_key.pem -signature signature.txt email.txt
Verification failure
400783FBDE7F0000:error:0200008A:rsa routines:RSA_padding_check_PKCS1_type_1:invalid padding:../crypto/rsa/rsa_pk1.c:79:
400783FBDE7F0000:error:02000072:rsa routines:rsa_ossl_public_decrypt:padding check failed:../crypto/rsa/rsa_ossl.c:697:
400783FBDE7F0000:error:1C880004:Provider routines:rsa_verify:RSA lib:../providers/implementations/signature/rsa_sig.c:774:

* 何故か失敗。。。 * 参考

【学習メモ】DMARCとDKIMを試す #DKIM - Qiita

DMARC

Azure Cloud 利用方法について

前提

AWS利用経験はあるけど、Azure よくわからない人のためのAzure利用方法についてのTips

やりたいこと:P2S でのVPN接続

  • 検証環境は常時VPN張っていると無駄にお金かかる。一旦利用したいときだけDeployしてP2S 貼る形にしていきたい
    • VPN Gateway がDeploy されている時間だけ課金されるようなので、VPN Gateway さえDeploy されていなければお金はかからない想定

下記を参考にして実装してみる

基本的にはWebサイトを参考に進めれば可能。


  • VNet を作成する
    • Azure におけるVirtual network とsubnet の概念とは?
      • AWS におけるVPC とSubnet と大体同じ。
  • VPN Gatewayを作成する
    • ExpressRoute とは?
    • SKU とは?
      • SKU(Stock Keeping Unitの略)
      • SKUがVpnGw1 の場合はトンネル数の最大が30となる。今回は一番スペックの低いBasicを選択。高いものだと冗長性が担保されていたりしていて、IPアドレスレンジが広めに必要などがある
    • 今回は特に冗長性も必要ないためBasic を選択したところ、その後の選択肢でIKEv2 などはBasic だと使えないよと表示が出てしまった
    • Basic より上の設定においては/28 程度のアドレスレンジでは不十分で/27 以上のアドレスが必要となる
    • IPアドレスは作成時に紐付けられpublic ipとして固定化される
  • 証明書の作成 P2SRootCertとP2SChildCertという名前での証明書作成
$cert = New-SelfSignedCertificate -Type Custom -KeySpec Signature `
-Subject "CN=P2SRootCert" -KeyExportPolicy Exportable `
-HashAlgorithm sha256 -KeyLength 2048 `
-CertStoreLocation "Cert:\CurrentUser\My" -KeyUsageProperty Sign -KeyUsage CertSign

New-SelfSignedCertificate -Type Custom -DnsName P2SChildCert -KeySpec Signature `
-Subject "CN=P2SChildCert" -KeyExportPolicy Exportable `
-HashAlgorithm sha256 -KeyLength 2048 `
-CertStoreLocation "Cert:\CurrentUser\My" `
-Signer $cert -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.2")
  • VPN 接続時の状況
    • Windows でデフォルトで入っているVPN機能で接続ができた
    • ネットワークは仮想IPがクライアントに割り当てられ、Azure 内のネットワークにアクセスできるようにRouting が設定されていた
      • つまりAzure内と、自身に割り当てられるIPアドレスレンジはLAN内のレンジと被ってはだめ

その他所感

  • Azure Portal の更新がなかなかされないことが多い→ Shift+F5 で無理やり更新
  • たまに謎エラー現れる → とりあえずPage 更新
  • Portal がもっさりしている。

やりたいこと:CloudformationみたいにLinuxOS半自動起動したい

やりたいこと:アクセス制御についてもう少し厳格に

英語学習方法

常に英語がどうするば上達するか考えています。
相手の言っていることがわからない、自分が言いたいことが言えない、、、英語は勉強しているけれども全然上達する気になれない、、そんな気持ちになることが多くあるため現在自分が実施しているPractice をここに書いておきます。

どなたかの役に立つネタとなれば幸いです。
私は現在Pomodoro と呼ばれる25分ごとに区切ったタスク管理方法を実施しているので、そのタスク管理方法に沿った形で英語学習を進めています。

Hearing と語彙力をつける

CNN10 が放送されている時期の場合

  • 下記Transcript を自分で読みながら、わからない単語はGoogle spreadsheet に英語と和訳双方を記載する(10分)
    CNN.com - Transcripts
  • SpreadSheet にためてあるまだ未暗記の単語を覚え直す(10分)
  • CNN 10 youtube で見ながら、Shadowing(5分)

CNN10 が放送されていない時期の場合はPBS News でTranscript がついている記事で自分が興味あるものをPick up して上記を同様に実施しています。
PBS NewsHour: News, Analysis, Top Headlines, Live Coverage
こつとしてはSpread Sheet に記載は英単語帳のように書いて入るのですが、回答のところには文章含めて書いておくことです。
そうすると単語も文章の中でTopic と一緒に覚える事ができて結構スムーズに覚えていける気がします。
最近だとCovid やHaricane の話が多いのですがNews の場合同じトピックを扱う事が多いので、学習した単語が翌日別の表現だけど同じTopic内で現れたりして記憶の定着が図れます。

Output 能力:Writing とSpeaking

こちらはいくつかの方法を試行錯誤しています。

  • English Diary をつける
    • Output の基本は自分のことを喋れるか?というところが大きいと思います。English Diary をつけることでまずは自分自身のことを丁寧に色々な表現で説明できるようになっていくと思います
    • 自分で記載→ Google Translate でその英語を入れ、日本語訳し、英語日本語を入れ替えると英語でどのように表現になっているかを確認 → 新たな表現があれば自分の表現として取り込む
    • また上記の場合は一部文法や語彙に間違いがあるので、Grammarly というツールにも突っ込んでミスがないか確認します
    • 書き終わったDiary は自分がうまく表現できていない部分を赤字にして現在はNotion に蓄積していっています
  • Running/Walking しながらの独り言
    • Diary と似たような話ですが一人で座りながら考えると煮詰まったりしてしまうため、散歩しながら表現をOutput し続けます
  • NHK ラジオビジネス英語
    • 上記だけだとビジネス上で利用する幅広い表現が足りないため、ラジオビジネス英語を現在は取り入れています
      聴き逃し | NHKラジオ らじる★らじる
    • Text 見ずに聞く → 今日の表現をSpread sheet に書きつつ一日唱え続ける、どこか使える場面を模索する → わからない単語が出てきてしまったらText を購入してその表現をまたSpread sheet に記載して覚えていく
その他:遊び系
  • 映像系:字幕付きで一日30min 程度放送を見るようにする。日本のTVは英語でなにか見たあと以外は基本見ない
  • 読書:Kindle で洋書を寝る前に読む
    • この洋書を見るというのを侮っていましたがかなり良いです。単語の曖昧さを残したまま読み進める、単語を類推しながら方向性を想像しながら考えるということができるようになってくるため、何かしらの洋書を読むことは英語学習者には必要だと最近感じています。

英語学習のどなたかのご参考になれば幸いです。

AWS Summit Anaheim 2022

行ってきました。

  • keynote: いつものCloud journey の話
  • new relic やdatadog のSession を聞くことが多かった。o11yはobservability のことであることを初めて知る。
  • o11y はContainer やInfra / software 部分におけるMonitoring に近いところだと思っていたが、アプリ周りと関連してセキュリティ周りにも関連していそう
    • 将来的にはSplunk のようにデータ分析からセキュリティもできるよというような方向性になっていくような気がした
  • opentelemetry の話を聞いて将来的にどこまで流行りそうなフレームワークなのか少し気になった。どれぐらい今使われているんだろう

opentelemetry.io

アメリカの移民政策

今朝下記ニュースを見た。

www.pbs.org

要旨としては下記

  • トランプ政権時に5000人もの子供が親と離れ離れにされている
  • ICE(アメリカ合衆国移民・関税執行局 )のTom HomanがObama時代に家族を引き離すことが抑止力になると考えアイデアを提案したがDenyされ、Trump時代に承認されて実行された

また、今朝それとは別に下記ニュースもみた

abcnews.go.com

Mexico の麻薬組織で抗争があって、無関係の人が何人か殺されたというニュース。
これに対して軍隊が投入され200人レベルで街に入り、鎮圧をしたとのこと。

状況が気になって調べてみたが下記のような話の模様

  • 中南米において、コロナの影響で観光業などが成り立たなくなり収入減が発生する(具体的に生活できなくなるという死活問題)
  • 職を求めて米国に来るが、基本米国では特定の人しか許可されない。トランプ時代は特にそれが顕著で入国することが難しかった
  • Biden 時代になり入国に対して規制が厳しくなくなったと捉えられる事があり、(いわゆる人道主義)不法入国してお金を稼ぐようなことが発生している

果たしてこの移民などについてどのように考えていくべきなのか?どういった対策や対応が考えられるのか?
日本だと周りが海なので国境を意識することはあまりないが、米国など陸続きのような状況では隣国から入国する人が発生しうる
更に言うと隣国の治安が悪く経済状況がよろしくなければ、米国に入国して稼ぐことのメリットが大きい。
米国としてはunemployment rate を結構気にするので他国から入国されて、雇用が奪われるのはあまり嬉しくない状況だと考えられる。
世界の中でもトップクラスに人気のアメリカは何もしなくても人を引き付けそうなので、単純労働者を増やさないTramp 時代の政策が正しいといえば正しいのかなぁ

カリフォルニアのドライバーライセンス

アメリカ California でのDriver Licenseで色々戸惑ったので記載をしておきます。
常日頃Webシステムも変更になりルールも変更になるようなので現時点ではこういう話ということでご参考になればと思います。


まずは前提としてアメリカの免許制度として州ごとに免許制度、細かな交通ルールが違います。
そのためカリフォルニア州と他の州では免許の取得方法も違うし、交通ルールも微妙に違うため、今回の記事はカリフォルニア州という前提で書いています。
アメリカ市民においても例えば他の州に住んでいてカリフォルニアに移住してくる場合には、免許の切り替え(カリフォルニア州での再取得)が必要になってきます。
日本からカリフォルニアに移住してくる人はまず国際免許証を取得して来る方が一般的だと思います。
その場合、国際免許証の有効期限は1年間で1年間は現地のDriver License なしで運転ができるかとは思いますが、厳密に言うと国際免許証は観光などで訪れた場合に対して利用されるものであるため、カリフォルニア州では移住して10日以内に免許証を取得するべし、という話になります。
参考:カリフォルニア州運転免許証取得情報 | 在サンフランシスコ日本国総領事館

ただ現実的には10日以内に免許証を取得することは不可能です。。。免許取得にはDMVの予約が必要した上で試験を受ける必要があるのですが、その予約がなかなかとれないためです。

免許取得の流れは下記サイトを参考にすれば対応可能です。

California DMV

取得の流れは下記になります。

  1. DMVサイトでアカウントを作成する
  2. 質問などに答えて(入力して)、自身のドキュメントをWebアップロードする
  3. Paper test を受ける(Online で可)Online で受ける場合は事前に料金を支払う
  4. DMVサイトに行き、視力検査、SSN card の提示などを実施しつつ仮免許発行を行う
  5. Behind the wheel test を予約し、DMV で試験を受ける → 合格すればライセンス取得

ただしこのDMV が非常にわかりにくい、、Webサイトも微妙にわかりにくいのでいくつか注意点を記載しておきます。

DMV Portal サイトについて
  • 現在Real ID の取得フローが追加されていて超絶わかりにくいが特に気にせず進めて良い。ただし結局のところDMV にいかなくてはならないので、ある程度入力したらさっさとDMV に行くのが吉。
  • 現在オンラインでPaper test を受験可能。その後Appoint を取ってDMVに行くので次はBehind the wheel のテストを予約しているかのように錯覚するが結局はオンラインの手続きは簡易な登録作業にすぎず、DMV で再度手続きする(書類もUpload したけど再度持っていくし、再度あちらでスキャンされるのでWeb上での手続きに意味があるのかわからない)
  • 上記に関連して、Web で受けてもその後DMV に書類提出と、Bihind the wheel と二回は行かないといけないので、DMVで試験を受けてもどちらでもあまり変わらない
DMV 現地についての注意点
  • 入り口付近には大きく2つ列がある。どの列に並ぶか決める前に一旦全体をグルっと回った上で確認をしたほうが良い
  • 私が行ったところでは片方の列でAppoint ありと無しで分かれた列があり。並ぶと整理券がもらえて、そこから処理が始まる

2021/05/22 News