2023/06/02

DNS何も覚えていない。

読んだ記事

  • ホスト名で許される文字って何なんだっけという話 - suu-g’s diary
    ホスト名やURIでは文字、数字、ハイフンのみが許容されている。
    ドメイン名はRFC2181でマルチバイト文字が許容されているのでアンダースコアだろうがなんだろうがオッケー。
    • SRVレコードってなんだっけ
      これDNS SRVレコードとは? | Cloudflare
      ポート指定が必要な任意のプロトコルで接続する必要がある場合や負荷分散のために設定するレコード。Aレコードで設定されているIPのポートやプロトコルを設定する。
    • ホスト名とドメイン名のちがいって
      ドメイン名とは? |ドメイン名とURL | Cloudflareドメイン名・ホスト名・FQDNって? | IT情報メディア「LIVRA」
      ドメイン名はインターネット上の特定のネットワークのを特定する文字列のこと。ホスト名はネットワーク上の特定のデバイスを識別するために使用される。ドメイン名とホスト名を繋げてネットワーク上の特定のデバイスを示すアドレスをFQDN(完全就職ドメイン名)と呼ぶ。
      URLやURIはFQDNにプロトコルやパスなどの情報を追加したもの。
  • (12) Tunnel SSH Directly To HTTP With GoLang!? - YouTube
    sshからhttpへのトンネリングの実装を紹介。動画内の実装では、SSHのサーバーに標準入力されたデータをそのままhttpのレスポンスとして返してる。
    http→ssh→httpみたいなポートフォワーディングもできた。sshをweb上で操作する系はこれでできそうね。
    使ってたライブラリ。gliderlabs/ssh: Easy SSH servers in Golang
    • sshのフィンガープリントってよくわかってない。
      • From ChatGPT

      SSH接続を行うとき、クライアントは最初にサーバーから公開鍵を受け取ります。この公開鍵を使って、クライアントはその後の通信を暗号化し、特定のサーバーだけがその通信を復号化できるようにします。しかし、これだけでは、中間者攻撃(Man-in-the-Middle attack)という形の攻撃を防ぐことができません。中間者攻撃では、攻撃者がクライアントとサーバーの間に入り込み、サーバーのふりをして公開鍵を提供します。
      ここでSSHフィンガープリントの役割が重要になります。フィンガープリントは、サーバーの公開鍵から生成される一意のハッシュ値です。クライアントは初めてサーバーに接続するとき、フィンガープリントを提示され、それを承認します。これが承認されると、それはクライアントの「known_hosts」ファイルに保存されます。次回からは、クライアントはそのフィンガープリントを参照して、接続がそのサーバーに対して本当に安全であることを確認します。フィンガープリントが一致しない場合、クライアントは警告を表示し、接続を拒否することができます。

  • Go の sync.Map について調べる · Issue #53 · suzuki-shunsuke/issue
    キャッシュの競合を避けるためにつくられたらしい。基本的にmap+mutexのほうがはやい