web-dev-qa-db-ja.com

Linuxで実行されている `getty`の信頼性をどのように確認できますか?

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
saga

デフォルトでは、ファイルのアクセス許可(および場合によっては読み取り専用のマウント)を超えて、システムプログラムおよびライブラリファイルに特別な整合性保護はありません。特別に保護されたシステムファイルのようなものはありません。この意味で、答えははい、これは本当ですです。

Tripwireやaideなどのプログラムを使用してホストベースのIDSアプローチに従うことができます。このアプローチでは、重要なファイルごとに適切なチェックサムを作成し、安全な場所に保存し、実際の再計算されたチェックサムと定期的に比較して、変更を確認します。明らかに、チェックサムのデータベースは、すべての更新またはパッチのインストール時に更新する必要があります。ほとんどのパッケージマネージャーは、このようなチェックサムのリストを維持し、インストールされたファイルの整合性をチェックできるようにします。このアプローチは、意味のある方法で実行された場合、少し複雑であるため、めったに見られません。

別のアプローチは、ロールベースのアクセス制御(RBAC)およびSELinuxやGrsecurityなどの必須アクセス制御(MAC)のアドオンを使用して、整合性違反に対してシステムを強化することです。正しく適用された場合、rootでさえシステムファイルを変更できませんでした。指定された役割に入らない限り。ここで重要なのは、正当なアプリケーションアクティビティを中断せずに、望ましくないアクションを禁止するポリシーを設計することです。これは些細なことではないため、めったに見られません。

ただし、これを詳細に検討する前に、攻撃モデルを定義し、シナリオを指定する必要があります。20年前、Unixマシンは、信頼できない可能性のあるユーザーがシステムにアクセスできる真のマルチユーザーシステムでした。最近はなくなっています。現在、「Webサーバー」や「データベース」などの機能的なユーザーを備えたサーバーがあるか、1人のユーザーがいるパーソナルコンピューター上のデスクトップシステムがあります。

1
countermode