BIGLOBE資料

接続ユーザ向けキャッシュ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