強化されたBSDをゼロから
-
03-07-2019 - |
質問
スクラッチからのハードニングされたLinux プロジェクトを知っています。完全にソースからカスタマイズおよび強化された独自のLinuxシステムを構築するための段階的な手順。 BSDで同等のものは何か知りたいですか?
解決
リチャードがOpenBSDは絶対に行く価値があると言ったように、それはファイアウォールとゲートウェイ専用のすべてのための私の一番の選択です。他のサービスについては、FreeBSDに固執する傾向がありますが、個人的な好みだけの理由は明らかではありません。
しかし、刑務所。基本的に、完全なFreeBSDインストールで限定されたFreeBSD環境を作成します。その限られた環境では、サービスの実行に必要なバイナリとファイルのみをコピー/リンクします。
ホストされたサービスは他のファイル/バイナリにアクセスできないため、これらの潜在的なセキュリティ上の欠陥はすべて悪用されません。偶然にアプリケーションが「ルート化」された場合、それは刑務所の境界を越えません。
パフォーマンスのペナルティが無視できるほどのステロイドの砂場のように見えます。
他のヒント
OpenBSDは、「デフォルトで」強化されていますインストールから。管理者のみがそれを開きます...コンポーネントごと。
[UPDATE] Linuxを強化するためのドキュメントを読んでいませんが...同じことが当てはまるかもしれません...たとえば、どちらもOpenSSHを使用しているため、戦略は同じです。したがって、モジュールの重複がある場合は同じことが適用されます。
「最初から」実際にはbsdを実行しません。すべての主要なプロジェクトには、単一のソースリポジトリに完全なシステムが付属しているため、ここからカーネル、そこからbinutilsとコンパイラ、他の場所からcライブラリと標準ユーティリティ、さらに別の場所からXを取得することはありません。
通常は、平均的なLinuxディストリビューションよりもすべてのソースを取得してシステム全体を再構築する方が簡単ですが、実際には何もカスタマイズしていません。
OpenBSDのユーザーランドをFreeBSDポートを備えたNetBSDカーネル上で実行させるなど、何かおかしなことをしようとすることはできますが、自分でやるのは確かに「強化」されないでしょう。
HardenedBSDは、PIE、RELRO、SAFESTACK、CFIHARDENの実装を目的としたFreeBSDプロジェクトのフォークです。いくつかの目標があり、他の目標は極端なWIPです。 「生産準備完了」とは考えません。ただし、デスクトップとして使用できます(本番環境の要件にも依存します)。
レポ: https://github.com/HardenedBSD
" make buildworld / buildkernel"を含むすべてFreeBSDの場合と同じであり、ハンドブックはこれを説明する上で良い仕事をしています。 linux-landから来たとしても、少し読む必要があります。独自のポートを構築することは、それ自体が完全なトピックです。
再刑務所、ステートメントは完全に正しいわけではありません。確かに重要なセキュリティレイヤーを追加しながら、Unixシステム(LinuxについてのIDK)[ここに引用]"カーネルの悪用による緩和策の欠如。攻撃者が刑務所にアクセスできた場合、他の刑務所にピボットしたり、カーネルのエクスプロイトを介して権限を昇格したりするのはそれほど労力ではありません。誤解しないでください。ほぼすべてのサービスを可能な限り刑務所に入れています。
「デフォルトで硬化」についてコメント:すべての* BSDフレーバーで調整できるsysctl設定にすべてありますが、sysadminがドキュメントを読むのに時間がかからない場合、secメジャーはほとんど役に立ちません。
興味がある場合、宿題: https://www.freebsd.org/doc/ハンドブック/