この記事の続きです。

与ダメージ2000万ダメージを乗せました。(正確には20,229,707)です。

DLC『ロスカ島』に対しても8,318,537ダメージ与えています。
再現性、ほぼ確定。詳細な記事は改めてご紹介します。
この記事の続きです。

与ダメージ2000万ダメージを乗せました。(正確には20,229,707)です。

DLC『ロスカ島』に対しても8,318,537ダメージ与えています。
再現性、ほぼ確定。詳細な記事は改めてご紹介します。
ブログ読者様より、興味深つ鋭い検証ログをいただきました。
「エイビスコールの使用回数によってアカシアの原典のダメージが変化する」
というものです。
しかし、ゲーム内の仕様上、エイビスコールのバフは「重ねがけ(重複)」ができないはず。
では、なぜダメージが段階的に跳ね上がり、時に反落したのか?
その謎を徹底検証したところ、ライザの隠されたパッシブスキルとアイテムラッシュの仕様が浮き彫りになりました。
読者様が難易度LEGENDの「ライノフィーンド」を相手に、ライザ単体・時空の天文時計なしで計測された実測ログがこちらです。
エイビスを1個から2個に増やすと約8.9万まで跳ね上がるものの、3個にすると7.8万付近へ低下する。
一見すると「エイビスの効果が累積しているのか、それとも別の法則があるのか?」という疑問は確かに謎です。
大前提として、エイビスコールが付与するステータスバフの挙動を確認します。

つまり、アイテム自体の攻撃力上昇や属性ダメージ補正が2重・3重に乗ることはシステム上できません。
しかし、この計測データがある以上、「エイビスコール以外の変数」が裏で動いていると考えてみます。
ここで浮上した真犯人が、ライザの固有パッシブスキル『錬金術の真髄』です。

スキル効果:
「アイテムラッシュ時、アイテムを選択するごとに、アイテムの威力が増加する」
ライザの初期コアチャージ(CC)上限は3。
このパッシブが存在するため、同一ターン内でアイテムを連続選択(ラッシュ)すると、後ろに選択したアイテムほど威力が跳ね上がります。
これは検証いただいた方の検証の詳細の仮説です(間違っていたら申し訳ありません)
乱高下の原因は、バフの増減ではなく「ラッシュの何枠目でアイテムを発動したか」という選択順の差であると考えていきます。
この仮説を立証するため、料理「レッドチリスープ(戦闘開始時CC追加)」を使用して開幕CCを4に拡張し、完全同一ラッシュ内でのダメージ推移を精密測定しました。

エイビスコール×1のダメージ値

エイビスコール×3の後のダメージ値

| 投入パターン(同一ラッシュ内) | 叩き出したダメージ | 前回からの増加量 | 増加率(リニア検証) |
|---|---|---|---|
| エイビス × 1 → コアアイテム | 703,931 Damage | 基準値 | — |
| エイビス × 2 → コアアイテム | 731,770 Damage | +27,839 | 約 +3.95% |
| エイビス × 3 → コアアイテム | 761,585 Damage | +29,815 | 約 +4.07% |
結果は驚くほど綺麗な完全線形(リニア)となりました。
アイテムを1つ手前に挟む(選択順を1つ後ろにする)ごとに、ダメージが約2.8万〜3.0万(約4.0%刻み)で正確に等差増加しています。
読者様の環境で起きていた微増も、クリティカル等のノイズを排せば、全く同じ「1回あたり約4%」の真髄ボーナスによるもの(×1.25倍)を抜くときれいに計算が合います。
「本当に『錬金術の真髄』によるものなのか?」
この証明を盤石にするため、ライザと同じ器用さ99・アルケミストLv.97に揃えた師匠・アンペルを用いて全く同一の対照実験を行いました。

アンペルは「錬金術の真髄」を持っていません。

差分: -5,145(完全な乱数誤差の範囲内)
アンペルの場合、エイビスを1回撃とうが2回撃とうが、ダメージは約69万で完全に横並びとなりました。
これにより、以下の2点が確定しました。
同等のステータスやロールレベルであっても、コアアイテムの瞬間最大火力においてライザが他の錬金術士を圧倒できる真の理由は、この「アイテムラッシュを組むだけで倍率が伸びる錬金術の真髄」にありました。
アイテムで極限ダメージを狙う際は、単にバフをかけるだけでなく、「低消費CCのバフ・デバフアイテムでラッシュ枠数を稼ぎ、本命の攻撃アイテムを3〜4枠目に配置する」ことというのが結論と言えます。
ここを起点にした「コアアイテムを補助的に使うキャラクターがスキル強化にしたらどうなるか?」の確認。
を実施した形で、
こちらのクリムゾンアームズ(ネメド北西)に挑みます。

スキル特化型でカイザーエンフォースをぶっ放した場合

効果は目に見えて明らか。361,118ダメージ。

続いて秘密の鍵「スキル強化・神域」とした場合は

684,033ダメージです。
| 比較検証項目 | ステータス特化型(A系統)(攻撃力 3207 / ブレイバー 97) | スキル・FD特化型(B系統・改訂版)(攻撃力 2577 / ブレイバー 72) | 格差・実数値の差分 |
| ① 素撃ちFDダメージ (エイビス・ラブリー・T-Lv5) | 216,551 Damage (敵HP 259,495 に対し未撃破) | 361,118 Damage (敵HP 229,035 を一撃粉砕) | +144,567 Damage (約1.67倍へ上昇) |
| ② 秘密の鍵バフ込みFD (生命のゆりかごの鍵等) | 413,171 Damage (余剰撃破) | 684,033 Damage (余剰約46万の大爆発) | +270,862 Damage (約1.66倍へ上昇) |
| ③ 鍵バフ単体による伸び率 (素撃ち → 鍵ブースト) | 約 1.91 倍 (216,551 → 413,171) | 約 1.89 倍 (361,118 → 684,033) | ほぼ同一の伸び率 (約1.9倍の乗算枠) |
検証結果の通り、ステータス特化型とスキル特化型のどちらにおいても、「秘密の鍵(与ダメージ+50% + 全能神域 + スキル神域)を噛ませた際の上昇率」は完全に一致して【約1.9倍(1.89〜1.91倍)】となっています。
ここから、ライザ3のバフ計算式は「高い数値への上書き」ではなく、以下の多重乗算構造であることが証明されます。
最初に疑問を戴いた
- ●A系統
- 攻防
- 攻速
- 防速
- 全能
- ●B系統
- スキル強化++
- スキル強化+
- スーパースキル
の2つの系統
の2つに関しては「B系統の方がダメージが乗る」という結論です。
筆者のやり方はあくまでも「先んじて敵を屠る」タイプですから、この先制での圧倒的なダメージが乗る「スキルで戦うキャラクターはスキルを活かす調合をした方がいい」という結論ですが、例えば
などの条件を加えれば、この結論が真ではないということもあり得ます。
この記事の分岐として、ボオスが「スキルダメージ特化型」にした場合、どういうステータスになるかを確認してみます。

の3つでソードマスター入りの武器を納品し、入手できるグランツオルゲン。
を用います。

今回使うのは賢者の石の必須素材、エーテルコア。これをリンクコールすることで「スキル強化」が見込めます。

超特性はウルトラスキル:威力50%上昇。


| 項目 | 1. リビルド完了時 (Lv.85) | 2. 装備強化完了時 (Lv.85) | 3. ボオス装備・最終ステータス |
| ランク / 品質 | S / 999 | S / 999 | S / 999(装備品質: 200) |
| 属性 / 属性値 | 氷・雷 / 5 | 氷・雷 / 5 | 氷・雷 / 5 |
| HP | 131 | 135 | 1262 (基礎 1314) |
| 攻撃力 | 273 | 382 | 2577 (基礎 3207) |
| 防御力 | 122 | 123 | 2384 (基礎 2824) |
| 素早さ | 206 | 218 | 3333 (基礎 3863) |
| ロール | — | — | ブレイバー(Lv. 72) |
| 項目 | ステータス特化型(A系統) | スキル・FD特化型(B系統) | 減少幅・差分 |
| 武器単体攻撃力 | 649 | 382 | -267 (-41.1%) |
| 武器単体素早さ | 369 | 218 | -151 (-40.9%) |
| 最終HP | 1314 | 1262 | -52 |
| 最終攻撃力 | 3207 | 2577 | -630 (-19.6%) |
| 最終防御力 | 2824 | 2384 | -440 (-15.6%) |
| 最終素早さ | 3863 | 3333 | -530 (-13.7%) |
| ロール値 | ブレイバー Lv.97 | ブレイバー Lv.72 | -25(証を外した影響) |
後は、この数値が本当かどうかの確認を行います。
ここからの分岐として、ボオスのステータス特化型の武器を作りました。
そこで、スキルダメージを乗せていくことにします。
検証と言うからには、「かなり手こずる敵」が必要です。そこで選んだのがラムロースト4号で敵の姿を変えることでしたが

ここで仕様が判明。ラムロースト4号のパラメータは「Normal」をそのまま踏襲しているため、攻撃力もHPも参考になりません。
「通常攻撃で即死する」のは概念実証になりません。なので「実物」と戦うことにしました。
即ち、

この魔物、クリムゾンアームズがいるネメド地方、最奥へ続く跳ね橋。
https://atelier.reisalin.com/issues/223
ここでの戦いを行います。
ここは、バフとデバフを使います。というのも、ライザが1000万ダメージ(注:魔物3匹の総合計)を当てたときの
エイビスコールと

ラブリーブロッサム。

この2つを合わせることは「そこからのコアアイテム」と「フェイタルドライブ」の軸を合わせるためには必須要素です。
フェイタルドライブ、カイザーエンフォースの結果。


討伐ならず。4.3万ほど残りました。

今度は、白楼の鍵で得た「スキル強化・神域」を使います。

その場合はしっかりと倒しきることができました。(むしろ余剰ダメージ)
ここから以下の表が導き出されます。
| 検証パターン | 鍵バフ・付与状況 | 叩き出したダメージ | 討伐結果 | 考察・実戦評価 |
| パターン1(素撃ち) | なし(事前アイテムバフ・デバフのみ) | 216,551 Damage | 討伐失敗(HP約4.3万残り) | HP25.9万に対しミリ残りで耐えられ、先制一撃で屠りきることができない。 |
| パターン2(鍵ブースト) | 生命のゆりかごの鍵 ・与えるダメージ +50% ・全能のシンボル・神域 ・スキル強化・神域 | 413,171 Damage | 完全殲滅(一撃粉砕) | ダメージ量が約1.9倍。余剰ダメージ15万以上。 |
とても有意義な結果となりました。つまり、
「ステータス特化型の武器」はバフが乗らない限り強敵は倒せないという結果。
この、現状(AS-IS)を知ることが「本来のスキルを当てるキャラクターの理想(TO-BE)を知る」ことに繋がるので。
ここから端を発した思考実験をやってみます。
即ち
「コアアイテムを補助的に使うキャラクターはスキルダメージがどこまで乗るのか?」
という、今まで考えてすらいなかったテーマ。その概念実証:POC(Proof of Concept)に臨みます。
コメントを戴いた方がボオスを強くするという目的でしたので「ちょうどいい。こちらも余り使っていなかった」ということでロストアルカードを作ることにしました。

ライザ3DXをトロコンしておきながら、今回の検証で初めて調合したあたりが「いかに使っていなかったか」がわかります。
まずはグランツオルゲン(攻防強化 / 攻速強化 / 全能力強化)をぶち込みます。

秘密の鍵はDLC「ロスカ島」で得た新瀬在図効果の「全能力上昇・神域」。レシピLvが合っていませんが、それをさしおいても、このパラメータ上昇は段違いです。

この通り。
| 項目 | 条件一致を優先した鍵(時を統べる者の鍵) | 実際に採用した鍵(神翼の支配者の鍵) | 差分・優位性 |
| モチーフ / レアリティ | 歯車(条件Lv.2一致) / スーパーレア | 羽根(条件Lv不一致) / スーパーレア | — |
| シンセサイズ効果 | 風属性値増加・強 | 全能力上昇・神域 | 圧倒的な基礎ステータス補正 |
| HP補正 | 9 (+12) | 9 (+56) | +44 の大幅リード |
| 攻撃力補正 | 52 (+56) | 52 (+63) | +7 上回る |
| 防御力補正 | 0 (+12) | 0 (+56) | +44 の大幅リード |
| 素早さ補正 | 0 (+56) | 0 (+63) | +7 上回る |
| 総合ステータス上昇量 | 合計 +136 | 合計 +238 | 実数値で「+102」 |

他のマテリアル環には目もくれずグランツオルゲンだけを入れて調合。

リビルドで発現。ここは、本来のアタッカーの証を「アタッカーの証が発現する」古の闘剣を入れます。なぜなら、これをリンクコールすることで「攻撃力」のマテリアル環が発現するからです。
装備強化による能力上昇は

スキル強化+HP回復を持つドンケルハイト

そして、クリティカル時のダメージを上乗せする巨大なツメ(立派な切れ味)です。
最終的な数値の変遷はこんな感じです。

こちらがそのステータス。アタッカーLv.を重ねたことで、ブレイバーLv.がそのまま乗ります。つまり、「ロールレベルに応じて全能力が上昇」の恩恵に与ることができます。
| 項目 | 1. 調合完了時 (Lv.48) | 2. リビルド完了時 (Lv.82) | 3. 装備強化完了時 (Lv.82) | 4. 秘密の鍵込み全ステータス (ボオス最終) |
| ランク / 品質 | B / 999 | S / 999 | S / 999 | S / 999(装備品質: 200) |
| 属性 / 属性値 | 氷・雷 / 3 | 氷・雷 / 5 | 氷・雷 / 5 | 氷・雷 / 5 |
| HP | 131 | 181 | 187 | 1314 |
| 攻撃力 | 258 | 523 | 649 | 3207 |
| 防御力 | 122 | 272 | 273 | 2824 |
| 素早さ | 206 | 356 | 369 | 3863 |
| 発現ロール | — | — | — | ブレイバー(Lv. 97) |
という形。
まずはこのベースモデルができたことで、
「このステータス特化型」ボオスと、今後作ることになる「スキル特化型」、どこまでダメージを乗せることができるかの下地が完成です。
2年ほど前に公開した「ボオス&クラウディア」の調合記事に対し、システムへの深い探求心に満ちたご質問コメントをいただきました。
まずは、お寄せいただいたコメントをご紹介します。
【読者様からのコメント】
3点ほど、助言いただけたら幸いです。
1.武器の特性・超特性に対して
2.ロールに対して
3.属性防御について
1.武器の調合に関してですが、
●A系統(攻防 / 攻速 / 防速 / 全能)
●B系統(スキル強化++ / スキル強化+ / スーパースキル)
の2つの系統に対し(他もある?)、今日の時点でA系統の強化しかしていないです。
よく攻略記事などで「最強武器」などは謳われていますが、それは「自分で操作する前提」「サポートモード」「アグレッシブモード」のどれにおける最強なのかというのがわからないなぁと思っています。
どうやって特性・超特性を決めていくのか、効果の計測方法はどんな感じでやっているのかなど知りたいです。
2.ロールについての理解が全くできてないです。。
たまにロール60みたいな画像が載っている記事を見ますが、私はロールが5とか7とかまでしか上がりません。そもそも役割もわかっていません。
ロールはどうやって60などに高めるのでしょうか?そうすると、何が変わるのでしょうか?
3.属性防御について
ボオスだけはなぜかステータス画面で属性の耐性に色がついていますが、なぜついているのかもわかりません。他の10人は色がついていないので、低耐性だと思います。もっとちゃんとした耐性の付け方があるのだと思います。(※その割にボオスは撃たれ弱すぎます。。)
11人全員に、渡り鳥のお守りをつけています。この渡り鳥は当然すべての効果を開放できています。14賢者、11クリスタルエレメント、その他、竜素材や動物素材にいたるまで可能なカテゴリの影響拡大中間生産物は作ってあるので。
基礎を完全に理解されているからこそ突き当たる、非常に鋭く本質的な疑問です。
そこで今回は、いただいた3つの疑問に対して小手先の回答で終わらせるのではなく、「筆者が実施している調合方針」を解き明かす形で、徹底的に解説してみたいと思います。
本記事では、以下のステップに沿って順を追ってロジックを展開していきます。
読者様のヒントになれば幸いです。
それでは、まずは「渡り鳥のお守り」の設計から見ていきましょう。

| 項目 | 値 | 備考 |
|---|---|---|
| 装飾品名 | 渡り鳥のお守り | ランクS / Lv.39 |
| 装備可能者 | 全員(11人) | ボオス装備中 |
| 属性 / 属性値 | 風・雷 / 4 | |
| 品質 | 999 | |
| HP | 145 | |
| 攻撃力 | 492 | |
| 防御力 | 237 | |
| 素早さ | 499 |
筆者は上記の例で言う「A系統:ステータス振り切り」でやっています。理由は
「コアアイテム主体で戦うため、敵より素早さを上げて先制攻撃で屠る」
ためです。
そのため、グランツオルゲンは
を特性に選んでいます。ちょっとしたTIPSとして
そのため、武器や防具でグランツオルゲンを作る際は、筆者は上記を組み替えています。
ここでのポイントはシンセサイズキー「属性追加:雷」を使うこと。

これにより、グランツオルゲンには全属性が付与され、どの属性であっても「金属」のマテリアル環を発現できます。
影響拡大+4を持つ気体。渡り鳥のお守りでの調合/リビルド時にマテリアル環を一気に発現させます。

ここでのポイントはシンセサイズキー「属性追加:風」を使うこと。渡り鳥のお守りのマテリアル環は風属性が多いため、調合レベルをあまり上げずに一気に効果を発現できるからです。
各地のランドマークを回り、○○上昇・超 をそろえておきます。(もちろん、DLCで白楼の鍵を手に入れているのであれば、○○上昇・神域が望ましいです)
秘密シリーズの定跡、下位素材から調合していき、最終的な投入回数を増やします。

※このシンセサイズキーのパラメータ(ステータス)上昇は、レシピ変化で装飾品に変わったときにそのまま引き継がれます。
を入れます。


金属のマテリアル環で、先に述べた「グランツオルゲン(攻速強化、防速強化、全能力強化)を、「調合回数残り1」になるまで入れます。
というのも、渡り鳥のお守りで入れられるステータス上昇系のインゴットは、ステータス上昇がやや弱いクリミネアしかないからです。
導きの鳥の羽を入れてレシピ変化をします。


条件は
※TIPS※「ソーサリーローズ」は「気体」を持つクロース系なので、投入に余裕があるなら、これを入れてのステータスアップも見込めます。
この段階での渡り鳥のお守りがこちらです。
ステータス
| 項目 | 値 | 備考 |
|---|---|---|
| 装飾品名 | 渡り鳥のお守り | ランクS / Lv.13 |
| 装備可能者 | 全員(11人) | 初期調合完了時点 |
| 属性 / 属性値 | 風・雷 / 4 | |
| 品質 | 999 | |
| HP | 142 | |
| 攻撃力 | 441 | |
| 防御力 | 237 | |
| 素早さ | 436 |
効果・特性・超特性

この段階で超特性の気体(英雄の心得)を入れます。残りの効果を発現させていきます。

| 項目 | 初期調合完了時 (Lv.13) | アイテムリビルド完了時 (Lv.39) | 変化・進化ポイント |
|---|---|---|---|
| HP | 142 | 142 | 変動なし(初期投入素材で完成済み) |
| 攻撃力 | 441 | 441 | 変動なし |
| 防御力 | 237 | 237 | 変動なし |
| 素早さ | 436 | 436 | 変動なし |
| アイテムLv | Lv.13 | Lv.39 | リビルド投入により上昇 |
| 効果1 | 安全祈願・極 | 安全本願 | ランクアップ発現! |
| 効果3 | ダメージ軽減+10% | ダメージ軽減+20% | 被ダメージ軽減が10%強化! |
| 超特性 | なし(空き枠) | 英雄の心得 | アタッカーレベル上昇が付与 |
既に効果テーブルは埋まっているので、適当にステータスが上がる中間素材(マスターレザー)を入れました。ドレッドレザーがあれば更に上がると思います。
が筆者の武器の調合法です。
ステータス決定論:A系統(ステ盛り)vs B系統(スキル特化)の真実
(※なぜ私はA系統に寄せるのか? アイテムダメージ200万超を叩き出すための相乗効果)
を書いていこうと思います。
が揃ったブルリフQ。そこの実績である「やみを統べるものを統べる者」解除。一筋縄ではいかなかったので、そのメモ書きです。
初代ブルリフ、フリスペ(作中内スマートフォンアプリ)に入っているミニゲーム。

簡単な選択肢を選ぶことで魔物のステータス
が増減。そのたびに「しあがり」がカウントアップ。ステータスに応じて魔物の姿が変化していき、仕上がりが全て埋まったら(10回ステータスを変化させたら)クリア。
「ステータスを全て上げてからストレス以外のステータスをゼロ/1以下にする」
というパラメーター調整に他なりません。しかも、選択肢は10回。画面の切り替わりがお世辞にも高速とは言えず、更に「エリアを3回遷移しないと次の選択肢に切り替わらない」のもめんどくささに拍車がかかります。
この実績は第三章のフリー期間から解除可能です。

筆者はこの中庭を選びました。というのも、左に進めば

1F廊下に切り替わり、そのまま左に進むことを繰り返すことで、次の選択肢が出てくるからです。
これが一番大事です。

初期値が極めて高い個体がでるまでセーブ&ロード(リセマラ)を繰り返します。
が基準点です。

赤い■がステータスアップ(しあがりのカウントアップ)、青い■がステータスダウンとなります。
最初の段階で、ストレス以外のステータスを全て5まで持って行きます。
このとき、□やYボタンなどで「選択肢を変えられる」のがポイントです。効率的に上げる、下げるを繰り返します。

クリアできるかどうかは「しあがり」が3のところで
が5になっていること。

ここからはステータスを下げる選択肢を選び続けます。「一度に3ステータスダウン」が目標です。
また、ストレスを上がっていると、ステータスがダウンしやすい傾向にあるようです。

こうして、しあがり8の段階で
まで下がりました。

しあがり「9」で『ネクラノミーコ』に変化すれば最終形態。晴れて実績解除になります。
方法そのものはなんてこと無い作業ですが、非常にストレスフルな実績で、「なんで無印で苦労した(実際解除できませんでした)地獄がQで残っているんだ……」と軽く絶望しました。
MtGやDMを遊んだことがあるのであれば聞いたことがあるだろう
「カードはルールに勝つ
(カードの効果とルールが直接矛盾した場合、カードの効果を優先する)」
という大原則。
「カードを2枚引く」
というシンプルなテキストであっても、通常、プレイヤーは1ターンに1枚のみカードを引くと言うルールがありますが、カードにそう書かれていればそのルールを無視した挙動が可能になります。
一見すると乱暴な言葉ですが、実際にはゲームデザイン上もっとも重要な考え方の一つです。
基本ルールは全員共通。しかし、カードには「この場合だけは例外」が書かれています。だからこそ何万種類ものカードが共存できます。
実は、この考え方は ModSecurity にも、そのまま当てはまります。
今回、私がModSecurityに導入している「REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf」について解説します。
ModSecurityで本格的な防御を行う際、多くの人が「OWASP CRS(Core Rule Set)」という、世界中のセキュリテイ専門家が作った強力な既製ルール集を導入します。
CRSは非常に優秀ですが、何千もの緻密なルールが詰まっているため、上から順にすべてをチェックするとそれなりの処理コスト(CPUやメモリ)がかかります。
また、これは非常にデリケートでガチガチなので
だけで「こいつは怪しい動きをしている」として、アクセスそのものを遮断する「偽陽性」が発生します。
そこで、膨大なCRSの本体を書き換えることなく
などの「デッキを作るような感覚で」膨大なCRSを制御する方法として用意されているのが、REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf(以下、900番BEFOREルール)です。
筆者環境の場合は
/usr/share/modsecurity-crs/coreruleset/rules配下のREQUEST-900-EXCLUSION-RULES-BEFORE-CRS.confですが、
/home/hoge/script/REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf
など、自分がメンテナンスしやすい位置にこのファイルの実体を置いておき、ln -sfでシンボリックリンクを張る方が非常に簡単です。というのも、「このデッキ調整」はデリケートな作業なので何回も何十回も調整が必要になります。そのたびに深い階層を掘ってファイルを編集するのは効率的ではありません。
とはいえ、シンボリックファイル is Evil だったりrootアカウントしかないとかいう方はいるので流儀に合わせてください。
筆者が実際に使っている中で最も効果的なルールがこれです。
# IPアドレス直打ちアクセス対策
SecRule REQUEST_HEADERS:Host "@rx ^[\d.]+(:\d+)?$" \
"id:10004,\
phase:1,\
deny,\
status:404,\
log,\
msg:'[CUSTOM RULE] Host header is a numeric IP address (incl port). Blocked immediately.',\
tag:'application-attack',\
tag:'PROTOCOL_VIOLATION/INVALID_HREQ'"
# Hostヘッダーが存在しない場合は即ブロック
SecRule &REQUEST_HEADERS:Host "@eq 0" \
"id:10005,\
phase:1,\
deny,\
status:404,\
log,\
msg:'[CUSTOM RULE] Missing Host Header. Blocked immediately.'"
以下、実際に私のサーバにアクセスしたログです。
# 例①:Hostヘッダー自体が存在しない(欠落)
[ security2:error] ModSecurity: Access denied with code 404 (phase 1). ... [file "/usr/share/modsecurity-crs/coreruleset/rules/REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf"] [line "72"] [id "10005"] [msg "[CUSTOM RULE] Missing Host Header. Blocked immediately."]
# 例②:Hostヘッダーがドメインではなく「IPアドレス直打ち」
[ security2:error] ModSecurity: Access denied with code 404 (phase 1). ... [file "/usr/share/modsecurity-crs/coreruleset/rules/REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf"] [line "63"] [id "10004"] [msg "[CUSTOM RULE] Host header is a numeric IP address (incl port). Blocked immediately."]
という形で、ModSecurityの背後にあるコンテンツに一切触れさせることなく追い払うことができます。
ありません。断言します。なぜなら、ローカル運用ならいざ知らず、ドメインで動くモダンインターネットにおいて
http://203.0.113.6
などと直打ちするケースはほぼありません。なので、IPアドレス直打ちはほぼ確実に「膨大なIPをしらみつぶしに探し回るボット」です。
そして、Webサイトを閲覧するとき、ブラウザとサーバーの間では「データの荷物」がやり取りされています。この荷物は、大きく分けると「ヘッダー(Header)」と「ボディ(Body)」の2つで構成されています。
郵便に例えると、以下のようなイメージです。
普段目にするWebページは「ボディ」ですが、それを正しく届けて表示するためには、不備のない「ヘッダー(封筒の表面)」を付与するというのがブラウザの挙動です。
そして、このファイルは「CRSが動く前に対処できる」という、MtGで言う「打ち消し呪文」のようなものとして機能します。
もし、これをRESPONSE-999-EXCLUSION-RULES-AFTER-CRS.confという「最終的に評価するルール」で書いた場合
という流れになります。
もしクローラーが超高速で連射してきた場合、この「無駄なフルコンボ審査」のせいでModSecurity自体の処理が追いつかなくなり、サーバーのCPU使用率が100%に張り付いて、一般ユーザーのアクセスが重くなる(あるいは落ちる)という本末転倒な事態が起きます。
OWASP CRSは非常に優秀です。
SQLインジェクション、XSS、RCEなど、現代的な攻撃に対する膨大な知見が詰め込まれており、何も考えずに導入しても一定以上の防御力を得られます。
しかし、それはあくまで「世界中の誰にでも当てはまる最大公約数」です。
私のサーバーには私のサイト構成があり、私の利用者がおり、私の攻撃ログがあります。
だからこそ
という「自分だけのルール」が必要になります。そのための「私のデッキ」が900番BEFOREルールです。
CRS本体を直接編集する必要はありません。
世界中のセキュリティ専門家が更新し続けるルールセットはそのまま利用し、自分の環境だけに必要な判断を、カードを1枚追加するような感覚で差し込めます。
だから冒頭で紹介した
「カードはルールに勝つ」
という考え方が、そのままModSecurityにも当てはまるのです。
CRSという基本ルールがあり、その前に「このサイトではこうする」という例外を定義する。それだけで、自分だけのWAFが出来上がります。
私にとってREQUEST-900-EXCLUSION-RULES-BEFORE-CRS.confは、単なる設定ファイルではありません。
毎日流れてくるログを眺め、
そんな調整を繰り返しながらデッキをチューニングしていく場所です。Webサイトを運営する人にとって、攻撃ログは鬱陶しいものに見えるかもしれません。
しかし見方を変えれば、それは次の一枚を考えるための対戦ログでもあります。
また、この900番BEFOREルールを別ファイルとして管理する最大の理由は、「本家に手を入れない」ことです。
CRSは更新され続けます。
もしCRS本体を書き換えてしまうと、アップデートのたびに差分を確認し、競合を解消し、自分の修正を書き戻す必要があります。
一方、自分のデッキを900番BEFOREだけに閉じ込めておけば、CRSが更新されても自分のカードはそのまま使い続けられます。
新しいサーバーへ移行するときも、自分のデッキを1枚コピーするだけです。デッキは、一度組んで終わりではありません。
世界中の専門家が作ったルールセットを土台に、自分のサイトで得た対戦ログから一枚ずつカードを選び、デッキを育てていく。それが私にとってのREQUEST-900-EXCLUSION-RULES-BEFORE-CRS.confです。
QNAPの構築も一段落したため、やりたいこと「LinuxサーバとQNAPをつなぎ、冗長化を持たせた大容量ストレージにする」を開始します。
NFSは、主にUNIXやLinuxなどのOS間でファイルを共有するために開発されたプロトコルです。
一番の特徴は、リモート(NASなど)にあるフォルダを、自分のコンピュータのディレクトリツリー(/mnt/qnap など)の一部として組み込めることです。
一度マウントしてしまえば、ユーザーやアプリからはそれがネットワーク経由であるということを意識せず、通常のファイル操作と同じコマンド(ls, cp, mvなど)で扱えるようになります。
よく比較されるものに、Windowsで一般的に使われる SMB (Server Message Block) があります。QNAPはどちらも使えますが、以下のような違いがあります。
| 特徴 | NFS | SMB (Windows共有) |
|---|---|---|
| 主なOS | Linux / UNIX | Windows (Linuxでも可) |
| 設定のしやすさ | 非常にシンプル(IPベース) | ユーザー名/パスワードが基本 |
| パフォーマンス | Linux間なら非常に高速 | 以前は遅かったが今は高速 |
| 権限管理 | LinuxのUID/GIDに依存 | WindowsのACLに依存 |
以下、作業メモです。
NFS)の「アクセス権の編集」を開く。*(またはLinuxのIP)を入力。/NFS)をメモする。sudo apt install nfs-common (Ubuntu/Debian)sudo yum install nfs-utils (RHEL/CentOS)sudo mkdir -p /mnt/qnapsudo mount -t nfs QNAPのIP、ホスト名:/NFS /mnt/qnapdf -h を実行し、ファイルシステム欄に QNAP のパスと容量が表示されれば成功。サーバー再起動後も自動で接続されるよう設定します。
※/etc/fstabは正直編集したくないファイル筆頭です。可能な限り先にやっておくことを強く勧めます。
/etc/fstabバックアップ※バックアップと言ったところで、失敗した瞬間にサーバが立ち亜が楽なるは普通に発生します。慎重を期してください。
sudo cp -pi /etc/fstab /path/to/backup/fstab.$(date +%Y%m%d)
diff -u /path/to/backup/fstab.$(date +%Y%m%d) /etc/fstab
差分がないことを確認します。
/etc/fstab追記:QNAPのIP、ホスト名:/NFS /mnt/qnap nfs defaults,_netdev 0 0
※自分の環境に合わせます。
/etc/fstab追記確認:diff -u /path/to/backup/fstab.$(date +%Y%m%d) /etc/fstab
以下の差分を確認します。
+ QNAPのIP、ホスト名:/NFS /mnt/qnap nfs defaults,_netdev 0 0
sudo umount /mnt/qnap
sudo mount -a
df -h
は味気ないので
{
echo "| デバイスパス | タイプ | 全サイズ | 使用率 | マウントポイント |"
echo "| --- | --- | --- | --- | --- |"
df -hPT | grep -vE 'tmpfs|shm|devtmpfs' | tail -n +2 | awk '{printf "| %s | %s | %s | %s | %s |\n", $1, $2, $3, $6, $7}'
}
のワンライナーを用います。
| デバイスパス | タイプ | 全サイズ | 使用率 | マウントポイント |
|---|---|---|---|---|
| /dev/sda2 | ext4 | 233G | 6% | / |
| efivarfs | efivarfs | 256K | 12% | /sys/firmware/efi/efivars |
| /dev/sda1 | vfat | 1.1G | 1% | /boot/efi |
| QNAP:/NFS | nfs4 | 4.2T | 30% | /mnt/qnap |
などが表示されればOKです。
この段階で
sudo reboot
をかけておきます。序盤でfstabの不具合に気づかないと、後のサーバ運用そのものが詰みます。
Powered by WordPress & Theme by Anders Norén