メインコンテンツへスキップ

このサーバーについて

·333 文字·2 分
報告 自宅サーバー

このサーバーは筆者が趣味で開発している自宅サーバーです。 (中途半端にライブラリに頼りつつ)自力でいろいろ作っています。

このサーバーの更新機構は shell script で動いておりまた CI/CD によって一応最低限 container が起動して動くところまでは確認していますが 自宅サーバー上の構成によって普通にデプロイに失敗して死ぬ場合や、 サーバーの調子がおかしくなって強制再起動する場合も結構あるため 落ちていたとしても責任はおえません。

Google Analytics 等は使用しておりませんが 管理の目的のため IP アドレスや User-Agent 等の情報は収集されていますのであらかじめご了承ください。

なお admin ページに入りたい方は比較的簡単に入口まではいけますのでパスをいじるとか試行錯誤してください。 (入口までは行けるけど突破はさせません)

なお、このブログにコメントしたい方は最初にコメント記入位置の下の Register User を展開してユーザー登録してください。 本ブログのコメント欄は書き込む際にパスキーによる認証を必要としておりますので パスキーが使えない端末の場合は諦めてください。パスキーについてわからない方は別途調べてください。 現状では削除用 API がまだ実装されていないため登録されたらされっぱなしです。ご了承ください。(削除したい場合は以下にお問い合わせください) 以下に簡易的な個人情報保護方針を書いておきます。

24/10/11 更新

## 個人情報保護方針

当ウェブサイトのコンテンツをご利用いただき、ありがとうございます。以下は、当ウェブサイトにおける個人情報の取り扱いについての方針です。個人情報の取り扱いに関してご理解とご協力をお願い申し上げます。

### 個人情報の定義

個人情報とは、特定の個人を識別できる情報を指します。例えば、氏名、住所、電話番号、メールアドレス、その他個人を特定できる情報が含まれます。厳密な定義は日本の個人情報の保護に関する法律の定義に従います。

### コメント欄の利用について

コメント欄には、個人を特定できる情報の記入を控えていただくようお願い申し上げます。
具体的には、以下の情報は記入しないでください。記入された場合、削除の対象となります。
なお現在コメント欄は管理者の承認を経ない設計となっているため
投稿されてから暫くの間は情報が表示されたままになってしまう可能性があることをお断り申し上げます。
場合によってはコメント欄を無効化する処置を取らせていただきます。

自分や他人の氏名
住所や電話番号
メールアドレス
その他個人を特定できる情報

### 個人情報の収集と利用

本サーバーではセキュリティや情報開示請求、不正アクセス検知などの対応の目的のため各 HTTP リクエストについてヘッダー情報(User-Agent など ,他 Cloudflare により追加される情報含む,Cookie の中身 を除く)や IP アドレスなどを記録しております。ログは数年間保存される可能性があります。

コメント欄に書き込まれた情報は、以下の目的で使用することがあります。

コメントの表示および管理
不適切なコメントの削除
コメントの内容に対する返信
当ウェブサイトでは、個人情報を第三者に提供することはありません。ただし、法令に基づく要請があった場合や、サービスの提供に必要な場合には、必要な範囲で提供することがあります。

### コメントの監視と管理

コメント欄に投稿された内容は、当サイトの管理者によって監視および管理される場合があります。法令に違反する内容や不適切な内容が発見された場合には、削除することがあります。

### 個人情報保護の取り組み

当サーバーでは、個人情報を保護するために適切な対策を講じ改善を続けております。

- WebAuthn ベースの認証による管理者ログインの制限
- cloudflare tunnel の使用による攻撃面の低減
- 管理者による定期的な監視

以上のようなセキュリティ対策などは行っていますが、素人の対策であることには留意が必要です。
大企業ばりのセキュリティレベルには届いていないことは留意ください。

### Cookie 等の使用

コメントを記入する際に認証を行うときに Cookie が使用されます。Cookie はサーバー上のユーザー ID などのセッションデータと紐づきますが
Cookie 自体には意味のあるデータは含まれません。Google アナリティクスや第三者サービスによる Cookie による追跡等は行っておりませんが
管理者が IP アドレスや User-Agent,Referer などの情報を使ってアクセスログの解析を行う場合がございます。
また WebAuthn の使用によりお使いのデバイスにユーザー名やドメイン名などのメタデータと認証用の秘密鍵が記録されます。

### ポリシーの変更

この方針は、法令の改正、管理者による誤認があった場合や当サイトの運営方針に応じて変更されることがあります。変更があった場合は、当サイトにおいてその旨を通知いたします。

### お問い合わせ

個人情報の取り扱いに関してご質問やご不明点がある場合は、下記に連絡いただくかむやみに登録しないようにお願いします。

このサイトについてのお問い合わせは@kforfk.bsky.social まで DM いただきますようよろしくお願いします。
返信には時間がかかる場合がありますので、ご了承ください。

アーキテクチャ?
#

簡易的な?アーキテクチャ

               GitHub Repository(private)
                            |
                            |       ┌----------HCVI-----Cloudflare
                     pull to update |
┌Host Machine --------------┼-------↑-----------------------------┐
|      ┌--manage by script--┴-----SRMS    ssh proxy -->ssh server |
|      ↓                           ↑         ↑ from Internet      |
| ┌-rootless docker ---------------|---------|-------------┐      |
| |                                └---------┤             |      |
| |  ┌internal network -----------------┬----|-----------┐ |      |
| |  |        ┌----db-┬------┐----------┼--broker        | |      |
| |  |     server1 server2  server3     |                | |      |
| |  |- - - - | - - - | - - - - | - - - ┼-broker network-┘ |      |
| |  |    load_balancer(distroless)     |                  |      |
| |  ├----------|-----------------------|                  |      |
| |  |      cloudflared------┐          |                  |      |
| |  └----app network--------|----------┘                  |      |
| └--------------------------|-----------------------------┘      |
└----------------------------|Internet----------------------------┘
                             |
                         Cloudflare
                             |
                             |
                             ├---<-normal requests comes
                             |
                             |
                             ↑ send reboot command
                      ┌->GitHub Actions
GitHub Repository(private)
  |
 push
  |
Dev Environment

* SRMS - Server Reboot Management System (written in Go and Shell Script). Go program watches the server via the broker and if reboot command comes, calls shell script to reboot. Shell script pulls the updated code, build, and restart the container
* HCVI - Health Check Via Internet. if fail, SRMS try to reboot cloudflared in the container
* "GitHub Repository(private)" refers same object
* "Cloudflare" refers same object