この問題に対する普遍的な解決策はありません。内訳スキームを選択する際に従うべきいくつかの側面があります。
ユーザー制限
通常のユーザーが書き込み許可を持つすべてのセクション(/ home; / tmp; / var / tmp)は、個別のセクションに配置する必要があります。 このステップで、すぐにノウサギの家族全員を殺します。
- システムを再インストールするときに、ユーザーデータを他のメディアに急いで転送したり、1年前に腐ったバックアップから掘り出したものを復元したりする必要はありません。
- 悪意のあるハッカーがシステム上であらゆる種類のゴミを実行しないように、これらのパーティションをnoexecでマウントする機会があります。 noexecはシェルスクリプトを保存しません。
- ハードリンク攻撃から身を守ります(これは、パッケージに脆弱性が見つかった場合、正常に破壊されますが、攻撃者が脆弱なファイルへのハードリンクを作成したため、脆弱性は残ります)。 こことここでもっと読むことができます。
- / tmpのext2ファイルシステムを使用できます(ここでは、障害が発生した場合、何も復元する必要がないため、ジャーナリングは役に立ちません)。
ディスク容量の不足による作業の失敗からシステムを保護します
素晴らしい/ var / logがあることを覚えておく価値があります。これは、目玉にログを詰まらせるのが大好きです。 このようなセクション(/ var; / home; / tmp)もすべてルートから削除する必要があります。
攻撃者のために車輪に刺さる
かなり疑わしい手段ですが、何度も似たような推奨事項に適合しました。mount/ usr in readonly。
ただし、私たち自身にも不便があります。システムを今すぐ更新するのはとても簡単です。 ただし、たとえば、GNU / Debianでは、これは/etc/apt/apt.confに追加することによりバイパスされます。
DPkg
{
Pre-Invoke { "mount /usr -o remount,rw" };
Post-Invoke { "mount /usr -o remount,ro" };
};
真の事後呼び出しは常に機能するとは限りません。 / usrがビジーであり、roに再マウントできないという事実を誰が責任を負うかを計算するために、lsof + L1を使用する必要がある場合があります。
スワップ。 それは必要ですか?
スワップをRAMの2倍のサイズにすることをお勧めします。 64〜128GB(またはそれ以上)のRAMで発生するサーバーでは、ばかげているように聞こえます。 今日のシステムでは特にスワップの必要はありません。 まあ、休止状態を使いたくない場合のみ。 ただし、これはラップトップの特権であり、サーバーではありません。
マウントオプション
あなたが注意を払うべき非常に重要なポイント。 前述のnoexecに加えて、nosuidとnodevをユーザーパーティションにインストールする必要があります。 noatimeまたはrelatimeオプションを使用して、コミット時間を増やすことでディスクの負荷を減らすこともできますcommit = 60(デフォルトでは、コミット時間は5秒です)。
まとめ
これらの側面は本質的に助言であり、この問題に関する厳密な規則はありません。 それはすべて個人の好みに依存します。
ただし、特定の線を引きたいと思います。
- / root、/ home、/ tmp、/ varを移動して、セクションをルートから分離してみてください。
- 突然セクションを拡大する必要がある場合、将来的に肘を噛まないようにlvmを使用してください。
- マウントオプション、スペアディスクについて忘れないでください。 飛び出して欲しくありません。
- レンダリングされたセクションのルートの予約を削除することを忘れないでください。 不要になりました(tune2fs -m 0 /パーティション)