投稿者: manualmaton Page 82 of 255

『ライザのアトリエ2』超高難易度DLC「陽炎の島」クリア時のキャラクターステータス(追記あり)

2年ぶりの更新です。

『ライザのアトリエ3』発売が近いということで、おさらいを兼ねて

  • 引き継ぎボーナスなし
  • 難易度LEGEND

で、超高難易度DLC『陽炎の島』をクリアしました。整理を兼ねてここにご紹介です。

超高難易度DLC『陽炎の島』を最高難易度LEGENDでクリアするための装備品やコアアイテムを選びました。

メンバー

前衛

  1. ライザ
  2. タオ
  3. パトリツィア

後衛

  1. クラウディア

何故このメンバーか?

ライザ

コアアイテム要員です。道中はコアドライブ「四星の極光」による短期決戦を目指していきます。
また、ボス戦でもアイテム連打の固定砲台として機能します。そのために武器の付与効果もコアアイテム特化型にしています。

タオ

デバフ要員です。ライザのコアドライブに先駆けてデバフをかけます。

パトリツィア

前衛配置時のスキル「クリティカル時のダメージ上昇」が非常に優秀。ライザの攻撃アイテムはクリティカル率を100%にしているので、確実なダメージ上昇が見込めます。

クラウディア

対ボスにおける「場持ち」をよくします。DLC『陽炎の島』のボス戦では一発や二発程度のコアドライブ/フェイタルドライブは露払いにもなりません。

それぞれ各戦闘に1回だけ使えないというゲームの仕様上、継続してダメージを与えるためにはスキルによるチェインでのラッシュがメインプランとなります。

各メンバーの詳細

装備品に関してはDLC『戦いの極み』の最上位武器/防具を利用しています。

また、アクセサリへのEV効果付与もDLCでの解禁です。

ライザ

ステータス

ステータス数値
Lv.100
HP1555
攻撃力2983
防御力2313
素早さ2313
装備品質200
器用さ99

装備品

/ノクターナルレリックアダンマントスケイルエリキシルリングユニヴァース
種別武器防具アクセサリアクセサリ
HP323397330232
攻撃力852741629453
防御力3261005396295
素早さ695700864780
効果1天の隕石・超ドラゴンブレス・超一子相伝の知識四霊を操る
効果2超感覚強化竜鱗の要塞常勝不敗の戦術満ちる霊力
効果3四色の羽根・超防御力+20素早さ+20迅雷の霊力
効果4立派な切れ味ダメージ軽減+7%ブレイク強化+7%轟風の霊力
特性1攻速強化++ 99スーパーボディ 99ドッジムーブ 99ドッジムーブ 99
特性2全能力強化 ++ 99全能力強化 ++ 99全能力強化 ++ 99全能力強化 ++ 99
特性3スペシャルアーツ 99ハイパーボディ 99フラッシュムーブフラッシュムーブ
EV効果--叡智の印章達人の印章

武器の効果はそれぞれ以下のとおりです。

  • 天の隕石・超
    • 魔法ダメージを与えるアイテムを使用する時、消費するCCが1減少する。与えるダメージが増加する
  • 超感覚強化
    • アイテムによって与えるダメージが増加する
  • 四色の羽根・超
    • 火属性、氷属性、雷属性、風属性のダメージが増加する
  • 立派な切れ味
    • クリティカル時に与えるダメージが増加する

コアアイテム(コアドライブ:四星の極光)

※本項で示すコアアイテムは特別な事情がない限り、DLC「調合の極み」の極星のエッセンスを用いて全てのマテリアル環の効果テーブル最大値を1ずつ増やしています。

/エルシオンハープ (DLCアイテム)
種別魔法の道具
Lv7
消費cc2
対象全体(味方)
属性雷、風
効果1魂が落ち着く
効果1説明アイテムのダメージとCCの回復量を上昇する
効果2ブレイク値回復・超
効果2説明ブレイク値を回復する
効果3AP回復・大
効果3説明APを大きく回復する
効果4素早さアップ・超
効果4説明素早さを上昇する
特性1永久機関
特性2エコノミーコア
特性3回復力上昇 ++50
EV効果逆刻の祝福

下記ローゼフラム/四星の極光のダメージアップを図るアイテム。CC回復量が上昇する副次効果も見逃せません。

EV効果は「時空の逆さ時計」で付与。効果は時空を切り詰めるを対象に付与します。

/ローゼフラム (同一を2つ装備)
種別爆弾
Lv99
消費cc2
対象全体(敵)
属性
効果1肉体疲労の大爆発
効果1説明無属性の小ダメージを与え、物理耐性を低下させる
効果2獄炎の薔薇
効果2説明火属性の特大ダメージを与える。威力はタクティクスレベルが高いほど大きく増加する。
効果3焼き尽くす炎・超
効果3説明非常に高い温度が対象を包む。対象を確立で火傷状態にする。
効果4紅蓮の花冠
効果4説明炎の花びらが燃え上がる。対象の範囲を広げ、火属性ダメージを与える。対象のHPが少ないほど威力が増加する
特性1破壊力上昇++ 50
特性2心の破壊力 99
特性3会心の破壊力 99
EV効果予言の烙印

どういうわけか最上位のグランフラムよりも効果が高いローゼフラム。高難易度においてもメインウェポンとして大活躍。

EV効果は「アポカリプス」で付与。効果は「一ツ環の真実(火属性と風属性のダメージを与える。現在のCCが多いほど威力が増加する)」と「分ツ環の真実(氷属性と雷属性のダメージを与える。現在のCCが多いほど威力が増加する)」

これを2つ。

/N/A
種別爆弾
Lv99
消費cc3
対象全体(敵)
属性火、雷
効果1トゲの大爆発
効果1説明無属性の小ダメージを与え、ブレイク値を増加させる
効果2無限大の大爆発
効果2説明無属性の絶大ダメージを与え、防御力を低下させる
効果3力を失う・超
効果3説明脱力感を与えるトゲが刺さり、攻撃力を低下させる
効果4体制を崩す衝撃・超
効果4説明体制を崩すほどの大きな衝撃を与える。追加でブレイク値を増加させる
特性1エコノミーコア
特性2心の破壊力 99
特性3会心の破壊力 99
EV効果達人の烙印

このアイテムは「四星の極光」に繋ぐためのアイテムです。有り体に言うと、ブレイクさせた状態で四星の極光をぶち当てるために用います。

また、ここはエコノミーコアを利用。これによって戦闘開始と同時にコアドライブが発動できます。

EV効果は「マスタースピリット」で付与。効果は

  • 全能力ダウン・中
  • 呪いを与える・中
  • 火傷を与える・強

です。

タオ

ステータス

ステータス数値
Lv.100
HP1533
攻撃力2970
防御力2309
素早さ3340
装備品質200
器用さ65

装備品

/サイレントリンクスアダンマントスケイルエリキシルリングユニヴァース
種別武器防具アクセサリアクセサリ
HP338397330232
攻撃力843741629453
防御力3161005396295
素早さ692700864780
効果1双剣の極意・超ドラゴンブレス・超一子相伝の知識四霊を操る
効果2立派な切れ味竜鱗の要塞常勝不敗の戦術満ちる霊力
効果3王者の髭防御力+20素早さ+20迅雷の霊力
効果4逆さ時計の発条ダメージ軽減+7%ブレイク強化+7%轟風の霊力
特性1攻速強化++ 99スーパーボディ 99ドッジムーブ 99ドッジムーブ 99
特性2全能力強化 ++ 99全能力強化 ++ 99全能力強化 ++ 99全能力強化 ++ 99
特性3スペシャルアーツ 99ハイパーボディ 99フラッシュムーブフラッシュムーブ
EV効果--叡智の印章達人の印章

武器の効果はそれぞれ以下のとおりです。

  • 双剣の極意・超
    • 状態異常を与える確率が上昇し、攻撃時、低確率で状態異常を低下させる。
  • 立派な切れ味
    • クリティカル時に与えるダメージが増加する
  • 王者の髭
    • 攻撃時、低確率で相手の強化を解除し、マイナス効果の効果時間を延長する
  • 逆さ時計の発条
    • スキルのWTが減少する

コアアイテム(コアドライブ:ホロターゲティング)

/時空の天文時計
種別魔法の道具
Lv1
消費cc2
対象全体(味方)
属性氷、雷
効果1時空を歪める
効果1説明行動順を手前に大きく寄せ、良性状態の効果時間を延長する
効果2未来に干渉する
効果2説明タクティクスレベルが3上昇する。最大を超えて上昇しない
効果3全能力アップ・超
効果3説明攻撃力、防御力、素早さを上昇する
効果4回避率アップ・超
効果4説明回避率を上昇する
特性1永久機関
特性2エコノミーコア
特性3空間を繋ぐ
EV効果逆刻の祝福

前作『ライザのアトリエ』における最強のバフアイテムがもっと強力になって帰ってきました。「タクティクスレベル3上昇」は明らかに常軌を逸しています。そして、高難易度はアイテムの回転率が命なので永久機関とエコノミーコアの2つを重ねて低消費にしました。

EV効果は「時空の逆さ時計」で付与。効果は時空を切り詰めるを対象に付与します。

/エリキシル剤
種別薬品
Lv1
消費cc1
対象全体(味方)
属性氷、風
効果1HP回復・極
効果1説明HPを極めて大きく回復する
効果2復調の薬効
効果2説明HP継続回復状態を付与し、ブレイク値を回復する
効果3平癒の薬効
効果3説明全ての状態異常を治療し、全ての悪性異常を消し去る
効果4起死回生の薬効
効果4説明戦闘不能状態を解除し、HPを大きく回復する
特性1エコノミーコア
特性2空間を繋ぐ
特性3回復力上昇++ 50
EV効果福旨の祝福

EV効果は「クーアミルク」で付与。全てのブレイク値を回復します。数発食らっただけでブレイク状態になる難易度においては、この「屋上屋を架す」処置が必要でした。

/マスタースピリット
種別魔法の道具
Lv40
消費cc1
対象全体(敵)
属性火、氷
効果1研ぎ澄まされた精神
効果1説明対象の攻撃力とクリティカル率を低下させる
効果2全能力ダウン・超
効果2説明攻撃力、防御力、素早さを低下させる
効果3呪いを与える・超
効果3説明確率で呪い状態にする
効果4束縛を与える・強
効果4説明確率で束縛状態にする
特性1クリティカル++ 99
特性2エコノミーコア
特性3永久機関
EV効果達人の烙印

前作最強のデバフアイテム「ヒロイックガイスト」の上位互換。これもエコノミーコアと永久機関の2つで消費CCを1にしています。

EV効果は「マスタースピリット」で付与。効果は

  • 全能力ダウン・中
  • 呪いを与える・中
  • 火傷を与える・強
/闇夜の宝箱 (DLCアイテム)
種別魔法の道具
Lv17
消費cc1
対象全体(敵)
属性氷、風
効果1冥闇の抱擁
効果1説明無属性の大ダメージを与え、高確率で対象を即死させる。
効果2影を縫いとめる・超
効果2説明影が対象にまとわりつく。対象にノックバックを与え、高確率で束縛状態にする
効果3魂を蝕む・超
効果3説明相手の心を直接傷つける。対象の攻撃力を低下させ、高確率で呪い状態にする
効果4浸食する煙
効果4説明煙がさらに広がるようになる。対象の範囲を広げ、追加で防御力を低下させる。
特性1永久機関
特性2エコノミーコア
特性3心の破壊力++ 99
EV効果黒闇の烙印

DLC「戦いの極み」のアイテム。この作品には珍しい即死付与があります。尤も、高難易度では効かないのですが、デバフは折り紙付き。

EV効果は「闇夜の宝箱」そのもので付与。効果は

  • 全能力ダウン・中
  • 呪いを与える・中
  • 束縛を与える・強

となっています。これらは後続の四星の極光で撃ち漏らしたとしても敵の大幅な弱体化が期待されます。

パトリツィア

  • ステータス
ステータス数値
Lv.100
HP1677
攻撃力3223
防御力2282
素早さ3247
装備品質200
器用さ45
  • 装備品
/ユーフォグレイブアダンマントスケイルエリキシルリンググローリーベルト
種別武器防具アクセサリアクセサリ
HP372397330299
攻撃力880741629639
防御力3181005396291
素早さ702700864687
効果1美しい軌跡・超ドラゴンブレス・超一子相伝の知識栄光のロード・超
効果2立派な切れ味竜鱗の要塞常勝不敗の戦術勝者の勝鬨
効果3地脈の恵み・超防御力+20素早さ+20ダメージ軽減+7%
効果4逆さ時計の発条ダメージ軽減+7%ブレイク強化+7%行動時HP回復・大
特性1攻速強化++ 99スーパーボディ 99ドッジムーブ 99ドッジムーブ 99
特性2全能力強化 ++ 99全能力強化 ++ 99全能力強化 ++ 99全能力強化 ++ 99
特性3スペシャルアーツ 99ハイパーボディ 99フラッシュムーブフラッシュムーブ
EV効果--叡智の印章達人の印章

武器の効果はそれぞれ以下のとおりです。

  • 美しい軌跡・超
    • HPが最大の時、攻撃によって与えるダメージが増加する。ブレイク値が最大の時、クリティカル発生時のダメージが増加する
  • 立派な切れ味
    • クリティカル時に与えるダメージが増加する
  • 逆さ時計の発条
    • スキルのWTが減少する
  • 地脈の恵み・超
    • 行動するごとに確率でAPを回復する

コアアイテム(コアドライブ:ホロターゲティング)

/時空の天文時計
種別魔法の道具
Lv1
消費cc2
対象全体(味方)
属性氷、雷
効果1時空を歪める
効果1説明行動順を手前に大きく寄せ、良性状態の効果時間を延長する
効果2未来に干渉する
効果2説明タクティクスレベルが3上昇する。最大を超えて上昇しない
効果3全能力アップ・超
効果3説明攻撃力、防御力、素早さを上昇する
効果4回避率アップ・超
効果4説明回避率を上昇する
特性1永久機関
特性2エコノミーコア
特性3空間を繋ぐ
EV効果逆刻の祝福

タオ/クラウディアと同じものです。

/エリキシル剤
種別薬品
Lv1
消費cc1
対象全体(味方)
属性氷、風
効果1HP回復・極
効果1説明HPを極めて大きく回復する
効果2復調の薬効
効果2説明HP継続回復状態を付与し、ブレイク値を回復する
効果3平癒の薬効
効果3説明全ての状態異常を治療し、全ての悪性異常を消し去る
効果4起死回生の薬効
効果4説明戦闘不能状態を解除し、HPを大きく回復する
特性1エコノミーコア
特性2空間を繋ぐ
特性3回復力上昇++ 50
EV効果福旨の祝福

タオ/クラウディアと同じものです。

/マスタースピリット
種別魔法の道具
Lv40
消費cc1
対象全体(敵)
属性火、氷
効果1研ぎ澄まされた精神
効果1説明対象の攻撃力とクリティカル率を低下させる
効果2全能力ダウン・超
効果2説明攻撃力、防御力、素早さを低下させる
効果3呪いを与える・超
効果3説明確率で呪い状態にする
効果4束縛を与える・強
効果4説明確率で束縛状態にする
特性1クリティカル++ 99
特性2エコノミーコア
特性3永久機関
EV効果達人の烙印

タオと同じものです。

/時空の逆さ時計
種別魔法の道具
Lv42
消費cc3
対象全体(味方)
属性氷、雷
効果1時空の調整
効果1説明タクティクスレベルを1まで低下する。低下した量に応じて、攻撃力、防御力、素早さを上昇する
効果2過去に干渉する
効果2説明APとCCの回復量を上昇する
効果3全能力アップ・超
効果3説明攻撃力、防御力、素早さを上昇する
効果4回避率アップ・超
効果4説明回避率を上昇する
特性1永久機関
特性2エコノミーコア
特性3叡智の結晶
EV効果逆刻の祝福

タクティクスレベルをリセットする代わりに、大きなバフをかけるアイテム。ぶっちゃけ、高難易度/やりこみ向けのアイテムです。

コアドライブを使い切ったとしても、これと時空の天文時計によるバフでスキルチェインを重ねていくのが基本的な戦術となります。

クラウディア

ステータス

ステータス数値
Lv.100
HP1575
攻撃力2899
防御力2324
素早さ3448
装備品質200
器用さ70

装備品

/ハーモニクスノーツアダンマントスケイルエリキシルリングユニヴァース
種別武器防具アクセサリアクセサリ
HP349397330232
攻撃力807741629453
防御力3541005396295
素早さ787700864780
効果1光矢の五線譜・超ドラゴンブレス・超一子相伝の知識四霊を操る
効果2コアバースト竜鱗の要塞常勝不敗の戦術満ちる霊力
効果3地脈の恵み・超防御力+20素早さ+20迅雷の霊力
効果4逆さ時計の発条ダメージ軽減+7%ブレイク強化+7%轟風の霊力
特性1攻速強化++ 99スーパーボディ 99ドッジムーブ 99ドッジムーブ 99
特性2全能力強化 ++ 99全能力強化 ++ 99全能力強化 ++ 99全能力強化 ++ 99
特性3スペシャルアーツ 99ハイパーボディ 99フラッシュムーブフラッシュムーブ
EV効果--叡智の印章達人の印章

武器の効果はそれぞれ以下のとおりです。

  • 光矢の五線譜・超
    • 行動時、APを1回復する。攻撃時、確率で追加魔法ダメージを与える
  • コアバースト
    • 攻撃時、追加で魔法ダメージを与える。所持しているコアチャージの量が多いほど、与えるダメージが増加する
  • 地脈の恵み・超
    • 行動するごとに確率でAPを回復する
  • 逆さ時計の発条
    • スキルのWTが減少する

コアアイテム(コアドライブ:オーロラウェーブ)

/時空の天文時計
種別魔法の道具
Lv1
消費cc2
対象全体(味方)
属性氷、雷
効果1時空を歪める
効果1説明行動順を手前に大きく寄せ、良性状態の効果時間を延長する
効果2未来に干渉する
効果2説明タクティクスレベルが3上昇する。最大を超えて上昇しない
効果3全能力アップ・超
効果3説明攻撃力、防御力、素早さを上昇する
効果4回避率アップ・超
効果4説明回避率を上昇する
特性1永久機関
特性2エコノミーコア
特性3空間を繋ぐ
EV効果逆刻の祝福

タオ/パトリツィアと同じものです。

/エリキシル剤
種別薬品
Lv1
消費cc1
対象全体(味方)
属性氷、風
効果1HP回復・極
効果1説明HPを極めて大きく回復する
効果2復調の薬効
効果2説明HP継続回復状態を付与し、ブレイク値を回復する
効果3平癒の薬効
効果3説明全ての状態異常を治療し、全ての悪性異常を消し去る
効果4起死回生の薬効
効果4説明戦闘不能状態を解除し、HPを大きく回復する
特性1エコノミーコア
特性2空間を繋ぐ
特性3回復力上昇++ 50
EV効果福旨の祝福

タオ/パトリツィアと同じものです。

/時空の逆さ時計
種別魔法の道具
Lv42
消費cc3
対象全体(味方)
属性氷、雷
効果1時空の調整
効果1説明タクティクスレベルを1まで低下する。低下した量に応じて、攻撃力、防御力、素早さを上昇する
効果2過去に干渉する
効果2説明APとCCの回復量を上昇する
効果3全能力アップ・超
効果3説明攻撃力、防御力、素早さを上昇する
効果4回避率アップ・超
効果4説明回避率を上昇する
特性1永久機関
特性2エコノミーコア
特性3叡智の結晶
EV効果逆刻の祝福

パトリツィアと同じものです。

/エルシオンハープ (DLCアイテム)
種別魔法の道具
Lv7
消費cc2
対象全体(味方)
属性雷、風
効果1魂が落ち着く
効果1説明アイテムのダメージとCCの回復量を上昇する
効果2ブレイク値回復・超
効果2説明ブレイク値を回復する
効果3AP回復・大
効果3説明APを大きく回復する
効果4素早さアップ・超
効果4説明素早さを上昇する
特性1永久機関
特性2エコノミーコア
特性3回復力上昇 ++50
EV効果逆刻の祝福

ライザと同じものです。

2024/10/14追記

コアアイテムの一部はヴィアヴェールルフトに差し替えました。

その作り方はこちらです。

Redmineサーバのウイルススキャン。(ClamAVとinotifyによる添付ファイルの自動スキャン)

概要

Redmineの稼働サーバにウィルス対策ソフトClam-AVをインストールし、不審なファイルのアップロードを防ぎます。

動作要件

  • スキャン対象はRedmineの添付ファイル格納ディレクトリです。
    • それ以外にも転用できるようにスクリプトを変数で定義しています。
  • inotifyサービスを利用して、スキャン対象を絞ります。
  • スキャンするタイミングは上記格納ディレクトリにファイルがアップロードされたときです。これによってCPU消費を節約します。
  • ClamAVによって不審なファイルと判断された場合、そのファイルを削除します。その後、詳細はログに出力されます。

動作確認環境

  • Ubuntu 20.04
  • ClamAV 0.103.8

手順

  • サーバのターミナルからコマンドラインで設定を行います。
  • パッケージ管理はaptitudeを利用しています。好みに合わせてaptに置き換えてください。

さっくりとした手順

  1. ClamAVをインストールします。
  2. 最新のウィルス定義ファイルがダウンロードできることを確認します。
  3. ClamAVの動作を確認します。
  4. inotifyサービスをインストールします。
  5. チェックスクリプトを作成します。
  6. スクリプトをサービス化します。
  7. サービスの動作を確認します。

ClamAVの設定と確認

ClamAVのインストール

sudo aptitude update

sudo aptitude install clamav clamav-daemon

ウィルス定義ファイルの更新

sudo freshclam

で定義ファイルを更新しようとしたところ、以下のエラーが出ました。

sudo freshclam

ERROR: /var/log/clamav/freshclam.log is locked by another process
ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log).
ERROR: initialize: libfreshclam init failed.
ERROR: Initialization error!

対処を行います。

sudo lsof /var/log/clamav/freshclam.log

COMMAND    PID   USER   FD   TYPE DEVICE SIZE/OFF    NODE NAME
freshclam 7001 clamav    3wW  REG  202,1     2161 2319263 /var/log/clamav/freshclam.log
# この時に出てきたPIDを控えておきます。

このプロセスを停止します。

sudo kill -9 7001
# 出てきたPIDを指定します

ログファイルのパーミッション変更

sudo chmod -R 777 /var/log/clamav/

上記を実施後、

sudo freshclam

定義ファイルが更新されることを確認しました。

ウイルス定義ファイル自動更新

sudo systemctl start clamav-freshclam.service

sudo systemctl enable clamav-freshclam.service

systemctl status clamav-freshclam.service
# active (running)を確認します

ClamAVの動作確認

  • バージョン確認
clamscan --version
ClamAV 0.103.8/26829/Thu Mar  2 20:16:49 2023
# 2023/03/03、aptでインストールした際のバージョン
  • eicarテストファイルによる確認
cd ~

wget http://www.eicar.org/download/eicar.com

clamscan eicar.com
  • テスト結果
Win.Test.EICAR_HDB-1 FOUND

----------- SCAN SUMMARY -----------
Known viruses: 8654357
Engine version: 0.103.8
Scanned directories: 0
Scanned files: 1
Infected files: 1
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)

が表示されたので、機能していることを確認です。

rm eicar.com

でテストファイルを削除します。(スキャンしただけなのでファイルの自動削除は行われません)

スクリプト作成

inotifyのインストール

sudo aptitude install inotify-tools

スクリプト生成

  • 以下のスクリプトを教義・信仰に沿ったエディタで作成します。
  • スクリプト名:clamav-inotify.sh
#!/bin/bash

## 変数ここから
# 監視対象のディレクトリを指定してください。
WATCH_DIR="/var/lib/redmine/files"

# スキャン対象の最大サイズを指定してください。
# Redmineのようにアップロード上限をWeb画面から設定できる場合、そのサイズに合わせます。
MAX_FILE_SIZE="10240M"

# スキャンログのパスを定義します。
SCAN_LOG="/var/log/redmine/redmine-scan.log"
## 変数ここまで


# 監視対象のディレクトリ (およびサブディレクトリ) に新しいファイルが作成されたときに、そのファイルをスキャンする処理を行います
inotifywait -m -r -e create --format '%f' "$WATCH_DIR" |
while read FILE
do
    # 新しいファイルがディレクトリでなく、かつ隠しファイルでないことを確認します。
    if [ ! -d "$FILE" ] && [ "$(echo "$FILE" | cut -c1)" != "." ]; then
        # ClamAVを使用して新しいファイルをスキャンします。
        RESULT=$(clamscan --recursive --max-filesize="$MAX_FILE_SIZE" "$WATCH_DIR/$FILE")
        if echo "$RESULT" | grep -q " FOUND"; then
            echo "ウイルスが検出されました: $FILE" >> "$SCAN_LOG"
            rm "$WATCH_DIR/$FILE"
        else
            echo "スキャンが完了しました: $FILE" >> "$SCAN_LOG"
        fi
    fi
done
  • 実行権付与
sudo chmod +x clamav-inotify.sh

スクリプトのサービス化

  • 以下のスクリプトを教義・信仰に沿ったエディタで作成します。
  • 配置ディレクトリ:/etc/systemd/system/
  • サービス名:clamav-inotify.service
  • ファイル内容
[Unit]
Description=ClamAV Inotify Service
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/bash /home/hoge/clamav-inotify.sh
# 上記のスクリプトをフルパスで指定します
Restart=always
User=root

[Install]
WantedBy=multi-user.target
  • サービスの有効化
sudo systemctl enable clamav-inotify.service

sudo systemctl start clamav-inotify.service

systemctl status clamav-inotify.service
# active (runnning)を確認します

動作確認

テストウィルスを配置→削除確認

cd /var/lib/redmine/files
# スクリプトで指定したスキャン対象ディレクトリに移動します。

sudo wget http://www.eicar.org/download/eicar.com
# eicarテストウィルスをダウンロードします。

ls -l eicar.com
# ファイルがある状態から削除されていることを確認します。

ログ確認

cat /var/log/redmine/redmine-scan.log
# スクリプトで指定したログ

以下のようにログに出れば成功です。

/mnt/wasabi/redmine/files/eicar.com: Win.Test.EICAR_HDB-1 FOUND

----------- SCAN SUMMARY -----------
Known viruses: 8654357
Engine version: 0.103.8
Scanned directories: 0
Scanned files: 1
Infected files: 1
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 34.852 sec (0 m 34 s)
Start Date: 2023:19:03 11:50:39
End Date:   2023:19:03 11:51:14
ウイルスが検出されました: eicar.com

動作確認日

2023/03/03

同盟パズル。(アプリ版『ガイアプロジェクト』アンバス人チャレンジ)

久しぶりの『ガイアプロジェクト』の投稿。ダー・シュワームに次いで好きな種族であるアンバス人でのナイスプレイがありました。

まずは結果

184点。高得点ではありますけれど、この難易度なら200も時々あります。にもかかわらず、こうして投稿したのは理由があります。

同盟数

5同盟と惑星改造ボーナスによる追加の同盟タイル。ここまできれいに取れたのは久しぶりです。

しかも、最後の同盟は衛星を繋ぐのに必要なトークンがなくなったため

  1. 研究でQICを入手する
  2. フリーアクションで以下の資源変換を行う
    • QIC→鉱石
    • 鉱石→パワートークン
  3. 同盟接続

を行うことができました。

他にも…

  • 研究トラック「知識」を上げずに研究4ゴール
  • キッチリ取れたラウンドバスごとに同盟×3点の上級タイル
  • 最終ラウンドのブースター(鉱山×1点)

といった細かくもいいプレイを行うことができました。

  • 得られる鉱石が多め
  • 受けも攻めもやりやすく
  • 首府能力でゴリ押しもできる

好みの種族ですアンバス人。

台座と着脱。(マックスファクトリー 1/6 ライザリン・シュタウト フィギュア)

2021年12月に予約し、待つこと1年3ヶ月ほど。

ついに、この商品が届きました。

『ライザのアトリエ』最初のシリーズでの1/6完成品はほぼ間違いなくこちらが最初のリリース。

外箱の大きさはかなりのものです。

早速の撮影

専用の台座はそれだけで背景の一部。また、立像でないため固定されていないという特徴もあります。

また、上着が着脱可能。(取り外しは結構注意が必要です)

そのため、2パターンで楽しめる豪華な作品となっています。

いくつかの試し撮り

角度、光の当て方によって印象がガラリと変わるのが1/6の大きさならでは。

今後、背景を変えてみたり光源の検証などを行っていきます。

mermaid.jsによる『一杯のおいしい紅茶』抽出。

概要

昨日の続きとなります。「キチッとした手順でお茶を入れると更においしくなる」と改めて気づいて以来、しっかりとした手順でお茶を入れたいと早見表を作ってみました。

こういうときにmermaidのシーケンスダイアグラムは頼りになります。

シーケンス図

sequenceDiagram participant m as マグカップ participant p as ティーポット participant k as ケトル note over m,k: 開始 note over m,k: それぞれが清潔な状態であることを確認 note over k: お湯を沸かす note over p,m: 暖めておく note over p: 暖め完了 note over p: 茶葉を入れる note over k: 水沸騰 note over p,k: お湯をティーポットに注ぐ note over p: 抽出 note over m: 暖め完了 opt ミルクファーストの場合 note over m: 牛乳を注ぐ end note over m,p: お茶をマグカップに注ぐ opt ティーファーストの場合 note over m: 牛乳を注ぐ end opt 必要に応じて note over m: 砂糖などを入れる end note over m,k: 完了

どう書いたか

sequenceDiagram
    participant m as マグカップ
    participant p as ティーポット
    participant k as ケトル
note over m,k: 開始
note over m,k: それぞれが清潔な状態であることを確認
note over k: お湯を沸かす
note over p,m: 暖めておく
note over p: 暖め完了
note over p: 茶葉を入れる
note over k: 水沸騰
note over p,k: お湯をティーポットに注ぐ
note over p: 抽出
note over m: 暖め完了
opt ミルクファーストの場合
note over m: 牛乳を注ぐ
end
note over m,p: お茶をマグカップに注ぐ
opt ティーファーストの場合
note over m: 牛乳を注ぐ
end
opt 必要に応じて
note over m: 砂糖などを入れる
end
note over m,k: 完了

こう、流れを書くときに使えるスクリプトは便利です。

抽出『一杯のおいしい紅茶』。

概要

この「割れないティーポット」を用いてからというものの、割と真剣に「いかにしておいしい紅茶を入れることができるか」を探求しています。

そこで、『動物農場』や『1984年』などで知られる英国の作家、ジョージ・オーウェルによるエッセイ『一杯のおいしい紅茶』で紹介されているポイントを挙げたいと思います。

オーウェル卿が指摘する黄金のルール(さらっと抜き出し)

  1. 茶葉はインドかスリランカのものを使う。
  2. 紅茶は少量ずつ入れる。(つまり、ティーポットで入れる)
  3. ティーポットは金属製以外。(陶磁器を推奨している)
  4. ポットは事前に温める。
  5. 濃い紅茶を入れる。
  6. 茶葉は直接ポットに入れるべき。
  7. 茶葉を踊らせる。
  8. 円筒形のカップを用いて暖かい状態を保つ。
  9. ミルクティーの場合は紅茶が先。(これは議論の余地あり)
  10. 砂糖無しで飲むべき。

このうち、実行しているもの

紅茶は少量ずつ入れる。(つまり、ティーポットで入れる)

そのためにこのティーポットを用いているようなものです。

ティーポットは金属製以外。(陶磁器を推奨している)

オーウェル卿が存命の折、このような材質(強化プラスチック)はあったのかは不明です。

ですが、こちらは

  • 茶こし以外の金属臭がなく
  • 保温性に優れる
  • 耐久性は保証付き

となっています。

ポットは事前に温める。

時間があるときに実施。ダージリンやルイボスティーなどの高い水温が求められるお茶ではこの手間を加えるだけで全然味が違います。

円筒形のカップを用いて暖かい状態を保つ。

同じく、陶器製のマグカップを利用。ティーポットとマグカップに水を張ってレンジで温めることでこの状態を実現しています。

状況によって使い分けているもの

茶葉はインドかスリランカのものを使う。

カフェイン摂取を制限しているため、デカフェやルイボス、ハーブティーの割合の方が多いです。ですが、上記2つの茶葉は朝一番に飲んでいます。

濃い紅茶を入れる。

こちらも好みによりけり。渋みが強めに出るような茶葉では敢えて抑えることがあります。

茶葉を踊らせる。

「ステンレス製の茶こしの中で」という条件付き。

沸騰したてのお湯を使う。

デカフェで沸騰したてのお湯を用いると雑味が出るパターンが少しありました。

ミルクティーの場合は紅茶が先。(これは議論の余地あり)

英国での永遠の議論の種。これに関してはコメントを持ちません。(そもそもミルクティーは週に1~2回程度なので)

砂糖無しで飲むべき。

これもよりけりだと思います。以前に述べたキャンディス入りやドライフルーツを足して飲んで糖分も補給しています。

現時点での結論として

  1. ティーポットを用いる
  2. ティーポットとマグカップは温める
  3. 飲んでいる間は暖かい状態を保つ

の3つを守るだけでも、相当、紅茶の質は上がるというのが現時点での感想です。

連携:RedmineのディレクトリとWasabiバケット。

概要

クラウドストレージで作成したバケットは無事にマウントできるようになったので、Redmineの添付ファイルの保存先を切り替えます。

確認環境

  • Ubuntu 20.04
  • s3fsによりWasabiクラウドストレージのバケットがマウントされていること

サックリとした手順

  1. 保存先のディレクトリを作ります。
  2. Remineの添付ファイル一式をバケットにコピーします。
  3. 添付ファイルの保存先をシンボリックリンクに切り替えます。

詳細手順

マウントしたバケットにディレクトリを作成します。

sudo mkdir -p /mnt/wasabi/redmine
# 自分がマウントした環境に合わせます。

sudo chown www-data:www-data /mnt/wasabi/redmine

ls -ld /mnt/wasabi/redmine
# ファイルがあることと所有者がwww-dataであることを確認します。

Remineの添付ファイル一式をコピーします。

sudo -u www-data cp -pir /var/lib/redmine/files /mnt/wasabi/redmine
# Redmineのパスは自分の環境に合わせます。

シンボリックリンクを貼り替えます。

cd /var/lib/redmine
# 自分の環境に合わせます。

sudo mv files files.org
# 一時的に退避します。

sudo ln -s /mnt/wasabi/redmine/files files
# 自分がマウントした環境に合わせます。

sudo chown -h www-data:www-data files

ls -ld /var/lib/redmine/files
# filesの向き先がリンクを張った場所にあることとリンクの所有者がwww-dataであることを確認します

動作を確認します。

  1. Redmineの任意のチケットでファイルを添付します。
  2. 添付後、上記、マウントしたバケットの内容を確認してファイルがあることを確認します。

これで、AWSのRedmineでもファイルを大量に添付できるようになります。

fail2banの再設定。

概要

不正アクセスからサーバを保護するfail2ban。様々なルールが存在するため、チューニングの失敗によっては機能不全に陥ります。

そんなこんなで、ちょっとハマった出来事を記します。

確認実施環境

Ubuntu 20.04

fail2banはアンインストールできない場合があります。

apt-get --purge autoremove fail2ban

をやってもアンインストールできませんでした。

対処: dpkgのinfoファイル削除

sudo su -
# この作業は全て管理者権限で行った方がいいです

cd /var/lib/dpkg/info/

ls -l fail*
rm fail*
# fail2banのみのパッケージがあることを確認して消去します

apt-get --purge autoremove fail2ban
# この段階でようやくアンインストールできました

cd /etc/

rm -rf fail2ban
# fail2banの設定を変更します

と、dpkgのinfoファイルを削除して

ufwとうまく連携できません。

「なぜチューニングに失敗したのか」の理由です。ネットにあるfail2banの記事は大概がiptablesとの連携を前提としているため、Ubuntu系での標準ファイアウォールであるufwとうまく連携できませんでした。

なので、

  • 記事を鵜呑みにして設定するとエラーが発生してfail2banの起動に失敗する。
  • 再設定のためにアンインストールしようとすると上記問題が発生する

という経緯があります。

対処:ufwに即した設定変更

参考記事:
https://blog.fernvenue.com/archives/ufw-with-fail2ban/

前提:

まっさらな状態で(上記手段でアンインストールした上で)

sudo aptitude install fail2ban

を実行した状態とします。

jail.localを編集します。

協議・信仰に沿ったエディタで以下のファイルを編集(作成)します。

  • ファイル名 /etc/fail2ban/jail.local

○内容

[ufw]
enabled=true
filter=ufw.aggressive
action=iptables-allports
logpath=/var/log/ufw.log
maxretry=1
bantime=-1
ignoreip = 127.0.0.0/8 ::1
# ignoreipは任意の(自分のアクセス元)を指定ください

[sshd]
enabled=true
filter=sshd
mode=normal
port=22
protocol=tcp
logpath=/var/log/auth.log
maxretry=3
bantime=-1
ignoreip = 127.0.0.0/8 ::1
# ignoreipは任意の(自分のアクセス元)を指定ください
  • ファイル名 /etc/fail2ban/filter.d/ufw.aggressive.conf

○内容

[Definition]
failregex = [UFW BLOCK].+SRC=<HOST> DST
ignoreregex =

設定反映

systemctl enable fail2ban
systemctl start fail2ban
systemctl statsu fail2ban

これで、不審なアクセスは次回以降は有無を言わせずブロックする設定となります。

検証:AWS LightsailのUbuntuにWasabiクラウドストレージをマウント。

概要

(ほぼ)固定費でそれなりのスペックのサーバを運用できるAWS Lightsail。ストレージを増やすには

  • スペックの増強を図る
  • AWS S3などのクラウドストレージを増強する

といった策が必要です。ですが、もっと低価格で利用できるサービスはないものかと探していたところにみつけました。

クラウドストレージ:Wasabi

https://wasabi.com/ja

なかなか挑戦的な言葉が書かれています。

  1. 1TBでも6$程度
  2. データ転送料無料

は魅力的。(逆に言えば、たとえ1バイトのファイルしか保存しなくても最低1TB分は請求されます)

そして、S3と同じプロトコルが使えるとのこと。

無料トライアルもあるので、Linuxサーバにマウントできるかを検証してみます。

試した手順

環境

AWS上で動かしているUbuntu 20.04で利用しています。

さっくりとした流れ

  1. Wasabiのアカウントを作成します
  2. バケットを作成します
  3. アクセスキーを作成します
  4. Linuxサーバで必要なパッケージをインストールします
  5. アクセスキーを保存します
  6. マウントを確認します
  7. fstabを修正します

詳細の手順

Wasabiアカウント作成

上記URLから自身のアカウントを作成。確認メールからパスワードを設定します。

バケット作成

ログイン後、「バケット」をクリック。

任意のバケット名を入力し、地域を選択します。(ここでは大阪を選択)

バージョン管理などは全て無効の状態で「次」をクリック。

確認画面後に「バケットを作成」で作成できました。

アクセスキーの生成

アクセスキーをクリックし「新しいアクセスキーを作成する」からアカウントキーと秘密鍵を控えます。(この情報は全てのストレージへのアクセスに必要となるため、取り扱いは厳重にしてください)

Linuxサーバ上での動作

スナップショット取得

念のため、作業直前にAWSコンソールからスナップショットを作成します。

必要パッケージインストールします

sudo aptitude update
sudo aptitude install s3fs

パスワードファイルの作成

信仰・協議に従ってエディタを起動します。次のファイルを作成します。

.passwd-s3fs
# アクセスキー:秘密鍵 の順番で貼り付け

chmod 600 .passwd-s3fs

ls - ${HOME}/.passwd-s3fs
# ファイルがあることを確認します

マウントポイントの指定

sudo mkdir /mnt/wasabi
# /mntファイルに任意の名前を作成ください

udo s3fs 【wasabiで作成したバケット名】 /mnt/wasabi -o passwd_file/【上記作成したパスワードファイルのパス】/.passwd-s3fs -o url=https://【バケットのリージョン名】.wasabisys.com -o use_path_request_style -o endpoint=【バケットのリージョン名】 -o allow_other

これでマウントしたことを確認しました。

WasabiのWebインタフェースから任意のファイルをアップロード。

cd /mnt/wasabi 
# 作成したマウントポイントに移動します

ここから、アップロードしたファイルが確認できれば設定完了です。

fstabの設定

システムを再起動してもマウントできるようにfstabの設定を追記します。

sudo cp -pi /etc/fstab /path/to/directory/fstab.date +%Y%m%d
diff -u /etc/fstab /path/to/directory/fstab.date +%Y%m%d
# 差分がないことでバックアップを確認します

バックアップ後、協議・信仰に従ったエディタで末尾に追記します。

s3fs#【wasabiバケット名】 /mnt/wasabi fuse _netdev,allow_other,passwd_file=/【パスワードファイルのパス】/.passwd-s3fs,url=https://s3.バケットのリージョン名wasabisys.com,use_path_request_style,endpoint=バケットのリージョン名 0 0

マウント確認

sudo mount -a
# エラーが出ないことを確認します

df -h
# マウントしたバケットが見えているかを確認します

今後の検証

トライアルの間、

  • マウントしたディレクトリに保存されたファイルをWebに公開できるか
  • 遜色なく利用できるか
  • 転送速度などに問題ないか

を確認後、本格的に使っていこうと思います。

スクリプト:連携。(パスワード生成を呼び出したSQLバックアップ)

概要

ChatGPTに助けられて作成した

  • SQLのバックアップを行うシェルスクリプト
  • より安全なパスワード生成を行えるRubyスクリプト

この2つを連携させてみました。

スクリプトのフロー図

以下のようにして動きます。

sequenceDiagram participant b as バックアップ participant p as パスワード生成 note over b: 処理実行 note over b: 作業ディレクトリ<br>作成 note over b: MySQL dump b->>p: スクリプト呼び出し note over p: 処理実行 note over p: PW発行 note over p: PWファイル作成 p-->>b: スクリプト実行完了 note over b,p: PWファイルを元に暗号化 note over b: 作業ディレクトリ<br>削除 note over b: 古いバックアップ削除 note over b,p: 古いPWファイルを削除 note over b: 処理完了

スクリプト内容

スクリプト1: DBバックアップ

  • スクリプトタイプ:シェルスクリプト
#!/bin/bash

## 変数ここから ##
# SQLをバックアップするディレクトリ(保管先)を指定します。
backup_dir="/home/backup/mysql"
# 保持するバックアップの世代を日数で指定します。
keep_days=7
# ファイルに付与する日付/作業ディレクトリ名/バックアップファイル名を指定します。
current_date=$(date +%Y%m%d)
backup_name="redmine_mysql_${current_date}"
zip_file="redmine_mysql.${current_date}.zip"
# アカウントファイルを指定します。
credentials_file="$HOME/mysql/account.txt"
# パスワードを生成するスクリプトの格納場所を指定します。
password_generate="$HOME/scripts/ruby/password_generate_for_redmine.rb"
# 上記スクリプトによって生成されたパスワードファイルの格納場所を指定します。
password_file="$HOME/restore_password/mysql-restore.${current_date}.txt"
# バックアップ時に指定するオプションを指定します。
options="--defaults-extra-file=$credentials_file --no-tablespaces --single-transaction"
## 変数ここまで ##

## 処理ここから ##

# 1.アカウントファイルのパーミッションが400かどうかチェックします。
# 400以外は処理そのものを終了します。
permissions=$(stat -c "%a" "$credentials_file")
if [ "$permissions" != "400" ]; then
    echo "アカウントファイルのパーミッションは400である必要があります。"
    exit 1
fi

# 2.一時的なバックアップディレクトリを作成します。
mkdir "${backup_dir}/${backup_name}"

# 3. mysqldumpを実行してデータベースのバックアップを取ります。
mysqldump $options -h localhost redmine > "${backup_dir}/${backup_name}/${backup_name}.sql"

# 4. パスワードによる暗号化を実施します。
ruby "$password_generate"
password=$(cat "$password_file")
cd "${backup_dir}/${backup_name}"
zip -r "${backup_dir}/${zip_file}" -P "$password" .
cd -

# 5. 一時的なバックアップディレクトリを削除します。
rm -rf "${backup_dir}/${backup_name}"

# 6.パスワードの読み取り権限を600に変更します。
chmod 600 $password_file

# 7. 保持期間より古いバックアップファイルを削除します。
find "$backup_dir" -name "redmine_mysql.*.zip" ! -type f -newermt "${keep_days} days ago" -delete
find "$password_file" -name "*.txt" -type f -mtime +$keep_days -delete

スクリプト2:パスワード生成

  • スクリプトタイプ: Ruby
#このRubyスクリプトは、SecureRandomモジュールを使用してランダムなパスワードを生成するためのスクリプトです。
#パスワードの生成に関する様々な設定を変数で行うことができます。
#例えば、パスワードの長さ、数字やアルファベット、大文字や記号を使用するかどうかなどを指定することができます。
#スクリプトは、出力先がファイルか標準出力かを選択できます。
#ファイルに出力する場合は出力先のディレクトリやファイル名を指定することができます。

# モジュールを呼び出します 
require 'securerandom'
require 'fileutils'
require 'date'

### 変数はここからです
## 出力するパスワードの数(行数)を数字で指定します
num_passwords = 1
## 出力先を選択します
# ファイルに出力する場合は 1、標準出力に出力する場合は 0 に設定します
output_to_file = 1
# 出力先のディレクトリを指定します
output_directory = '/home/hoge/restore_password' 
# 出力ファイル名を名前+yyyymmdd形式.txtで指定します
# 最初の''部分の名前を任意の名前に入力ください
output_filename =  'mysql-restore.' + Time.now.strftime("%Y%m%d") + '.txt'
## パスワードの強度を指定します
# パスワード桁数を数字で指定します
password_length = 12
# 数字を用いる場合は1を、用いない場合は0を指定します
use_numbers = 1
# アルファベット小文字を用いる場合は1を、用いない場合は0を指定します
use_alphabet = 1
# アルファベット大文字を用いる場合は1を、用いない場合は0を指定します
use_uppercase = 1
# 記号を用いる場合は1を、用いない場合は0を指定します
use_symbols = 1
## パスワード生成用の文字種を定義します
# 必要に応じて使わない文字を削除することが可能です(lと|, 0とOなど)
characters = ''
characters += '0123456789' if use_numbers == 1
characters += 'abcdefghijklmnopqrstuvwxyz' if use_alphabet == 1
characters += 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' if use_uppercase == 1
characters += '!#$%&()*+,-./:;<=>?@[]^_`{|}~' if use_symbols == 1
### 変数はここまでです

# パスワード生成関数を定義します
def generate_password(length, characters)
  SecureRandom.random_bytes(length).unpack('C*').map do |byte|
    characters[byte % characters.length]
  end.join
end

## パスワードファイルを出力する場合(変数 output_to_fileを1にしたとき)の処理です
#出力先のパスを作成します
if output_to_file == 1
  output_path = File.join(output_directory, output_filename)
# 出力先のディレクトリが存在しない場合は作成します
  FileUtils.mkdir_p(output_directory)
# パスワードを出力します
  File.open(output_path, 'w') do |file|
    num_passwords.times do
      password = generate_password(password_length, characters)
      file.puts password
    end
  end
else

## 標準出力に出すだけの場合(変数 output_to_fileを0にしたとき)の処理です
# パスワードを標準出力に出力します
  num_passwords.times do
    password = generate_password(password_length, characters)
    puts password
  end
end

上記、Rubyスクリプトを「変数の定義でファイル出力と標準出力」の2つが選べるようにしたのは幸いでした。(パスワード1つのみを使うので行数も1にしています)

Page 82 of 255

Powered by WordPress & Theme by Anders Norén