機能 / 外からのアクセスを見張る
招かれていない外からの接続は入れない。試みはすべて数える。
ZENOS は、外から来る新しい接続を最初からすべて拒否します。root で動くサービスが、拒否した接続とサインインの失敗を数え、分かりやすい警告を出し、誰かがファイアウォールを外せば張り直します。
新しい接続はすべて
どのネットワークから来ても、最初から遮断
2 秒ごと
システムモニターのセキュリティのグラフを更新
決まった基準
警告は、下に書いた決まった基準で出す
どう動くのか
拒否する、数える、直す
1
拒否する
入れるのは、PC 自身が始めた接続と、PC が開いた接続への返事だけです。サービスがどのアドレスで待っていても同じです。
2
数える
遮断した試み(相手とポートつき)、遮断した外向きの宛先、sudo・ログイン画面・ロック画面・ssh でのパスワードの誤りを数えます。
- どの情報も PC の外には出ません
- システムモニターに表示します
3
直す
ファイアウォールが外されれば、もう一度張ります。Debian と ZENOS のセキュリティの修正を見張り、入っていなければ知らせます。
警告
警告を出すとき
一つの相手が 60 秒以内に 10 以上のポートに触れるポートスキャン
60 秒以内に 50 回以上の試みを遮断大量の試み
5 分以内に 5 回以上サインインに失敗サインインの失敗
ファイアウォールがないファイアウォールなし
セキュリティの修正が 24 時間たっても入っていない赤
同じ警告は 10 分間くり返さないので、本当の警告が埋もれません。
HTTPS の接続を支える信頼も見張る
信頼の見張り役が、ディスク上のすべてのルート証明書の保管場所を 15 分ごとに確かめます。6 時間ごとに Mozilla の「信頼しない証明書」の一覧を読み(正しい署名があるときだけ受け入れます)、ブラウザとすべての Node のプログラムですぐに反映します。TLS の修正が出れば、すぐに入れます。
証明していること、していないこと
ここで証明していること、テストしていること
Lean 4 で証明済み
外向きの遮断
- 外向きの宛先が遮断されるのは、承認がなく、送られた量が決まった線に達したとき、そしてそのときだけ
- 遮断された宛先は、遮断されたまま
証明ではなく信頼しているもの
テストし、一覧にして公開
- 内向きのファイアウォールの規則そのもの(テスト済み、証明はしていない)
- 数のもとになるカーネルのログとシステムのジャーナル
- ネットワークの見張りは、まだ外部の検証を受けていない
プレビュー版で試す
自分で試す
1
プレビュー版をインストールする
イメージを起動して、ネットワーク上の PC にインストールします。
2
別の PC からスキャンする
2 台目のパソコンから、その PC にポートスキャンをかけます。
3
システムモニターを見る
セキュリティのグラフに、遮断した試みとポートスキャンの警告が出ます。