翻弄の手仕舞い

2025年7月から一年近く続いている執拗なつきまといアクセスのおかげで、様々な実験を行うことができた。
その過程で、ルーターのIPフィルター構成も、以前とは比べ物にならないほど高度化している。

皮肉なことに、すべてはこの「つきまとい」の副産物である。

その集大成が、下記の記事で触れている「未知のアクセス=自動的に観測対象」とする構成だ(笑)
パラレルワールド作戦
正規サイトとハニーポット切り替え詳細

その経緯の中で、「深淵 迎賓館」と名付けた歓迎ムードのサイトも生まれた。
ネーミングからして我ながら傑作で、思い出すたびに少し笑ってしまう。

ただし、そこで得られるLOGの大半は、実質的に“ノイズ”でしかない。
ラズパイの消費電力が小さいとはいえ、サーバーを2台稼働させ続けるコストに見合う価値があるかと言われると疑問が残る。

ゴミLOGを収集し続ける意味はあるのか・・・
そう自分に言い聞かせ、今回はひとまず手仕舞いとすることにした(笑)


正規サーバーは、以下の2系統をバーチャルホストで構成している。

・正規ドメイン:sky.0t0.jp
・非正規アクセス受け口(IP直打ち等):pacific.sky.0t0.jp(ハニーポット)

この前提で、iptablesの構成を以下のように整理し、しばらく運用してみる。

●PREROUTINGチェイン

smtp(ポート25)およびhttp(ポート80)は、DNAT段階では制限を設けない。

Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1        1    60 DNAT       tcp  --  ppp0   any     anywhere             anywhere             tcp dpt:ssh match-set jpnet src to:192.168.1.1:22
2        3   140 DNAT       tcp  --  ppp0   any     anywhere             anywhere             tcp dpt:smtp to:192.168.1.1:25
3       49  2524 DNAT       tcp  --  ppp0   any     anywhere             anywhere             tcp dpt:http to:192.168.1.1:80
4        8   460 DNAT       tcp  --  ppp0   any     anywhere             anywhere             tcp dpt:https match-set jpnet src to:192.168.1.1:443
5       22  1244 DNAT       tcp  --  ppp0   any     anywhere             anywhere             tcp dpt:https match-set searchengines src to:192.168.1.1:443
6        0     0 DNAT       tcp  --  ppp0   any     anywhere             anywhere             tcp dpt:submission match-set jpnet src to:192.168.1.1:587
7        0     0 DNAT       tcp  --  ppp0   any     anywhere             anywhere             tcp dpt:imaps match-set jpnet src to:192.168.1.1:993

・jpnet:日本国内からのアクセスを Main Server(192.168.1.1)へ
・searchengines:主要検索エンジンのクローラを Main Server(192.168.1.1)へ

ひげまんじゅう入荷

土曜で暇なんで、いつものコース。
もはやルーティンというより「定点観測」に近い。

例により、天命反転地を眺めながら隣の丘を散歩。
風景はいつも通りだが、同じ週は二度と存在しない。
今週も、確かに天命は反転した。
養老公園

その後、養老で養老。
この無限ループ感が妙に落ち着く。

今日もスメタナ定食。
変化しない選択が、逆に世界のブレを際立たせる。
養老SA
スメタナ定食

食後、缶コーヒーを片手にハニーポットのログを眺める。
外界のノイズを、ただの文字列として消費する時間。
今日も世界は、よく釣れている(笑)
haneypotlog

ついでに、ひげまんじゅうの在庫確認。
なんと、無事入荷。
しかも値上げなし。
局所的には、世界はまだ安定しているらしい。
ひげまんじゅう
遠くで何が起きていようと、この棚に並ぶ価格と在庫が、ひとつの現実を保証している。
中東の出来事は、やはり別の世界線の出来事なのかもしれない。

帰路、背割堤を散歩。
低気圧の吹き返しで風が強い。
見えない何かが、まだ揺り戻しているような感覚。
背割堤

さて・・・
来週、この世界線はどこまで連続しているだろうか。

正規サイトとハニーポット切り替え詳細

4月2日より、「深淵 迎賓館 仕様変更」、「シュレディンガーのサーバー
の内容にてサーバー公開を行っているが、その後 iptables の改良を重ね、構成がほぼFIXしたため、その内容を覚書として記す。

●本構成の振り分けイメージ

Internet
   |
   v
+----------------------------+
|        Router              |
|     iptables / NAT         |
+----------------------------+
   |                      |
   |                      |
 Normal                 Suspicious
 / Allowed              / Unknown
   |                      |
   v                      v
+----------------+   +----------------+
| 192.168.1.1    |   | 192.168.1.2    |
| Main Server    |   | Honeypot       |
+----------------+   +----------------+

上記の振り分けを、PREROUTINGチェインに集約した。
現在はPREROUTINGを確認するだけで、流入トラフィックの性質がほぼ把握できる状態となっている。

Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1       44  2492 DNAT       tcp  --  ppp0   any     anywhere             anywhere             tcp dpt:smtp match-set firehol_level3 src to:192.168.1.2:25
2        0     0 DNAT       tcp  --  ppp0   any     anywhere             anywhere             tcp dpt:smtp match-set firehol_level2 src to:192.168.1.2:25
3        5   228 DNAT       tcp  --  ppp0   any     anywhere             anywhere             tcp dpt:smtp match-set firehol_level1 src to:192.168.1.2:25
4        2   120 DNAT       tcp  --  ppp0   any     anywhere             anywhere             tcp dpt:smtp match-set gcloud src to:192.168.1.2:25
5        0     0 DNAT       tcp  --  ppp0   any     anywhere             anywhere             tcp dpt:smtp match-set other_block src to:192.168.1.2:25
6      126  6626 DNAT       tcp  --  ppp0   any     anywhere             anywhere             tcp dpt:http match-set firehol_level3 src to:192.168.1.2:80
7       50  2592 DNAT       tcp  --  ppp0   any     anywhere             anywhere             tcp dpt:http match-set firehol_level2 src to:192.168.1.2:80
8       12   580 DNAT       tcp  --  ppp0   any     anywhere             anywhere             tcp dpt:http match-set firehol_level1 src to:192.168.1.2:80
9        2   100 DNAT       tcp  --  ppp0   any     anywhere             anywhere             tcp dpt:http match-set gcloud src to:192.168.1.2:80
10       0     0 DNAT       tcp  --  ppp0   any     anywhere             anywhere             tcp dpt:http match-set other_block src to:192.168.1.2:80
11     255 13436 DNAT       tcp  --  ppp0   any     anywhere             anywhere             tcp dpt:https match-set firehol_level3 src to:192.168.1.2:443
12      15   784 DNAT       tcp  --  ppp0   any     anywhere             anywhere             tcp dpt:https match-set firehol_level2 src to:192.168.1.2:443
13      17   920 DNAT       tcp  --  ppp0   any     anywhere             anywhere             tcp dpt:https match-set firehol_level1 src to:192.168.1.2:443
14       4   200 DNAT       tcp  --  ppp0   any     anywhere             anywhere             tcp dpt:https match-set gcloud src to:192.168.1.2:443
15       0     0 DNAT       tcp  --  ppp0   any     anywhere             anywhere             tcp dpt:https match-set other_block src to:192.168.1.2:443
16      13   760 DNAT       tcp  --  ppp0   any     anywhere             anywhere             tcp dpt:ssh match-set jpnet src to:192.168.1.1:22
17       1    60 DNAT       tcp  --  ppp0   any     anywhere             anywhere             tcp dpt:smtp match-set jpnet src to:192.168.1.1:25
18       0     0 DNAT       tcp  --  ppp0   any     anywhere             anywhere             tcp dpt:smtp match-set searchengines src to:192.168.1.1:25
19       1    40 DNAT       tcp  --  ppp0   any     anywhere             anywhere             tcp dpt:http match-set jpnet src to:192.168.1.1:80
20       3   180 DNAT       tcp  --  ppp0   any     anywhere             anywhere             tcp dpt:http match-set searchengines src to:192.168.1.1:80
21      16   988 DNAT       tcp  --  ppp0   any     anywhere             anywhere             tcp dpt:https match-set jpnet src to:192.168.1.1:443
22     176  9872 DNAT       tcp  --  ppp0   any     anywhere             anywhere             tcp dpt:https match-set searchengines src to:192.168.1.1:443
23       0     0 DNAT       tcp  --  ppp0   any     anywhere             anywhere             tcp dpt:submission match-set jpnet src to:192.168.1.1:587
24       1    60 DNAT       tcp  --  ppp0   any     anywhere             anywhere             tcp dpt:imaps match-set jpnet src to:192.168.1.1:993
25       7   356 DNAT       tcp  --  ppp0   any     anywhere             anywhere             tcp dpt:smtp to:192.168.1.2:25
26     150  7602 DNAT       tcp  --  ppp0   any     anywhere             anywhere             tcp dpt:http to:192.168.1.2:80
27     305 18288 DNAT       tcp  --  ppp0   any     anywhere             anywhere             tcp dpt:https to:192.168.1.2:443
28       8   480 DNAT       tcp  --  ppp0   any     anywhere             anywhere             tcp dpt:2222 match-set jpnet src to:192.168.1.2:22

・firehol_level1~3 : FireHOLで公開されているブラックリストIPからのアクセスを Honeypot(192.168.1.2)へ振り分け
・jpnet : 日本国内からのアクセスを Main Server(192.168.1.1)へ振り分け
・searchengines : 主要サーチエンジンからのアクセスを Main Server(192.168.1.1)へ振り分け
・gcloud : スパムアクセスの多い Google Cloud からのアクセスを Honeypot(192.168.1.2)へ振り分け
・other_block : その他、不審と判断したアクセス(主に国内)を Honeypot(192.168.1.2)へ振り分け

隣接する空

パラレルワールド、あるいは「多世界解釈」は、一見するとSF的な概念に見えるが、実際には量子力学の枠組みの中で真剣に議論されてきた理論の一つである。
発端は、量子力学における観測問題にある。

電子の位置や状態は、観測されるまで確定せず、複数の可能性が同時に重なり合った「重ね合わせ」の状態にあるとされる。
このとき問題になるのは、なぜ観測した瞬間に一つの結果だけが現れるのか、という点だ。

この問いに対し、1957年に物理学者のヒュー・エヴェレットは大胆な仮説を提示した。
すなわち、「結果が一つに収束するのではなく、すべての可能性が同時に実現し、それぞれが別々の世界として分岐する」という考え方である。

この解釈では、観測とは「選択」ではなく「分岐」に相当する。
たとえば、ある粒子が右に進むか左に進むかという事象があった場合、観測の瞬間に世界は二つに分かれ、それぞれの結果を含む世界が並行して存在し続ける。

重要なのは、この分岐は不可逆であり、一度分かれた世界同士が再び干渉することは基本的にないと考えられている点である。
この性質は、量子デコヒーレンスと呼ばれる現象によって説明される。

デコヒーレンスとは、量子系が環境と相互作用することで、重ね合わせ状態が事実上観測不可能になる過程を指す。
これにより、各世界は互いに独立した「古典的現実」として振る舞うようになる。

また、宇宙論の分野でも、パラレルワールドに類似した概念が提案されている。

たとえば、インフレーション理論を発展させた「永遠インフレーション」では、宇宙は一様に広がるのではなく、泡のように無数の領域を形成し続けるとされる。
それぞれの領域は異なる物理定数や初期条件を持つ可能性があり、これらはしばしば「マルチバース」と呼ばれる。

さらに、弦理論の枠組みでは、真空の状態が膨大な数だけ存在しうる「ランドスケープ問題」が知られており、それぞれが異なる宇宙を構成する可能性が指摘されている。
ただし、これらの理論には共通した課題がある。

それは「観測可能性」である。

他の世界が存在するとしても、それを直接的に検証する手段は現在のところ存在しない。
したがって、パラレルワールドは理論的には整合性を持ちながらも、経験的科学としては境界領域に位置している。

それでもなお、この概念が研究され続ける理由は明確だ。

量子力学の数式は、分岐する世界の存在を排除していない。
むしろ、自然にそれを含意しているようにも見える。

もしそうであるならば、我々が「唯一の現実」として認識しているものは、膨大な可能性の中の一つの経路に過ぎないことになる。
そしてその外側には、同じ構造を持ちながら、異なる履歴を辿った世界が無数に広がっているのかもしれない。
それらは互いに干渉することなく、ただ静かに並存している。

少なくとも、現在の物理学は、その可能性を否定してはいない。

パラレルワールド作戦

先日実施した、「深淵 迎賓館 仕様変更」の内容につき、フロントページを変更した。

当初は下記イメージの「深淵 迎賓館」をフロントページとし、別の世界に引き込む構成としていた。
深淵 迎賓館

これはこれで雰囲気があって面白いのだが、ふとこう考えた。

転送された先が、見かけ上まったく正規サイト (https://sky.0t0.jp/) と同じであれば、彼らは「正規サイトに侵入できた」と認識するのではないか、と。

というわけで、深淵サーバー(192.168.1.2)の index.html を、正規サーバー(192.168.1.1)のものと完全に同一にした。

リンク先のページも同様に配置し、見かけ上は正規サイトと同様の記事遷移が可能な状態にしてある。

ブログについては、Hugoのarchivesインデックスのみを配置。
一覧はそれらしく見えるが、実際にリンクを辿ると 404(Not Found)になる仕掛けだ。

当初の、「シュレディンガーのサーバー」作戦に続き、今回は言わば・・・
「パラレルワールド作戦」である(笑)

同じ構造、同じ見た目、しかし中身は別世界。
さて、彼らはどこまで“気づかずに歩き続ける”のか。
しばらくは、この世界線のログを眺めて楽しむことにしよう(笑)