タグ: DNS

  • drillコマンドでSPFレコードを確認する方法

    drillコマンドで、TXTレコードを表示することで、SPFレコードの設定が確認できる。 TXTレコードは、”-t txt “をオプションで指定する。

    dirll @dnsサーバ -t TXT ドメイン名
    

    ※ 使い方は、digコマンドと同じ。

    実行例。

    ~ % drill -t txt xenos.jp
    ;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 46810
    ;; flags: qr rd ra ; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
    ;; QUESTION SECTION:
    ;; xenos.jp.    IN      TXT
    
    ;; ANSWER SECTION:
    xenos.jp.       120     IN      TXT     "v=spf1 include:_spf.google.com ~all"
    
    ;; AUTHORITY SECTION:
    
    ;; ADDITIONAL SECTION:
    
    ;; Query time: 44 msec
    ;; SERVER: 157.7.180.133
    ;; WHEN: Wed Dec 18 12:03:34 2019
    ;; MSG SIZE  rcvd: 74
    ~ %
    
  • DNSがよくわかる教科書

    もともとはこの本の後半部分の実践編とアドバンス編にある「サイバー攻撃対策」や「DNSSECの仕組み」を読みたくて購入した。

    最初から一通り読んでみると、結構な部分で抜け落ちている知識や仕組みがあることに気が付かされた。普段の作業には影響しないが、レコードの意味や設定の背景、フルリゾルバ・スタブリゾルバの誤解など。特にP.158のコラム「再帰的問い合わせと非再帰的問い合わせ」はちゃんと理解できておらず、目から鱗が落ちた。

    それから、目的であるDNSの攻撃手法のところはわかりやすく、どういう問題があるのかが解説されており、よかった。攻撃手法はキーワードとしては先行するもののちゃんと説明されているのは素晴らしい。攻撃に対する対策もあるので、実際に当事者になったときも対処しやすいだろう。あとはありがちなファイアウォールでのポートのブロックの問題。

    P.245 ネットワーク越しの攻撃から権威サーバーやフルリゾルバーを守ろうとして、ファイアウォールやOSなどでアクセス制限適用することがあります。その際、DNSではUDPポートの53番へのアクセスのみを許可すればよいという誤った認識により、TCPポート53番へのアクセスを遮断してしまうことがあります。
     DNSの仕様では、通信手段としてTCPとUDPのいずれを使用してもよいことになっており、TCPはUDPの代替手段ではなく、通常の通信手段として使われます。そのため、権威サーバーとフルリゾルバーについてはUDPポート53番へのアクセスに加え、TCPポート53番へのアクセスも許可する必要があります。

    油断している(レビューをちゃんとしていないと)と、ブロックされてしまって安定しなくなるんだよね。

    それから、当初の目的のDNSSECをちゃんと勉強できてよかった。しっかりと書いてあり、仕組みに設定を知ることができた。今はまだ設定することはないが、使っているサービスが対応したら、DNSSECの導入もやりたいので、そのためには仕組みがわからないといけない。そこを勉強できたのはとてもよい。

    買ってよかった。

  • DNSのSPFレコードが設定されているか調べる方法

    DNSのSPFレコードが設定されているか調べる方法
    SPFレコードは、NSLOOKUPを使って調べることができる。 SPFレコードはTXTレコードなので、オプションで、「-q=txt」を指定する。

    nslookup -q=txt 調べたいドメイン名
    

    実際に調べてみた例。

    goby:~ zen$ nslookup -q=txt xenos.jp
    Server:         192.168.0.1
    Address:        192.168.0.1#53
    
    Non-authoritative answer:
    xenos.jp        text = "v=spf1 include:_spf.google.com ~all"
    
    Authoritative answers can be found from:
    
    goby:~ zen$
    
  • Windows Server のDNSサーバにコマンドでレコードを追加する

    WindowsのDNSサーバは、GUIで操作できるため、2,3個のレコード追加ならば、
    GUIでプチプチと作業した方が楽。
    10個以上のレコードを追加しようと思うと、めんどくさいのでコマンドを使って登録した方がよい。

    レコードを追加するコマンド

    dnscmd DNSサーバ名(省略するとローカルホスト) /recordadd ゾーン名 ホスト名 RRの種類 RRデータ
    
    • RRの種類は、AとかCNAME、NS、MXなどのこと。
    • RRデータは、IPアドレス、ホスト名/ドメイン名のこと。RRの種類によって変わる。

    例えば、ゾーン「ad.xenos.jp」に、gonbeというホスト名のAレコードを追加する場合。

    dnscmd /recordadd ad.xenos.jp gonbe A 172.16.1.99
    

    大量に追加する場合は、このコマンドをExcelにホスト名とIPアドレスを一覧化して、
    うまいことコマンドを生成するとよい。

  • Windows Server 2008 R2のDNSサーバ機能のルートヒントの更新方法

    DNSルートサーバ(D-Rootサーバ)のIPアドレス変更に伴い、ルートヒントのIPアドレスを変更する必要がある。

    Windows Server 2008 R2のDNSサーバでルートヒントを更新したので、その手順をメモしておく。(Active Directoryでは、DNSサーバも使用するので、AD環境の場合はちゃんと確認しておいたほうがよい。)

    ■更新作業の手順

    DNSマネージャーを開き、ルートヒントを更新したいDNSサーバを選択し、右クリックからプロパティを選ぶ。

    プロパティから、ルートヒントのタブを選択し、更新するネームサーバを選択する。今回は、d.root-servers.net.を選択し、編集をクリックする。

    ネームサーバーのレコード編集画面になるので、右上の方にある解決ボタンをクリックする。

    DNSサーバ側で、名前解決と検証を行い、IPアドレスが変更されるので、OKをクリックする。ここでは、「199.6.91.13」になっていれば、新しいIPアドレスに変更されている。

    以上で、ルートヒントの更新は終了。

  • PCのDNSキャッシュをクリアする

    PCにキャッシュされているDNSのキャッシュをクリアする方法。PCの名前解決が不安定な時にやると良い。

    キャッシュをクリアするには、Windowsのコマンドプロンプトを起動して次のコマンドを入力する。

     ipconfig /flushdns
    

    これで、PC上のDNSキャッシュをクリアできる。また、PC上のキャッシュを確認したい場合は以下のコマンドを入力する。

     ipconfig /displaydns
    
  • メモ:WindowsのDNSサーバ機能を調べるのに役に立ちそうなURL

    Windows ServerのDNS機能は、なぜか資料が少ない。ネットを検索しても、ほしい情報はなかなか見つからない。油断すると、また最初から探してしまいそうなので見つけたURLをメモする。

    windows serverのDNSサーバ機能は、基本的にGUIで操作なので弄っているだけで設定できてしまったりもする。既に構築されているものだったら、比較的簡単に操作できるのけど、ちょっと凝ったことや別のサーバからDNSサーバを切り替えたりしようと考えると資料が少ない。今回調べているのは、そこら編の凝ったこと。調べていって、ある程度成果が出たら公開するつもりだ。(可能なら・・・だけど。)