
朝の散歩


指摘作成(AUD-TOP)から入ると、規格ごとに審査計画が裏で作られる(被審査組織 × 対象ISO × 審査種別で一意)、しかし複数のISOシステムの統合(複合)審査がある
同じ被審査組織の同じ審査(例:QMS と EMS の統合審査)が別々の計画になったとき、後から1つの計画(統合審査計画書)にまとめる
| 項目 | 規則 |
| 入口 | 統合先の AUD-PLAN(表示)に[他の計画を統合] 管理者(role 1/5)だけに出す |
| 統合できる計画 | 同じ被審査組織 どちらも Close 前 規格が重ならない(同じ規格を持つ計画は種別が違っても不可) 予約組織「その他」は不可 |
| 移す側の計画 | 削除し、統合の記録を残す(取り消しは無い) |
| 指摘番号 | 移す側の指摘は、統合先の続き番号を振り直す(移す側の番号順を保つ) |
| 審査部署 | 同名の部署は1つにまとめる(統合先の部署に指摘を移す) |
| チェックシート | 統合先を残す 移す側に記入があれば確認画面で示す(記入内容は統合の記録に写しを残す) |
| 審査チーム | 合わせる 移す側のリーダーはメンバーにする |
| 期間 | 両方を含むよう広げる |
| 権限 | 管理者だけ |
| 対象 | 内容 |
| 指摘一覧(AUD-FLIST)の[開く] | 指摘の詳細(AUD-FIND-M1)を最初から開いた状態で表示する 指摘リスト(AUD-FIND の表・審査日・件数)は出さない |
| AI 支援 | 直接開いた表示でも使える。AI 支援を閉じると(反映しなくても)指摘の詳細に戻る(ia-support.js が閉じたことを知らせるイベントを出すようにした) |
| [是正処置](新設) | 指摘一覧の不適合の行に追加。是正処置報告書(AUD-CA)の「指摘一覧へ」で、絞り込みのまま一覧へ戻る(保存後も戻り先を引き継ぐ) |
| 戻り先の検証(App\Support\FindingListReturn・新規) | 戻り先 URL は利用者が書き換えられるため、指摘一覧のパスだけを受け付け、相対 URL に組み直す(よそのサイト・別の画面・javascript: は無視して初期表示の指摘一覧へ) |
| 他の部署の指摘 ID | 無視して通常の AUD-FIND を表示する |
| タブ | 直接開いた表示では[指摘一覧]タブを選んだ状態 |
| 変えていないもの | 指摘の保存処理(部署単位の一括保存と楽観ロック)/AUD-PLAN・AUD-SUM から AUD-FIND に入る使い方/画面コード(M1 は AUD-FIND のモーダルのまま) |
| ヘルプ・文書 | 指摘一覧のヘルプ(【開く】【是正処置】)/CLAUDE.md §1・§6(判断25・統合の確定事項)/audit-ui スキル |
| 検証 | 結果 |
| php artisan test | 562 passed(2737 assertions)C7FindingListTest に2本追加 (直接開く・戻り先の検証・他の部署の ID・是正処置の戻り先/Close 済みは見るだけ) |
| npm run build | 実行済み (ia-support.js を変えたため成果物をコミット) |
| ブラウザ (一時 SQLite・管理者) | 一覧(製造部で絞り込み)→[開く]→ 詳細が開き指摘リストは出ない → 内容を直して「決定・保存」→ 絞り込みのまま一覧へ戻り修正が反映 「キャンセル」・Esc でも戻る AI 支援を開いて閉じると詳細に戻る (AI 支援中の Esc では移動しない) [是正処置]→「指摘一覧へ」で絞り込みのまま戻る Close 済みは保存ボタンなし。画面のエラー 0 件 |
| マイグレーション | なし |
| MariaDB での audit:smoke-check | 未実施(PC の Claude Code が §10 の手順で実施) 今回は DB の処理を変えていない |

QMACサイトのバックアップは3つの仕組みで構成している、各々は独立してバックアップが実施されている
| 項目 | 設定 |
| Xserver 自動バックアップ | サーバー会社の標準機能 サーバー上のファイル一式 + MySQLを毎日・直近14日分 Xseverサーバーパネルから復元可能 |
| UpdraftPlus | UpdraftPlus 1.26.8(無料版)WordPress のプラグイン ファイル・DB とも週1回・月曜 03:00 JST(初回 2026-10-05) ファイル4世代・DB8世代 UpdraftPlus から復元可能 |
| Google Drive | Google Driveに協会アカウント「office QMAC」で新設 フォルダ UpdraftPlusにUpdraftPlus のバックアップデータを保持 GoogleDriveから手動でダウンロードして復元可能 |
| バックアップ先 | ① Xserver | ② UpdraftPlus+③ Google Drive |
| バックアップ作業 | Xserver(自動) | WordPress(自動) |
| 頻度 | 毎日 | 週1回(月曜 03:00 JST) |
| さかのぼれる範囲 | 直近14日(※要確認) | 約4週間(4世代)/DB は8世代 |
| バックアップデータ | Xserver の中 | Google Drive(サーバーの外) |
| データの復元 | ① Xserver | ② UpdraftPlus | ③ Google Drive |
| バックアップ場所 | Xserver の中 | サーバー上と Google Drive | Google Drive(サーバーの外) |
| 復元する手段 | Xseverサーバーパネル | プラグインの復元ボタン | 人の手作業で復元(SSH・unzip・wp db import) |
| 復元する環境 | Xserver にログイン可能 (サイトは落ちていてよい) | WordPress が起動して管理画面に入れること | 戻す先の WordPress 環境があること |


1992〜2007年度の旧サイトHTML 39本が、ヘッダー・サイドバー・フッターの外に置かれていた
原本は書き換えず、配信のたびにPHPで変換する方式とした・・旧サイトの記録としての価値を損なわずに、見た目だけを揃る
/archive/2007/ → 00Index/Activities/2007(H19).htm を読む
→ の中身だけ抽出
→ 挿入ナビ・SSIコメント・重複フッターを除去
→ 相対パスを絶対URLに変換
→ .qmac-legacy で包んでテーマのテンプレートに流し込む
| 観点 | 評価 |
| 攻撃されやすさ | 良好 — プラグイン1本、パーミッション適正、改ざんなし |
| 侵入時の被害 | やや弱い — 管理者が管理画面からPHPを書き換えられた |
| 気づけるか | 弱い — 改ざん検知なし |
| 戻せるか | 最も弱い — バックアップが全て同一サーバー内 |
| 続けられるか | 最も弱い — プラグイン・テーマの自動更新がオフ |
WordPressサイトの多くは「プラグイン20本・未更新・権限管理なし」という状態にあることが多い
主な発見
| 発見 | 深刻度 |
| プラグイン・テーマの自動更新がオフ | 高 |
| バックアップが同一サーバー内のみ | 高 |
| XML-RPC が有効(system.multicall が使える) | 中 |
| WWWアドレスが暗号化されず表示 | 中 |
| セキュリティヘッダがほぼ未設定 | 中 |
| 検証環境に wp-config.php.orig(DBパスワードが平文) | 中 |
| 公開フォルダに.bak系が25本 | 低 |
| DISALLOW_FILE_EDIT が未設定 | 中 |
公式テーマとXserver製プラグインの自動更新で壊れる確率は低いので、自動更新にする
cloudsecure-wp-security → 自動更新 ON
twentytwentyfive(親) → 自動更新 ON
qmac / qmac-core(自作) → 対象外
http://qmac.jp/ がそのまま200で表示されていた。暗号化されない経路が生きている状態
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Header always set X-Content-Type-Options “nosniff”
Header always set X-Frame-Options “SAMEORIGIN”
Header always set Referrer-Policy “strict-origin-when-cross-origin”
Strict-Transport-Security と Content-Security-Policy は入れていない。設定ミスでサイトが開かなくなり、HSTSはブラウザが記憶するため取り消しが効きにくい
system.multicall は1リクエストに数百通りのパスワードを詰められる。ログイン試行制限を実質的に回避される・・無効化の前に POST system.listMethods が 78メソッドを返すことを実測し、変更後に403になることを確認
テスト用に.worldを構築していたので、その内容を本番の.jpに移行
行事を作成・修正する編集画面は、Wordpressの標準から独自のソフトで構築したため、編集機能の右サイドバーメニューの縦側が大幅に長くなって、かなり下までスクロールしないと、編集作業ができないばかりか、良く機能が分からない状態だったので、UIを含めて大幅な改善をする
幅を420pxに広げ、2列化。写真と資料のパネル分離、▲▼での並べ替え、複数枚の一括選択、重複除外を実装
パネル名・ボタン名の変更に伴う15か所、さらに古くなった記述6件を修正・・抜粋の説明を新規追加
来年の春にはカレー店舗を出店するために、第19回の小規模事業者持続化補助金の申請することにする
申請は所定書式の経営計画書を作成し、商工会議所の審査承諾を得て4月20日に所定のGビズID(1つのID・パスワードで複数の行政サービスにログインできる、法人・個人事業主向けの共通認証システム・・デジタル庁が運営)を経由してネットで提出・・・・忘れた頃、無事に7月末に採択の連絡があった・・・これから詳細な見積提出が必要となる
厨房の配置計画を見直したので、厨房器具の種類が変更となり、再見積をするが、市内の業者はまともに見積が出てこない・・・随分と時間を消費してしまった・・・仕方がないので、ネットで3業者選択して見積依頼をして、その内、1社に絞り込んで詳細に詰める・・・何回か見積を再修正してもらい、9月初めに見積がまとまり、再申請をする


最申請の結果は、「見積に不備があり」と差戻となる・・・厨房設備工事の詳細見積を依頼して、ようやく、再度申請する・・どうも申請の見積内訳を詳細に分類しすぎたので、見積書がめんどくさくなってしまった・・今回で無事OKとなると、ようやく厨房工事に着手できる
また、朝キクが脱走していて、犬を散歩させている近くの叔母さんが、連れて来てもらった・・・急に、脱走し始めたのでどこに原因があるかを探すと、カレーの厨房に2カ所に抜道を発見、さっそく合板で穴を塞ぎ、ついでに長い間て片付けていなかったカレーの厨房と中庭、バルコニーを全員で大掃除
かなりの不要材を整理する
甲斐犬のキクの脱走はすっかり近所では有名になり、マークされる存在となった
2~3日前から、少し喉が痛い
昼からは何となく寒くなり、夕方まで寝て過ごす
QMACサイトの新しいサーバにはテスト用の.worldのDBがあり、新しく本番用のDBをMysqlで作成して、管理者パスワードを設定し、.worldの内容を本番用にコピーして、BASIC認証は削除する
変更箇所

| レコード | 切替前 | 切替後 |
| NS ×5 | ns1〜5.xserver.jp | 変わらない |
| A(3本) | XXX.XX.XXX.XXX | 協会サーバーのIP(自動設定) |
| MX | XXXX.jp | 自動で再作成される |
| TXT(SPF) | svXXXX を含む | 自動生成され、内容が変わる |
★注意:旧アカウントから削除した瞬間、ゾーン全体が消えます・・Aレコードが古いまま残る状態より深刻で、ドメインそのものが引けなくなります(名前解決エラー)・・・削除と追加は連続して、間を空けずに実施してください。数分以内が理想
全レコードが3600秒(1時間)です。切替の前日に、Aレコード3本のTTLを300秒に下げておいてください。 切替後の反映待ちが1時間から5分程度に縮みます・・切替が落ち着いたら3600に戻します。
| 種別 | 役割 | 無いとどうなるか |
| NS | このドメインの電話帳をどのサーバーが管理しているかを示す | ドメイン全体が引けない |
| A | ホスト名をIPアドレスに変換 | Webの接続先 サイトが表示されない |
| MX | メールの配送先を指定 | メールが届かない |
| TXT | 任意の文字列 SPF(送信元の正当性宣言)や所有権確認に使う | なりすましを防げない 認証できない |
| CNAME | 別のホスト名の別名(今回は未使用) | — |
Web(A)とメール(MX)は完全に独立しています・・片方を変えてももう片方に影響しません。今回メールを使っていないので、実質Aレコードだけの話になります
想定より健全だった。特にパーマリンクが投稿ID方式のため、カテゴリやタグを変更してもURLが壊れない構造になっている。10年分の被リンクが守られる良い設計・・・一方、uploads 52GB は一括バックアップが現実的でないサイズで、実質「バックアップが無い」状態だった。これが最大のリスクと判断
テーブル接頭辞(重要)・・このサイトのテーブル接頭辞は wp_ ではなく action_・・・SQL を書く際は必ずこれに合わせる