DNSレコードにはさまざまなレコードが存在します。
DNSはDNSサーバでいわゆるドメインからグローバルIPアドレス変換表を持っています。その変換手続きをしてくれるのがDNSサーバになります。
僕たちは通常サイトにアクセスするとき、ドメインにアクセスします。ただドメインだとこのサイトの特徴を意味しているのはわかりますが、そのドメインはどこのサーバなのかはわかりません。
インターネットの住所はIPアドレスになるので、ドメインではなくIPアドレスに直してそのサーバにリクエストをするということが必要です。
そこでDNSサーバの役割で、DNSサーバにはドメインとそのIPアドレスを管理しています。
なのでサイト・ドメインへアクセスするときは、まずDNSに問い合わせてドメインからIPアドレスへ変換をして、受け取ったIPアドレスのサーバにリクエストをすることでサイトにアクセスできるわけです。
そんなめちゃくちゃ重要なDNSサーバですが、DNSサーバにはDNSレコードと呼ばれる細かな設定をすることができます。
そこでここでは、一回各種レコードについてまとめていこうと思います。
DNSレコードは色々ありますが、何回も調べてしまうので、一旦ここで自分なりに整理をしてみたいと思います!
Aレコード
いわゆるグローバルIPアドレスとドメインを紐付ける。
1つのグローバルIPアドレスを、1つのドメインに紐付けます。
これにより私たちはドメインにアクセスすることで、DNSサーバにまず問い合わせてグローバルIPアドレスに変換して、
そのアドレスの住所にWebサーバがあるのでそこにリクエストして処理を行います。
お名前.comであればお名前.comが管理しているDNSサーバに登録される。
GCPのようにCloud DNSというソリューションの場合は、GCPなので世界中にあるので、Cloud DNSに登録するとGoogleが管理する世界にあるDNSサーバに登録されるので、DNSリゾルバ、DNSの問い合わせが早い。
イギリスから日本のドメインにアクセスするとなると、お名前.comのDNSサーバが東京にだけにあれば、そこに登録しているので、まずドメインがどこに登録されているかをイギリスから探してIPアドレスへ変換するので、そうなるとイギリスから東京と距離があるので遅い。
でもGCPのCLoud DNSはイギリスにもあるので、イギリスからイギリス内ですぐそのドメインを探すことが可能になる。
DNSリゾルバで、ドメインで検索することで、そのドメインのAレコードに設定しているグローバルIPアドレスを確認することができます。
nslookupコマンド
nslookup yosshi-digital-site.com 1.1.1.1 (1.1.1.1は固定で指定。ドメインに調べたいドメインを指定)
nsってネームサーバってことか。nsレコード。DNSサーバへ問い合わせ
AAAAレコード
AレコードではグローバルIPアドレスはIPv4ですが、
AAAAレコードでは、グローバルIPアドレスはIPv6を登録します。
www.example.co.jp IN AAAA 2001:db8::12:0:0:1
TXTレコード
TXTレコードはテキストレコードなので、基本的に文字列を登録することができます。
文字列を登録できるので、認証用として使われることが多いようです。
メール配信のSPF認証
TXTレコードはスパムメールの防止にどのように役立つか?
スパマーは、メールの送信元ドメインを偽装したり、偽造したりすることがよくあります。TXTレコードに使用は、数あるさまざまな電子メール認証方式の主要素の一つで、メッセージが信頼できる送信元からのものであるかどうかをメールサーバーが判断するのに役立ちます。
一般的な電子メール認証方式には、Domainkeys Identified Mail(DKIM)、Sender Policy Framework(SPF)、Domain-based Message Authentication, Reporting & Conformance(DMARC)などがあります。ドメイン管理者は、これらのレコードを設定することで、スパマーが自分のドメインになりすますことをより困難にし、その試みを追跡することができます。
SPFレコード:SPF TXTレコードには、ドメインからメールメッセージを送信することを許可されているすべてのサーバーを列挙します。
DKIM(DomainKeys Identified Mail)レコード:DKIMは、公開鍵と秘密鍵のペアを使用して各電子メールにデジタル署名することで機能します。これにより、電子メールの送信元が実際にそのドメインであることを確認することができます。公開鍵は、ドメインに関連付けられたTXTレコードとしてホストされます。(公開鍵暗号化方式の詳細についてご覧ください)。
→DKIM は、TXT DNS レコードを使用して実装されます。TXT レコードは、受信メール サーバーがメッセージの信頼性を検証するために使用する公開キーを提供します。とsendgridにあるから、TXTレコードがないとDKIMは使えないらしいけど、その公開鍵はTXTレコードの値に指定するってことかな?コメントを記載できるわけだから
DMARCレコード:DMARC TXTレコードは、ドメインのSPFおよびDKIMポリシーを参照します。タイトルは _dmarc.example.com. として、「example.com」の部分を実際のドメイン名に置き換えて保存します。レコードの「値」は、ドメインのDMARCポリシーです(これについての作成のガイドはこちらをご覧ください )。
そもそもメールは以下のように、封筒と葉書の関係のように、
エンベロープ(封筒)とヘッダ(はがき)があります。
エンベロープなので差出人、ハガキは誰から
そして実際、gmailやoutlookなどで送信元メールアドレスとして表示されるのは、その中身のヘッダfromになります。
となると、ヘッダfromでのみユーザーは送信元がこれでよく知ってるものだから、大丈夫だと思ってしまいます。
なりすましはその、エンベロープfromの方は改ざんをして、ヘッダfromの方をちゃんとして送信をしているわけです。
そのため、最近ではその対策として、エンベロープとヘッダ両方見れるようにはなっているらしいです!
DNSにTXTレコードの値にSPFレコードと呼ばれる値を入れます。
こうすることで、この時点でAレコードとTXTレコードがあります。なので、ドメインとSPFレコードが紐づきます。
ここで、そのAレコードに設定しているドメインが送信元ドメインで、それでメール送信します。
そうすると、POPサーバでユーザーが受信するわけですが、その送信元ドメインをDNSレコードをPOPサーバが参照します。そしてそこにDNSからTXTレコードの値に設定したSPFレコード値と照合して問題なければなりすましではないと言えます。
SPFレコードの設定は、
https://mailmarketinglab.jp/about-spf/#%EF%BC%92%EF%BC%9A%E3%80%80%EF%BC%A4%EF%BC%AE%EF%BC%B3%E3%82%B5%E3%83%BC%E3%83%90%E3%81%B8%EF%BC%B3%EF%BC%B0%EF%BC%A6%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E7%99%BB%E9%8C%B2
Search Consoleの所有権
Google Search Consoleとはサイトに自然検索で流入した場合の流入キーワードなどを分析するGoogleが無償提供するツールになります。
Google Analyicsはサイト内行動を分析するのに対して、Search Consoleはサイトに入ってくる前の行動を分析するものになります。
そんなSearch Consoleを利用するにはドメインの所有権を認証する必要があります。
そのドメイン所有権の認証として、2つあります。
- サイト内のページに所有権を示すコードを記載する(Googleのbotでそのサイトのページに埋め込まれていれば、まあこのサイト・ドメインの持ち主かと判定する。)
- DNSのTXTレコードに特定のコードを記載する(DNSサーバの登録はそのサイトドメインを発行したドメインプロパイダのアカウント内で行うので、そこに登録ができるのであればドメイン所有者だよねとGoogleが判定。)
この2つ目でTXTレコードに発行されたコードを記載することで、ドメインの所有権認証をします。
ドメインを所有している→ドメイン発行して自社でDNSレコードを設定できる→DNSのTXTレコードにSearch consoleアカウント生成時に発行されたTXTレコード値を記載する。→ GoogleがそのドメインとTXTの値を確認して所有権承認する。
というステップになります。
実際にSearch Consoleはサイトごとにプロパティというものを作成します。
プロパティを作成していくとTXTレコードで所有権認証をするためのTXTレコードが以下のように発行されます。
CNAMEレコード
→ これを設定することでドメインどうなるのか?2つのcookieが発行される?
→ cookieはそもそもドメインごと。このドメインごとはサブドメインもルートドメインも別個のドメインになるのが大前提。
正規名(CNAME)レコードは DNS レコードの一種で、エイリアス名を実際の正規ドメイン名にマッピングします。 CNAME レコードは通常、www や mail などのサブドメインを、そのサブドメインのコンテンツをホストするドメインにマッピングするために使用します。
とのことだけど、
要はサブドメインと別サブドメインをマッピング(別名)させたり、サブドメインとルートドメインをマッピング(別名)させたりするものらしい。
なので、Aドメインと全くサブでもルートでもない別のBドメインをマッピング(別名)するものではないらしい。←いやアドエビスではまさにこれでやってるから違うな、
→ となると、サブドメでキャッシュしたらルートでもそのキャッシュが適用?されるとか、cookieなどもルート?にするとかそういう話かな?
CDN
キャッシュは、そもそもサブドメ、ルートドメの関係でないとキャッシュサーバ立てられないのか?(いや、CDNでjqueryなど別ドメから読み込ませてるな)
example.com in A 192.111.111.0
example.com in CNAME cache.example.com
NSレコード
https://www.cloudflare.com/learning/dns/dns-records/dns-ns-record/
NSレコードは、そのドメインを管理するDNSサーバのこと。つまりそのドメインに対してDNSが管理する権限を持つということ。
例えば、その所有しているドメインが設定されているDNSサーバがもし故障で動かないとなった場合、そのDNSサーバへアクセスできないので、ドメインからIPアドレスへの変換ができません。
となるとwebサーバへアクセスできなくなります。
こうならないように、1つのドメインは他のDNSサーバでも管理してもらえるようにするのが、NSレコード?
https://help.onamae.com/answer/7883