ラベル dns の投稿を表示しています。 すべての投稿を表示
ラベル dns の投稿を表示しています。 すべての投稿を表示

2015年9月5日土曜日

VALUE DOMAINで CNAMEを設定するときの注意

参考:Easy Setup for VALUE DOMAIN Users

※最後のピリオドをわすれないように!

ピリオドを付けないとサブドメインと見なされて下記のようになってしまうので注意。


hoge.example.jpで、example2.comにアクセスできるようにしたい場合

cname hoge example2.com
と(最後にピリオドを付けずに)設定し、nslookupすると、
hoge.example.jp      canonical name = example2.com.example.jp.
Name:   example2.com.example.jp
となってしまう。

cname hoge example2.com.
のように最後にピリオドを付ければ、

hoge.example.jp      canonical name = example2.com.
Name:   example2.com
のように期待通りのCNAMEになる。

2011年3月24日木曜日

PHPで URLのホスト名(ドメイン)が存在するかチェックする方法

PHPでURLのホスト名(ドメイン)が有効なものかどうかをチェックする例。
file_get_contents()でignore_errorsをtrueにしてstream_context_create()してもホスト名が名前解決できなくてWarningが出てしまう問題に悩んでいる場合などにどうぞ。

$url = 'http://www.example.com/path';

$array = parse_url($url);

if ($array && $array['host']) {
    $ip = getHostByName($array['host']);
    $long = ip2long($ip);
  
    if ($long === false || $ip !== long2ip($long)) {
        echo '名前解決できなかった';
    } else {
        echo 'OK';
    }
} else {
    echo 'URLが正しくない';
}

DNSで名前解決できたらOKにしている。
また、ホスト名がIPアドレス(IPv4)の場合はどんなIPでも(たとえ255.255.255.255でも)OKにしている。

ip2long()で得た値をlong2ip()でIPアドレスに戻してチェックしているのは、ip2long()が「0.0.256」のような値を「0.0.1.0」などと解釈してしまうため。
参考:(IPv4) インターネットプロトコルドット表記のアドレスを、適当なアドレスを有する文字列に変換する - PHP 5.3 日本語マニュアル
ip2long() を、それ単体で IP の検証に利用するべきではありません。long2ip() と組み合わせて利用します。

<?php
// IP が有効であることを確認します。また、不完全な形式の IP を
// 以下で示すような正しい形式(ドットで 4 つに区切られている)に変換します。
$ip = long2ip(ip2long("127.0.0.1")); // "127.0.0.1"
$ip = long2ip(ip2long("10.0.0")); // "10.0.0.0"
$ip = long2ip(ip2long("10.0.256")); // "10.0.1.0"
?>


これはIPv4を使ってるけど、今後IPv6が普及したら...その時までにPHPも進化しているでしょう。


参考

2010年6月10日木曜日

DNS Rebinding(リバインディング)についての調査メモ

DNS Rebindingは質(たち)が悪いらしい

【White Hat Security調査】2010年に最も警戒すべき脅威は「DNSリバインディング」 : セキュリティ・マネジメント - Computerworld.jp
(補足)はてなブックマーク - ockeghemのブックマーク - 2010年3月19日



DNS Rebindingについてのわかり易い説明

DNS Rebinding | 鳩丸ぐろっさり (用語集)



DNS Rebindingを悪用する具体例

セキュリティ情報 - iモードIDを用いた「かんたんログイン」のDNS Rebinding脆弱性
ケータイtwitter(twtr.jp)においてDNS Rebinding攻撃に対する脆弱性を発見・通報し、即座に修正された - 徳丸浩の日記

これらの例ではLANではなく、携帯の「かんたんログイン」との合わせ技により脆弱性を突いている。



簡易テスト

「かんたんログイン」DNSリバインディング耐性のチェック方法 - 自分でできる - HASHコンサルティング徳丸浩の日記



サーバ側での対策




参考
untitled - Powered by Google ドキュメント

ブログ アーカイブ

tags