• ベストアンサー

DNSのやり取りを安全にするには?

53番ポートの通信で、クエリにSQLインジェクションのようなものを混ぜてUTMをかいくぐるやり口があると某掲示板サイトで見かけたのですが、FortigateのようなUTMを家庭で導入していても同じようなことができてしまうのでしょうか?であれば、このような攻撃はどのように防げるでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

> こちら側のクエリ?に対する応答パケットをIPアドレスを(DNSサーバーのものに)詐称した上で送り付けられたら、 単純にIPアドレスだけの詐称ではだめで クエリとその応答にはIDがあって これが一致してないといけないのと ソースポート番号(53番の方ではなくて)も一致させて応答しないといけないのですが、 ソースポート番号に規則性のあるDNSキャッシュサーバーに対して ID(16bit)を総当りするという手法はありえて それが、DNSキャッシュポイズニングですね。 これは、プロバイダだけでなく家庭用のルータでも、 対策前のだとやられてしまう可能性はあるのではと思われます。 また、セキュリティーホールのある家庭用ルータに侵入されて DNSサーバーの設定を書きかえられてしまうと フィッシングサイトに誘導されてしまうので、これも怖いですね。

xdfsa11a
質問者

お礼

お礼コメント遅れてすみませんでした。フィッシングサイトも、表に上がっているのはちょっと本家とはずれた作りですが、裏にあるのは本当に同じといっていいほどの作りになってそうですね。 DNSキャッシュポイゾニングもどう防げばいいのか・・・ファームアップで対応できるといいのですが。

その他の回答 (1)

回答No.1

たしかに、DNSサーバーが攻撃を受けてサーバーがダウンしたとか、 さらにはDNSサーバーのプログラムに脆弱性が見つかっているのに そのまま放置していて、言われているような攻撃によって サーバーに進入されroot権限を乗っ取られたという事例はあります。 (SQLインジェクションとはちょっと違いますが) ただし、これはDNSサーバーを公開しているプロバイダやドメインリセラーや レンタルサーバーへの攻撃であって、 一般家庭でDNSサーバーを公開していることはないので 外部から家庭側へのDNSの攻撃については、考える必要はないでしょう。 (自宅にサーバーを設置して公開DNSとして運用している場合以外は) それに、独自ドメインで自宅サーバーを運用するにしても 今時はドメインリセラーが無料サービスしているDNSサーバーを使ったほうが、 たびたび発見されるDNSサーバーのセキュリティーホールの対策の作業から 開放されるし、運用も確実なので あまりDNSサーバーを自宅で運用している人も少なくなっていると思います。 一方、この攻撃方向とは逆の方向で、内部には悪意がなくても 家庭内のPCがウィルス感染していたり 脆弱性のあるルータのバックドアを踏み台にされて 家庭内からよそのサーバーを攻撃してしまうことはありえて、 この場合、外部からの通信を遮断するだけのFireWallだと 内部からの攻撃を通してしまうことになりますが、 内部からの通信も監視するようなUTMであれば、 それをブロックしてくれるという可能性は多少はあるでしょうけど 未知の攻撃方式だとスルーしてしまう可能性もあるわけで こういうものに万能を求めるのは無理でしょう。 そういう意味でも、PCだけでなくルーターやNASやネットワークTV端末 等々のPC以外のネットワーク機器の 脆弱性に関する情報(ニュース)を 気にしたほうがよいように思います。 昔、PCのセキュリティー対策はしっかりやっていたつもりだったのに 操作パネルに脆弱性のあるWindowsOSが搭載されたコピー機(複合機)が 社内に設置されていて、それをバックドアにされて、 社内LANに侵入されたなんていう怖い事例も、海外でありまたし。

xdfsa11a
質問者

お礼

詳細な回答ありがとうございます。実はソフトウェアルータを使っていたことがあるのですが、FWログを眺めていると、PCをルータにつなぎ始めた段階で53番ポートで激しく通信がされているのを見て、こちら側のクエリ?に対する応答パケットをIPアドレスを(DNSサーバーのものに)詐称した上で送り付けられたら、例えばgoogle.co.jpのアドレスに飛ぶつもりがマルウェアなどの悪意あるページに飛ばされるのでは・・・と思ったことがあります。このようなことは可能なのでしょうか?あり得る話ではないかな・・・とは思うのですが、素人ながら技術的に可能かどうかもやもやし続けていた疑問です。 それと、一度ウィルスに感染したら同じLAN内のPCはみなやられていると思っているのですが、BIOSにまで感染したらどうにもならないという記事を読んだことがあります。この手法も、技術的・手間的にどれぐらいのハードルがあるのかはっきりせず、もやもやしている疑問です。開発するのに一人で半月ぐらい掛かればできる所業なのか、それとも数千万円の巨費を投じて複数人で長い期間取り組まないと実現できないことなのか、よくわかっていないのです。

xdfsa11a
質問者

補足

DNSサーバーへの攻撃に関しては、サーバーは運用していないのでだいじょぶそうですね。コピー機にバックドアなんてこともあるんですね、BDレコーダーに仕掛けられてたなんて話も読んだことがありますが、やっぱりSCANとかの有料サービスに登録して情報収集をちゃんとしておいた方がいいかもしれませんね。 UTMはFortigateやSnortを使ってみていたことはあったのですが、素人ながらやってはみたもののきっちりとはできませんでした。アラートがならなかったり、誤検知がありすぎてネットどころではなくなったり。難しいものですね。

関連するQ&A

  • Webページの改ざん手法について

    クロスサイトスクリプティングとSQLインジェクション攻撃の違いを教えて頂きたいです。 よろしくお願いいたします。

  • XSS、CSRF、SQLインジェクションについて

    XSS、CSRF、SQLインジェクションをそれぞれ簡単に説明すると、 XSS・・・動的なWebサイトにおける入力フォームの脆弱性 CSRF・・・ユーザーになりすましてWebサーバーにリクエストすること SQLインジェクション・・・アプリケーションが実行するSQL文に変なものを注入して、意図しない 動作をさせる攻撃のこと で正しいですか?

  • SQLを直接フォームから入力するプログラムについて

    HTML+CSS+PHP+MySQLで「SQL実習サイト」を作っています。 SQLを入力し、その結果を確認するという学習用のサイトです。 現在はXAMPP上で動かしているだけですが、上手くできたらWeb上に上げる予定です。 質問は、そのサイトでのSQLインジェクション対策についてです。 作成している「SQL実習サイト」では、フォームにSQL文を直接入力してもらい、そのままその SQL文をPHPで実行するようにしています。 具体的には、POSTで自分自身(index.php)にSQLを送信し、それをクエリとして実行しています。 <h2>SQL入力</h2> <form action="index.php" method="post">     <textarea name="input_sql" cols=38 rows=3></textarea>     <input id="sql" type="submit" value="SQL実行"> </form> (~略~) $_SESSION['jikkou_sql'] = $_POST['input_sql']; (~略~) $sql = $_SESSION['jikkou_sql']; $query = mysql_query($sql, $conn); IPAの「安全なSQLの呼び出し方」等から調べると、SQLインジェクション対策としては プレースホルダ(プリペアド・ステートメント)が有効だとありますが、 作成しているケースだとSQLを直接実行するのでプレースホルダが使えない気がします。 「SQL実習サイト」ではSELECT文のみ実行できるようにしたいと考えています。 入力してもらったSQLの中で「SELECT」を探すようにして自作のSQLインジェクション対策を 行えばよろしいのでしょうか?(DELETEやUPDATEがあれば無効化したり・・・) それとも、そもそもこのような使い方ではSQLインジェクション対策はできないのでしょうか? ご教授よろしくお願いします。

    • ベストアンサー
    • PHP
  • SQLインジェクションの攻撃方法

    SQLインジェクションの攻撃方法を教えて下さい。 自分で自分のサイトを攻撃してみようと思ってます。 実際攻撃されたらどうなるか現実をみてみたいです。 自分で調べてみて下記を見つけました。 http://d.hatena.ne.jp/nagakura_eil/mobile?guid=on&date=20090419

  • FW機器を交換したらサーバ応答が無い

    いつもお世話になっております。 このたび社内NWのファイアーウォール機器をSSG5からFotiGate40Cに移行する ことになりました。 DMZ内にはWindowsのWEBサーバ、Linux(Redhat)のDNSサーバと メールサーバ(SendMail)が入ってます。 各種設定をFortiGateに施しSSG5と入れ替えたところ、メール送受信が 接続は確立するものの、移行の通信がタイムアウトになってしまいました。 パケットを採取しFortiGateサポート担当の方に見てもらったところ、 「FortiGateからメールサーバへはちゃんと通信しているが、サーバから応答が無い」 ということが判明しました。 そこでお教えいただきたいのですが、FW機器が変わることでメールサーバーが 応答しなくなる原因について考えられることはどういったことがありますでしょうか? 確認事項のコマンドなども教えていただければ幸いです。 これまでの背景や調査結果、設定状況を以下に列挙します。  ・SSGの設定をした社員は、パスワードを告げずに失踪。  ・メーラーにはPOP3(110番)とSMTP(587番)を設定。ユーザ認証あり。暗号化無し。  ・FortiGate移行後も、WEB閲覧、および、DNSによる名前解決は出来ている。  ・LAN内からメールサーバーにTELNET接続を試みた場合、110番ポートはOKだが   587番ポートは接続不可となる(SSGとFortiGate両方とも)  ・↑をDMZ内からのマシンから実行しても同様の結果になる。  ・メールサーバ内でTELNET接続すると、587番でも接続可能(当たり前か・・・) SSGの中身はパスワード不明なので見れないのですが、 これまでの流れから、各種IPアドレスやFWポリシーはSSGとFortiGateで差異は ないと考えています。あとはメールサーバ内のFW設定が怪しいのかな?と 思うのですが、メールサーバがSSGとFortiGateを区別するのも無理な話のはず。 よって、手詰まりの状態です。 どうぞよろしくお願いいたします。

  • LinuxでFW専用マシンを構築したいのですが…

    通信記録のログ取りと80番、443番など使いたいポート以外は閉じておくようにできれば十分です。が、ウェブで探してみてもなかなかそれらしいサイトが見つからず…。参考になるサイトを教えていただけると有難いです。よろしくお願いします。

  • 情報の流出とは?

    いろんなサイトがサイバー攻撃を受け個人情報が流出というのをよく見かけますが実際に 不正アクセスの有無をどのように判別しているのでしょうか? 想像できるのは管理画面からログインする際に必ずログを残すようにしてそれを基準に判別? と思うのですが攻撃者がそのような手順を踏むでしょうか? sqlインジェクションによりテーブルを削除する事ができるようで情報の流出を防ぐには この対策をしっかり行うしかないと思うのですが今後の参考までにできるだけ詳しい情報を 頂けますと幸いです。宜しくお願い致します。

    • 締切済み
    • PHP
  • Outband Port 25 Blockingについて

    お世話になります。 最近プロバイダが導入している「Outband Port 25 Blocking」ですが、私はてっきりそのプロバイダのメールサーバ-を使う時のメールソフトの設定(デフォルトの25番ポートをプロバイダ指定のポートに変更)に関係するだけだと思っていたのですが、そうではなくそのプロバイダを使っているクライアントから発せられる25番ポートへの通信をすべてブロックするということなのでしょうか? 例えば「「Outband Port 25 Blocking」」を導入しているプロバイダに接続している自宅のPCからtelnetコマンドで会社のメールサーバーの25番ポートに接続してSMTPコマンドで通信することができない。ということは自宅に自前のメールサーバーを立てても単純には外部にメールを送れないということ?(送信先がスパム対策などで送信元を逆引き等で調べたりしないとして)。

  • ウイルスバスター2006の事で質問です。

    現在ウィルスバスター2006を使っているのですが、 先日までは攻撃されてもポップアップが表示されなかった 送信先ポートが攻撃された際に (攻撃されたのは1434番ポートです) 「リアルタイム検索でネットワークウイルスを 検知し侵入をブロックしました」 「MS02-039_SQL」というポップアップが 何度も出てくるようになってしまったのですが これはウィルスバスターを最新版にアップデートした事により このような現象が起こっているのでしょうか・・・。 ポップアップが出ないようにする方法は知っているのですが 今まで攻撃されても「ネットワークウィルス」と表示された事は なかったのですがこれもアップデートした ために表示が変わったのでしょうか。 乱文で申し訳ないのですがどなたかご解答頂けないでしょうか。

  • 不審な通信のログ

    ルーターマシンに FreeBSD 8.1-RELEASE を使用しています。ファイヤーウォールを設定しなおしたら、次のような通信の拒否のログが残っています。。 Jul 16 02:39:10 shonan kernel: ipfw: 29300 Deny UDP 192.168.1.3:137 38.108.104.170:137 in via bge0 家庭内の 192.168.1.3 のマシンの 137 番ポートから 38.103.104.170の137番ポートに UDPで通信を試みています。192.168.1.3 (Windows 7) のマシンで netstat -nb して通信しようとしているプログラムを特定しようとしているのですが、わかりません。この通信を止めるにはどうしたらいいでしょうか。ご教示頂ければ幸いです。よろしくお願いします。