説明するunix haters handbook
:
/etc/getty, which asks for your username, and /bin/login, which asks for your pass-
word, are no different from any other program. They are just programs.
They happen to be programs that ask you for highly confidential and sensi-
tive information to verify that you are who you claim to be, but you have no
way of verifying them.
これは現代のLinuxシステムにも当てはまりますか?
答え1
デフォルトでは、システムプログラムとライブラリファイルには、ファイル権限(および読み取り専用マウント)以外の特別な整合性保護機能はありません。特に保護されたシステムファイルのようなものはありません。その意味で答えはええ、これは本当です。。
Tripwireやaideなどのプログラムを使用して、ホストベースのIDSアプローチに従い、重要なファイルごとに適切なチェックサムを作成し、安全な場所に保存し、定期的に実際に再計算されたチェックサムと比較して変更を確認できます。明らかに、チェックサムデータベースはすべてのアップデートまたはパッチがインストールされるたびに更新する必要があります。ほとんどのパッケージマネージャはこれらのチェックサムのリストを維持し、インストールされたファイルの整合性を確認できます。このアプローチは少し複雑なので、意味のある方法で行うことはまれです。
別のアプローチは、SELinuxやGrsecurityなどの役割ベースのアクセス制御(RBAC)および必須アクセス制御(MAC)アドインを使用して、整合性違反からシステムを強化することです。正しく適用すると、ルートシステムファイルでも変更できません。指定された役割に入ります。ここで重要なのは、合法的なアプリケーション活動を妨げることなく、望ましくない作業を抑制するポリシーを設計することです。これは決して些細なことではないのでまれです。
ただし、これらを考慮する前に攻撃モデルを定義してシナリオを指定する必要があります。 20年前、Unixシステムは潜在的に信頼できないユーザーがアクセスできる真のマルチユーザーシステムでした。これで、機能的なユーザー(「Webサーバー」や「データベース」など)を持つサーバーを使用したり、1人のユーザーを持つパーソナルコンピュータにデスクトップシステムを使用したりできます。