脆弱性診断士向け勉強 ~whoisを理解する~
会社でなんとなく受けさせられた脆弱性診断士の教育。
試験も教育とセットとなっており1年以内に受けなきゃということで勉強がてらwhoisを調べてみました。
教育について気になる人は以下参照。
教育の中で耳慣れない用語等多々出てきましたので自分なりに整理していこうと思います。
whoisとは
whoisとは、ドメイン名や IPアドレスの責任者は誰なのかを知るためのサービスです。
DNSがドメイン名からIPアドレスを取得、またはIPアドレスからドメイン名を取得するのに対し、
whoisはドメイン名やIPアドレスから責任者情報を取得するために使用します。
whoisについてはRFC 3912にて標準プロトコルの詳細が規定されているのですが、TCPを使うこと以外の決まりごとが一切ありません。
そのため、実際にやり取りする情報やデータフォーマットについてはドメイン情報を管理しているレジストリ次第となっています。
whoisを理解する
基本的なことからwhoisを理解してみます。
ドメインとは
ドメインとはwebサイトの場所を表す文字列のことです。
本来はIPアドレスが担う通信相手の特定という役割を、ドメインという分かりやすい名前と紐づけて管理することで、ネットワーク通信の利便性向上に貢献しています。
ドメインは右から順番にTLD(トップレベルドメイン)、2LD(セカンダリドメイン)、3LD(サードレベルドメイン)….として区分けされます。
通信相手を識別するために必要なのは、以下におけるプロトコル、サブドメインを除いたドメインの連結であるドメインネームとなります。
各ドメインの長さは最大 63 文字、最小 1 文字、ドメインネームの長さはピリオドを含めて255文字以下である必要があります。
wwwはサブドメインとしていますが、ホスト名とも呼ばれ、言ってしまえば特に意味のない値です。
whoisを使用する際はwww無しのドメインネームで検索する必要があります。
TLD(トップレベルドメイン)
ドメインの中でもTLDは特に重要な意味を持ちます。
jpやcomのようなTLDないし該当のTLDを使用するドメインを管理する事業者のことをレジストリといいます。
whoisによるドメイン情報の問い合わせは、主にこのレジストリに対して行います。
例えばjpドメインを管理しているJPRSは以下のようなjpドメインに対応しているwhois検索サイトを用意しています。
試しにgoogle.jpと検索してみると以下のような画面が出てきます。
一方でgoogle.comを検索してもヒットしません。
これはJPRSがcomドメインを管理しているレジストリではないからです。
ドメインの取得と管理
私たちがドメインを取得し運用をしようとした場合、直接前述のTLDを管理するレジストリとやり取りをすることはありません。
上記はレジストラ、またはリセラと呼ばれる事業者がレジストリに対して依頼を行うことで実施されます。
そのため、ドメインを作りたい場合、まずレジストラ、リセラに対してドメイン作成の要求を行う必要があります。
詳細については以下参考になりました。
whoisを動かしてみる
実際にlinuxコマンドにてwhoisを実行してみます。
windows PCでlinuxを動かすための方法を以前取り上げているので、こちらも参考にしてみてください。
なお、コマンドからでなく任意のサイトからwhois情報を取得することも可能です。
whoisのインストール
まずは以下コマンドを使用し、whoisをインストールしてください。
sudo apt install whois
whoisの実行
whois “ドメイン名"によって実際にwhoisコマンドを実行することが可能です。
取得できる情報のフォーマットは、使用されている WHOIS サーバーによって異なります。
以下はgoogle.co.jpを実行した際の表示。
telecom@DESKTOP-BUQAKBQ:~$ whois google.co.jp
[ JPRS database provides information on network administration. Its use is ]
[ restricted to network administration purposes. For further information, ]
[ use 'whois -h whois.jprs.jp help'. To suppress Japanese output, add'/e' ]
[ at the end of command, e.g. 'whois -h whois.jprs.jp xxx/e'. ]
Domain Information:
a. [Domain Name] GOOGLE.CO.JP
g. [Organization] Google Japan G.K.
l. [Organization Type] GK
m. [Administrative Contact] YN47525JP
n. [Technical Contact] SH36113JP
p. [Name Server] ns1.google.com
p. [Name Server] ns2.google.com
p. [Name Server] ns3.google.com
p. [Name Server] ns4.google.com
s. [Signing Key]
[State] Connected (2023/03/31)
[Registered Date] 2001/03/22
[Connected Date] 2001/03/22
[Last Update] 2022/04/01 01:05:44 (JST)
google.comを実行してみると表示の違いがよくわかります。
本当はもっと長い出力結果となるのですが、割愛しております。(気になる方はご自身のPCでぜひ試してみてください)
telecom@DESKTOP-BUQAKBQ:~$ whois google.com
Domain Name: GOOGLE.COM
Registry Domain ID: 2138514_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.markmonitor.com
Registrar URL: http://www.markmonitor.com
Updated Date: 2019-09-09T15:39:04Z
Creation Date: 1997-09-15T04:00:00Z
Registry Expiry Date: 2028-09-14T04:00:00Z
Registrar: MarkMonitor Inc.
Registrar IANA ID: 292
Registrar Abuse Contact Email: abusecomplaints@markmonitor.com
Registrar Abuse Contact Phone: +1.2086851750
Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Domain Status: clientUpdateProhibited https://icann.org/epp#clientUpdateProhibited
Domain Status: serverDeleteProhibited https://icann.org/epp#serverDeleteProhibited
Domain Status: serverTransferProhibited https://icann.org/epp#serverTransferProhibited
Domain Status: serverUpdateProhibited https://icann.org/epp#serverUpdateProhibited
Name Server: NS1.GOOGLE.COM
Name Server: NS2.GOOGLE.COM
Name Server: NS3.GOOGLE.COM
Name Server: NS4.GOOGLE.COM
DNSSEC: unsigned
URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/
>>> Last update of whois database: 2022-12-19T01:50:21Z <<<
For more information on Whois status codes, please visit https://icann.org/epp