国会議員を含む複数のサイトの”一時的な閉鎖”を確認しています。また、複数の個人管理のワードプレスも自発的な(予防的な)閉鎖を余儀なくされています。理由の一因が、「お問合せ」および「コメント欄」です。理由は、読者など”外部から”入力できるフォームであり、サーバー内のデータに自由に投入できる穴でもあるからです。一番の弱点と言ってもいい。
予防的な閉鎖、これらは極めて正しいことです。ただ、恐らく復旧の目途が立っていないページも数多くあると思う。保守契約を締結していない方は、当然ながら(契約者を優先するため)後回しになるだろうし、そもそも(全部を積算すれば)何百万円かは必要になるであろうセキュリティ対策を、個人サイトに対して投じることは不可能です。
弊サイトは、予感的に(ダメだな)と夏ごろに危機感を感じ、PHPのバージョンアップを含め徹底的に『乗り切る』ための防御陣地を構築してきました。見た目はそう変わっておりませんが、中身は徹底的に変化しています。複数の案があり、それなりに効果を発揮しておりますので紹介します。メールフォームは、CF7 がもともと「1行の欄は 400字、複数行の欄は 2,000字まで」に制限しています(実物で確かめました)。重要なフォームは個別指定をかけ、欄ごとに決め直しました。「お名前 60字、住所 200字、本文 3,000字」などです。
議員サイトや政治系サイトに特化したカスタムは、あまり事例がありません。正直、相当に狙われました。でも耐え抜いた。
ここ数日の猛攻に対しては、全弾回避をしております。弊サイトが粛々と公開を続けることができた理由であり、(ある意味では時間的な意味での資産価値でも)何より一定のアドバンテージを手放し、うちの強みを全て放出し、かつリスクしかないのですが、ここに仕様を全て公開します。それで助かる人が一人でもいるなら、私が助ける。
同じようにすれば、国会議員のホームページのコメント欄やお問合せなどは復旧が可能だと思います。あの夜、端末の前で明け方まで作業しつつ、なんとか侵入を防ぎきって乗り切った仕様です。三匹の子豚でいうところの、レンガの家ほどの強さはありません。ただし、藁の家からちょっとだけ木の家程度にはなると思います。AIに貼り付けるだけで動作する、強固なセキュリティ案です。
不定期発信にはなりますが、チャンネル登録をお願いします。
当サイトが公開により抱えるリスクと、それでも公開する理由
個人がやって、恐らく3~4日で対応ができるレベルです。ここまで設定するのに、私は約二カ月かかりました。
3日も4日もPC前に張り付け!という意味ではありません。作業ごとに分けており目安を記載しておりますが、1時間とか3~4時間かかるものばかりで、一度セットしたら他の仕事をするか(なんなら出かける前でもいい)、寝る前に走らせておけばそれで作業は進みます。もちろんサーバーの管理機能などで人間が操作(AIに習いながら)などはモニター前に座っておらねばなりませんが、基本的にはプロンプトを走らせたら「することはない」です。素人ではありますが、元技術者としてそれぐらいには完成度は高めています。
これを公開することには何のメリットもなく、デメリットしかありません。また、私の対応が間に合っていないものがあれば、それは私のサイトのセキュリティリスクになります。絶対の防御はなく、本当は公開などしたくない。
ただ、いまの惨状を見て、恐らく日本で一番最初にPHPのバージョンアップの完了報告を最速で投稿できた、個人運営の議員HPとしては述べねばならない。公益として。
使ったのは、AIのClaudeです。
コーディングができるAIなら、下記を読み込ませて、なんならこのページを直で読み込ませれば対応できると思う。
また、運営を断念しつつある個人サイトもあると思う。これで一定のセキュリティ対策は施せるので参考にしてください。
必要個所については、各項目の下部にプロンプトを貼っておきます。
各議員事務所、各サイトごとにAIエージェントを契約していると思う。AIを使ってセキュリティを貼りなおす方法を示します。
Pro(20ドル/月)では、トークンが不足する恐れがある。ただし、ゆっくり処理すれば大丈夫。
Max 5x(100ドル/月)であれば、ここから先のプロンプトを貼ってもらえれば相当な強化ができると思う。
あの夜を乗り越えられるぐらいには。
ちなみに作業としては、そうたいしたことはない。数日はかかるだろうが、長い作業を夜間にセットして(承認作業がないなら)寝てしまえばいい。昼休憩の直前にセットして、ご飯食べたころには終わってる。そういう作業速度で3~4日ぐらい。
コンタクトフォームが悪いのかと言えば、まったく悪くないんです。
無料で使えて、非常に良いもの。これはね、普通に入れても動作はするもんなんです。
えっと、無料で配布はしておりますが、(作った人たちが無料で提供しているというだけで)我々が使うならば「基本的には、カスタムが前提」のもの。一般に広く頒布するためにそうしているだけで、高機能なセキュリティとかは自分でつけてね!という性格のものなんです。
便利だからって無料で使い続けていた政治系が悪い。政治系というのは、議員も、まとめサイト等もです。ほとんどのお問い合わせはこれで動いている。ただでさえ狙われやすいカテゴリなんだ、なんでノーマルの状態で乗り切れると思ったんだろう。
強化をしない場合は、サイトをオープンしても速攻で叩かれて、吹っ飛ぶと思う。一応の対処方法を構築しており、下記のプロンプトを順番に走らせたら、一応は防御できる。あの夜を、うちは、叩かれまぐりながらも乗り越えました。何か月も準備してきたから、です。
お問い合わせフォームの防御機構(Contact Form 7)
小坪しんやの HP(samurai20.jp)の、献金・お問い合わせのフォームで実際に使っている防御機構をまとめた一覧です。同じく WordPress と Contact Form 7(CF7)でフォームを置いている議員の皆さんの参考になればと思い、まとめました。そもそもContact Form 7は、セキュリティ対策が強いプラグインではありません。ノーマルでは突破が容易であり、カスタムが必須と言われていたものです。プロの業者に発注した際には、一定の強化を施すか、もしくは別のプラグインを使っています。
そのうえで、非常に手軽で便利なものですから、ほとんどの議員のHPはCF7を設置しています。個人サイトでついていないところはないのではないだろうか。また事務所側の事務員さんなども、これじゃないと対応ができない(安易に変えることができない)のでCF7から抜け出せない事務所がほとんどだと思います。本当に便利なんです。
コメント欄やblog本体の防御陣地も重要なのですが、まずはお問合せ(献金含む)の強化を施してください。
レンタルサーバーはエックスサーバーです。ほかのサーバーでも、似た機能があれば同じ考え方で使えます。 鍵やパスワードなど、外に出してはいけない値は、この一覧には書いていません。
• 番号の小さいものほど、手軽で効き目が大きい防御機構です。
(作業時間は、AI に案内してもらいながら自分で操作する場合のめやすです。サーバーの待ち時間と、効いているかの確かめも含みます。①〜⑦の合計で、Opus 5.5 なら約10〜20時間、Fable なら約8〜16時間です。)
まず最初に AI に渡す「共通の前置き」(タップで開く)
私は地方議員で、自分の WordPress サイトを守る作業をしたいと思っています。ITの専門家ではありません。次の約束を守って手伝ってください。 ・環境:WordPress、Contact Form 7(お問い合わせフォーム)、レンタルサーバーは〔エックスサーバー〕です。 ・説明は専門用語を避け、管理画面のどこを押すかを1手ずつ書いてください。 ・何かを変える前に、必ず「控え(バックアップ)の取り方」を先に教えてください。 ・変えたあとに、ちゃんと効いているかを確かめる方法も、毎回セットで教えてください。 ・パスワードや鍵(キー)は、このチャットに書かせないでください。入力する場所だけを教えてください。 ・分からないことや、私のサイトでは事情が違いそうなことがあれば、推測で進めずに質問してください。 ・一度に全部やらず、1項目ずつ進めます。
(Cloudflare社)PHPの件では、PHPの開発者やOpenAIなどと公開前から水面下で連携し、公開の約9時間前から、無料プランも含めて防御を自動で効かせていました。米国ではホワイトハウスなどの政府機関も、この連携に加わっていたと公表されています。Turnstile は、Xサーバーのログイン画面を保護している機能でもあります。無料コースで充分な効果を発揮します。
(あのXサーバーの管理画面のログイン認証と同等レベルの強度になる、という意味です。)
• 確認はサーバーの側でも行い、通らない送信は受け付けません。
• 以前は reCAPTCHA でしたが、Turnstile に切り替えました。
(理由)費用の観点とユーザーの利便性向上のためです。
• ログイン画面とコメント欄にも、同じ Turnstile を付けています。
(別のプラグイン Simple Cloudflare Turnstile)
• 注意:迷惑判定の Akismet をフォームに付けていた場合、本物のお問い合わせまで迷惑扱いされました。お問い合わせのフォームからは外しています。Akismetを外しています。
作業時間のめやす Opus 5.5:40分〜1時間/Fable:30〜50分
①を AI に頼むプロンプト(タップで開く)
Contact Form 7 のすべてのフォームに、Cloudflare Turnstile(人間かどうかの確認の箱)を付けたいです。 1. Cloudflare の無料アカウントで Turnstile の「サイトキー」と「シークレットキー」を作る手順を教えてください(キーの値はチャットに書きません)。 2. Contact Form 7 本体の「連携」画面で Turnstile を設定する手順を教えてください。 3. ログイン画面とコメント欄にも付けたいので、プラグイン「Simple Cloudflare Turnstile」の設定方法も教えてください。 4. もし reCAPTCHA を使っていたら、二重にならないよう外す手順も教えてください。 5. フォームに Akismet(迷惑判定)が付いていると、本物のお問い合わせまで迷惑扱いされることがあります。フォームから外すべきか、確認の仕方を教えてください。 6. 最後に、確認の箱が出ているか・送信が届くかを、私が自分で確かめる手順を教えてください。
• CF7 は、もともと 1行の欄は 400字、複数行の欄は 2,000字までの上限を、サーバーの側でも確かめています(実物で確かめました)。
• 重要なフォームについては、欄ごとに決め直しました
(お名前 60字、住所 200字、本文 3,000字 など)
• 画面に出ない「隠し欄」にも上限を付けています。
隠し欄というのは、独自のエラー項目(生年月日などを入力した際に未成年や未来人であるか等の判定)に用いています。これらは自作のプラグインを作って、上限を超えたら受け付けないようにしています。
• ファイルを添付する欄は置いていません。乗っ取りのファイルを送り込まれる入口になるためです。
また、これらに対応する形にプライバシーポリシーを改定し、取得情報と対になるように更新しました。
作業時間のめやす Opus 5.5:1.5〜3時間/Fable:1〜2時間
②を AI に頼むプロンプト(タップで開く)
Contact Form 7 のフォームの各欄に、字数の上限を付けたいです。大量の文字を送り込まれる攻撃を防ぐためです。 1. 今のフォームの中身(フォームタブの文)を貼りますので、欄ごとに妥当な上限(maxlength)を提案してください。例:お名前・住所・本文など。 〔ここにフォームタブの中身を貼る〕 2. 上限を書き足した、フォームタブの文を作ってください。 3. 画面の上限だけでは、ツールで直接送られると素通りします。サーバーの側でも上限を超えた送信を断る、小さな自作プラグインを作ってください。上限を書き忘れた欄にも、既定の上限(1行の欄・複数行の欄で別々)がかかるようにしてください。 4. 画面に出ない「隠し欄」があれば、そこにも上限をかけてください。 5. ファイルを添付する欄があれば、外すべき理由と外し方を教えてください。 6. 取り付け方と、上限を超えた文を送ると断られることの確かめ方を教えてください。
• 数えるのは「メールが送られた送信」だけです。入力の誤りや、ロボットよけで弾かれた分は数えません
• メールアドレスと回線の番号は、元に戻せない形(ハッシュ)にしてから数え、期限が来ると自動で消えます。個人の情報を溜めないためです。
• 管理者としてログインしているときは数えないように設計しました。
(試し送りのため)
• 上限に達したら、閲覧者がメール本文を作成する前の段階で止めます。読者には「送信が続いたため受け付けを止めました。それまでの分は届いています」と表示します。
作業時間のめやす Opus 5.5:2〜4時間/Fable:1.5〜3時間
③を AI に頼むプロンプト(タップで開く)
Contact Form 7 のフォームから、同じ人が短時間に何度も送れないようにする、小さな自作プラグインを作ってください。 決まり: ・同じメールアドレスからの送信と、同じ回線(IPアドレス)からの送信を、それぞれ数える。上限は〔1日◯回・1時間◯回〕にしたい(数は相談させてください)。 ・数えるのは、実際にメールが送られた送信だけ。入力の誤りや、ロボットよけで弾かれた分は数えない。 ・メールアドレスと回線の番号は、元に戻せない形(ハッシュ)にしてから数え、期限が来たら自動で消す。個人の情報を溜めないため。 ・上限に達したら、メールを送る前に止め、読者には丁寧な文(例:「送信が続いたため、受け付けを一時止めました。それまでの分は届いています。」)を出す。 ・管理者として試し送りをするとき、どう扱うかも提案してください。 あわせて、取り付け方、壊れたときの外し方、上限で止まることの確かめ方を教えてください。
(XSS・SQL・ファイル・メール・コマンド・PHP)
サーバーの管理画面にログインして設定します。
• 国外からの REST API を遮断しています。CF7 は送信に REST API を使うので、海外からはフォームを送れなくなり、海外からの迷惑送信がまとめて止まります。国内の読者には影響ありません。
※ ただし国内サーバーを踏み台にして叩かれまくっているため、海外IPカットは絶対的な防御にはなっておりません。
• WAF の誤検知に注意:フォームの設定の保存や送信が、WAF に止められることがあります。設定を保存する前に、試し送りで確かめる運用にしています。
作業時間のめやす Opus 5.5:1〜2時間/Fable:1〜2時間
④を AI に頼むプロンプト(タップで開く)
レンタルサーバー〔エックスサーバー〕の管理画面で、サイトの手前に防御を置きたいです。 1. 「WAF設定」で、XSS・SQL・ファイル・メール・コマンド・PHP の6項目を ON にする手順と、反映までの時間を教えてください。 2. 「WordPressセキュリティ設定」で、国外からの REST API とログインの制限を ON にする手順を教えてください。Contact Form 7 は REST API で送信するので、海外からのフォーム送信も止まることを踏まえて、国内の読者に影響がないか確かめる方法も教えてください。 3. WAF は、正しい操作(フォームの設定の保存や送信)まで止めてしまうことがあります。止められたときの見分け方と、WAF を切らずに済ませる対処の考え方を教えてください。 4. 設定のあとで、フォームが国内から問題なく送れることを確かめる手順を教えてください。
どんな状態でアクセスしてもhttpsにつなぎ直し、約一年間に渡ってSSLページに強制的にリダイレクトするようにしています。弊サイトは14年前からの開設のため、SSL化前のデータがありましたが、全て確認して削除もしくはSSL化しており、それでもさらに強制的にリダイレクトするように設定しました。
• 他のサイトの枠の中にページを入れさせない(クリックジャッキング対策)。
偽の画面の下に本物のフォームを隠して押させる手口を防ぎます。
• 外部の配信所から、部品(ライブラリ)を読み込まない。
弊サイトの場合は、なめらかスクロールの機能などがありますが、必要な機能は自分のサーバーに置きました。外部の配信所が乗っ取られると、フォームの入力を盗み見られうるためです。フォーム入力欄は、サーバーに何かを投入されるセキュリティホールであるとともに、悪意ある敵対者からすれば「盗み見たい場所」でもあるからです。デジ庁や各自治体がやられたのは、ここだと思う。
• フォームのある3ページ(お問い合わせ・献金・プライバシーポリシー)では、ページのセキュリティ上、必須かつ強固なリストを作成し、それ以外のリストにないところからは何も読み込まないようにしています(CSP)。
• ファイルの種類の偽装を防ぐ、カメラやマイクを使わせない、などの決まりもブラウザに返しています。そのため、どういう権限でスマホでアクセスしてもこれらの機能はカットします。何かに感染したスマホ等でうちにアクセスしたとしても、必要最低限のアプリしか(閲覧者側の端末が)動作しないようになっています。
作業時間のめやす Opus 5.5:1〜2時間/Fable:1〜1.5時間
⑤を AI に頼むプロンプト(タップで開く)
サイトのページそのものを守る設定をしたいです。サーバーは〔エックスサーバー〕で、.htaccess を編集できます。 1. https に必ずつなぎ直す設定(常時SSL)と、HSTS(ブラウザに「このサイトは必ず暗号化でつなぐ」と覚えさせる)を入れる手順を教えてください。HSTS は最初は短い期間から始める方法も教えてください。 2. ほかのサイトの枠の中に、自分のページを入れさせない設定(クリックジャッキング対策)を教えてください。YouTube などの埋め込みを自分が使う分には影響しない形にしてください。 3. ファイルの種類の偽装を防ぐ設定と、カメラ・マイク・位置情報を使わせない設定を教えてください。 4. 外部の配信所(CDN)から読み込んでいる JavaScript があるか調べる方法と、必要なものを自分のサーバーに置き換える手順を教えてください。 5. それぞれ、.htaccess を書き換える前の控えの取り方と、入ったかどうかを確かめる方法(ブラウザやWebの点検サービス)を教えてください。
• 送り主は自分のドメインのアドレスに固定し、読者のアドレスは「返信先(Reply-To)」に入れます。送り主に読者のアドレスを入れると、なりすまし対策(SPF・DMARC)で迷惑メール扱いされるためです。
• 件名に受付番号を入れています。Gmail が同じ件名をまとめてしまい、見落とすのを防ぐためです。
• メールの欄に入った文字が、メールの見出し(ヘッダー)に入り込まないようにしています(WAF のメール対策も効きます)
作業時間のめやす Opus 5.5:1〜2時間/Fable:1〜2時間
⑥を AI に頼むプロンプト(タップで開く)
お問い合わせフォームのメールが、確実に届き、なりすましに使われないようにしたいです。 1. プラグイン「WP Mail SMTP」で、サーバーのメールを暗号化(TLS)と認証つきで送る設定手順を教えてください(パスワードはチャットに書きません)。 2. Contact Form 7 のメール設定で、送り主(From)は自分のドメインのアドレスに固定し、読者のアドレスは「返信先(Reply-To)」に入れる書き方を教えてください。送り主に読者のアドレスを入れると迷惑メール扱いされる理由も、短く説明してください。 3. Gmail が同じ件名のメールをまとめてしまい、見落とすことがあります。件名に受付番号を入れる方法を教えてください。 4. メールの欄に入った文字が、メールの見出し(ヘッダー)に入り込まないようになっているか、確かめる方法を教えてください。 5. 自分あてに試し送りをして、迷惑メールに入らず届くか確かめる手順を教えてください。
CF7と同一設計者の作成しているプラグインで、Flamingo は送信済メールを保管してくれます。
• 毎朝、前日の送信を数え、一定数以上の多すぎる日(合計10件超・同じアドレス3件以上・同じ回線5件以上)は別途アラートをかけています。フォームを使っての攻撃を受けている可能性があるからです。
• 管理画面は2段階認証(CloudSecure)。ログインに何度も失敗した相手は締め出します。
• サーバーのファイルが書き換えられていないか、一定周期で、原本と照らし合わせています。
作業時間のめやす Opus 5.5:3〜6時間/Fable:2.5〜5時間
⑦を AI に頼むプロンプト(タップで開く)
フォームやサイトへの攻撃に、早く気づけるようにしたいです。 1. プラグイン「Flamingo」で、フォームの送信内容をサーバーにも保存する設定と、保存した内容をどのくらいの期間残すか決めるときの考え方を教えてください。 2. 1日の送信数を数えて、多すぎる日(合計・同じアドレス・同じ回線の件数が〔◯件〕を超えた日)にメールで知らせる仕組みを作ってください。サーバーの予約処理(cron)か、WordPress の予約の仕組みを使う形で、私のサーバーで使える方法を提案してください。 3. 管理画面のログインに2段階認証を付け、ログインに何度も失敗した相手を締め出す設定を教えてください(エックスサーバーなら、どの機能を使うかも)。 4. サーバーのファイルが書き換えられていないか、WordPress の公式の原本と照らし合わせる方法を教えてください。 5. それぞれ、正しく動いていることを確かめる方法も教えてください。
• 自動返信(読者への控えのメール)は使っています。他人のアドレスを入れて悪用される余地があるので、連続送信の制限とセットで使っています。
• 保存した送信の内容(Flamingo)には、受信したデータが残ります。どれだけの期間残すかは、各議員事務所のご判断で。
• フォームのあるページには、外部の解析などのタグを増やさないようにしています。
(作業メモ)
1. Turnstile:CF7 の連携の設定だけで入ります。いちばん効きます
2. WP Mail SMTPで認証つきの送信にして、送り主・返信先を正しく設定する(届かない・迷惑扱いを防ぐ)
3. レンタルサーバーの WAF と国外からの制限を ON にする
4. https と HSTS、枠に入れさせない設定
5. 字数の上限を欄ごとに見直し、添付の欄は置かない
6. 連続送信の制限と毎日の見張り:少し手が込むので、余裕があれば
実物になります。
下記の2ページが弊サイトの、CF7です。
また、下記のバナーについては、画像ではなくhtml化したコードで書いています。私がサムネイル画像を作る際以外の、当ページと当ページ内をリンクさせるものについては、基本的にはコード化して出力します。全ページ作り直しました。
特に献金ページはフォーム数が多く、非常に大変。
ではメールフォームが楽かと言えば、セレクターでフォーム項目が切り替わる手法のため、実はこっちのフォームも少なくはない。
このプロンプトは、蒸留されつくした状態の上澄みであり、私は一個ずつ手で検証しながら自作してこの形に到達しました。
お問い合わせ票件名お問い合わせご意見・ご依頼をお寄せくださいご用件1ご意見・ご要望2議員からのご連絡3出稿のご依頼4講演のご依頼5取材のお申し込み6個人情報に関するご依頼宛先小坪しんやお問い合わせ票へ。 個人献金 お申し込み票小坪しんや後援会・涼月会個人献金のお願い地方議会から、国を動かす今回のみ自由な金額で、一回だけ支援する銀行振込毎月定額毎月定額で、継続して支援するカード決済小坪しんやお申し込み票へ。 これらの新規プラグインと対になる形のプライバシーポリシーが下記になります。
前述の対策をいれるのであれば、我々議員の後援会には個人情報保護法は関係ないとは言え、やはり謳い込むべきとの判断で、これらを内包した大幅な改訂を行っております。参考にして頂いて、まったく構いません。周囲からは、ここのデザインをしている際に「プライバシーポリシーだって(笑)」と揶揄されましたが、理由はちゃんとあります。
取り扱いについて小坪しんや後援会・涼月会制定2015年2月26日改訂2026年10月9日2お預かりする情報3情報の使いみち4献金をいただいた方の情報8コメント欄をご利用の方へ10お問い合わせをいただく方へ11情報の管理と保存ほか、全14項目小坪しんや方針を読む。
対応が速かったのは、試作段階で読者が何度も何度もデバッグ作業に協力してくれたからです。これらの防御線は、読者とともにつくりました。私は技術者出身の政治家ではありますが、機械設計です。ITについては一切学んでおらず、仕様書を一枚ずつ覚えて勉強しました。大量の資料を読み込むことだけは、職業的に異常に速いです。私だったら間に合うんじゃないかと思いました。
あと、こういう事態になることは承知しておりました。
理由についてはお答えできません。
自前のサーバーでblogを運営することが不可能ではないかという危機感をもっていました。
想定したので、発信よりなにより、書くことよりも「作ること」に特化しました。
手動でのテストも繰り返して、もちろんAIでの検査も何回もかけましたが、昨日も今日もいじくりまわしてはいるので、メールフォーム・献金ページのテストも募集しています。自由筆記欄などに「テスト」と入れておいてもらえれば、ちゃんと判別できるように作っています。そのテストもしたいので、余裕がある方は機能試験への参加をお願いします。もっと硬くしたいから。
AIが高機能化する前(夏より前)に、外注した場合の概算額
前提として夏前(騒ぎになる前)に、WordPress に詳しい制作会社へ、項目ごとに頼んだ場合です。技術者1人1日の単価は、フリーランスなら3〜6万円、制作会社なら5〜10万円ほどで計算しています。セキュリティの仕事は、その上の方になりがちです。
私の場合はデザインや保守を長年にわたって担当してくれた10年来のプロの同志がおりますから、半額とまでは行かないにせよ(トータルで何百万単位は払ってきましたし)もう少しはお安くお願いすることはできたとは思います。
AIがあるから安くなるんでしょう?と思っている人は、分かってない。騒ぎのあとに頼むと、もっと高くなります。 いまのように業者が混んでいると、急ぎの割増(1.5〜2倍)が付くか、そもそも順番待ちになります。だから、議員HP群は、壊滅したままで復旧の見込みはない。費用的に、しかも統一地方選前の陣営にポンと何百万円か払う資金的な余裕もない。
| 項目 | 作業の量 | 概算 |
|---|---|---|
| ① ボット対策(Turnstile) | 半日〜1日 | 3〜10万円 |
| ② 字数の上限(自作の部品・隠し欄・添付の欄なし) | 1〜2日 | 5〜20万円 |
| +プライバシーポリシーの改定 | - | 5〜15万円(弁護士に頼むなら別) |
| ③ 連続送信の制限(自作の部品) | 2〜4日 | 10〜30万円 |
| ④ サーバーの手前(WAF・国外制限・誤検知の試し) | 半日〜1日 | 3〜10万円 |
| ⑤ ページの防御(https・HSTS・各種の決まり・部品の自前化) | 1〜2日 | 5〜20万円 |
| +14年分の記事のリンクの点検(3,833本・約23,500本) | 3〜5日 | 15〜40万円 |
| ⑥ メールの送り方(SMTP・送り主・受付番号) | 1〜2日 | 5〜15万円 |
| ⑦ 監視と記録(見張り・2段階認証・原本との照合) | 3〜6日 | 15〜50万円 |
| 合計(最初の作業) | - | 約65万〜210万円 |
※ 相場からの概算で、見積もりを取ったものではありません。毎月の保守(月1〜5万円ほど)は別です。
自分、元技術者なんで。腕試しというか練習で始めて、総当たりの壁打ちで勉強しました。「来るだろうな」と言った理由は公開できないのですが、そういう(相手方からの)波を計測する立場におり、一部業界人(だいぶ偉い)と確信めいたものをもっていたわけです。プロたちからは”流石に、いまから一から勉強しても間に合わないだろう”と言われてましたが、同じく「あいつなら、石にかじりついてでも教科書とか仕様書とか読み込む。人間ではあるけど、AIみたいなやつだ」という謎の評価も頂きました。使い方も特殊で、まず”文字を書かせようとしない”状況で、少なくともテキストを生成することはなく、もはやノミとかカンナとかみたいな使い方をします。ラチェットとかメガネみたいなイメージ。
間に合ったんです。だから、うちは落とさなかった。
そして公開を継続している。
ここまではプロンプトの話。
作業にだけ使いたい方はページを閉じてもらって構いません。
助かった!これ、普通に大変だったろうな、とか(外注では)払えなかったという方はご検討ください。これはここに貼っても怒られないと思う。
サイト内のリンクを全部貼りなおしました。
メールだけかよ!と思うかもしれませんが、メール以外にもやっています。
ある意味では極端に静かにして、”目立たないところからやってます”と言いつつ、それはそれで本当ではあるんですが、必要な部分から重点的に対処したという側面もあるんです。
では、ブログ本体はどうか。敢えて目立たないように、ここも随分と変わっているんです。
あわせて、記事のリンク先を全部調べました(公開中の記事3,833本、リンク約23,500本)。これらの全数については、外部サイトに遷移する際に、ページのアドレスを渡さない(ドメイン名のみ)形に変更。あの夜には完成していました。
※ 中古車屋などが陥落したのは、このあたりかもしれない。
また、(当ページではなく)リンク先においては、乗っ取られて(または買われて)、中身が賭博や出会い系に変わっていたリンク先が7つありました。過去記事が大量にあるとどうしても起きうる事例です。表示から外して弊サイトからのリンクを潰しました。今後も生じうる危険性がある為、毎月1日に、リンク先の継続的な監視を続けています。(次は11月1日)。
過去記事のランキングのURLを抽出して、前後の文章も整形して、ここには「新しいタブで開く」が大量にあったので、もはや14年分は手動では無理で、いろいろと調整しながら全数貼り換えました。
デザインは雑に決めて、さくっと行ったところ「前のボタンが好きだった」とのアンケートが。嬉しかったなぁ。14年間、押し続けてくれたボタンだもの。だからサイズだけ調整して画像は元に戻しました。少し、まだこのあたりは雑な作りだけども、戦闘状態だから許してね。年末あたりには、トップページまで作り上げたいなぁ。
その他の防御線について
blog記事の本体、および管理画面などの本体構造については、もっと書ききれないぐらいの対処をいれております。
コメント欄を完全に閉鎖してしまえば、実現は容易だった。問い合わせページも潰してしまえばいい。
けれど、私はそれが嫌だった。
書けるように、する。絶対に残す。
ならびに既知のリスクについては、相当に高いレベルでやってきたので、まぁまぁ堅いとは思います。
夏前の、ちょっとした上場企業のセキュリティ同等ぐらいはあると思いますが、それももはや決して強力なものとは言えず、撃ち抜かれるときは撃ち抜かれます。
流石に本体構造そのもののセキュリティは、いまは公開できません。
死ねというのと同じ意味だからです。
この記事の公開でも、盾の大部分を放棄したに等しく、うちの防御装甲板はゼロになってしまった。
落ちるときは、それでも落ちると思う。
覚悟する。
ランサムウェアを仕掛けられて、過去のデータが全部廃棄されることもあるかもしれない。
全力でやられたら、うちもダメだ。
だから、同一データを持たせたテストサーバーを別個に作り、別系統である意味でのミラーリングをしている。検索にはかからないようにして、二番艦を待機させてる。
(ちなみにデザインサンプルを猛烈に突っ込んでいるので、独創的すぎる斬新な表示になるかもしれない。ちんどん屋みたいに膨大な効果がついたチカチカしたページになったら「あ、一回、死んだんだな」と思ってください。)
また、それも潰れた時用に、全部のデータのバックアップを定期的にとり、陥落して撃沈されたら(最大一週間程度はワープするだろうけれど)何回でも同じ形で復活できるように対処してます。
それなりに堅くは作っています。けど、ダメなときはダメだろう。
ゆえに潰れても潰れても復活できるような、物理的な方法を複数にわたって構築しています。涼月は、あんなになっても沈まなかった。
最後のときは、みんなのためにその身を使った駆逐艦の名だ。だから、これでいい。
走って!統一地方選がある。
公開そのものを非常に悩みました。アドバンテージとして保持していても問題ない、もしくは秘中の秘とするのが適切でしょう。出すやつはバカだ。私はバカだと思う。バカなことを書いた。
ただ、来春には統一地方選がある。物凄い数の候補者たちが出る。サイトをリニューアル中の議員もいるし、長年にわたって更新してきた予定候補者もいる。彼らのところまで、web技術者らはまわれていないし、仮にアポイントがとれても特化して対応することはできない。金額的にもあわないだろう。そもそも人がいない。
本件が難しいのは、CF7が相当に汎用化され、かつ、とんでもなく使い勝手が良いプラグインなものだから、事務所の事務員さんたちが操作するにはこれを選択するしかないんです。大手企業とかならば、別のプラグインに差し替えればいいのかもしれないが、議員サイトばかりはそうはいかない。使い続けざるを得ないわけで、そのカスタムを個別に行うなんて(私は二カ月ですが)プロを専従させてもそれなりに時間はかかるわけで、助けには来ない。
火事になって、または被災して、怪我をした家族を抱きしめながら
目の前を消防車が通り過ぎて行く気持ちというのを、SNSの投稿で見たことがある。
そんな思いは絶対にさせたくない。だから公開した。
上記のセキュリティについてですが、単語や用語については私は比較的に知っていました。友人たちがそういう人たちだからです、それは福岡県の業者ではありません。博多や小倉ならやれるかもしれない。ただ、一般市には、こんな対応をとれる業者はいないのです。なぜなら需要がなくて、そんな会社を作っても一瞬で倒産するからです。私は、自分でやるしかなかったんだ。友人というのは関東圏や関西圏の各業界のトップ企業たちで、blogの読者です。こうなることを雰囲気として予見していたのが夏の終わりですが、無料でググれるものを情報とは言いません。
よって、地方都市の場合は「お金を払うと言っても、対応できる業者がいない」のが実情だと思う。
議員本人が見ても「は?」と思うかもですが、ネット保守の方からお伝えしたり、事務所内で比較的に若い方がおれば「読めばわかる」ように書いています。プロンプトをはっつけて、走らせるだけです。できればFTPは塞いで、SSH一本で。(速いし。)レンタルサーバー会社との契約書にあったサーバーのパスさえ、どっかの棚に入っていると思うから、それさえあれば「このクラスのセキュリティ」が3~4日で構築できます。
だって、みんな準備しているわけでしょう?選挙の。
ネット発信だとしきりに言っていた中で、各陣営のHPがダウンしたまま来春を迎えさせていいのか、って話。
神輿のない祭りみたいなもんだし、力をいれたかった候補もいるだろう。
年の瀬にはさ、正月飾りぐらい飾らせてあげたいじゃないさ。
地方議員(都道府県議クラス含む)のサイトは、恐らく復旧しないだろう。
候補者が何を考えているかとかの具体的な深い話は、XやYoutubeだけでは無理だ。有権者に、選択肢をわかりやすく伝えるために。
私にだって好き嫌いはある。
自民党の仲間だけに配布する方法もあるし、連絡先も知ってる。
保守系野党とは敢えて言わないが、立憲や共産党の地方議員候補だって困ることになる。
全員に、このセキュリティ対策のプロンプトを渡すのか?って。
「あんなやつらまで、助けるのか!」というかもしれない。
いいよ。うん、いい。
それでいい。
使って。災害みたいなものだから。
すべての予定候補者たちに、幸あらんことを。
彼らを選ぶ有権者の選択肢が正しく示されますように。
この記事を読んだ人にお願いがある。
そう、貴方。四角いディスプレイか、または電子的な板を手にもって、いま覗いている貴方。
走って。
この記事を拡散して。
伝えて。みんなが。
うちは長らく更新をとめた。
アクセス数はだいぶ下がっている、覚悟の上だ。
リアルもそれなりには忙しいけど、動かせる時間は(blogの執筆よりも)開発側に回したんだ。
さぁ、これからって時だった。ここから淡々と更新して行けるし、少し機微にふれる実情も知っている。そもそもなぜメールフォームのデバッグで、あの時に焦っていたのかとかね。言えないことは色々とある。そういうアドバンテージは放棄する。
いま、私だけだったら、一人勝ちなんだろうなぁ。
けど一人はつまんないしね。
拡散を頼む。地元の市議さんとか県議さんに、渡して。ネットで構わないから。
中小企業とかも助かると思う。
プロから見たら、まだまだなプロンプトかもしれない。
大変に申し訳ありませんが、「あと、これもやったほうが」というのがあったら教えてください。
これは敵方からも見える話なので、正直、公開したことを(後悔はしませんが)頭が痛い。
奇特な方がおりましたら、よろしくお願いいたします。
いま必要なのは、アクセス数だ。
いや正確に言えばアクセスではないな、
届くべきところに届かせる導線。
人手はあったほうがいい、貴方にその手助けを求めたい。
従業員が2~30人規模の地場企業なども同じジレンマ(社内に情シスがない)に陥っていると思う。使ってもらって構わない。
私は地方議員だから、どこかの地方都市で困っている人がいたら是非使って。
大手企業さんは、多分もっとちゃんとしたことをしていると思うけれど、
無防備に残る地方を、私は見捨てたくはないです。
走って、届けて、
貴方が行って。
あとはお願いしますね。
「いいよ」と思った方は、FBでのイイネ・シェア、Xでのポストとか、画面を目で見て伝えるとか、必死に考えて何がしかのアクションをお願いします。
一歩、前に出る勇気。
↓応援クリックお願いします。↓


コメント (頂いたご意見は、他SNSに比較し最優先で目を通しております。)