忍者ブログ

mshencity

今週末に試してみたいホームラボ プロジェクト (1 月 16 日)

再びホームラボ プロジェクトに取り組む時期がやってきました。今日は、ホームラボのセキュリティに焦点を当て、さらにリソースの一部を仮想マシンからコンテナに独自に移動します。今週末ホームラボで挑戦できる 3 つのプロジェクトを紹介します。



仮想マシンをスキップして、Kasm Workspaces をデプロイするだけです



ブラウザベースのオペレーティング システムの方が簡単な場合に、なぜ仮想マシンを起動するのでしょうか?

























実行可能なオペレーティング システムを表示する Kasm ワークスペース。
クレジット: Kasm




正直に言うと、サーバー上に「テスト用」仮想マシンがあり、他の実行中のシステムを中断することなく何かをテストする必要があるときはいつでもスピンアップおよびスピンダウンしています。これが私が常に実践してきた方法であり、何年もうまくいきました。

しかし、Kasm Workspaces を発見したとき、すべてが変わりました。 Kasm は、今週末私自身がデプロイする予定のプロジェクトです。

Kasm Workspaces が行うことは、ブラウザー内に存在する (サーバー上で実行される) 小型の仮想マシンのようなコンテナーを提供することです。複数のオペレーティング システムがあります (主に Linux ですが、 コンテナ内の Windows 仮想マシンで Kasm を使用することが可能)から選択でき、それらがどのように動作するかを選択することもできます。

まず、そのブラウジング セッション専用に存在する Kasm ワークスペースをスピンアップできる「使い捨て」セッションを用意できます。ウィンドウを閉じた瞬間、あなたが使用していたオペレーティング システム全体が消えてしまいます。これは、環境を破壊することなく物事をテストする必要がある場合、または実際に本当に、その非常に大ざっぱなサイトを使用して、おそらくすべきではないものをダウンロードする必要がある場合に最適です。

Kasm Workspaces を使用するもう 1 つの方法は、ブラウザを介してどこからでもアクセスできる仮想デスクトップを用意することです。 VS Code (または Antigravity)、Audacity、さらには Blender などのソフトウェアを Web ブラウザーで実行できます。実際、これは自宅のサーバー上で実行されていますが、どこにいても Web ブラウザから仮想マシンにアクセスできるため、インターネットに接続された任意のデバイスからコーディング、設計、または作業を行うことが非常に簡単になります。

永続セッションを設定するには、永続プロファイルを有効にし、Kasm が永続情報の保存場所を認識できるようにドライブ上のフォルダーをマッピングするという、もう少し作業が必要です。ただし、セットアップが完了したら、準備は完了です。



CrowdSec を使用してクラウドソースのブロック リストでサーバーを保護します



新しいハッカーが現れるまでは、Fail2ban が最適です。

























コンピューターの前に座っているパーカーを着た影のハッカー。
クレジット: Gorodenkoff/Shutterstock




Fail2ban は、サーバーへの不正行為を防ぐための Homelab コミュニティの定番です。 Fail2ban の仕組みは、システム ログを調べ、システムへのログインを試みる (失敗する) IP アドレスを禁止することです。これを導入するのは素晴らしいことですが、誤解しないでください。ただし、これはセキュリティの最初の層にすぎません。

CrowdSec は Fail2ban を次のレベルに引き上げます。 Waze を使用したことがある方なら、CrowdSec は同じように機能します。悪意のある者が侵入しようとするのを待つのではなく、 それから それらを禁止する場合、CrowdSec は異なるアプローチを採用します。 CrowdSec の仕組みは、クラウドソーシングされた不正行為者のリストを使用し、不正行為者がサーバーにログインしようとする前に IP を先制的に禁止することです。

このタイプのテクノロジーを使用すると、CrowdSec は、誰かがブルートフォースでシステムに侵入しようとするのを待ってからブロックするのではなく、問題が発生する前に問題を防ぐことができます。

CrowdSec はブルート フォース戦術の防止に役立つだけでなく、クレジット カード スタッフィングやボット スクレイピングなどの行為に焦点を当て、Fail2ban よりも複雑な戦略も備えています。

CrowdSec が行うもう 1 つのことは、自宅のプライマリ サーバーで実行されるエージェントと、他の場所で実行できるバウンサーを用意して、すべてを同期させることです。したがって、プライマリ マシンでエージェントを実行し、家の他のマシンでバウンサーを実行することができます。

バウンサーは常にエージェントをチェックインし、どの IP を許可およびブロックする必要があるかを尋ねます。エージェントが新たな不正行為を検出すると、ネットワーク上のすべてのバウンサーにその IP をブロックするように指示し、すべての同期を保ちます。

これは単により堅牢な Fail2ban であり、すべてのホームラバーがソフトウェア スタックで実行しているものであることは間違いありません。



Authentik でホームラボをロックダウン



パスワードをいじるのはやめて、独自の SSO ソリューションを導入してください。

























中央に南京錠が付いた盾とパスワードのイラスト。
クレジット: Lucas Gouveia/ハウツー ギーク




あなたのことは知りませんが、私には 多く ホームラボで覚えておくべきパスワードのリスト。私が実行しているほぼすべてのサービスには、独自のユーザー名とパスワードを使用した独自のログイン フローがあります。それらのほとんどは覚えています (または 1Password に保存しています) が、複数のものに連続してログインしなければならないのは少し面倒なことがあります。そこでAuthentikの出番です。

Authentik は、ホームラボ独自の内部シングル サインオン ソリューションです。 Authentik をサービスの前に配置するだけで (リバース プロキシの場合と同様)、Authentik がすべての認証を処理します。 Authentik にログインすると、Authentik はその他すべてのことについてユーザーを認証します。

Authentik にログインし、サービスの前に設定すると、サービスは単に Authentik に「この人を信頼してもいいですか?」と尋ねます。 Authentik は、ログインしている場合は「はい」、ログインしていない場合は「いいえ」と応答します。







これは、独自のログイン ページが組み込まれているアプリでも、認証がまったく組み込まれていないアプリでもうまく機能します。その 特に これは、認証のないアプリをリバース プロキシ経由でインターネットに公開すべきではないため、2 番目のカテゴリに役立ちます。

Authentik を使用すると、展開するソフトウェアごとに 2FA を設定する代わりに、1 つのサービス (Authentik) に対して 2 要素認証を設定することもできます。

まとめると、Authentik を使用すると、ホームラボを立ち上げて実行すると、あらゆる種類のパスワードを覚え続けたり、さまざまな形式の認証に対処したりする必要がなくなるため、ホームラボの管理がよりスムーズになります。


ホームラボを始めたばかりの場合、これらのプロジェクトは少し高度なものになるかもしれません。ホームラボは家の中で最も便利なものの 1 つになりましたが、私なら絶対に Authentik ワークスペースと Kasm ワークスペースのセットアップから始めなかったでしょう。

まず、私が過去 5 年間のホームラボ運営を通じて学んだ多くの教訓のリストを作成しました。そうすれば、私が犯した同じ間違いのいくつかを避けることができます。同じ間違いをしないように準備ができたら、Plex から Pi-hole まで、私がホームラボで実行しているすべての主要なソフトウェアについて詳しく説明しました。

PR

コメント

プロフィール

HN:
No Name Ninja
性別:
非公開

P R