接続ユーザ向けキャッシュDNS サービスレベル向上の取り組み ビッグローブ株式会社 システム基盤本部 1 © BIGLOBE Inc. 2015 ⾃⼰紹介 永末 喜己 ・2005年入社 ・2011年頃からDNS全般を担当し始める ・DNS、ミドルウェア、その他インフラ系の諸々を担当 2 © BIGLOBE Inc. 2015 ⽬次 • サービスレベル向上の取り組み システム構成紹介 物理レイヤ 作業ルール 攻撃対策 • こんなことがありました 3 © BIGLOBE Inc. 2015 構成概要 ユーザ群A primary seccondary ユーザ群B 均等に ロードバランス だいたい1:1で 分散 DC1 DC2 LB VM (bind) VM (bind) ホストSV ・・ LB VM (bind) VM (bind) ホストSV ・・ ・・ VM (bind) ホストSV 各ホストに分散配置 4 VM (bind) © BIGLOBE Inc. 2015 ・・ VM (bind) VM (bind) ホストSV ・・ ・・ 仮想サーバに異常があった場合 ユーザ群A LBから DC1 自動切離し VM (bind) DC2 LB VM (bind) ホストSV 5 ユーザ群B ・・ LB VM (bind) VM (bind) ホストSV ・・ ・・ VM (bind) VM (bind) ホストSV © BIGLOBE Inc. 2015 ・・ VM (bind) VM (bind) ホストSV ・・ ・・ ホストサーバに異常があった場合 ユーザ群A ユーザ群B 別ホストに 自動移動 DC1 DC2 LB VM (bind) VM (bind) ホストSV 6 ・・ LB VM (bind) VM (bind) ホストSV ・・ ・・ VM (bind) VM (bind) ホストSV © BIGLOBE Inc. 2015 ・・ VM (bind) VM (bind) ホストSV ・・ ・・ ロードバランサに異常があった場合 ユーザ群A ユーザ群B STBに自動 フェイルオーバ DC1 DC2 LB VM (bind) VM (bind) ホストSV 7 ・・ LB LB VM (bind) VM (bind) ホストSV ・・ ・・ VM (bind) VM (bind) ホストSV © BIGLOBE Inc. 2015 ・・ VM (bind) VM (bind) ホストSV ・・ ・・ データセンタに異常があった場合 ユーザ群A VMのCPU使用率 DC1 30~40% ユーザ群B DC2 LB LB CPU VM (bind) VM (bind) ホストSV 8 ・・ VM (bind) VM (bind) ホストSV ・・ ・・ VM (bind) VM (bind) ホストSV © BIGLOBE Inc. 2015 ・・ VM (bind) VM (bind) ホストSV ・・ ・・ データセンタに異常があった場合 ユーザ群A ユーザ群B DC1 DC2 LB VM (bind) VM (bind) ホストSV 9 ・・ LB VM (bind) VM (bind) ホストSV ・・ ・・ VM (bind) CPU VM (bind) ・・ ホストSV © BIGLOBE Inc. 2015 VMのCPU使用率 60~80% VM (bind) VM (bind) ホストSV ・・ ・・ 物理レイヤ • • • • 10 耐震/耐火/防水 防犯(入退室管理、監視カメラ等) 電源/回線等の冗長化 24H365日常駐監視、遠隔監視 © BIGLOBE Inc. 2015 システム変更時の作業ミス防⽌ • システムに変更を加える際は必ず手順書を作成 • 手順書を複数人でレビュー、上司による承認 • • • • 手順に誤りはないか バックアップの取得/削除は行っているか 作業後に正常性確認は行っているか 切り戻し手順はあるか • 作業は必ず複数人で実施 • 大きな変更作業は、影響の少ない装置から実施 作業ミスによるサービス断を防止 11 © BIGLOBE Inc. 2015 監視 • サーバリソース監視 CPU、メモリ、ロードアベレージなど • DNS応答監視 • ログ監視 • などなど サービス異常を迅速に把握・復旧 12 © BIGLOBE Inc. 2015 以上の対策で、通常はサービスに影響がでる障害は そうそう起こっていない 攻撃 一番の脅威は 攻撃対策を一部紹介 → 13 © BIGLOBE Inc. 2015 DDoS対策装置 • 緊急時にロードバランサの前段に投入 • Amp対策 特定IPアドレスからの大量クエリをドロップ • 水責め対策 “ランダム”.example.jp で攻撃が来ている場合、 「example.jp」をターゲットに設定 “ランダム”が10文字以上かつ200QPSを 超えた場合、40QPSまで流量を制限 ※数値は一例 14 © BIGLOBE Inc. 2015 DDoS対策装置のイメージ ユーザ群A DC1 ユーザ群B DDoS対策装置 DC2 LB VM (bind) VM (bind) ホストSV 15 ・・ LB VM (bind) VM (bind) ホストSV VM (bind) ・・ ・・ © BIGLOBE Inc. 2015 VM (bind) ホストSV ・・ VM (bind) VM (bind) ホストSV ・・ ・・ 拠点冗⻑による余剰リソースで防御⼒アップ ユーザ群A CPU60~70%程度の DC1 余力あり LB CPU VM VM VM (bind) (bind) ・・ (bind) ホストSV primary seccondary ユーザ群B DC2 LB CPU VM (bind) ホストSV VM (bind) ・・ VM (bind) ・・ VM (bind) VM (bind) ・・ ・・ ホストSV ホストSV 水責め発生当初は ・・ このおかげでほぼ影響なし 16 © BIGLOBE Inc. 2015 リソース増強(⼒技) CPU、メモリ増強 サーバ増設 ※仮想サーバはDNS専用のホストサーバではなく、 大量に存在するビッグローブサービス共用の ホストサーバに収容しているため、比較的容易に 実施可能 17 © BIGLOBE Inc. 2015 Bind脆弱性対応(7⽉ですし) • パッチ(新バージョン)展開の迅速化 脆弱性を攻撃される前にパッチ適用が必要 Jenkinsで自動ビルド、自動テスト(計画中) パッチ適用のルーチン化 • パッチ公開初日には、1拠点の主要なDNSにはパッチを適用 (あえて全台にはやらない) • 2日目~4日目で残りのサーバに適用 ISCとサポート契約(今はできていませんが…) • 一部サーバでUnboundを運用中 Bindでゼロデイが発生したらUnboundに置き換え 18 © BIGLOBE Inc. 2015 こんなことがありました 19 © BIGLOBE Inc. 2015 こんなことがありました • 海外の某権威DNSからフィルタされた 社内向けの一部DNSで特定ドメインを検索不可に 権威DNSのWhoisの連絡先に連絡してみるも無反応 つてをたどって、権威DNSの会社の人に連絡するも 「私は担当じゃないから」 権威DNSに乗っているドメインの会社(日本)に連絡 • その会社から権威DNSの会社にクレームが入り、原因が発覚 • 原因は権威DNS側の設定ミス 海外の権威DNSにフィルタされたら、DNS自体の運営会社ではなく その上に乗っている会社に連絡した方が反応がよさそう 20 © BIGLOBE Inc. 2015 課題 • 攻撃が絶えない 皆様の対策など、教えていただければありがたいです 以上 21 © BIGLOBE Inc. 2015
© Copyright 2024 ExpyDoc